首页 lcd1602按键显示程序

lcd1602按键显示程序

举报
开通vip

lcd1602按键显示程序#include #include  //包含_nop_()函数定义的头文件 typedef unsigned int uint  ; typedef unsigned char uchar    ; sbit RS=P2^0;    //寄存器选择位,将RS位定义为P2.0引脚 sbit RW=P2^1;    //读写选择位,将RW位定义为P2.1引脚 sbit E=P2^2;    //使能信号位,将E位定义为P2.2引脚 sbit BF=P0^7;    //忙碌标志位,,将BF位定义为P0.7引脚    ...

lcd1602按键显示程序
#include #include  //包含_nop_()函数定义的头文件 typedef unsigned int uint  ; typedef unsigned char uchar    ; sbit RS=P2^0;    //寄存器选择位,将RS位定义为P2.0引脚 sbit RW=P2^1;    //读写选择位,将RW位定义为P2.1引脚 sbit E=P2^2;    //使能信号位,将E位定义为P2.2引脚 sbit BF=P0^7;    //忙碌标志位,,将BF位定义为P0.7引脚    uchar keyscan(); void delay1ms(); void delay(unsigned char n); unsigned char BusyTest(void); void WriteInstruction (unsigned char dictate); void WriteAddress(unsigned char x); void WriteData(unsigned char y); void LcdInitiate(void);    void delay1ms() {   unsigned char i,j;      for(i=0;i<10;i++)   for(j=0;j<33;j++);              }   void delay(unsigned char n) {   unsigned char i;   for(i=0;i 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 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由高电平跳变成低电平时,液晶模块开始执行命令 }   void WriteAddress(unsigned char x) {     WriteInstruction(x|0x80); //显示位置的确定方法规定为"80H+地址码x" }   void WriteData(unsigned char y) {       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_();       _nop_();       _nop_();       _nop_();        //空操作四个机器周期,给硬件反应时间       E=0;            //当E由高电平跳变成低电平时,液晶模块开始执行命令 } void LcdInitiate(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);  //显示模式设置:显示开,有光标,光标闪烁     delay(5);     WriteInstruction(0x06);  //显示模式设置:光标右移,字符不移     delay(5);     WriteInstruction(0x01);  //清屏幕指令,将以前的显示内容清除     delay(5); } uchar keyscan(void) { uchar Key1,Key2,tt;  uint temp; P1=0x0f;  if((P1&0x0f)==0x0f) {return 0xff;} delay(10); if((P1&0x0f)==0x0f) return 0xff;  // jiancha2=0; Key1=P1&0x0f;        P1=0xf0; if((P1&0xf0)==0xf0) return 0xff; delay(10); if((P1&0xf0)==0xf0) return 0xff; Key2=P1&0xf0; while((P1&0xf0)!=0xf0); tt=Key1|Key2; switch(tt) { case 0xe7:temp='1';break; case 0xd7:temp='2';break; case 0xb7:temp='3';break; case 0x77:temp='a';break;              case 0xeb:temp='4';break; case 0xdb:temp='5';break; case 0xbb:temp='6';break; case 0x7b:temp='b';break; case 0xed:temp='7';break; case 0xdd:temp='8';break; case 0xbd:temp='9';break; case 0x7d:temp='c';break; case 0xee:temp='*';break;          case 0xde:temp='0';break; case 0xbe:temp='#';break; case 0x7e:temp='d';break;    } return(temp); } void main() {    uchar b,i,j;   LcdInitiate();            //调用LCD初始化函数    i=0;   while(1)   {        b=keyscan();     if(b!=0xff)     {       WriteData(b);       i++;       b=0xff;     }                          //字符的字形点阵读出和显示由液晶模块自动完成   if(b=='*')     {     j=i;     }   if(b=='#')     {     j++     }   if(j==i)    Break;   } } 文档已经阅读完毕,请返回上一页!
本文档为【lcd1602按键显示程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_890199
暂无简介~
格式:doc
大小:22KB
软件:Word
页数:5
分类:生活休闲
上传时间:2017-09-19
浏览量:82