Thông báo

Collapse
No announcement yet.

[PIC16] Mô phỏng ghép nối 74HC595 không chạy

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • [PIC16] Mô phỏng ghép nối 74HC595 không chạy

    Đã ghép nối 2 con 74HC595 như hình vẽ nhưng IC thứ 2 không chạy, chỉ dùm e với.vẫn có tín hiệu vào nhưng không có tín hiệu ra


  • #2
    Nguyên văn bởi duylinh988 Xem bài viết
    Đã ghép nối 2 con 74HC595 như hình vẽ nhưng IC thứ 2 không chạy, chỉ dùm e với.vẫn có tín hiệu vào nhưng không có tín hiệu ra

    Chân MR phải nối với nguồn VCC chứ. Nối như vậy không chạy là đúng rồi

    Comment


    • #3
      Nguyên văn bởi congbinh1989 Xem bài viết
      Chân MR phải nối với nguồn VCC chứ. Nối như vậy không chạy là đúng rồi
      Cái mạch 74hc595 là đúng rồi mà, ktra lại cái firmware. Lắp mạch thật test lun bạn.
      Computer Science major - Vietnamese-German University
      Sponsored by

      Comment


      • #4
        Kết nối 595 với PIC nên dùng SPI của PIC thì hay hơn.
        SCK/SCL/RC3 - CLOCK.
        SDO/RC5 - DATA.
        ....

        Comment


        • #5
          Đối vs 16f877, cho đỡ phí chân (40 chân lận mà), đừng dùng những cái 74hc595 nối tiếp (chân 9 trước mắc vào chân 14 con sau), tốt hơn là mỗi chân 14 mắc vào mỗi chân trên pic, chung port càng tốt, tối ưu khi số 595 nhỏ hơn hay bằng 8 (đúng 1 port). Khi đó sẽ tiết kiệm được số lệnh.
          Computer Science major - Vietnamese-German University
          Sponsored by

          Comment


          • #6
            Bạn nói thế nào ấy chứ
            Mình dùng theo kiểu 9 con trước nối với 14 con sau. Mất tổng cộng 5 chân PIC.
            Để đưa được dữ liệu ra đến tận chân 595 mất tầm 5 lệnh ( trong đó lệnh xuất data là 1 lệnh còn các lệnh khác là enable,reset,lat....) .
            Khi kết nối theo kiểu 9 trước-14 sau dùng 200 con 595 đi nữa thì vẫn chỉ mất 5 chân và 5 lệnh để xuất 200 byte dữleieeujra 200 con 595. Vậy có cách kết nối nào ít lệnh và ít chân hơn ko nhỉ ?
            Hơn nữa khi kết nối kiểu ấy tốc độ xuất data được đưa lên tốc đổ khủng nhất (tầm trên 200KB/s )
            Last edited by duong_act; 15-02-2012, 07:13.

            Comment


            • #7
              Số lệnh tức tổng số chu kỳ lệnh cần dùng chứ ko phải tổng số chức năng.

              Tôi ví dụ: Với 40 LED tương đương 5 74hc595, theo bạn cần làm như sau:
              Xác lập chân DATA (1 chu kỳ lệnh)
              Xác lập chân CLK (2 chu kỳ lệnh - tương ứng High sau đó Low)
              2 thao tác đó cần lặp lại với 40 lần (vì mỗi lần chỉ xuất ra được 1 LED) tương đương 120 chu kỳ lệnh.

              Theo tôi, 5 chân 14 của 595 mắc vào cùng 1 port
              Các lập các chân DATA (1 chu kỳ lệnh: do cùng 1 port)
              Xác lập chân CLK (2 chu kỳ lệnh)
              2 thao tác đó cần lặp lại chỉ 8 lần (vì mỗi lần xuất tới 5 LED) tương đương 24 chu kỳ lệnh.

              Tuy cách tôi khá tốn chân nhưng nhanh hơn cách bạn đến 5 lần (vs 5 74HC595).
              Còn dùng giao tiếp SPI thì 200kB/s thì đúng rồi, bạn thử truyền tải bình thường ko cần giao tiếp xem, vài MB/s là chuyện bình thường. Nhưng tốc độ tới MB/s hay 200kB/s cũng ko quá quan trọng lắm nhỉ, vì thời gian quét cũng khá nhiều so với tốc độ này.
              Computer Science major - Vietnamese-German University
              Sponsored by

              Comment


              • #8
                Nguyên văn bởi minh_cly Xem bài viết
                Số lệnh tức tổng số chu kỳ lệnh cần dùng chứ ko phải tổng số chức năng.

                Tôi ví dụ: Với 40 LED tương đương 5 74hc595, theo bạn cần làm như sau:
                Xác lập chân DATA (1 chu kỳ lệnh)
                Xác lập chân CLK (2 chu kỳ lệnh - tương ứng High sau đó Low)
                2 thao tác đó cần lặp lại với 40 lần (vì mỗi lần chỉ xuất ra được 1 LED) tương đương 120 chu kỳ lệnh.

                Theo tôi, 5 chân 14 của 595 mắc vào cùng 1 port
                Các lập các chân DATA (1 chu kỳ lệnh: do cùng 1 port)
                Xác lập chân CLK (2 chu kỳ lệnh)
                2 thao tác đó cần lặp lại chỉ 8 lần (vì mỗi lần xuất tới 5 LED) tương đương 24 chu kỳ lệnh.

                Tuy cách tôi khá tốn chân nhưng nhanh hơn cách bạn đến 5 lần (vs 5 74HC595).
                Còn dùng giao tiếp SPI thì 200kB/s thì đúng rồi, bạn thử truyền tải bình thường ko cần giao tiếp xem, vài MB/s là chuyện bình thường. Nhưng tốc độ tới MB/s hay 200kB/s cũng ko quá quan trọng lắm nhỉ, vì thời gian quét cũng khá nhiều so với tốc độ này.
                Tôi thấy bạn tính có chỗ sai.
                Bạn tính sao ra 5 lần vậy. Để mình tính lại xem nào. Xuất 5 byte. (Ở đây cứ coi rằng các lệnh mất số chu kì máy như nhau là 1).
                Để xuất đủ 5 byte :
                Clock 8 lần mất 16 chu kỳ.(High-Low).
                Lấy giá trị 5 bit đầu của 5 byte mất 5 chu kì ( thực tế cái này mất nhiều hơn).
                Xuất giá trị 5 bit này ra PORT mất 5.
                Dịch 5 byte sang trái chờ lấy bit thứ 2 - 8 chu kì.
                Chốt data - 2 chu kì.
                Tổng cộng : 16+5+5+8+2 = 36 chu kì.
                Còn một số giải thuật khác tốn ít hơn 1 chút nhưng ko quá nhiều.
                Để biết chính xác có thể lấy máy hiện sóng ra đo khi cho xuất liên tục. Sẽ thấy số chu kì nó cao chót vót chứ ko ít vậy đâu.
                Còn của mình :
                Xuất 5 byte ra SPI : cần 5 lần xuất giá trị - 5 chu kì + chốt 1 nhát 2 chu kì nữa = 7. Việc xuất ra PORT do SPI đảm nhận, lúc này CPU rảnh rỗi.
                ___ Thời gian thực hiện.
                Mình đã test với kiểu nối tiếp dùng SPI. Cho xuất hết 5 byte mất 16us. Bạn nói là nhanh hơn mình 5 lần tức là 3.2us tức là 16 chu kì máy để xuất hết 5 byte ? Mình xin bái phục
                Mình đã test với cách của bạn với tốc độ nhanh nhất mất 13us cho xuất 5 bit => mất 104us cho xuất 5 byte.
                Cứ cho là mình là 1 con gà đi thì không thể tối ưu dc từ 104us xuống 16us được đâu bạn ạ.
                Sao có thể nhanh hơn mình 5 lần dc ?
                Last edited by duong_act; 16-02-2012, 06:29.

                Comment


                • #9
                  Nguyên văn bởi duylinh988 Xem bài viết
                  Đã ghép nối 2 con 74HC595 như hình vẽ nhưng IC thứ 2 không chạy, chỉ dùm e với.vẫn có tín hiệu vào nhưng không có tín hiệu ra
                  Đây là mô phỏng với 595 cho bạn tham khảo.
                  Kết nối 5 con 595 kiểu nối tiếp dùng SPI để xuất 5 giá trị từ 1 đến 5 ra 595 ( U6 giá trị 1, U2 giá trị 5).
                  Xuất hết 5 byte mất 17us.
                  74HC595-SPI.zip

                  Comment


                  • #10
                    các huynh oi! đệ là lính mới mong các huynh chỉ bảo đệ với!
                    đệ đang nguyên cứu về 16f877a
                    các huynh ai có mạch nguyên lý 16f877a với led ma trận hoặc có tai liệu gi liên quan thi gửi mail cho đệ với.
                    mail của đệ là: catbuibk@gmail.com
                    cám ơn các huynh nhiều nhiều nhiều!

                    Comment

                    Về tác giả

                    Collapse

                    duylinh988 Tìm hiểu thêm về duylinh988

                    Bài viết mới nhất

                    Collapse

                    Đang tải...
                    X