📄 lcd.asm
字号:
;0123456789012345;
; Wang fucheng ;
;TEL:13891968864 ;
;0123456789012345;
;+++++++++++++++++++++++++
;位定义
RS bit P2.5
R_W BIT P2.6
ADD_LCD BIT P2.7 ;1=RAM
;0=ADD_LCD
;++++++++++++++++++++++++++
;寄存器定义
DIS_RAM EQU 30H ;30H~4FH
DIS_ADD EQU 50H ;显示地址
;_____________________________
org 0h
jmp begin
;:::::::::::::::::::::::::::::::::::::::::::::::
dis_WR: setb R_W
MOVX A,@R0
ANL A,#80H
JNZ DIS_WR
CLR R_W
MOV A,B
MOVX @R0,A
RET
;________________________________________________
INIT_LCD: clr add_lcd
clr rs
clr R_W
MOV B,#3CH ;模式;8位2行显示
LCALL DIS_WR
mov B,#01h ;清除显示
lcall dis_WR
MOV B,#03H ;归位
LCALL DIS_WR
MOV B,#06H ;自动加1
LCALL DIS_WR
MOV B,#0CH ;开显示,无光标,不闪烁
LCALL DIS_WR
SETB ADD_LCD
SETB RS
SETB R_W
RET
;+++++++++++++++++++++++++++++++++++++++++++++++++++
DELAY0: MOV R6,#0aH ; 5 ms
DELAY1: MOV R7,#0EAH ; 0.5 ms
DJNZ R7,$
DJNZ R6,DELAY1
RET
;::::::::::::::::::::::::::::::::::::::
XIANSHI: CLR RS
SETB R_W
CLR ADD_LCD
MOVX A,@R0
ANL A,#80H
JNZ XIANSHIEND
MOV A,DIS_ADD
CJNE A,#4FH,XIANSHI1
MOV DIS_ADD,#30H
CLR RS
CLR R_W
CLR ADD_LCD
MOV B,#03H ;归位
LCALL DIS_WR
LCALL DELAY0
XIANSHI1: MOV A,DIS_ADD
INC A
MOV DIS_ADD,A
SETB RS
CLR R_W
CLR ADD_LCD
MOVX @R0,A
XIANSHIEND: SETB RS
SETB R_W
SETB ADD_LCD
RET
;+++++++=======++++++++++++++++++++++++++++++
begin: LCALL INIT_LCD
MOV DIS_ADD,#30H ;显示指针初始化
MOV DPTR,#BIAOTI
MOV R1,#30H
BEGIN1: CLR A ;显示区初始化
MOVC A,@A+DPTR
MOV @R1,A
INC DPTR
INC R1
CJNE R1,#50H,BEGIN1
MOV R4,#0FFH
DIS_BIAOTI0: MOV R3,#0FFH
DIS_BIAOTI: LCALL XIANSHI
DJNZ R3,DIS_BIAOTI
DJNZ R4,DIS_BIAOTI0
WORK: LCALL XIANSHI
JMP WORK
;____________________0123456789abcdef0123456789abcdef_________________
BIAOTI: DB " Wang fucheng TEL: 13891968864"
SHUIWEN_DIS: DB "lengquye: ___ kai:___ guan:___"
yeyawendu: db "yeya: ___ kai:___ guan:___"
jiezhi: db "jiezhi: ___ kai:___ guan:___"
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -