📄 1602 4key.asm
字号:
;********************************************************************************
;1602液晶显示 显示4句话 *
; P3.2,P3.3,P3.4,P3.5 接k01-k04
; p0: d0-d7 1602
; p2.0 rs
; p2.1 rw
; p2.2 E
;********************************************************************************
;********************************************************************************
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,#55
d2:djnz r6,d2
djnz r7,d1
ret
;以下每个表格都是一句话,以00H作为每句话的结尾.
table1: db "TEL:013714407535",00H
table2: db "GO-WWW.51C51.COM",00H
table3: db "TEL:755-89956892",00H
Table4: db "SHEN ZHEN XUELIN",00H
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -