付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年中职环境监测技术(环境监测仪器使用)试题及答案
- 2026-2030中国鲣鱼市场运行态势及未来竞争力剖析研究报告
- 初级面点考试题目及答案
- 服务兵考试题目及答案
- 北京市怀柔区怀柔镇中心小学2026年数学三年级第一学期期末学业水平测试试题含解析
- 2026年中职会展服务与管理(会展服务操作)试题及答案
- 风险分级管控和隐患排查治理制度
- 某造船厂焊接工艺制度
- 高效除草剂项目风险评估报告
- 塑料瓶项目施工方案
- 2026年秋季新学期第一次全体教师大会上校长讲话刷屏了:“教育从来都是一地鸡毛但别忘了当初为什么来!”
- 2026年领导干部网络学法用法法律知识竞赛考试题库及答案
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- 2026年贵州省事业单位联考真题及答案
- 2026年小学语文教师学科专业知识考试试题及答案
- 新版医疗器械生产质量管理规范解读
- GB/T 17315-2026玉米种子生产技术规程
- 全国总工会工会财务制度
- 新型建筑材料 课件全套 第1-13章 绪论、材料的基本性质 -混凝土3D打印技术
- 《医疗器械使用质量监督管理办法》深度解读与实践指南
- 5年高考数学真题分类汇编专题03等式与不等式、基本不等式及一元二次不等式(原卷版)
评论
0/150
提交评论