📄 lcd.asm
字号:
rs equ p2.0
rw equ p2.1
e equ p2.2
com equ 20h
dat equ 21h
mov p0,#0ffh
;==================
main:mov sp,#60h
anl p2,#0c7h
lcall int
mov com,#06h
lcall pr1
mov com,#80h
lcall pr1
mov dptr,#tab
mov r2,#12
mov r3,#00h
wrin:mov a,r3
movc a,@a+dptr
mov dat,a
lcall pr2
lcall delay
inc r3
djnz r2,wrin
sjmp $
;==================
pr0:push acc
mov p2,#0ffh
clr rs
setb rw
setb e
mov com,p2
clr e
mov p2,#0ffh
setb e
mov a,p2
clr e
swap a
anl a,#0fh
anl com,#0f0h
orl a,com
mov com,a
pop acc
ret
pr1:push acc
clr rs
setb rw
pr11:mov p2,#0ffh
setb e
mov a,p2
clr e
mov c,acc.7
setb e
clr e
jc pr11
clr rw
mov p2,com
setb e
clr e
mov a,com
swap a
mov p2,a
setb e
clr e
pop acc
ret
pr2:push acc
clr rs
setb rw
pr21:mov p2,#0ffh
setb e
mov a,p2
clr e
mov c,acc.7
setb e
clr e
jc pr21
setb rs
clr rw
mov p2,dat
setb e
clr e
mov a,dat
swap a
mov p2,a
setb e
clr e
pop acc
ret
pr3:push acc
clr rs
setb rw
pr31:mov p2,#0ffh
setb e
mov a,p2
clr e
mov c,acc.7
setb e
mov a,p2
clr e
mov c,acc.7
setb e
clr e
jc pr31
setb rs
setb rw
mov p2,#0ffh
setb e
mov com,p2
clr e
mov p2,#0ffh
setb e
mov a,p2
clr e
swap a
anl a,#0fh
anl dat,#0f0h
orl a,dat
mov dat,a
pop acc
ret
int:mov p2,#30h
clr rs
clr rw
mov r2,#03h
int2:setb e
clr e
lcall delay
djnz r2,int2
mov p2,#28h
setb e
clr e
mov com,#01h
lcall pr1
mov com,#06h
lcall pr1
mov com,#0fh
lcall pr1
ret
delay:mov r6,#00h
mov r7,#00h
delay1:nop
djnz r7,delay1
djnz r6,delay1
ret
tab:db 43h,75h,72h,73h,6fh,72h,20h
db 57h,72h,69h,74h,65h
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -