📄 lcd3.asm
字号:
RS REG P2.0
RW REG P2.1
EN REG P2.2
ORG 00H
AJMP MAIN
MAIN: ACALL INIT
ACALL W_CG
MOV A,#10000000B
ACALL W_INS
MOV R1,#10
MOV DPTR,#MSG
ACALL W_STR
SJMP $
INIT: MOV A,#00111000B
ACALL W_INS
MOV A,#00111000B
ACALL W_INS
MOV A,#00111000B
ACALL W_INS
MOV A,#00111000B
ACALL W_INS
MOV A,#00001000B
ACALL W_INS
MOV A,#00000001B
ACALL W_INS
MOV A,#00001110B
ACALL W_INS
MOV A,#00000110B
ACALL W_INS
RET
W_CG: MOV A,#01000000B
ACALL W_INS
MOV R0,#24
MOV DPTR,#CHAR
MOV R1,#0
NEXT1: MOV A,R1
MOVC A,@A+DPTR
ACALL W_DATA
INC R1
DJNZ R0,NEXT1
RET
W_STR MOV R0,#0
NEXT2: MOV A,R0
MOVC A,@A+DPTR
ACALL W_DATA
INC R0
DJNZ R1,NEXT2
RET
W_INS: ACALL CHECK
CLR RS
CLR RW
SETB EN
MOV P1,A
CLR EN
RET
W_DATA: ACALL CHECK
SETB RS
CLR RW
SETB EN
MOV P1,A
CLR EN
RET
CHECK: PUSH A
BUSY: CLR RS
SETB RW
SETB EN
MOV A,P1
CLR EN
JB ACC.7,BUSY
ACALL DELAY
POP A
RET
DELAY: MOV R6,#20
D1: MOV R7,#150
DJNZ R7,$
DJNZ R6,D1
RET
CHAR: DB 0CH,0CH,00H,00H
DB 00H,00H,00H,00H
MSG: DB '28',0,'C'
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -