tui viết chương trình đơn giản để hiển thị LCD, tui đã mô phỏng trong Proteus thì nó hoạt động OK. nhưng khi tui chạy trên mạch thật thì nó chỉ hiển thị được có hàng 1 thôi, còn hàng 2 thì không thấy gì.
tui không biết địa chỉ bắt đầu của hàng 2 là bao nhiêu, bạn nào đã swr dụng LCD này rồi thì cho tui biết nhé, thank!!!!!
tui post đoạn mã tui viết lên cho các ban xem và góp ý cho tui:
;================================================= ==
; LCD TC1602A: 16x2
;================================================= ==
RS BIT P3.0
RW BIT P3.1
EN BIT P3.2
ORG 00H
MOV A,#38H
ACALL COMNWRT
ACALL DELAY
MOV A,#0CH
ACALL COMNWRT
ACALL DELAY
BEGIN:
MOV A,#01H
ACALL COMNWRT
ACALL DELAY
MOV A,#06H
ACALL COMNWRT
ACALL DELAY
MOV A,#80H
ACALL COMNWRT
ACALL DELAY
MOV DPTR,#TABLE
MOV R2,#16
LOOP:
CLR A
MOVC A,@A+DPTR
ACALL DATAWRT
ACALL DELAY
INC DPTR
DJNZ R2,LOOP
MOV A,#0C0H
ACALL COMNWRT
ACALL DELAY
MOV DPTR,#TABLE1
MOV R2,#15
LOOP2:
CLR A
MOVC A,@A+DPTR
ACALL DATAWRT
ACALL DELAY
INC DPTR
DJNZ R2,LOOP2
HERE: SJMP HERE
COMNWRT:
MOV P1,A
CLR RS
CLR RW
SETB EN
CLR EN
RET
DATAWRT:
MOV P1,A
SETB RS
CLR RW
SETB EN
CLR EN
RET
TABLE:
DB 'HELLO!I LOVE YOU'
TABLE1:
DB 'SAO KHONG THAY!'
DELAY:
MOV R3,#50
HERE2:
MOV R4,#255
HERE3:
DJNZ R4,HERE3
DJNZ R3,HERE2
RET
END
tui không biết địa chỉ bắt đầu của hàng 2 là bao nhiêu, bạn nào đã swr dụng LCD này rồi thì cho tui biết nhé, thank!!!!!
tui post đoạn mã tui viết lên cho các ban xem và góp ý cho tui:
;================================================= ==
; LCD TC1602A: 16x2
;================================================= ==
RS BIT P3.0
RW BIT P3.1
EN BIT P3.2
ORG 00H
MOV A,#38H
ACALL COMNWRT
ACALL DELAY
MOV A,#0CH
ACALL COMNWRT
ACALL DELAY
BEGIN:
MOV A,#01H
ACALL COMNWRT
ACALL DELAY
MOV A,#06H
ACALL COMNWRT
ACALL DELAY
MOV A,#80H
ACALL COMNWRT
ACALL DELAY
MOV DPTR,#TABLE
MOV R2,#16
LOOP:
CLR A
MOVC A,@A+DPTR
ACALL DATAWRT
ACALL DELAY
INC DPTR
DJNZ R2,LOOP
MOV A,#0C0H
ACALL COMNWRT
ACALL DELAY
MOV DPTR,#TABLE1
MOV R2,#15
LOOP2:
CLR A
MOVC A,@A+DPTR
ACALL DATAWRT
ACALL DELAY
INC DPTR
DJNZ R2,LOOP2
HERE: SJMP HERE
COMNWRT:
MOV P1,A
CLR RS
CLR RW
SETB EN
CLR EN
RET
DATAWRT:
MOV P1,A
SETB RS
CLR RW
SETB EN
CLR EN
RET
TABLE:
DB 'HELLO!I LOVE YOU'
TABLE1:
DB 'SAO KHONG THAY!'
DELAY:
MOV R3,#50
HERE2:
MOV R4,#255
HERE3:
DJNZ R4,HERE3
DJNZ R3,HERE2
RET
END
Comment