返回主页  单片机教程  XL2000开发板  单片机学习  自制编程器  单片机资料  电子技术  产品介绍  如何购买  论坛

;********************************************************************************
;键盘控制的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

hex格式文件下载(点右键,目标另存为hex即可直接烧写)