单片机按键矩阵识别(含程序、原理图)

单片机按键矩阵识别(含程序、原理图)

ID:38181946

大小:99.50 KB

页数:6页

时间:2019-05-24

单片机按键矩阵识别(含程序、原理图)_第1页
单片机按键矩阵识别(含程序、原理图)_第2页
单片机按键矩阵识别(含程序、原理图)_第3页
单片机按键矩阵识别(含程序、原理图)_第4页
单片机按键矩阵识别(含程序、原理图)_第5页
资源描述:

《单片机按键矩阵识别(含程序、原理图)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、按键矩阵识别技术实验说明如图2所示,把P1端口的8条I/O口分成4条列线4条行线交叉但不接触构成4×4键盘阵列,16个按键放置交叉位置,这样在单片机复杂系统需要较多按键时,这种接法可以节省单片机的硬件资源。1.结合给出的电路原理图试分析4*4键盘矩阵识别原理,及LED动态扫描原理。(6分)2.根据分析的键盘矩阵识别原理设计程序实现一下功能:当按下某个按键时在2个七段数码管上显示该按键的编号(注意考虑同时按下多个按键时程序处理过程)、按下某个按键使其弹起时对于消抖情况程序的处理。(9分)2.0相关原理图如下:3.0实验说明本试验给了1-8键判断方法。按1-8键

2、中任意键,则数码管显示该键编号。想想怎样实现1-16个键的判断显示?参考程序见程序范例。/*******************************************************************************************描述:按键距阵识别技术*编写:秦立春*版本信息:V1.02008年4月20日*说明:sp1,sp2,SP3跳线向右;****************************************************************************************

3、**/#include#defineucharunsignedchar#defineuintunsignedint#defineON0#defineOFF1ucharbdataOUT;sbitJDQ=OUT^0;sbitHF=OUT^1;sbitBZ=OUT^2;sbitAA=OUT^3;sbitBB=OUT^4;sbitCC=OUT^5;sbitDD=OUT^6;sbitX0=P2^0;sbitX1=P2^1;sbitX2=P2^2;sbitX3=P2^3;sbitY0=P2^4;sbitY1=P2^5;sbitY2=P2^6;sbitY

4、3=P2^7;sbitRS=P1^7;sbitRW=P3^4;sbitE=P3^5;sbitHC574_LE=P3^3;//-----------------------------------------------------voiddelay(unsignedintt)//延时函数{for(;t!=0;t--);}//------------------------------------------------------voidHC574(void)//74HC574控制输出;{P0=OUT;HC574_LE=1;delay(2);HC574_LE

5、=0;}//==================================================unsignedcharKey_Scan(void){uchara,key;P2=0xf0;if(!(Y0&&Y1&&Y2&&Y3)){P2=0xf0;delay(200);if(!(Y0&&Y1&&Y2&&Y3)){P2=0xff;X0=0;if(!(Y0&&Y1&&Y2&&Y3)){a=P2;a=(a&0xf0+0x0e);gotopp1;}P2=0xff;X1=0;if(!(Y0&&Y1&&Y2&&Y3)){a=P2;a=(a&0xf0+0x

6、0d);gotopp1;}P2=0xff;X2=0;if(!(Y0&&Y1&&Y2&&Y3)){a=P2;a=(a&0xf0+0x0b);gotopp1;}P2=0xff;X3=0;if(!(Y0&&Y1&&Y2&&Y3)){a=P2;a=(a&0xf0+0x07);gotopp1;}}elsea=0xff;}elsea=0xff;pp1:key=a;returnkey;}//-----------------------------------------------------------ucharkey(void){uchark,KEY;KEY=0xf

7、f;k=Key_Scan();if(k!=0xff){while(k==Key_Scan());switch(k)//键码{case0x7e:KEY=0x04;break;//4case0x7d:KEY=0x08;break;//8case0x7b:KEY=0x0b;break;//case0x77:KEY=0x0f;break;//case0xbe:KEY=0x03;break;//3case0xbd:KEY=0x07;break;//7case0xbb:KEY=0x0a;break;//case0xb7:KEY=0x0e;break;//case0xde

8、:KEY=0x02;break;//2case0xd

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

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

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