📄 lcd12864.asm
字号:
12864通过74ls164扩展数据口的显示程序;可以通过直接调用使用
RST BIT P2.0 ;LCD
CS2 BIT P2.1
CS1 BIT P2.2
LS16CK BIT P2.3
LS16DA BIT P2.4
LCDDI BIT P2.5
LCDE BIT P2.6
;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
;*************公共送显子程序**************;
SHOW: MOV A,RLCDY ;送Y地址
ADD A,#40H
LCALL COM
MOV A,RLCDX ;送X地址
ADD A,#0B8H
LCALL COM
LJMP SHOW1
SHOW2: INC RLCDX ;X地址加1
MOV A,RLCDY ;送Y地址
ADD A,#40H
LCALL COM
MOV A,RLCDX ;送X地址
ADD A,#0B8H
LCALL COM
inc dptr
ljmp show1
show3: INC DPTR ;数据指针加1
SHOW1: MOV A,#00H ;送显示数据;
MOVC A,@A+DPTR
LCALL XIAN
DJNZ RLCDY1,SHOW3
MOV RLCDY1,RLCDY2
DJNZ RLCDX1,SHOW2
CLR CS2
CLR CS1
RET
;**************空白/全黑显示*************;
SHOWK: MOV A,RLCDY ;送Y地址
ADD A,#40H
LCALL COM
MOV A,RLCDX ;送X地址
ADD A,#0B8H
LCALL COM
LJMP SHOWK1
SHOWK2: INC RLCDX
MOV A,RLCDY ;送Y地址
ADD A,#40H
LCALL COM
MOV A,RLCDX ;送X地址
ADD A,#0B8H
LCALL COM
SHOWK1: MOV A,RLCD3 ;送显示数据;
LCALL XIAN
DJNZ RLCDY1,SHOWK1
MOV RLCDY1,RLCDY2
DJNZ RLCDX1,SHOWK2
CLR CS1
CLR CS2
RET
;************命令传送子程序***************;
com: CLR LCDDI
clr lcde
MOV RLCD4,#08H ;8位数据
COM1: RLC A
MOV LS16DA,C
NOP
nop
CLR LS16CK
NOP
NOP
SETB LS16CK
nop
DJNZ RLCD4,COM1
nop
setb LCDE ;读入DB0-DB7数据
NOP
NOP
NOP
clr LCDE
NOP
NOP
nop
RET
;*******数据显示传送子程序****************;
XIAN: clr lcde
nop
SETB LCDDI
MOV RLCD4,#08H
XIAN1: RLC A
MOV LS16DA,C
NOP
NOP
CLR LS16CK
NOP
NOP
SETB LS16CK
nop
DJNZ RLCD4,XIAN1
nop
setb LCDE ;读入DB0-DB7数据
NOP
nop
NOP
clr LCDE
NOP
NOP
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -