单片机1602液晶显示.doc

单片机1602液晶显示.doc

ID:52677880

大小:1.36 MB

页数:10页

时间:2020-03-29

单片机1602液晶显示.doc_第1页
单片机1602液晶显示.doc_第2页
单片机1602液晶显示.doc_第3页
单片机1602液晶显示.doc_第4页
单片机1602液晶显示.doc_第5页
资源描述:

《单片机1602液晶显示.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于单片机89C52的1602液晶显示2012年8月23日单片机1602液晶显示一、电路原理图如下图所示:二、程序调试源程序经Keil软件测试无错误,生成hex文件后烧写进89C52单片机。#include//包含头文件#defineuintunsignedint//预定义#defineucharunsignedcharsbitrs=P0^5;//1602的数据/指令选择控制线sbitrw=P0^6;//1602的读写控制线sbiten=P0^7;//1602的使能控制线ucharcodetable1[]="Hello!";//要显示的内容1放入数组tablelucha

2、rcodetable2[]="Nicetomeetyou";//要显示的内容2放入数组table2voiddelay(uintn)//延时函数{uintx,y;for(x=n;x>0;x--)for(y=110;y>0;y--);}voidlcd_wcom(ucharcom)//1602写命令函数{rs=0;//选择指令寄存器rw=0;//选择写P2=com;//把命令字送入P2delay(5);//延时一小会儿,让1602准备接收数据en=1;//使能线电平变化,命令送入1602的8位数据口en=0;}voidlcd_wdat(uchardat)//1602写数据函数{rs=1;//选

3、择数据寄存器rw=0;//选择写P2=dat;//把要显示的数据送入P2delay(5);//延时一小会儿,让1602准备接收数据en=1;//使能线电平变化,数据送入1602的8位数据口en=0;}voidlcd_init()//1602初始化函数{lcd_wcom(0x38);//8位数据口,5*7字形lcd_wcom(0x0c);//开显示屏,关光标,光标不闪烁lcd_wcom(0x06);//写一个数据后,光标右移,屏幕文字不动lcd_wcom(0x01);//清屏}voidmain()//主函数{ucharn,m=0;lcd_init();//液晶初始化lcd_wcom(0x8

4、6);//显示地址设为86H(即06H,)第一行第6位for(m=0;m<6;m++)//将table1[]中的数据依次写入1602显示{lcd_wdat(table1[m]);delay(200);}lcd_wcom(0x0f);//开显示屏,有光标,光标不闪烁lcd_wcom(0x80+0x40);//设定显示地址为0xc0,第二行第1位for(n=0;n<16;n++)//将table2[]中的数据依次写入1602{lcd_wdat(table2[n]);delay(200);}while(1);//动态停机}三、方案改进增加了四个按键,s4实现功能切换。1、输出信息;2、实现数字

5、时钟;源程序如下:#include//包含头文件#defineuintunsignedint//预定义#defineucharunsignedcharsbitrs=P0^5;//1602的数据/指令选择控制线sbitrw=P0^6;//1602的读写控制线sbiten=P0^7;//1602的使能控制线sbits1=P3^0;//按键定义sbits2=P3^1;sbits3=P3^2;sbits4=P3^3;sbitrd=P3^7;ucharcount,s1num;charmiao,shi,fen;ucharcodetable1[]="Hello!";//要显示的内容1

6、放入数组tablelucharcodetable2[]="Nicetomeetyou";ucharcodetable3[]="2011-8-1MON";ucharcodetable4[]="00:00:00";voiddelay(uintn)//延时函数{uintx,y;for(x=n;x>0;x--)for(y=110;y>0;y--);}voidlcd_wcom(ucharcom)//1602写命令函数{rs=0;//选择指令寄存器rw=0;//选择写P2=com;//把命令字送入P2delay(5);//延时一小会儿,让1602准备接收数据en=1;//使能线电平变化,命令送入16

7、02的8位数据口en=0;}voidlcd_wdat(uchardat)//1602写数据函数{rs=1;//选择数据寄存器rw=0;//选择写P2=dat;//把要显示的数据送入P2delay(5);//延时一小会儿,让1602准备接收数据en=1;//使能线电平变化,数据送入1602的8位数据口en=0;}voidlcd_init()//1602初始化函数{lcd_wcom(0x38);//8位数据口,5*7字形lcd_wcom

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。