lcd1602按键显示程序

lcd1602按键显示程序

ID:47012687

大小:23.00 KB

页数:4页

时间:2019-12-03

lcd1602按键显示程序_第1页
lcd1602按键显示程序_第2页
lcd1602按键显示程序_第3页
lcd1602按键显示程序_第4页
资源描述:

《lcd1602按键显示程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include//包含_nop_()函数定义的头文件typedefunsignedintuint;typedefunsignedcharuchar;sbitRS=P2^0;//寄存器选择位,将RS位定义为P2.0引脚sbitRW=P2^1;//读写选择位,将RW位定义为P2.1引脚sbitE=P2^2;//使能信号位,将E位定义为P2.2引脚sbitBF=P0^7;//忙碌标志位,,将BF位定义为P0.7引脚ucharkeyscan();voiddelay1ms();voiddelay(unsignedcharn);

2、unsignedcharBusyTest(void);voidWriteInstruction(unsignedchardictate);voidWriteAddress(unsignedcharx);voidWriteData(unsignedchary);voidLcdInitiate(void);voiddelay1ms(){unsignedchari,j;for(i=0;i<10;i++)for(j=0;j<33;j++);}voiddelay(unsignedcharn){unsignedchari;for(i=0;i

3、gnedcharBusyTest(void){bitresult;RS=0;//根据规定,RS为低电平,RW为高电平时,可以读状态RW=1;E=1;//E=1,才允许读写_nop_();//空操作_nop_();_nop_();_nop_();//空操作四个机器周期,给硬件反应时间result=BF;//将忙碌标志电平赋给resultE=0;returnresult;}voidWriteInstruction(unsignedchardictate){while(BusyTest()==1);//如果忙就等待RS=0;//根据规定,RS和R/W同时为低电平时,可以写入指令R

4、W=0;E=0;//E置低电平(根据表8-6,写指令时,E为高脉冲,//就是让E从0到1发生正跳变,所以应先置"0"_nop_();_nop_();//空操作两个机器周期,给硬件反应时间P0=dictate;//将数据送入P0口,即写入指令或地址_nop_();_nop_();_nop_();_nop_();//空操作四个机器周期,给硬件反应时间E=1;//E置高电平_nop_();_nop_();_nop_();_nop_();//空操作四个机器周期,给硬件反应时间E=0;//当E由高电平跳变成低电平时,液晶模块开始执行命令}voidWriteAddress(unsign

5、edcharx){WriteInstruction(x

6、0x80);//显示位置的确定方法规定为"80H+地址码x"}voidWriteData(unsignedchary){while(BusyTest()==1);RS=1;//RS为高电平,RW为低电平时,可以写入数据RW=0;E=0;//E置低电平(根据表8-6,写指令时,E为高脉冲,//就是让E从0到1发生正跳变,所以应先置"0"P0=y;//将数据送入P0口,即将数据写入液晶模块_nop_();_nop_();_nop_();_nop_();//空操作四个机器周期,给硬件反应时间E=1;//E置高电平_nop_(

7、);_nop_();_nop_();_nop_();//空操作四个机器周期,给硬件反应时间E=0;//当E由高电平跳变成低电平时,液晶模块开始执行命令}voidLcdInitiate(void){delay(15);//延时15ms,首次写指令时应给LCD一段较长的反应时间WriteInstruction(0x38);//显示模式设置:16×2显示,5×7点阵,8位数据接口delay(5);//延时5ms WriteInstruction(0x38);delay(5);WriteInstruction(0x38);delay(5);WriteInstruction(0x0f

8、);//显示模式设置:显示开,有光标,光标闪烁delay(5);WriteInstruction(0x06);//显示模式设置:光标右移,字符不移delay(5);WriteInstruction(0x01);//清屏幕指令,将以前的显示内容清除delay(5);}ucharkeyscan(void){ucharKey1,Key2,tt;uinttemp;P1=0x0f;if((P1&0x0f)==0x0f){return0xff;}delay(10);if((P1&0x0f)==0x0f)return0xff;/

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

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

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