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é:
Đ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:
Đoạn Main bạn cũng nên sửa như sau:
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
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
Code:
ORG 00H LJMP MAIN ORG 30H MAIN:
Comment