📄 lcd2.asm
字号:
RW EQU P2.1; (定义RW为P2.1)
E EQU P2.2;(定义E为P2.2)
rs equ p2.0
CLR P2.3
clr P2.4
MOV P0,#01H;(送01H到P0)清除屏幕
ACALL ENABLE;(调用ENABLE字程序)
call delay
MOV P0,#38H;(送38H到P0)8位点阵方式
ACALL ENABLE;(调用ENABLE子程序)
call delay
MOV P0,#0FH;(往P0送OFH)开显示
ACALL ENABLE; (调用ENABLE子程序)
call delay
MOV P0,#06H;(送06H到P0)移动光标
ACALL ENABLE;(调用ENABLE子程序)
call delay
MOV P0,#80H;(送80H到P0口)显示位置
ACALL ENABLE;(调用ENABLE子程序)
call delay
start:
mov dptr,#table3;(DPTR指向TABLE3)在第一行显示welcome
call write1;(调用WRITE1子程序)
call delay
mov P0,#0c0h;(送0C0H到P0)第一条的位置
call enable
call delay
mov dptr,#table2;第二行显示MZWZYJSXY
call write1
call delay
mov P0,#0c2h;第二行位置
call enable
call delay
call delay2;延时5秒
MOV P0,#02H;清除屏幕
ACALL ENABLE
call delay
mov dptr,#table3;在第一行显示welcome
call write1
mov P0,#0c0h;第一行位置
call enable
call delay
mov dptr,#table1;在第二行显示QQ号.
call write1
mov P0,#0c2h;第二行位置
call enable
call delay
call delay2
MOV P0,#02H;清除屏幕
ACALL ENABLE
call delay
ajmp start
enable:
CLR RS
CLR RW
CLR E
ACALL DELAY
SETB E
RET
write1:
mov r1,#00h
a1:mov a,r1
movc a,@a+dptr
call write2
inc r1
cjne a,#00h,a1
ret
write2:
mov P0,a
setb rs
clr rw
clr e
call delay
setb e
ret
delay:
mov r7,#255
d1:mov r6,#255
d2:djnz r6,d2
djnz r7,d1
ret
delay2:
mov r7,#255
d3:mov r6,#255
d4:djnz r6,d2
djnz r7,d1
ret
table3: db 57H,45H,3aH,33H,35H,34H,35H,36H,37H,38H,39H,20H,20H,20H,20H,20H,00h
table2: db 4DH,5aH,3aH,31H,32H,33H,34H,35H,36H,37H,38H,39H,20h,20h,20h,20h,00h
table1: db 51h,51h,3aH,35H,31H,32H,39H,35H,37H,34H,39H,35H,20H,20H,20H,20H,00H
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -