📄 新建 文本文档.asm
字号:
D0 BIT P2.0
D1 BIT P2.1
D2 BIT P2.2
D3 BIT P2.3
D4 BIT P2.4
D5 BIT P2.5
D6 BIT P2.6
D7 BIT P2.7
D EQU P2
RS BIT P1.0
RW BIT P1.1
E BIT P1.2
ORG 0000H
AJMP INITIALIZATION
ORG 0030H
SENDA:
MOV SBUF,A
JNB TI,$
CLR TI
RET
DELAY15: ;精确延时15微秒子程序
MOV R6,#1
YS15D:MOV R7,#5
DJNZ R7,$
DJNZ R6,YS15D
RET
DELAY1S: ;精确延时15微秒子程序
MOV R6,#255
MOV R5,#10
YS1SD:MOV R7,#255
DJNZ R7,$
DJNZ R6,YS1SD
DJNZ R5,YS1SD
RET
WRITE_COM:
CLR RS
CLR RW
MOV D,A
SETB E
CLR E
SETB RW
SETB RS
MOV D,#0FFH
RET
WRITE_DATA:
SETB RS
CLR RW
MOV D,A
SETB E
CLR E
SETB RW
SETB RS
MOV D,#0FFH
RET
WR_CHECK:
MOV D,#11111111B
CLR RS
SETB RW
CLR E
NOP
SETB E
JB D7,WR_CHECK
RET
INITIALIZATION:
MOV TMOD,#20H
MOV TL1,#0E6H
MOV TH1,#0E6H
SETB TR1
MOV SCON,#01010000B
SETB RW
SETB RS
MAIN:
LCALL DELAY15
MOV A,#00111000B
LCALL WRITE_COM
NOP
NOP
NOP
NOP
NOP
LCALL WRITE_COM
NOP
NOP
NOP
NOP
NOP
LCALL WRITE_COM
LCALL WR_CHECK
LCALL WRITE_COM
MOV A,#00001000B;(关闭显示)
LCALL WR_CHECK
LCALL WRITE_COM
MOV A,#00000001B;(显示清屏)
LCALL WR_CHECK
LCALL WRITE_COM
MOV A,#00000110B;(显示光标移动设置)
LCALL WR_CHECK
LCALL WRITE_COM
MOV A,#00001111B;(显示开及光标设置)
LCALL WR_CHECK
LCALL WRITE_COM
MOV A,#01010100B
LCALL WR_CHECK
LCALL WRITE_DATA
MOV A,#01101110B
LCALL WR_CHECK
LCALL WRITE_DATA
MOV A,#01111000B
LCALL WR_CHECK
LCALL WRITE_DATA
MOV A,#01101110B
LCALL WR_CHECK
LCALL WRITE_DATA
MOV A,#080H
LCALL WR_CHECK
LCALL WRITE_COM
LCALL DELAY1S
MOV A,#01101110B
LCALL WR_CHECK
LCALL WRITE_DATA
LCALL SENDA
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -