Thông báo

Collapse
No announcement yet.

Làm mạch thật LCD 16x2 loại TC1602B chỉ hiện 16 ô đen thui hàng đầu tiên.

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

  • Làm mạch thật LCD 16x2 loại TC1602B chỉ hiện 16 ô đen thui hàng đầu tiên.

    mong các bạn giúp đỡ. Mình đang làm mạch hiển thị chữ lên LCD, dùng Atmega8, viết bằng AVRstudio, mình đã mô phỏng trên Proteus mạch chạy tốt. Có điều khi nạp chương trình cho mạch thật chạy thì LCD chỉ hiện dòng đầu tiên với 16 ô đen thui mà không có gì khác. Chân điều chỉnh độ tương phản của LCD mình nối đất. LCD mình viết cho nó hoạt động ở chế độ 4bit. Mạch nạp mình dùng STK500 nhưng những thiết lập trước khi nạp cho chip atmega8 mình cóp trên mạng mà chưa hiểu bản chất, có thể nguyên nhân ở đây. Mình rất mong nhận được sự giúp đỡ của các bạn. Cảm ơn các bạn rất nhiều.!
    một số hàm mình viết trong c/trình này liên quan tới LCD:

    #include <avr/io.h>
    #define F_CPU 8000000UL
    #include <util/delay.h>
    #include <stdio.h>
    #include <string.h>
    #include <avr/interrupt.h>

    #define setbit(sfr,bit) sfr|=_BV(bit)
    #define clrbit(sfr,bit) sfr&=~(_BV(bit))
    #define CTRL PORTB
    #define DATA_O PORTB
    #define DDR_DATA DDRB
    #define LATCH_DATA {setbit(CTRL,EN); clrbit(CTRL,EN);}

    void wait_LCD(){
    _delay_ms(5); // không dùng cách đọc cờ bận của LCD
    }
    //============================
    void Write2Nib(uint8_t chr){
    uint8_t HNib,LNib,data;
    wait_LCD();
    data=DATA_O & 0x0F;
    HNib=chr & 0xF0;
    LNib=(chr<<4) & 0xF0;
    DATA_O =(HNib|data);
    LATCH_DATA;
    DATA_O =(LNib|data);
    LATCH_DATA; // chot data
    }
    //===========================
    void khoi_tao_LCD(){
    DDR_DATA = 0x3F; // khai bao chieu I, O cho cac PIN trên PORT B
    clrbit(CTRL,RS);
    setbit(CTRL,5);
    LATCH_DATA;
    Write2Nib(0x28);
    Write2Nib(0x0c);
    Write2Nib(0x06);
    }

  • #2
    chỉ hiện 16 ô đen thui hàng đầu tiên.

    mình cũng vậy. nhưnng là 89. mong câu trả lời của các bác.

    Comment


    • #3
      1 - Mình khuyên bạn nên cho một con biến trở 103 vào chân độ tương phản để mình tuỳ chỉnh độ phân giải nó dễ hơn.
      2- bạn nên up cả file code + mạch lên để mọi người dễ giúp bạn hơn.
      3- Bạn chưa hiểu bản chất code, sao bạn nối đc LCD vs atmega 8 thế
      CUNG CẤP LINH KIỆN ĐIỆN TỬ. DỤNG CỤ LÀM MẠCH.
      CUNG CẤP LED, MẠCH CÔNG SUẤT.
      CUNG CẤP MODULE LED (TRÁI TIM, CUBE)
      ------------TẠI HẠ LONG------------------
      LIÊN HỆ: 0936524718

      Comment


      • #4
        Nguyên văn bởi toi ngu kinh Xem bài viết
        chỉ hiện 16 ô đen thui hàng đầu tiên.

        mình cũng vậy. nhưnng là 89. mong câu trả lời của các bác.
        Có phải bạn ở bên mcu.banlinhkien.vn khong
        CUNG CẤP LINH KIỆN ĐIỆN TỬ. DỤNG CỤ LÀM MẠCH.
        CUNG CẤP LED, MẠCH CÔNG SUẤT.
        CUNG CẤP MODULE LED (TRÁI TIM, CUBE)
        ------------TẠI HẠ LONG------------------
        LIÊN HỆ: 0936524718

        Comment


        • #5
          Nguyên văn bởi Ngaokinhvan9 Xem bài viết
          Chân điều chỉnh độ tương phản của LCD mình nối đất.
          Nối đất thế thì sao mà chẳng đen hả bạn, nếu ko thích nối qua biến trở 10k thì bạn phải nối qua 1 con trở 1k hoặc 2k2 (tùy loại LCD) xuống đất thì mới nhìn được.
          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


          • #6
            oh! yes. chao ban.

            Comment


            • #7
              Cảm ơn các bạn. Mình đã nối chân contrast của LCD với biến trở, vẫn không thay đổi gì các cậu ạ, bực mình ghê.!

              Comment


              • #8
                Mình chưa hiểu các thiết lập trong chương trình nạp chứ code thì mình viết làm sao mà không hiểu đc. Các thẻ phải thiết lập như thế nào cho đúng?Click image for larger version

Name:	Noname.jpg
Views:	1
Size:	55.3 KB
ID:	1382310

                Comment


                • #9
                  stk500 chưa có để dùng lên không biết.
                  bạn mua ở đâu và ? $?

                  Comment


                  • #10
                    16 ô đen hàng đầu tiên phần lớn do hàm LCD_Init() ( hoặc là tương đương thế tùy người viết) chưa đúng.
                    Hàm này sẽ khởi động và cài đặt một số thông số cho LCD để nó hoạt động.

                    Comment


                    • #11
                      test thử với proteus đi, nếu proteus chạy thì phần cứng có vấn đề và ngược lại, thường thì chủ yếu do phần cứng mà thôi, test kỹ lại thứ tự các chân. Các chân A, K không nối thì LCD vẫn hoạt động bình thường

                      Comment


                      • #12
                        Mình cũng vậy, code mô phỏng chạy được, mạch cũng mắc biến trở vô rồi nhưng chỉ điều chỉnh rõ nét với mờ hơn thôi nhưng vẫn không hiện chữ, chỉ nhìn thấy 16 ô đen thui ở dòng đầu tiên.. bó tay!

                        Comment


                        • #13
                          cậu không tự viết được mấy dòng code để test ah.?//
                          nếu nó đen một dòng như thế thì chỉ do code hoặc LCD đi rồi... nên chỉ có cách test code chuẩn thôi ( muốn chuẩn thì tự làm )

                          Comment


                          • #14
                            bạn xài con gì thế nếu là at89 thì mình cũng bị và đã được 1 bác chỉ cho là nối thiếu chân 31 về dương nguồn

                            Comment


                            • #15
                              Nguyên văn bởi lazido Xem bài viết
                              Mình cũng vậy, code mô phỏng chạy được, mạch cũng mắc biến trở vô rồi nhưng chỉ điều chỉnh rõ nét với mờ hơn thôi nhưng vẫn không hiện chữ, chỉ nhìn thấy 16 ô đen thui ở dòng đầu tiên.. bó tay!
                              bạn xài con gì thế nếu là at89 thì xem chân 31 nối về dương nguồn chưa.

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X