Thông báo

Collapse
No announcement yet.

LCD của em tại sao không chạy???

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

  • #31
    Tôi thấy đoạn gửi lệnh của bạn dùng cờ Flag. Như vậy là sẽ không áp dụng được khi khởi tạo. Bạn sửa lại theo tôi xem nhé:
    Code:
    SENDCOMMAND:	;CTC GUI LENH (SENDCOMMAND) VA GUI DU LIEU (SENDDATA) RA LCD
    	CLR	RS			;RS = 0 - GUI LENH
    	SJMP	PULSE_EN
    SENDDATA:
    	SETB	RS			;RS = 1 - GUI DU LIEU
    	NOP
    PULSE_EN:				;TAO XUNG ENABLE DE CHUYEN THONG TIN (COMMAND/DATA) VAO LCD
    	CLR	RW			;RW = 0 - WRITE LCD MODE
    	CLR	EN			;EN = 0
    	NOP
    	SETB	EN			;EN = 1 - XUNG ENABLE
    	NOP
    
    ;****************************
    ;Đoạn này của tôi
    ;****************************
            Delay 38 micro giây     ;Bạn tự viết lấy
            
            CLR     EN
    ;****************************
    ;Hết đoạn này của tôi
    ;****************************
    	RET
    Đoạn LCD Init bạn viết cũng chưa đúng. Tôi thấy mọi người góp ý nhưng không hiểu sao bạn không sửa theo.
    Tôi sửa cho bạn như sau:

    Code:
    LCDINIT:	;CTC KHOI TAO LCD
    	CLR	RS			;RS = 0 - GUI LENH
    	CLR	RW			;RW = 0 - WRITE LCD MODE
    	CLR	EN			;E = 0 - ENABLE
    
            ;Thêm đoạn Delay 41ms nhé
            ;Bạn tự viết nhé
    
    	MOV	DATABUS,#38H	;Cái này chỉ là khởi tạo thôi
    	ACALL	SENDCOMMAND		;GUI LENH RA LCD
    	MOV	TH0,#HIGH(-4100)
    	MOV	TL0,#LOW(-4100)
    	ACALL	DELAY			;DELAY 4.1MS
    	MOV	DATABUS,#30H	;Cái này chỉ là khởi tạo thôi
    	ACALL	SENDCOMMAND		;GUI LENH RA LCD
    	MOV	TH0,#HIGH(-100)
    	MOV	TL0,#LOW(-100)	
    	ACALL	DELAY			;DELAY 100US
            MOV	DATABUS,#30H	;Thêm 1 cái khởi tạo nữa mới đủ
    	ACALL	SENDCOMMAND		;GUI LENH RA LCD
    
    ;Thêm mấy cái này nữa nè
    
    	MOV	DATABUS,#08H	;CODE = 08H - Display off
    	ACALL	SENDCOMMAND		;GUI LENH RA LCD
    
    	MOV	DATABUS,#01H	;CODE = 01H - Clear Display
    	ACALL	SENDCOMMAND		;GUI LENH RA LCD
    
    	MOV	DATABUS,#38H	;CODE = 38H - 8 BIT, 16 CHAR/LINE, MATRIX 5x7
    	ACALL	SENDCOMMAND		;GUI LENH RA LCD
    ;Đến đây mới hết phần khởi tạo
    
    	MOV	DATABUS,#0CH	;CODE = C0H - CHO PHEP LCD HIEN THI
    	ACALL	SENDCOMMAND		;GUI LENH RA LCD
    	MOV	DATABUS,#01H	;CODE = 01H - XOA LCD
    	ACALL	SENDCOMMAND		;GUI LENH RA LCD
            
    		MOV	DATABUS,#02H	;CODE = 02H - Home
    	ACALL	SENDCOMMAND		;GUI LENH RA LCD
    MOV	DATABUS,#41H	;CODE = 41H - Chữ 'A'
    	ACALL	SENDDATA		;GUI DATA RA LCD
            SJMP $                  ;Có thấy hiện chữ A ko? :D
    	RET
    Đoạn Main bạn cũng nên sửa như sau:
    Code:
    	ORG	00H
    LJMP MAIN
    	ORG	30H
    MAIN:
    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


    • #32
      Em đã thử mà vẫn không được! Dù sao cũng cám ơn bác! Nhưng em nghĩ vấn đề không phải lỗi do chương trình, vì Tranpic đã test thử code của em và chạy rồi! Em nghĩ là do phần cứng thôi! Nhưng kiểm tra phần cứng cũng đã kỹ lắm rồi mà vẫn không hiểu sai lỗi nào!

      Ngaỳ hôm nay em dùng đồng hồ đo thì thấy các chân RS, RW, E của LCD (tức các ngõ ra p3.7, p3.6, p3.5) đều ở mức cao 5v, trong khi ngõ vào dữ liệu của LCD từ DB0 - DB7 thì đều ở mức thấp, chỉ một chân DB6 ở mức cao! Như thế thì làm sao LCD chạy được, chính vì vậy em nghi ngờ khối Vi xử lý! Nhưng đã kiểm tra các đường mạch thấy rất đúng, nên vẫn là bài toán nan giải! Chả hiểu thế nào nữa, các bác nào từng gặp trường hợp này rồi thì nói cho em biết em sửa nhé!

      Comment


      • #33
        Nhân tiện, khi chỉnh độ tương phản thì bạn phải xoay chiết áp cho đến khi hiện lên một hoặc 2 dòng đen sau đó xoay ngược chiết áp cho tới khi dòng đó mờ vừa hết là được.
        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


        • #34
          Thể theo lời bác em xoay rồi! Vẫn bình thường! Xoay đi, xoay lại cũng thế thôi!

          Comment


          • #35
            Nguyên văn bởi nocki Xem bài viết
            Em đã thử mà vẫn không được! Dù sao cũng cám ơn bác! Nhưng em nghĩ vấn đề không phải lỗi do chương trình, vì Tranpic đã test thử code của em và chạy rồi! Em nghĩ là do phần cứng thôi! Nhưng kiểm tra phần cứng cũng đã kỹ lắm rồi mà vẫn không hiểu sai lỗi nào!

            Ngaỳ hôm nay em dùng đồng hồ đo thì thấy các chân RS, RW, E của LCD (tức các ngõ ra p3.7, p3.6, p3.5) đều ở mức cao 5v, trong khi ngõ vào dữ liệu của LCD từ DB0 - DB7 thì đều ở mức thấp, chỉ một chân DB6 ở mức cao! Như thế thì làm sao LCD chạy được, chính vì vậy em nghi ngờ khối Vi xử lý! Nhưng đã kiểm tra các đường mạch thấy rất đúng, nên vẫn là bài toán nan giải! Chả hiểu thế nào nữa, các bác nào từng gặp trường hợp này rồi thì nói cho em biết em sửa nhé!
            Nếu bạn nghi ngờ vi điều khiển chạy không đúng thì có thể viết chương trình đơn giản kiểm tra các chân có liên quan của vi điều khiển (bật tắt LED thôi).

            Đa số module LCD có chip điều khiển tương thích với HD44780, nhưng không phải tất cả module LCD đều như vậy, do đó vẫn có khả năng module của bạn dùng một chip không tương thích với HD44780 (mà những gì chúng ta thảo luận đến thời điểm này đều liên quan đến HD44780). Do đó, nếu có thể thì bạn đem module LCD của bạn nhờ một người nào đó đã từng thử nghiệm thành công với LCD kiểm tra thử giúp bạn (post một bài lên diễn đàn là bạn sẽ tìm được ai đó ở gần bạn).

            Rất nhiều người đã dùng LCD loại này, mới thấy bạn là người đầu tiên gặp vấn đề đến mức này.

            Thân,
            Biển học mênh mông, sức người có hạn

            Comment


            • #36
              Hình như bạn ở miền nam. Tôi thấy bạn dùng font VNI. Nếu bạn ở HN tôi có thể cho bạn mượn 1 con LCD 16x2 để test thử chương trình. Trường hợp LCD chết cũng không phải hiếm đâu.
              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


              • #37
                Bác đoán hay lắm, em đúng là ở miền Nam. Con LCD của em vẫn hiển thị một dòng đen chứ có phải không hiển thị đâu! Điều này chứng tỏ nó vẫn được cấp nguồn và vẫn tốt vì em nghe mấy bác trên diễn đàn nói vậy mà! Cũng xin nói lại với bác là chỉnh contrast ok luôn, chỉ có cái là chỉnh rồi cũng thế thôi, không ăn thua gì đến việc mạch chạy cả, vẫn một dòng đen mờ đi khi chỉnh và rõ khi tiến gần tới 1 Kiloohm!

                Nói chung mạch em thì em khẳng định khối nguồn ok vì led nguồn sáng tốt và đo thấy 5v, khối LCD led sáng tốt hiển thị một dòng đen, khối vi xử lý em không biết sao nhưng mạch nhìn không thấy lỗi gì chỉ có tín hiệu xuất ra ở các chân thì như em đã nói ở trên, còn khối realtime em nghĩ chả ảnh hưởng gỉ đến vấn đề hiển thị của LCD cả! Cho nên em đặt nghi ngờ lớn nhất vào khối Vi xử lý, thứ hai là khối LCD mà khối vi xử lý thì mạch quá đơn giản nên em không biết lỗi chỗ nào, đo các mối hàn thì ăn hết, các chân ok, kim đồng hồ vẫn lên!

                Nói tóm lại em sẽ cố gắng tích cực hơn để làm sao tìm ra nguyên nhân, có thể em sẽ phải mua một kit test về để thử! Khổ thân và tốn kém!

                Comment


                • #38
                  Nguyên văn bởi nocki Xem bài viết
                  Bác đoán hay lắm, em đúng là ở miền Nam. Con LCD của em vẫn hiển thị một dòng đen chứ có phải không hiển thị đâu! Điều này chứng tỏ nó vẫn được cấp nguồn và vẫn tốt vì em nghe mấy bác trên diễn đàn nói vậy mà! Cũng xin nói lại với bác là chỉnh contrast ok luôn, chỉ có cái là chỉnh rồi cũng thế thôi, không ăn thua gì đến việc mạch chạy cả, vẫn một dòng đen mờ đi khi chỉnh và rõ khi tiến gần tới 1 Kiloohm!

                  Nói chung mạch em thì em khẳng định khối nguồn ok vì led nguồn sáng tốt và đo thấy 5v, khối LCD led sáng tốt hiển thị một dòng đen, khối vi xử lý em không biết sao nhưng mạch nhìn không thấy lỗi gì chỉ có tín hiệu xuất ra ở các chân thì như em đã nói ở trên, còn khối realtime em nghĩ chả ảnh hưởng gỉ đến vấn đề hiển thị của LCD cả! Cho nên em đặt nghi ngờ lớn nhất vào khối Vi xử lý, thứ hai là khối LCD mà khối vi xử lý thì mạch quá đơn giản nên em không biết lỗi chỗ nào, đo các mối hàn thì ăn hết, các chân ok, kim đồng hồ vẫn lên!

                  Nói tóm lại em sẽ cố gắng tích cực hơn để làm sao tìm ra nguyên nhân, có thể em sẽ phải mua một kit test về để thử! Khổ thân và tốn kém!
                  Tôi có thể khẳng định với bạn thế này:
                  Không hiển thị 1 hay vài dòng đen ==> LCD chắc chắn chết
                  Có hiển thị 1 hay vài dòng đen ==> LCD chưa chắc chắn sống
                  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


                  • #39
                    Bác nói đúng lắm! Chưa chắc con LCD của em không chết! Thế thì bây giờ em lại đảo ngược nghi vấn lớn nhất là LCD của em đã chết, vì khối vi xử lý không tìm thấy lỗi sai! Chết mà nó vẫn hiển thị một dòng đen, chỉnh contrast ok, đèn led vẫn sáng! Nếu chết thật thì nó chết tốt bác nhỉ!

                    Comment


                    • #40
                      Nguyên văn bởi VNarmy Xem bài viết
                      Tôi có thể khẳng định với bạn thế này:
                      Không hiển thị 1 hay vài dòng đen ==> LCD chắc chắn chết
                      Có hiển thị 1 hay vài dòng đen ==> LCD chưa chắc chắn sống
                      Chính xác! Trước mình làm bộ LCF Meter, cái LCD cũng vẫn hiện 2 dòng đen khi chỉnh contrast nhưng chẳng lên ký tự nào. Lúc đầu cứ nghĩ tại con PIC... Sau đổi con LCD khác là OK.
                      Mà hồi đấy lại chưa biết chú Dũng mới khổ chứ À mà chú có sẵn con 320 x 200 không? Anh mượn về thử tí...
                      Đêm nay tớ không ngủ - ngày mai tớ ngủ bù

                      Comment


                      • #41
                        Nguyên văn bởi nhathung1101 Xem bài viết
                        Chính xác! Trước mình làm bộ LCF Meter, cái LCD cũng vẫn hiện 2 dòng đen khi chỉnh contrast nhưng chẳng lên ký tự nào. Lúc đầu cứ nghĩ tại con PIC... Sau đổi con LCD khác là OK.
                        Mà hồi đấy lại chưa biết chú Dũng mới khổ chứ À mà chú có sẵn con 320 x 200 không? Anh mượn về thử tí...
                        Loại đó thì em làm gì có
                        Vụ đó vẫn chưa mua được con thay thế hả bác.
                        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


                        • #42
                          Vụ đó anh làm xong lâu rồi... Ặc! Nối 200 sợi nhỏ như sợi tóc, cách nhau cũng chừng đó... Mà lại nối trên mặt kính mới khổ chứ... Làm xong vụ đó, giờ nhìn cái gì cũng thấy to vật vã...

                          Còn vụ này là anh định làm bộ test đa năng. Nói vui thôi, chắc cũng phải đi mua một cái về ngâm cứu.
                          Đêm nay tớ không ngủ - ngày mai tớ ngủ bù

                          Comment


                          • #43
                            Có ai đã làm đồng hồ bằng DS1307 hoặc DS12887 hiển thị trên LCD rồi có lòng tốt thì gửi project cho mình tham khảo nhé! Gửi vào mail của mình nocki20032003@yahoo.com! Thank nhiều!

                            Comment


                            • #44
                              hay day
                              nhung cac bac cho em chuong trinh dc ko
                              email cua em dongluancity@yahoo.com.vn
                              thanks

                              Comment


                              • #45
                                chào các bác.
                                em đang làm mạch đồng hồ số hiển thị giờ, phút , giây bằng 89c51, dl12c887va lcd 16x2. mạch có 3 nút nhấn là mode, tăng, giảm để điều chỉnh thời gian. em viết chương trình hiển thị lcd rồi mô phỏng trên proteus mà nó ko chịu chạy. bác nào có chương trình hay phần cứng giúp em với.
                                xin đa tạ.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X