原创 键盘控制1602液晶显示

2008-6-5 15:26 2288 2 2 分类: MCU/ 嵌入式

键盘控制的1602液晶显示程序P3.2,P3.3,P3.4,P3.5分别显示4句话



;********************************************************************************
;键盘控制的1602液晶显示程序。P3.2,P3.3,P3.4,P3.5分别显示4句话 * 
;********************************************************************************
;* 日期: 2007-3-25 *
;* 版本: 3.0 *
;* 作者: 深圳学林电子有限公司 专业8051单片机教学站 *
;* 邮箱: sxj1974@163.com *
;* 网站: http://www.51c51.com http://www.8951.com 更多例程请登陆网站 *
;********************************************************************************

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

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
2
关闭 站长推荐上一条 /1 下一条