单片机的矩阵键盘程序.doc

单片机的矩阵键盘程序.doc

ID:50934930

大小:37.03 KB

页数:7页

时间:2020-03-16

单片机的矩阵键盘程序.doc_第1页
单片机的矩阵键盘程序.doc_第2页
单片机的矩阵键盘程序.doc_第3页
单片机的矩阵键盘程序.doc_第4页
单片机的矩阵键盘程序.doc_第5页
资源描述:

《单片机的矩阵键盘程序.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、#include#defineuintunsignedint#defineucharunsignedcharucharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};//数码管段选sbitshu1=P3^0;//数码管位选sbitshu2=P3^1;//数码管位选ucharnum;voiddelay(uintz)//延时函数{uintx,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}ucharkeyscan();//键盘扫描函数voidmain

2、(){num=17;while(1){keyscan();//键盘扫描if(num==17)//如果没有键按下{P2=table[10];//数码管什么也不显示}else//有键按下{shu1=1;//打开数码管P2=table[(num-1)/10];//显示十位delay(7);//延时显示shu1=0;//关闭数码管shu2=1;//打开数码管P2=table[(num-1)%10];//显示个位delay(7);//延时显示shu2=0;//关闭数码管}}}ucharkeyscan()//键盘扫描{P1=0xfe;while(P1!=0xfe)//第一行有键按下{dela

3、y(5);//延时消抖while(P1!=0xfe)//确实有键按下{switch(P1)//检测是哪个键按下{case0xee:num=1;break;case0xde:num=2;break;case0xbe:num=3;break;case0x7e:num=4;break;}while(P1!=0xfe);//松手检测}}P1=0xfd;while(P1!=0xfd)//第二行有键按下{delay(5);//延时消抖while(P1!=0xfd)//确实有键按下{switch(P1)//检测是哪个键按下{case0xed:num=5;break;case0xdd:num=6

4、;break;case0xbd:num=7;break;case0x7d:num=8;break;}while(P1!=0xfd);//松手检测}}P1=0xfb;while(P1!=0xfb)//第三行有键按下{delay(5);//延时消抖while(P1!=0xfb)//确实有键按下{switch(P1)//检测是哪个键按下{case0xeb:num=9;break;case0xdb:num=10;break;case0xbb:num=11;break;case0x7b:num=12;break;}while(P1!=0xfb);//松手检测}}P1=0xf7;while(

5、P1!=0xf7)//第四行有键按下{delay(5);//延时消抖while(P1!=0xf7)//确实有键按下{switch(P1)//检测是哪个键按下{case0xe7:num=13;break;case0xd7:num=14;break;case0xb7:num=15;break;case0x77:num=16;break;}while(P1!=0xf7);//松手检测}}returnnum;}

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

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

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