;******************************************************************************** ;键盘控制的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即可直接烧写)

|