📄 液晶显示1.asm
字号:
;*************************************
;CONTROLLER:ST7920(8BIT INTERFACE)
;128×64 点阵
;EDITOR:JACK
;CRYSTAL:12MHz
;RS=P2.7 RW=P3.6 E=P1.5 D0-D7=P0
;*************************************
RS EQU P2.7 ;H=DATA,L=COM
RW EQU P3.6 ;H=READ,L=WRITE
E EQU P1.5 ;
COM EQU 30H ;控制字暂存单元
DAT EQU 31H ;显示数据暂存单元
CODER EQU 32H ;字符代码暂存单元
ADDR EQU 33H ;地址暂存单元
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV SP,#60H
;MOV P3,#0F8H
LCALL DEL_20MS
LCALL DEL_20MS
LCALL INI ;进入初始化子程序
MOV ADDR,#80H
MOV DPTR,#WEL_1
LCALL W_LINE
INI:
MOV COM,#30H ;功能设定,基本指令
LCALL WCOM
MOV COM,#30H ;基本指令,8-bit 模式,基本指令
LCALL WCOM
MOV COM,#0CH ;显示开,游标关,反白关
LCALL WCOM
MOV COM,#01H ;清除显示
LCALL WCOM
MOV COM,#06H ;进入设定点,游标7 右移,画面不移动
LCALL WCOM
RET
W_LINE: ;写入一行8 汉字子程序
MOV COM,ADDR ;
LCALL WCOM ;
MOV R2,#6 ;16 个循环,连续写入8 个汉字或是16 个西文字符
W_L1:
MOV A,#00H
MOVC A,@A+DPTR
MOV CODER,A
LCALL WCODE
INC DPTR
DJNZ R2,W_L1
RET
WCOM: ;写指令子程序
CLR RS
SETB RW
WC1:
MOV P0,#0FFH
SETB E
MOV A,P0
CLR E
JB ACC.7,WC1 ;查忙
CLR RW
MOV P0,COM
SETB E
CLR E
RET
WCODE: ;写代码子程序
CLR RS
SETB RW
WCO1:
MOV P0,#0FFH
SETB E
MOV A,P1
CLR E
JB ACC.7,WCO1
SETB RS
CLR RW
MOV P0,CODER
SETB E
CLR E
RET
DEL_20MS:
MOV R0,#20
D2:
MOV R1,#200
D1:
NOP
NOP
NOP
DJNZ R1,D1
DJNZ R0,D2
RET
DEL_100MS:
LCALL DEL_20MS
LCALL DEL_20MS
LCALL DEL_20MS
LCALL DEL_20MS
LCALL DEL_20MS
RET
DEL_500MS:
LCALL DEL_100MS
LCALL DEL_100MS
LCALL DEL_100MS
LCALL DEL_100MS
LCALL DEL_100MS
RET
DEL_1500MS:
LCALL DEL_500MS
LCALL DEL_500MS
LCALL DEL_500MS
RET
WEL_1:
DB "汇编语言"
; DB 0C0H,0EEH,0D3H,0C0H,0BDH,0A7H ;李永建
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -