📄 0802key.txt
字号:
;键盘控制的0802液晶显示程序。
;*********************************************************
;* www.xh161.cn *
;*********************************************************
RS EQU P2.0
RW EQU P2.1
E EQU P2.2
mov p3,#0ffh
MOV P0,#01H ;清除屏幕
ACALL ENABLE
MOV P0,#38H ;8位点阵
ACALL ENABLE
MOV P0,#0FH ;开显示
ACALL ENABLE
MOV P0,#06H ;移动光标
ACALL ENABLE
MOV P0,#80H ;显示位置
ACALL ENABLE
l3: mov p0,#01h
acall enable
mov dptr,#table1 ;送第一句话
call write1
call enable
mov p0,#01h
ljmp l1
l4: mov p0,#01h
acall enable
mov dptr,#table2 ;送第二句话
call write1
call enable
mov p0,#01h
ljmp l1
l5: mov p0,#01h
acall enable
mov dptr,#table3 ;送第三句话
call write1
acall enable
mov p0,#01h
ljmp l1
l6:mov p0,#01h
acall enable
mov dptr,#table4 ;送第四句话
call write1
acall enable
mov p0,#01h
ljmp l1
l1: jnb p3.3,l3 ;监测键盘
jnb p3.4,l4
jnb p3.5,l5
JNB P3.2,L6
jmp l1
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 ;以00H做字符串结束标志
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
;以下每个表格都是一句话,以00H作为每句话的结尾.
table1: db "xh161.cn",00H
table2: db "sjz_jlke",00H
table3: db "87613400",00H
Table4: db "HELLO...",00H
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -