液晶1602显示矩阵键盘.doc

液晶1602显示矩阵键盘.doc

ID:58653853

大小:15.50 KB

页数:3页

时间:2020-10-16

液晶1602显示矩阵键盘.doc_第1页
液晶1602显示矩阵键盘.doc_第2页
液晶1602显示矩阵键盘.doc_第3页
资源描述:

《液晶1602显示矩阵键盘.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、#include#include#defineucharunsignedchar#defineuintunsignedintsbitlcd_RS=P2^5;sbitlcd_RW=P2^6;sbitlcd_en=P2^7;voiddelay(uintz){uinti,j;for(i=0;i<200;i++)for(j=0;j

2、command(ucharcom)/*LCD写命令*/{lcd_RS=0;lcd_RW=0;P0=com;delay(5);lcd_en=1;delay(5);lcd_en=0;}voidlcd_init()/*LCD初始化*/{write_command(0X38);write_command(0X0e);write_command(0X06);write_command(0X01);}* 名称 : write_data(number)* 功能 : 1602写数据函数 * 输入 : 需要写入1602的数据 * 输出 : 无void

3、write_data(number)/*LCD写数据操作*/{lcd_RS=1;lcd_RW=0;P0=number;delay(5);lcd_en=1;delay(5);lcd_en=0;}ucharKeyscan()/*扫描子程序*/{uchari,j,temp,buffer[4]={0xfe,0xfd,0xfb,0xf7};for(j=0;j<4;j++){P1=buffer[j];/*以下三个_nop_();作用为让P1口的状态稳定*/_nop_();_nop_();_nop_();temp=0x10;for(i=0;i<4

4、;i++){if(!(P1&temp)){return(i+j*4);}temp<<=1;}}}*名称:L1602_char(ucharhang,ucharlie,charsign)*功能:改变液晶中某位的值,如果要让第一行,第五个字符显示"b",调用该函数如下L1602_char(1,5,'b')*输入:行,列,需要输入1602的数据*输出:无voidL1602_char(ucharhang,ucharlie,ucharsign){uchara;if(hang==1)a=0x80;if(hang==2)a=0xc0;a=a+lie

5、-1;write_command(a);write_data(sign);}voidL1602_string(ucharhang,ucharlie,uchar*p){uchara;if(hang==1)a=0x80;if(hang==2)a=0xc0;a=a+lie-1;write_command(a);while(1){if(*p=='')break;write_data(*p);p++;}}voidmain(){ucharkey_data;lcd_init();L1602_string(1,1,"4*4KeyBoard");

6、L1602_string(2,1,"YouPressThe");while(1){P1=0xf0;if(P1!=0xf0){delay(5);if(P1!=0xf0){key_data=Keyscan();}}L1602_char(2,15,key_data/10+48);L1602_char(2,16,key_data%10+48);}}

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

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

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