源程序编写如下://宏定义#includereg51.h#defineucharunsignedchar#defineuintunsignedint//延时1ms子程序voidDelayMS(uintx){uchari;while(x--)for(i=0;i120;i++);}//按键控制LED灯主程序voidmain(){uchark,t,Key_State;P1=0xFF;P0=0xFF;while(1){t=P1;//将键值保存起来if(t!=0xFF)//判断有键按下{DelayMS(10);//再次检查按键是否按下,去抖动if(t!=P1)continue;//如果按键没有按下,下一次循环Key_State=~t;//取得4位按键值,由1111xxxx变为0000xxxxk=0;//获取按键号kwhile(Key_State!=0){k++;Key_State=1;}switch(k){case1:if(P0==0x00)P0=0xFF;P0=1;//逐个点亮D1~D8DelayMS(200);break;case2:P0=0xF0;break;//点亮D1~D4case3:P0=0x0F;break;//点亮D5~D8case4:P0=0xFF;//熄灭D1~D8}}}}7.1.2矩阵键盘控制数码管显示7.1.2.1矩阵键盘的工作原理矩阵键盘由行线和列线组成,按键位于行、列的交叉点上。如图所示,1个4×4的行、列结构可以构成1个含有16个按键的键盘。在按键数量较多的场合,矩阵键盘与独立键盘相比要节省很多I/O口线。7.1.2矩阵键盘控制数码管显示7.1.2.1矩阵键盘的工作原理矩阵键盘的按键识别方法:扫描法和线反转法扫描法第一步:识别键盘是否有键闭合第二步:识别具体闭合的按键扫描法线反转法第一步:将行线编程为输入线,列线编程为输出线,并使输出线输出为全零电平,则行线中电平由高到低所在行为按键所在行。第二步:将行线编程为输出线,列线编程为输入线,并使输出线为全零电平,则列线中电平由高到低所在列为按键所在列。综合一二步的结果可确定按键所在行和列,从而识别出所按的键。矩阵按键键盘常用的有2种编码方式:(1)对于矩阵式键盘,按键的位置由行号和列号确定,分别对行号和列号进行二进制编码,然后将两值合成1个字节,高4位表示行号,低4位表示列号。如12H表示第1行第2列的按键。(2)采用依次排列键号的方式对按键进行编码。以4×4键盘为例,可以将键号编码为:0x00、0x01、0x02、…、0x0D、0x0E、0x0F共16个。对键盘的控制方式主要有:定时扫描中断扫描定时扫描就是每隔一定的时间读取一次键盘I/O口状态。中断方式下,当有键按下时,就会有一根行线被拉为低电平,经过与门之后就会触发一次外中断,这种方式避免了对键盘的空扫描,可以提高CPU的效率。任务操作1.任务要求设计一个电路,AT89C51单片机的P1口连接一个4×4矩阵键盘,其中P1.0~P1.3为行线,P1.4~P1.7为列线,P0端口连接一只共阴极的一位数码管,要求按下一只按键时在数码管上显示器对应的键号,如按下K1则显示“1”,按下K2则显示“2”……,按下KF则显示“F”。7.1.2.2矩阵键盘控制数码管显示的设计方法2.任务分析
您可能关注的文档
- 《单片机控制技术项目式课程》(第2版)课件 项目1 认识单片机.pptx
- 《单片机控制技术项目式课程》(第2版)课件 项目2 用单片机集成开发环境进行项目设计.ppt
- 《单片机控制技术项目式课程》(第2版)课件 项目3 MCS-51系列单片机最小系统的设计.ppt
- 《单片机控制技术项目式课程》(第2版)课件 项目4 单片机控制LED的设计.ppt
- 《单片机控制技术项目式课程》(第2版)课件 项目6 交通信号灯的设计 (1).ppt
- 《单片机控制技术项目式课程》(第2版)课件 项目6 交通信号灯的设计 (2).ppt
- 《单片机控制技术项目式课程》(第2版)课件 项目8 单片机通信系统的设计.ppt
- 《单片机控制技术项目式课程》(第2版)课件 项目10 数字温度采集系统的设计.ppt
- 《单片机控制技术项目式课程》(第2版)课件 项目11 STC高性能51单片机的应用设计.ppt
- HTML5+CSS3任务驱动教程(第2版)(微课版)教学大纲.docx
- 河北盐山中学等校2025-2026学年上学期高三一模化学试卷(含解析).docx
- 河北正定中学2025-2026学年高一上学期期末考试物理试卷(含解析).docx
- 河北张家口市怀安县2025-2026学年第一学期期末教学综合评价八年级地理试卷(含解析).docx
- 河南安阳市殷都区2025-2026学年第一学期期末教学质量检测七年级地理试卷(含解析).docx
- 河南安阳市滑县2025一2026学年第一学期期末学业质量监测八年级地理试题(含解析).docx
- 河南安阳市林州市2025-2026学年上学期期末考试高一政治试题(含解析).docx
- 河南焦作市武陟县第一中学2025-2026学年高一上学期1月月考语文试卷(含解析).docx
- 河南济源市2025-2026学年上学期期末学业质量调研七年级历史试卷(含解析).docx
- PICC导管并发症的紧急处理与护理.pptx
- 河南鹤壁市2025-2026学年高二上学期期末考试生物试题(含解析).docx
最近下载
- 17J925-1_压型金属板建筑构造.docx VIP
- 2026春新人教版数学二年级下册全册教学课件.ppt
- 2026年江西机电职业技术学院单招职业技能测试题库含答案详解.docx VIP
- 部编版道德与法治四年级下册第一单元第3课《当冲突发生》课件.pptx VIP
- 单孔腹腔镜妇科手术实操指南.ppt
- 装饰装修工程事故案例分析报告.docx VIP
- 中国创新药械多元支付白皮书(2025).pdf VIP
- 2025天津市自来水集团有限公司人才引进招聘7人备考试题及答案解析.docx VIP
- 学堂在线人工智能原理(北大)章节测试答案.pdf VIP
- LEGO乐高积木拼砌说明书21323,钢琴,LEGO®Ideas(年份2020)安装指南_第2份共2份.pdf
原创力文档

文档评论(0)