Thông báo

Collapse
No announcement yet.

Help 74hc595 vs led matrix

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

  • Help 74hc595 vs led matrix

    Mình đang tập quét 1 con led matrix dùng 74hc595 mà làm mãi con 74hc595 nó không dịch. Bác nào có code giúp em với.hoặc giải thích giùm em cách dùng con 74hc595 này với.
    Thanks

  • #2
    Nguyên văn bởi hieuvip88 Xem bài viết
    Mình đang tập quét 1 con led matrix dùng 74hc595 mà làm mãi con 74hc595 nó không dịch. Bác nào có code giúp em với.hoặc giải thích giùm em cách dùng con 74hc595 này với.
    Thanks
    Để con 74HC595 của bạn chạy được đầu tiên bạn phải đảm bảo phần cứng nối đúng đã sau đó hãy bàn đến phần mềm. Trường hợp bạn nối đúng các tín hiệu thì việc lập trình điều khiển nó rất đơn giản.

    3 tín hiệu cần điều khiển của nó bao gồm: data, clock và latch. Đường dữ liệu nối tiếp của nó mỗi lần bạn có thể đẩy ra 1 bít dữ liệu. Mỗi khi đẩy ra 1 bít bạn cần 1 xung clock để dịch bít đó ra trước khi đẩy bít dữ liệu tiếp theo. Sau khi dịch đủ 8 bít dữ liệu, bạn cần 1 xung latch để chốt 8 bít dữ liệu đó tới các đầu ra song song của 74HC595. Tất cả chỉ có vậy thôi. Dưới đây là hàm dịch 1 byte ra 74HC595:

    void Send1byte(unsigned char data)
    {
    unsigned char i,temp;
    for(i=0;i<8;i++)
    {
    temp = data & (1<<i);
    if(temp)
    {
    Data = 1;
    }
    else
    {
    Data = 0;
    }
    clock = 1;
    clock = 0;
    }
    latch = 1;
    latch = 0;
    }

    Best Regards,
    Kiếm tiền ONLINE nhàn như ăn cháo -

    Comment


    • #3
      Nguyên văn bởi Sleepy Xem bài viết
      Để con 74HC595 của bạn chạy được đầu tiên bạn phải đảm bảo phần cứng nối đúng đã sau đó hãy bàn đến phần mềm. Trường hợp bạn nối đúng các tín hiệu thì việc lập trình điều khiển nó rất đơn giản.

      3 tín hiệu cần điều khiển của nó bao gồm: data, clock và latch. Đường dữ liệu nối tiếp của nó mỗi lần bạn có thể đẩy ra 1 bít dữ liệu. Mỗi khi đẩy ra 1 bít bạn cần 1 xung clock để dịch bít đó ra trước khi đẩy bít dữ liệu tiếp theo. Sau khi dịch đủ 8 bít dữ liệu, bạn cần 1 xung latch để chốt 8 bít dữ liệu đó tới các đầu ra song song của 74HC595. Tất cả chỉ có vậy thôi. Dưới đây là hàm dịch 1 byte ra 74HC595:

      void Send1byte(unsigned char data)
      {
      unsigned char i,temp;
      for(i=0;i<8;i++)
      {
      temp = data & (1<<i);
      if(temp)
      {
      Data = 1;
      }
      else
      {
      Data = 0;
      }
      clock = 1;
      clock = 0;
      }
      latch = 1;
      latch = 0;
      }

      Best Regards,
      bác có code bằng asm k cho e xin 1 đoạn tham khảo với. e cũng đang làm đồng hồ dùng con này nhưng chưa rõ cách lập trình dịch dữ liệu c nó thế nào cả.
      e đọc về con này thì thấy cũng hiểu cách dịch dữ liệu c nó nhưng không biết cách dùng các lệnh cụ thể để lập trình cho nó ntn

      Comment


      • #4
        Mình cũng đang nghiên cứu vấn đề trao đổi 74HC595 với (led matrix) n ( với n là số >2). Vấn đề là khi dịch 1 byte đầu tiên vào con IC 74HC595 đầu tiên thì ok, khi tăng byte tiếp theo thì cũng ok và IC sau đó vẫn được! Nhưng điều quan trọng là khi đủ dữ liêu trên 1 hàng ( mình chọn quét hàng, đưa dữ liệu ra cột) kích cho hàng 1 sáng rồi đến hàng 2,3,4,5,6,7,8 nhưng với bảng data ( dùng ram nội ) thì ô nhớ ram nội cứ chạy lung tung lung tăng lên đến 0FFh không trở về 00h.Mình nghĩ có 2 vấn đề chưa hiểu là: 1)làm như thế nào để kiểm soát khi truyền 1 byte và tăng byte tiếp theo( khi hết data thì quay lai từ đầu) (chỉ xuất ra chữ chưa cho chuyển động)
        2) Quét hàng với tốc độ bao nhiêu là hợp lí
        Mong bạn nào có mã asm chia sẽ nghiên cứu với!

        Comment


        • #5
          Nguyên văn bởi vietlamdt Xem bài viết
          bác có code bằng asm k cho e xin 1 đoạn tham khảo với. e cũng đang làm đồng hồ dùng con này nhưng chưa rõ cách lập trình dịch dữ liệu c nó thế nào cả.
          e đọc về con này thì thấy cũng hiểu cách dịch dữ liệu c nó nhưng không biết cách dùng các lệnh cụ thể để lập trình cho nó ntn
          To vietlamdt,

          Tôi không viết bằng asm nên không có code. Nếu bạn đã hiểu cách điều khiển 74HC595 rồi thì mọi việc rất đơn giản. Bạn chỉ cần tìm hiểu thêm một chút nữa về asm là ok rồi.

          Best Regards
          Kiếm tiền ONLINE nhàn như ăn cháo -

          Comment


          • #6
            Nguyên văn bởi Pamkin Xem bài viết
            Mình cũng đang nghiên cứu vấn đề trao đổi 74HC595 với (led matrix) n ( với n là số >2). Vấn đề là khi dịch 1 byte đầu tiên vào con IC 74HC595 đầu tiên thì ok, khi tăng byte tiếp theo thì cũng ok và IC sau đó vẫn được! Nhưng điều quan trọng là khi đủ dữ liêu trên 1 hàng ( mình chọn quét hàng, đưa dữ liệu ra cột) kích cho hàng 1 sáng rồi đến hàng 2,3,4,5,6,7,8 nhưng với bảng data ( dùng ram nội ) thì ô nhớ ram nội cứ chạy lung tung lung tăng lên đến 0FFh không trở về 00h.Mình nghĩ có 2 vấn đề chưa hiểu là: 1)làm như thế nào để kiểm soát khi truyền 1 byte và tăng byte tiếp theo( khi hết data thì quay lai từ đầu) (chỉ xuất ra chữ chưa cho chuyển động)
            2) Quét hàng với tốc độ bao nhiêu là hợp lí
            Mong bạn nào có mã asm chia sẽ nghiên cứu với!
            Để hiển thị nội dung đứng yên bạn làm y hệt như việc quét LED 7 thanh. Nếu có 8 hàng thì tương đương với việc bạn quét 8 LED 7 thanh, tất nhiên số lượng cột thì nhiều hơn tùy ma trận của bạn chứ không chỉ có 8 đầu như LED7.

            Phần cứng không bàn đến nữa còn về phần mềm, bạn cứ làm tuần tự từng bước một và kiểm tra thật kĩ mỗi bước mà mình thực hiện.

            1. Đưa dữ liệu của hàng thứ nhất ra cột
            2. Đóng nguồn cho LED sáng
            3. Trễ một chút (phụ thuộc vào tần số quét)
            4. Cắt nguồn
            5. Trễ một chút
            6. Thực hiện lại 5 bước trên với hàng tiếp theo.

            Mắt người chỉ phân biệt được 24h/s = 24hz --> bạn chỉ cần quét ma trận với tần số > 24Hz là được. Tuy nhiên tần số thấp quá thì hình ảnh sẽ bị rung rinh nhưng tần số quá cao thì độ sáng của LED sẽ không tốt.

            Bạn thử lại xem, nhớ là phải chia nhỏ các khâu ra, làm đến đâu kiểm tra lại đến đó xem bị sai ở chỗ nào.

            Best Regards,
            Kiếm tiền ONLINE nhàn như ăn cháo -

            Comment

            Về tác giả

            Collapse

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

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

            Collapse

            Đang tải...
            X