📄 allcgram1.asm
字号:
RS EQU P1.1
RW EQU P1.3
E EQU P1.2
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:MOV SP,#5FH
MOV R1,#00H
MOV R2,#17
MOV P0,#01H ;判断液晶的状态,是否忙
LCALL ENABLE ;包含片选
MOV P0,#01H ;清屏指令
LCALL ENABLE
MOV P0,#38H ;功能设置:其中DL=1,则DB均有效。
;N=1,说明行数是两行。F=0,说明
;字符点阵是5*7
LCALL ENABLE
MOV P0,#0FH ;显示控制。D=1,说明显示开启;
; C=1,说明光标出现。
; B=1,说明闪烁开启。和HD44780不同。SPLC78控制器。
LCALL ENABLE
MOV P0,#06H ;输入方式控制,I/D=1,S=0说明画面
;不动,光标右移。
LCALL ENABLE
D0: MOV P0,#80H ;第一行的第一个字符的地址00H
LCALL ENABLE
D3: DJNZ R2,D1
MOV R2,#16
LJMP D4
D1: MOV P0,R1
SETB RS
CLR RW
CLR E
LCALL DELAY
LCALL DELAY5
SETB E
CJNE R1,#255,d8
ljmp main
d8: INC R1
LJMP D3
D4: MOV P0,#0C0H
LCALL ENABLE
D5: DJNZ R2,D6
MOV R2,#16
LJMP D0
D6: MOV P0,R1
SETB RS
CLR RW
CLR E
LCALL DELAY
LCALL DELAY5
SETB E
CJNE R1,#255,d7
ljmp main
d7: INC R1
LJMP D5
ENABLE: CLR RS ;让控制器可以接受上边的指令。
CLR RW
CLR E
LCALL DELAY
SETB E
RET
DELAY:MOV P0,#0FFH ;查询状态,是否忙。
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P0.7,DELAY ;BF位是忙状态的标志位。
RET
DELAY5:MOV R7,#255
D:MOV R6,#255
DJNZ R6,$
DJNZ R7,D
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -