Thông báo

Collapse
No announcement yet.

Test LCD 16x2 chết hay chưa

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

  • Test LCD 16x2 chết hay chưa

    Các bác cho em hỏi làm thế nào để test con LCD 1602A còn sống hay chết mà ko cần dùng VĐK ko? em chưa có mạch nạp nên ko test được.

  • #2
    K ai trả lời em hết à. Vậy em hỏi: khi cắm chân 1 xuống GND, chân 2 vào Vcc 5V thì màn hình có hiện gì ko ạ? Con LCD của em chả hiện gì cả? Mà gắn biến trở vào chân 3 kiểu gì để chỉnh độ tương phản hả các bác?
    Mong các bác giúp đỡ.

    Comment


    • #3
      Đang nghĩ. Đố khó quá.
      |

      Comment


      • #4
        hi ác, trên LCD đã có ghi tên các chân, bạn cứ theo đó mà cắm, LCD chưa dùng mà sợ hư hả

        Còn chân điều chỉnh tương phản, bạn đấu nó vào chân giữa của biến trở 5K, hai đầu còn lại của biến trở một đấu vào +5V, một đấu vào GND, như vậy có nghĩa là chân này điện áp dao động từ khoảng 0 --> (+5VDC)

        Thực ra thì test không cần VĐK cũng đuợc, nếu bạn hiểu rõ về cách thức nhận và hiển thị data của LCD, nhưng rất phức tạp, phức tạp hơn việc bạn tìm ra một con VĐK sau đó thử hihi

        LCD ở chế độ khởi tạo mặc định, hãng sản xuất sẽ set hiển thị về 0, chính vì vậy mà khi bạn chỉ đấu nối nguồn vào cho nó sẽ chẳng nhận đuợc tí hình ảnh gì . Trừ khi bạn khởi tạo lại cho nó

        Chúc bạn vui.
        Chính thức phát hành mạch điều khiển LED FireStar1
        Yêu mến tất cả anh em dientuvietnam.net

        Comment


        • #5
          Nguyên văn bởi minhtinh Xem bài viết
          Đang nghĩ. Đố khó quá.
          ah ha, bác nghĩ nhanh giùm em cái nha, em cũng đang gặp vấn đề như trên đó
          Và con tim đã vui trở lại ....

          Comment


          • #6
            Mua LCD để bán hả hay mua để dùng. Nếu mua để dùng thì đằng nào chẳng phải lập trình hiển thị, vậy thì lắp mạch luôn cho xong rồi thử, nếu nó hỏng thật thì phải đi mua tiếp con khác về thử, ko lẽ bỏ luôn khỏi thử nữa, hì....
            Tui cả chục con LCD mới (DM1602) chưa con nào hỏng cả, chắc nó ko hỏng đâu, khỏi phải thử.

            Comment


            • #7
              Cám ơn các bác đã trả lời. Em nạp con VĐK rồi test thì thấy con LCD cũ chết toi, mang ra Hàn Thuyên đổi đc con mới (vẫn còn hạn bảo hành 1 tuần). Giờ thì ổn rồi

              Comment


              • #8
                Nguyên văn bởi cyberbrain Xem bài viết
                Cám ơn các bác đã trả lời. Em nạp con VĐK rồi test thì thấy con LCD cũ chết toi, mang ra Hàn Thuyên đổi đc con mới (vẫn còn hạn bảo hành 1 tuần). Giờ thì ổn rồi
                LCD chỉ cần test như thế này là ổn,nếu đc thì chắc chắn khi đem vào sử dụng okie 100%.Bạn cấp nguồn cho nó,có đủ cả contrast,nếu lcd sáng toàn màu đen ở dòng 1 thì lcd đó còn sống và làm việc được.

                Comment


                • #9
                  Ủa mua LCD ở Hàn THuyên có bảo hành hả. Thế nhỡ về cầm nhầm điện áp nó cháy vẫn đổi được hả. Mà ở HÀN THUYÊN có bán LCD giáo tiếp Serial không cái loại 20xx gì đó, giá có ngang bằng LCD DM1602 ko. À LCD 1602 ở HÀN THUYÊN là loại DM1602A hả, tui đang dùng loại này ( mua ở chợ trời, tui chưa mua LCD ở Hàn thuyên bao giờ ). Ai biêt chỉ tui với, tui hok ở HN nên ko ra xem được, tui biết tiện đường tui wa mua ?

                  Comment


                  • #10
                    Cắm nhầm điện áp mà cháy thì ko biết có đổi đc ko. Hôm trước em chỉ cần mang hóa đơn ra thôi là được đôi rồi. Loại ở Hàn Thuyên là DM1602A đấy, họ bán 65k.

                    Comment


                    • #11
                      Cho hỏi thêm chút nữa, con LCD 1602 bạn hàn dây vào 16 chân của nó rồi mà vẫn đổi được à. Mà có cái giắc cắm nào vào con LCD này mà ko cần phải hàn dây ra ko, hàn 16 cái dây vào mấy cái lỗ của nó thì khi thay màn hình( nếu nhỡ nó hỏng ) rất mất thời gian.

                      Comment


                      • #12
                        kiếm cái jumper thanh đực rồi hàn vào 16 cái chân đó thôi. Mang ra nó bảo muốn đổi phải tháo hết jumper đi nên mình lại phải chạy về để tháo Mất có 15 phút để tháo thôi mà, sau đó đổi thoải mái.

                        Comment


                        • #13
                          Nguyên văn bởi thaithienanh Xem bài viết
                          hi ác, trên LCD đã có ghi tên các chân, bạn cứ theo đó mà cắm, LCD chưa dùng mà sợ hư hả

                          Còn chân điều chỉnh tương phản, bạn đấu nó vào chân giữa của biến trở 5K, hai đầu còn lại của biến trở một đấu vào +5V, một đấu vào GND, như vậy có nghĩa là chân này điện áp dao động từ khoảng 0 --> (+5VDC)

                          Thực ra thì test không cần VĐK cũng đuợc, nếu bạn hiểu rõ về cách thức nhận và hiển thị data của LCD, nhưng rất phức tạp, phức tạp hơn việc bạn tìm ra một con VĐK sau đó thử hihi

                          LCD ở chế độ khởi tạo mặc định, hãng sản xuất sẽ set hiển thị về 0, chính vì vậy mà khi bạn chỉ đấu nối nguồn vào cho nó sẽ chẳng nhận đuợc tí hình ảnh gì . Trừ khi bạn khởi tạo lại cho nó

                          Chúc bạn vui.
                          Mình mới mua con LCD RT1602C, hàn dây vào 8951 như sau:
                          GND (1) - GND
                          Vcc (2) - 5V
                          Vee (3) - Vcc+10K (điện trở)
                          RS (4) - P3.0
                          R/W (5) - P3.1
                          E (6) - P3.2
                          DB0 (7) - P1.0
                          DB1 (8) - P1.1
                          ..............
                          DB7 (14) - P1.7
                          Lúc đầu mình chỉ test
                          GND (1) - GND
                          Vcc (2) - 5V
                          Vee (3) - Vcc+10K (điện trở)
                          Sau đó mình thay đổi giá trị điện trở xuống còn 5K, 3K, 2.5K nhưng màn hình vẫn không hiện gì. Đây là chuyện bình thường hay LCD của mình có vấn đề?

                          Tiếp theo mình test với đoạn code đơn giản sau (với điện trở chân Vee là 2.5K) nhưng vẫn không có gì thay đổi (màn hình không hiện gì cả).

                          Code:
                          ORG 0000H
                          MAIN:	
                          	MOV P3,#00000100B ;Cho LCD hoạt động
                          
                          	MOV P1,#00000001B ;Xóa hiển thị 
                          	LCALL DELAY       
                                        
                          	MOV P1,#00000100B ;Trở về đầu
                          	LCALL DELAY
                          
                          	MOV P1,#00000111B ;Tăng vị trí con trỏ, dịch hiển thị
                          	LCALL DELAY
                          
                          	MOV P1,#00001111B ;Bật hiển thị, bật con trỏ, 
                          	LCALL DELAY       ;nhấp nháp con trỏ
                          LJMP MAIN
                          ;============================
                          DELAY:
                          	MOV R0,#10			
                          WAIT:
                          	MOV TMOD,#01H		
                          	MOV TH0,#HIGH(-65535)	
                          	MOV TL0,#LOW(-65535)
                          	SETB TR0		
                          	JNB TF0,$		
                          	CLR TR0			
                          	CLR TF0	
                          	DJNZ R0,WAIT		
                          RET
                          END
                          Mong được sự hỗ trợ của mọi người! Thanks!
                          Last edited by trong123; 20-04-2008, 16:42.
                          Không TÔI là kẻ phàm phu
                          Cái TÔI quá lớn làm ngu muội mình!
                          - 0983.886.113

                          Comment


                          • #14
                            Đây là chương trình hiển thị LCD (dùng 8 bit dữ liệu) mình tổng hợp lại từ các hướng dẫn (từ http://dientuvietnam.net/forums/showthread.php?t=281&highlight=L%E1%BA%ADp+tr%C3%A Cnh+hi%E1%BB%83n+th%E1%BB%8B+LCD+b%E1%BA%B1ng+Asse mbler+%28+tutorial%29 http://www.8052.com/tutlcd.phtml ), các bạn test và chỉ cho mình chỗ chưa đúng giùm.
                            Code:
                            ORG 0000H
                            	RW BIT P3.0
                            	RS BIT P3.1
                            	EN BIT P3.2
                            	DB0 BIT P1.0
                            	DB1 BIT P1.1
                            	DB2 BIT P1.2
                            	DB3 BIT P1.3
                            	DB4 BIT P1.4
                            	DB5 BIT P1.5
                            	DB6 BIT P1.6
                            	DB7 BIT P1.7
                            	DT EQU P1
                            ;========================
                            MAIN:
                            	LCALL INIT_LCD
                            	LCALL CLEAR_LCD
                            	MOV A,#'H'
                            	LCALL WRITE_TEXT
                            	MOV A,#'E'
                            	LCALL WRITE_TEXT
                            	MOV A,#'L'
                            	LCALL WRITE_TEXT
                            	MOV A,#'L'
                            	LCALL WRITE_TEXT
                            	MOV A,#'O'
                            	LCALL WRITE_TEXT
                            	MOV A,#' '
                            	LCALL WRITE_TEXT
                            	MOV A,#'W'
                            	LCALL WRITE_TEXT
                            	MOV A,#'O'
                            	LCALL WRITE_TEXT
                            	MOV A,#'R'
                            	LCALL WRITE_TEXT
                            	MOV A,#'L'
                            	LCALL WRITE_TEXT
                            	MOV A,#'D'
                            	LCALL WRITE_TEXT
                            SJMP $
                            ;========================
                            WAIT_LCD:
                            	CLR EN 			;Start LCD command
                            	CLR RS 			;It's a command
                            	SETB RW 		;It's a read command
                            	MOV DT,#0FFH 		;Set all pins to FF initially
                            	SETB EN 			;Clock out command to LCD
                            	MOV A,DT 		;Read the return value
                            	JB ACC.7,WAIT_LCD 	;If bit 7 high, LCD still busy
                            	CLR EN 			;Finish the command
                            	CLR RW 			;Turn off RW for future commands
                            RET
                            ;========================
                            INIT_LCD:
                            	CLR RS
                            	MOV DT,#38h
                            	SETB EN
                            	CLR EN
                            	LCALL WAIT_LCD
                            	CLR RS
                            	MOV DT,#0Eh
                            	SETB EN
                            	CLR EN
                            	LCALL WAIT_LCD
                            	CLR RS
                            	MOV DT,#06h
                            	SETB EN
                            	CLR EN
                            	LCALL WAIT_LCD
                            RET
                            ;========================
                            CLEAR_LCD:
                            	CLR RS
                            	MOV DT,#01h
                            	SETB EN
                            	CLR EN
                            	LCALL WAIT_LCD
                            RET
                            ;========================
                            WRITE_TEXT:
                            	SETB RS
                            	MOV DT,A
                            	SETB EN
                            	CLR EN
                            	LCALL WAIT_LCD
                            RET
                            ;========================
                            END
                            Mình định làm mạch chạy chữ bằng LCD trước ngày 30/4 để về tặng đứa bạn học (girl) dưới quê.
                            Mong các bạn có thời gian hướng dẫn tận tình, thanks!
                            Không TÔI là kẻ phàm phu
                            Cái TÔI quá lớn làm ngu muội mình!
                            - 0983.886.113

                            Comment


                            • #15
                              Nguyên văn bởi trong123 Xem bài viết
                              Mình mới mua con LCD RT1602C, hàn dây vào 8951 như sau:
                              GND (1) - GND
                              Vcc (2) - 5V
                              Vee (3) - Vcc+10K (điện trở)
                              RS (4) - P3.0
                              R/W (5) - P3.1
                              E (6) - P3.2
                              DB0 (7) - P1.0
                              DB1 (8) - P1.1
                              ..............
                              DB7 (14) - P1.7
                              Lúc đầu mình chỉ test
                              GND (1) - GND
                              Vcc (2) - 5V
                              Vee (3) - Vcc+10K (điện trở)
                              Sau đó mình thay đổi giá trị điện trở xuống còn 5K, 3K, 2.5K nhưng màn hình vẫn không hiện gì. Đây là chuyện bình thường hay LCD của mình có vấn đề?

                              Tiếp theo mình test với đoạn code đơn giản sau (với điện trở chân Vee là 2.5K) nhưng vẫn không có gì thay đổi (màn hình không hiện gì cả).

                              Code:
                              ORG 0000H
                              MAIN:	
                              	MOV P3,#00000100B ;Cho LCD hoạt động
                              
                              	MOV P1,#00000001B ;Xóa hiển thị 
                              	LCALL DELAY       
                                            
                              	MOV P1,#00000100B ;Trở về đầu
                              	LCALL DELAY
                              
                              	MOV P1,#00000111B ;Tăng vị trí con trỏ, dịch hiển thị
                              	LCALL DELAY
                              
                              	MOV P1,#00001111B ;Bật hiển thị, bật con trỏ, 
                              	LCALL DELAY       ;nhấp nháp con trỏ
                              LJMP MAIN
                              ;============================
                              DELAY:
                              	MOV R0,#10			
                              WAIT:
                              	MOV TMOD,#01H		
                              	MOV TH0,#HIGH(-65535)	
                              	MOV TL0,#LOW(-65535)
                              	SETB TR0		
                              	JNB TF0,$		
                              	CLR TR0			
                              	CLR TF0	
                              	DJNZ R0,WAIT		
                              RET
                              END
                              Mong được sự hỗ trợ của mọi người! Thanks!
                              Theo mình con LCD của bạn tèo roài. Rất nhiều bạn nối chân contrast lên nguồn sau đó LCD đều tèo hết.
                              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

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X