



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
51单片机矩阵按键的功能应用#includesbitADDR0=P1^0;sbitADDR1=P1^1;sbitADDR2=P1^2;sbitADDR3=P1^3;sbitENLED=P1^4;sbitKEY_IN_1=P2^4;sbitKEY_IN_2=P2^5;sbitKEY_IN_3=P2^6;sbitKEY_IN_4=P2^7;sbitKEY_OUT_1=P2^3;sbitKEY_OUT_2=P2^2;sbitKEY_OUT_3=P2^1;sbitKEY_OUT_4=P2^0;codeunsignedcharLedChar[]={//数码管显示字符转换表0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};unsignedcharKeySta[4][4]={//全部矩阵按键的当前状态{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};voidmain(){unsignedchari,j;unsignedcharbackup[4][4]={//按键值备份,保存前一次的值{1,1,1,1},{1,1,1,1},{1,1,1,1},{1,1,1,1}};EA=1;//使能总中断ENLED=0;//选择数码管DS1进行显示ADDR3=1;ADDR2=0;ADDR1=0;ADDR0=0;TMOD=0x01;//设置T0为模式1TH0=0xFC;//为T0赋初值0xFC67,定时1msTL0=0x67;ET0=1;//使能T0中断TR0=1;//启动T0P0=LedChar[0];//默认显示0while(1){for(i=0;i《4;i++){//循环检测4*4的矩阵按键for(j=0;j《4;j++){if(KeySta[i][j]!=backup[i][j]){//检测按键动作if(KeySta[i][j]==0){//按键按下时执行动作P0=LedChar[i*4+j];//将编号显示到数码管}backup[i][j]=KeySta[i][j];//更新前一次的备份值}}}}}/*T0中断服务函数,扫描矩阵按键状态并消抖*/voidInterruptTimer0()interrupt1{unsignedcharj;staticunsignedchari=0;//矩阵按键扫描输出索引staticunsignedcharkeybuf[4][4]={//矩阵按键扫描缓冲区{0xFF,0xFF,0xFF,0xFF},{0xFF,0xFF,0xFF,0xFF},{0xFF,0xFF,0xFF,0xFF},{0xFF,0xFF,0xFF,0xFF}};TH0=0xFC;//重新加载初值TL0=0x67;//将一行的4个按键值移入缓冲区keybuf[i][0]=(keybuf[i][0]《《1)|KEY_IN_1;keybuf[i][1]=(keybuf[i][1]《《1)|KEY_IN_2;keybuf[i][2]=(keybuf[i][2]《《1)|KEY_IN_3;keybuf[i][3]=(keybuf[i][3]《《1)|KEY_IN_4;//消抖后更新按键状态for(j=0;j《4;j++){//每行4个按键,所以循环4次if((keybuf[i][j]&0x0F)==0x00){//连续4次扫描值为0,即4*4ms内都是按下状态时,可认为按键已稳定的按下KeySta[i][j]=0;}elseif((keybuf[i][j]&0x0F)==0x0F){//连续4次扫描值为1,即4*4ms内都是弹起状态时,可认为按键已稳定的弹起KeySta[i][j]=1;}}//执行下一次的扫描输出switch(i){//根据索引,释放当前输出引脚,拉低下次的输出引脚case0:KEY_OUT_1=1;KEY_OUT_2=0;break;case1:KEY_OUT_2=1;KEY_OUT_3=0;break;case2:KE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 废纸回收与新形态包装材料开发考核试卷
- 海洋渔业资源与渔业科普教育考核试卷
- 方便面行业绿色生产与环境保护考核试卷
- 水下救捞作业的模拟训练考核试卷
- 海洋油气开采的深海资源开发战略考核试卷
- 木材加工过程中的设备维护与保养策略研究考核试卷
- 木地板行业技术标准制定与实施考核试卷
- 优胜教育劳动合同范例
- 众融人力合同标准文本
- 出售闲置柜子合同范例
- 2025年成考思修模拟试题及答案
- 2025年医保知识考试题库及答案(医保数据安全)试卷
- 2024年安康市旬阳市市直教育单位遴选教师考试真题
- 2025年北京平谷区高三一模高考数学模拟试卷(含答案详解)
- TCHSA 081-2024 接受双膦酸盐治疗患者拔牙围手术期处理专家共识
- 2025年陕西航空职业技术学院单招职业适应性考试题库汇编
- 学校安全管理工作总结
- 活动策划执行合同协议书
- 2025年时政题库及答案(100题)
- 2025年钟山职业技术学院单招职业技能测试题库带答案
- 2025年湖北科技职业学院单招职业技能测试题库参考答案
评论
0/150
提交评论