单片机按键模块设计

单片机按键模块设计

ID:40132232

大小:789.00 KB

页数:62页

时间:2019-07-22

单片机按键模块设计_第1页
单片机按键模块设计_第2页
单片机按键模块设计_第3页
单片机按键模块设计_第4页
单片机按键模块设计_第5页
资源描述:

《单片机按键模块设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单元5按键模块设计回顾1,数码管显示原理?2,静态数码管工作原理?3,动态数码管工作原理?4,AT89C51有几个定时器?各是多少位的?请简述定时器实现定时原理?5,8051单片机定时/计数器工作方式有多少种?6,如何设置8051单片机工作在定时/计数模式下?7,如何启动定时器工作?8,请简述DS1302读取时间的编程过程?本单元任务任务1独立式键盘设计任务2键盘中断设计任务3矩阵式键盘设计任务4多个外部中断设计任务1独立式键盘设计任务描述:任务分析:众多嵌入式单片机系统、嵌入式单片机产品设备中,键盘模块都是必不可

2、少的,比如手机及各种智能家电等。本任务通过按键控制点亮流水灯(8个按键分别对应控制8个LED),学习最简单的键盘—独立式按键设计方法。键盘实际上是一组开关的集合:当键按下时,两根导线接通;释放时,两根导线不通。8个按键的键盘电路可考虑在P2口上设计,8个LED电路仍然安装在单片机P1口。8个按键分别对应控制8个LED,按下按键则点亮对应的灯。独立式键盘工作原理及应用独立式键盘的组成是由若干个按键与单片机的I/O口一一的对应连接,然后通过读取单片机I/O的电平状态来确认哪个对应的按键被按下,一般一个独立式按键对应一个

3、功能,可以通过按键的组合来实现多个功能。P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7key1key2key3key0key4key5key6key7抖动:当用手按下一个键时,往往出现按键在闭合和断开位置之间来回跳动多次才能到闭合稳定状态的现象;在释放一个键时,也会出现类似的情况,这种情况就是抖动。按下一个键时产生前沿抖动,释放一个键时产生后沿抖动。抖动的持续时间随键盘簧片的材料和操作员而异,通常在5~10ms。而5~10ms已经对程序进行多次循环扫描执行,显而易见,抖动问题不解决,就会引起对闭合

4、键的多次识别。。键按下前沿抖动后沿抖动闭合稳定应用举例:例5-1#include"AT89X51.H"voidmain(){while(1){if(P2_0==0)//判断key0被按下{key_delay();//去抖延时10msif(P2_0==0)//再次判断key0按下{while(!P2_0);//等待闭合释放P1_0=0;//点亮LED}}if(P2_1==0)//判断key1被按下{key_delay();//去抖延时10msif(P2_1==0)//再次判断key1按下{while(!P2_1);/

5、/等待闭合释放P1_0=1;//熄灭LED}}}}1.Proteus电路设计2.KeilC51程序设计3.Proteus-Keil联合调试仿真任务实施硬件电路图(1)程序流程由独立式键盘工作原理得知,按键是否按下是通过读取按键对应的IO的电平变化而判断的,在程序设计上,即通过读取按键对应IO口的电平是否为低(软件去抖)来决定哪个按键被按下,当判断key0被按下,则点亮LED0;当判断key1被按下,则点亮LED1……。主程序设计:#include"AT89X51.H"unsignedcharcodeled_ligh

6、t[]={0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7F};//点亮LED对应的编码voidmain(){while(1){if(P2_0==0)//判断key0被按下{key_delay();//去抖延时10msif(P2_0==0)//再次判断key0按下{while(!P2_0);//等待闭合释放P1=led_light[0];//点亮LED0}}if(P2_1==0)//判断key1被按下{key_delay();//去抖延时10msif(P2_1==0)//再次判断key1

7、按下{while(!P2_1);//等待闭合释放P1=led_light[1];//点亮LED1}}……;}}运行Proteus-Keil联合调试仿真任务2键盘中断设计任务描述:任务分析:项目组掌握独立式键盘设计后,现要求用1个按键控制流水灯运行样式,初始时8个LED按从头到尾方式循环运行,当按下按键,首尾两灯点亮向中间,到中间后返回首尾的循环运行,再次按下按键又转为从头到尾循环运行……,即1个按键交替切换流水灯的两种运行样式。此任务设计有两个主要功能模块,一是按键的判断,二是LED流水灯的运行。通过前面单元的学习

8、得知,这两个功能在主程序中无限循环判断执行,正常人完成一次按键的时间需要20ms,而LED流水灯运行频率应小于50Hz(即应大于20ms走一个灯,否则运行太快人眼无法识别),那么如果单片机CPU在执行流水灯显示延时程序期间,正好发生按键,CPU无法运行按键扫描程序而导致按键判断的丢失,如果1s或更长时间走一个灯,那么丢失按键的现象将更加严重。由此可见普通的程

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

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

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