Thông báo

Collapse
No announcement yet.

Quét led 7 đoạn qua 74hc595

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

  • Quét led 7 đoạn qua 74hc595

    Em xin chào các anh, em có vấn đề khi quét led 7 đoạn qua 74hc595.

    Sơ đồ thì chỉ là nối 8 chân a, b, c... vào 8 chân Q0-> Q7, các chân SHCP, STCP, DS nối vào chip. 4 thứ tự 1, 2, 3, 4 của led thì nối trực tiếp vào chip.

    Code của em như sau:

    Code:
    void input595(unsigned char data)
    
    {
    
        unsigned char i;
    
        unsigned char k;
    
        k = 128;
    
        SHCP= 1;
    
        STCP= 0;
    
        for(i = 0; i<8; i++)
    
        {
    
            if((data & k) == 0)
    
                    DS = 0;
    
            else
    
                    DS = 1;
    
         
    
            SHCP = 0;
    
            SHCP = 1;
    
         
    
            k >>= 1;             
    
        }
    
     
    
            STCP = 0;     
    
            STCP = 1;           
    
     
    
    }
    
    //Test  hien thi thoi gian cai dam
    
    void display(void)
    
    {
    
     
    
            input595(do);
    
            led3 = bat;
    
            delay_ms(5);
    
            led3 = tat;
    
            input595(C);
    
            led4 = bat;
    
            delay_ms(5);
    
            led4 = tat;
    
         
    
            chuc2 = phut / 10;
    
            dv2 = phut %10;
    
            input595(m[chuc1]);
    
            led1 = bat;
    
            delay_ms(5);
    
            led1 = tat;
    
            input595(m[dv1]);
    
            led2 = bat;
    
            delay_ms(5);
    
            led2 = tat;             
    
         
    
         
    
    }
    Dùng để hiển thị kí tự 13 độ C nhưng kết quả ko như ý: Led - YouTube

    Như ở digit led đầu tiên, yêu cầu nó hiển thị số 1, nhưng sau khi hiển thị số 1 thì nó lại nháy sáng tất cả các thanh còn lại của LED, các digit khác cũng bị tương tự.

    Hi vọng các anh giúp đỡ, em xin cám ơn

  • #2
    chả thấy nhãn main, quét led mà ko thấy vòng lặp

    Comment


    • #3
      Nguyên văn bởi chung1608 Xem bài viết
      chả thấy nhãn main, quét led mà ko thấy vòng lặp
      Đây chỉ làm hàm quét thôi, còn trong vòng while của hàm main vẫn gọi hàm display mà

      Comment


      • #4
        thử tham khảo ví dụ quet led ATmega8 với 74HC595 tại Phan Information Technology trong mục Học tập/Project AVR
        0912666017

        Comment


        • #5
          Tự dưng vào xem web của bạn phan_it chút mình thấy cái module led7seg 2,3" bạn thiết kế mỗi một led sử dụng 1 595 + 1 ULN, thế thì chỉ cần 1 header 6 input( 12V, 5V, SCK, DATA,LCK,GND) và 1 header 6 out put là đủ mà nhỉ cần gì phải làm header 10 riêng rồi lại còn sử dụng cả 7805, header nguồn...làm tăng giá thành của mạch.
          Còn bạn quét led7seg nên lưu tất cả giá trị vào 1 array or sử dụng con trỏ, thì hàm quét dù hiển thị gì bạn chỉ cần 1 hàm for. Hiện tượng nháy led là do hàm quét chưa chuẩn, sau mỗi khi hiển thị bạn nên tắt và delay 1->10us chắc hiện tượng kia sẽ mất, còn nếu còn thì bạn post cả project lên mọi người sẽ giúp
          Web:
          ->Nhận thiết kế, hoàn thiện dự án, sản phẩm điện tử<-
          -->Giải pháp GSM/GPRS/GPS - Công nghệ RFID<--

          Comment


          • #6
            Nguyên văn bởi demon52 Xem bài viết
            Tự dưng vào xem web của bạn phan_it chút mình thấy cái module led7seg 2,3" bạn thiết kế mỗi một led sử dụng 1 595 + 1 ULN, thế thì chỉ cần 1 header 6 input( 12V, 5V, SCK, DATA,LCK,GND) và 1 header 6 out put là đủ mà nhỉ cần gì phải làm header 10 riêng rồi lại còn sử dụng cả 7805, header nguồn...làm tăng giá thành của mạch.
            Còn bạn quét led7seg nên lưu tất cả giá trị vào 1 array or sử dụng con trỏ, thì hàm quét dù hiển thị gì bạn chỉ cần 1 hàm for. Hiện tượng nháy led là do hàm quét chưa chuẩn, sau mỗi khi hiển thị bạn nên tắt và delay 1->10us chắc hiện tượng kia sẽ mất, còn nếu còn thì bạn post cả project lên mọi người sẽ giúp
            - Nói như bạn là chưa đọc kỹ rồi:
            - Modul LED423A sở dĩ phải dùng ULN2803 là vi LED này phải dùng nguồn 12V (không dùng nguồn 5V được), nên phía sau con 74HC595 phải dùng thêm ULN2803 làm phần công suất cho khỏe. Board này dùng nguồn 12V nên cần 7805 để có 5V nuôi mấy con 74HC595.
            Còn cái jack nối đơn gian chỉ là chuẩn cơ khí thôi, hiện nay trên thi trường dùng nhiều jack nối 10, 16, 20 pin hơn.
            - Các chương trình điều khiển (mang tính chất ví dụ minh họa) tôi đã đính kèm project vào rồi mà. các bạn chỉ việc dowload về xem.
            - Còn đánh giá các chương trình. thì thế này: khi thiết kế chường trình nó có một số tiêu chí sau:
            - chương trình minh họa: càng đơn giản cho người đọc càng tốt, đừng phức tạp về thuật toán.
            - chương trình để sau này nâng cấp cho dễ dàng
            - chương trình để có tốc dộ cao.
            - chương trình có kich thước nhỏ.
            ......
            Lưu ý: tất cả các chương trình tôi post lên đều với mục đích hoc tập là chính, nếu muốn biến các chương trình này thành một phần sản phẩm thương mại thì phải chỉnh sửa, tối ưu hóa nhiều nữa, cái đó các bạn phải bỏ công sức ra. Tôi không ủng hộ cách làm tạo sẵn mọi thứ cho các bạn sinh viên - như thế thủ tiêu tinh thần học tập của các bạn.
            0912666017

            Comment


            • #7
              uhm. Các bài của bạn phanit mình thấy khá hay, mình vẫn thường vào xem bài trong đó. Cảm ơn nhé.
              // Các sản phầm thuơng mại của bạn cũng rất tốt, mình đã mua khá nhiều mạch nạp của bạn thấy đều chạy tốt và ổn định, chỉ có 1 vụ mua mạch nạp ko thấy có đĩa CD kèm (chắc tại rơi đâu mất.hihi)
              Mua bán thiết bị điện công nghiệp tại Hà Nội, toàn quốc.
              http://diencongnghiep360.com/
              http://tudienhathe.vn/

              Comment


              • #8
                Bạn muốn quét led 7 bằng 74595 thì dùng hàm spi có sẵn trong thư viện

                Comment

                Về tác giả

                Collapse

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

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

                Collapse

                • nguyendinhvan
                  Trả lời cho Vấn đề về tốc độ quay
                  bởi nguyendinhvan
                  Sử dụng động cơ servor, hoặc lắp thêm một cái encoder vào động cơ bước. Encoder sẽ kiểm soát động cơ có quay hoặc đứng im.
                  Hôm qua, 19:50
                • Andrea14
                  Vấn đề về tốc độ quay
                  bởi Andrea14
                  Chào mọi người,

                  Tôi muốn mô phỏng sự thay đổi các mùa bằng cách từ từ nghiêng một quả địa cầu 16 inch bằng một động cơ bước nhỏ. Một động cơ bước khác sẽ quay quả địa cầu theo thời gian thực. Hệ thống truyền động...
                  12-12-2025, 12:42
                • 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
                Đang tải...
                X