单片机按键模块设计.ppt
《单片机按键模块设计.ppt》由会员分享,可在线阅读,更多相关《单片机按键模块设计.ppt(62页珍藏版)》请在优知文库上搜索。
1、单元5 按键模块设计回顾 1,数码管显示原理?,数码管显示原理?2,静态数码管工作原理?,静态数码管工作原理?3,动态数码管工作原理?,动态数码管工作原理?4,AT89C51有几个定时器?有几个定时器?各是多少位的?各是多少位的?请请简述定时器实现定时原理?简述定时器实现定时原理?5,8051单片机定时单片机定时/计数器工作方式有多少种?计数器工作方式有多少种?6,如何设置,如何设置8051单片机工作在定时单片机工作在定时/计数模式下?计数模式下?7,如何启动定时器工作?,如何启动定时器工作?8,请简述,请简述DS1302读取时间的编程过程?读取时间的编程过程?本单元任务p任务1 独立式键盘设
2、计 p任务2 键盘中断设计p任务3 矩阵式键盘设计p任务4 多个外部中断设计任务1 独立式键盘设计 任务描述:任务描述:任务分析:任务分析:众多嵌入式单片机系统、嵌入式单片机产品设备中,键盘模块都是众多嵌入式单片机系统、嵌入式单片机产品设备中,键盘模块都是必不可少的,比如手机及各种智能家电等。本任务通过按键控制点亮流水必不可少的,比如手机及各种智能家电等。本任务通过按键控制点亮流水灯(灯(8个按键分别对应控制个按键分别对应控制8个个LED),学习最简单的键盘),学习最简单的键盘独立式按键设独立式按键设计方法。计方法。 键盘实际上是一组开关的集合:当键按下时,两根导线接通;释放键盘实际上是一组开
3、关的集合:当键按下时,两根导线接通;释放时,两根导线不通。时,两根导线不通。8个按键的键盘电路可考虑在个按键的键盘电路可考虑在P2口上设计,口上设计,8个个LED电电路仍然安装在单片机路仍然安装在单片机P1口。口。8个按键分别对应控制个按键分别对应控制8个个LED,按下按键则点,按下按键则点亮对应的灯。亮对应的灯。 独立式键盘工作原理及应用 n独立式键盘的组成是由若干个按键与单片机的I/O口一一的对应连接,然后通过读取单片机I/O的电平状态来确认哪个对应的按键被按下,一般一个独立式按键对应一个功能,可以通过按键的组合来实现多个功能。P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.
4、7key1key2key3key0key4key5key6key7q抖动:抖动:当用手按下一个键时,往往出现按键在闭合和断开位置之当用手按下一个键时,往往出现按键在闭合和断开位置之间来回跳动多次才能到闭合稳定状态的现象;在间来回跳动多次才能到闭合稳定状态的现象;在 释放一个键时,释放一个键时,也会出现类似的情况,这种情况就是抖动。按下一个键时产生前也会出现类似的情况,这种情况就是抖动。按下一个键时产生前沿抖动,释放一个键时产生后沿抖动。抖动的持续时间随键盘簧沿抖动,释放一个键时产生后沿抖动。抖动的持续时间随键盘簧片的材料和操作员而异,通常在片的材料和操作员而异,通常在510ms。而。而510m
5、s已经对程序已经对程序进行多次循环扫描执行,显而易见,抖动问题不解决,就会引起进行多次循环扫描执行,显而易见,抖动问题不解决,就会引起对闭合键的多次识别。对闭合键的多次识别。 。键按下前沿抖动后沿抖动闭合稳定应用举例:例5-1 #includeAT89X51.Hvoid main() while(1)if(P2_0=0) /判断判断key0被按下被按下key_delay();/去抖延时去抖延时10msif(P2_0=0)/再次判断再次判断key0按下按下while(!P2_0); /等待闭合释放等待闭合释放P1_0=0; /点亮点亮LEDif(P2_1=0) /判断判断key1被按下被按下ke
6、y_delay();/去抖延时去抖延时10msif(P2_1=0) /再次判断再次判断key1按下按下while(!P2_1); /等待闭合释放等待闭合释放P1_0=1; /熄灭熄灭LED 开始P2.0=0?软件延时10msP2.0=0?闭合释放?P1.0=0点亮LEDYYYNP2.1=0?软件延时10msP2.1=0?闭合释放?P1.0=1熄灭LEDYYYNNNNNn1. Proteus电路设计 n2. Keil C51程序设计 n3. Proteus-Keil联合调试仿真 任务实施硬件电路图n(1)程序流程由独立式键盘工作原理得知,按键是否按下是通过读取按键对应的IO的电平变化而判断的,在
7、程序设计上,即通过读取按键对应IO口的电平是否为低(软件去抖)来决定哪个按键被按下,当判断key0被按下,则点亮LED0;当判断key1被按下,则点亮LED1。 key0按下?key1按下?key2按下?key3按下?key4按下?key5按下?key6按下?key7按下?NNNNNNNN点亮LED0点亮LED1点亮LED2点亮LED3点亮LED4点亮LED5点亮LED6点亮LED7YYYYYYYY开始n主程序设计:主程序设计:#includeAT89X51.Hunsigned char code led_light=0XFE,0XFD,0XFB,0XF7,0XEF,0XDF,0XBF,0X7
8、F;/点亮点亮LED对应的编码对应的编码void main() while(1)if(P2_0=0) /判断判断key0被按下被按下key_delay();/去抖延时去抖延时10msif(P2_0=0)/再次判断再次判断key0按下按下while(!P2_0); /等待闭合释放等待闭合释放P1=led_light0; /点亮点亮LED0if(P2_1=0) /判断判断key1被按下被按下key_delay();/去抖延时去抖延时10msif(P2_1=0) /再次判断再次判断key1按下按下while(!P2_1); /等待闭合释放等待闭合释放P1=led_light1; /点亮点亮LED1;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 按键 模块 设计
