?? 新建 文本文檔.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 + -