Thông báo

Collapse
No announcement yet.

code led 7 đoạn sai ?

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

  • code led 7 đoạn sai ?

    Mình dùng ic dịch 74hc595 để cấp data cho led 7 đoạn. Mình chưa sài khả năng SPI của atmega8 ở đây để đẩy data ra đoạn code này mình chỉ đơn thuần đưa từng byte ra led 7 đoạn rồi quét led mà không hiểu sai chỗ nào mà tất cả các led đều sáng số 8 mặc dù mình đã thay đổi chỉ số mảng .

    Code đưa dữ liệu và xuất ra led :
    Code:
    flash unsigned char maled_7doan_[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
      napic595(unsigned char number ) // dua du lieu ra 74hc 595
    { unsigned char nap = 0, temp;
       temp = number;               
    while(nap < 8)                                                        
      {  temp = temp&&0x80;
         if(temp == 0x80)           
        {
         data = 1;
         clock = 1;
         clock = 0;
         }
        else 
        {
         data = 0;
         clock = 1;
         clock = 0;
         }
        number  = (number >> 1);
         temp = number; 
         nap++;
      }
      latch = 1;
      latch = 0;    
      nap = 0;
      }
    // code ở void main (void) :
    Code:
      napic595(maled_7doan_[5]);       // truy xuat mang lay du lieu va goi ham dua du lieu ra ic74hc595
                for( dem = 6500;dem >0; dem--)
                {
               l1 = 0;                // quet led 1      dua cuc B cua transistor pnp xuong muc 0
               delay_ms(3);
               l1 = 1;
               l2 = 0;               // quet led 1
               delay_ms(3);
               l2 = 1;
               l3 =  0;              // quet led 3
               delay_ms(3);
               l3 = 1;
               l4 = 0;            // quet led 4
               delay_ms(3);
               l4 = 1;
               l5 = 0;              // quet led 5
               delay_ms(3);
               l5 = 1;
               }
    Mình nghĩ chắc sai đâu đó ở hàm đẩy dữ liệu ra 74hc595 vì khi thay các chỉ số mang khác cũng hiện toàn số 8. Các bạn chỉ giúp mình

  • #2
    Nguyên văn bởi newbie_avr Xem bài viết
    Mình dùng ic dịch 74hc595 để cấp data cho led 7 đoạn. Mình chưa sài khả năng SPI của atmega8 ở đây để đẩy data ra đoạn code này mình chỉ đơn thuần đưa từng byte ra led 7 đoạn rồi quét led mà không hiểu sai chỗ nào mà tất cả các led đều sáng số 8 mặc dù mình đã thay đổi chỉ số mảng .

    Code đưa dữ liệu và xuất ra led :
    Code:
    flash unsigned char maled_7doan_[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};
      napic595(unsigned char number ) // dua du lieu ra 74hc 595
    { unsigned char nap = 0, temp;
       temp = number;               
    while(nap < 8)                                                        
      {  temp = temp&&0x80;
         if(temp == 0x80)           
        {
         data = 1;
         clock = 1;
         clock = 0;
         }
        else 
        {
         data = 0;
         clock = 1;
         clock = 0;
         }
        number  = (number >> 1);
         temp = number; 
         nap++;
      }
      latch = 1;
      latch = 0;    
      nap = 0;
      }
    // code ở void main (void) :
    Code:
      napic595(maled_7doan_[5]);       // truy xuat mang lay du lieu va goi ham dua du lieu ra ic74hc595
                for( dem = 6500;dem >0; dem--)
                {
               l1 = 0;                // quet led 1      dua cuc B cua transistor pnp xuong muc 0
               delay_ms(3);
               l1 = 1;
               l2 = 0;               // quet led 1
               delay_ms(3);
               l2 = 1;
               l3 =  0;              // quet led 3
               delay_ms(3);
               l3 = 1;
               l4 = 0;            // quet led 4
               delay_ms(3);
               l4 = 1;
               l5 = 0;              // quet led 5
               delay_ms(3);
               l5 = 1;
               }
    Mình nghĩ chắc sai đâu đó ở hàm đẩy dữ liệu ra 74hc595 vì khi thay các chỉ số mang khác cũng hiện toàn số 8. Các bạn chỉ giúp mình
    Đỏ: Sai lần 1
    AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
    Xem thêm tại Online Store ---> Click here
    Mob: 0982.083.106

    Comment


    • #3
      Code:
      Đỏ: Sai lần 1
      Anh giải thích sao em kô hiểu ? cái đó mục đích để em biết bít phải cấp tiếp cho pin_14 data của 74hc595 mừ

      Comment


      • #4
        đó là phép toán logic chứ không phải là phép toán AND theo bít.
        bạn dùng
        temp &= 0x80;
        if(temp == 0x80)
        ...........................
        hãy quý những j hiện tại mình đang có

        Comment

        Về tác giả

        Collapse

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

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

        Collapse

        • bqviet
          Trả lời cho Đấu tắt điện cho máy tính bảng
          bởi bqviet
          Bqv cáo lỗi vì chưa đủ khả năng diễn giải để người đọc hiểu. Người làm kỹ thuật sâu đôi khi như thế đó. Về việc nạp pin không vào dù cell mới, khả năng cái mạch quản lý đó đã hỏng - cũng chính là nguyên nhân đám cell cũ hỏng từ đầu.
          06-12-2025, 17:17
        • nguyendinhvan
          Trả lời cho Xin hỏi về mạch thu FM/AM trong catsette
          bởi nguyendinhvan
          Theo tôi, nó chỉ là cái Tuy- ê - nơ, hoặc là khối Trung Văn Tần, nó một phần trong cái Da đì ô thôi. Vì có thấy một chỗ có ba chân hàn, giiống như chân Cờ rít sờ tăng 455 ki nô hẹc. Còn khối Tuy ê nơ thì không nhìn thây cái Di ốt Va di cáp...
          05-12-2025, 19:59
        • afrendly
          Trả lời cho Đấu tắt điện cho máy tính bảng
          bởi afrendly
          Có vẻ ngoài hiểu biết của mình rồi. Cuối cùng mình quyết định tìm mua 2 pin trên Shopee, giá 200K thay vào. Tuy nhận pin được 1%, sạc mãi không vào nhưng cũng mở được máy lên. Vậy cũng tạm. Cảm ơn bạn đã hỗ trợ nhé....
          04-12-2025, 01:27
        • nick22
          Trả lời cho Máy điện châm ?
          bởi nick22
          Đúng như bạn nói, máy điện châm hiện nay trên thị trường đã khá đa dạng về mẫu mã, chức năng và giá thành.
          01-12-2025, 13:23
        Đang tải...
        X