您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 单片机键盘接口技术----独立按键-
单片机原理及应用在线开放课程键盘接口技术:独立按键CONTENTS目录01键盘简介02独立按键工作原理03独立按键应用实例道艺兼修敬业乐群Part01键盘简介01键盘简介键盘是电子系统中人机对话的重要组成部分,是人向机器发出指令、输入信息的必须设备,也是在单片机应用系统中使用最广泛的一种数据输入设备。键盘是由多个按键组成的。Part02独立按键02独立按键按键通常是一种常开型开关,常态下按键的两个触点处于断开状态,按下按键时它们才闭合。按键1按键202独立按键与单片机的接口原理330P1.6P1.7VCCGND按键不按下时,P1.7通过一个电阻接到VCC上,P1.7为高电平状态,按键按下时按键抬起时,又接到VCC上,P1.7再次回到高电平状态。P1.7接到了GND上,P1.7被拉低为低电平02多个独立按键的单片机接口电路图2-20独立式连接的非编码键盘8031P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7R×8+5V0号键1号键2号键3号键4号键5号键6号键7号键P1.01P1.11P1.21P1.31P1.41P1.51P1.61P1.7100P11111,1111P11111,1110P11101,111102实际按键的抖动问题实际按键的按下与释放是通过机械触点的闭合与断开来实现的,因机械触点的弹性作用,在闭合与断开的瞬间均有一个抖动的过程,抖动必须清除。02常用消抖方法1.硬件方法硬件方法是设计一个滤波延时电路或单稳态电路、RS触发器等硬件电路来避开按键的抖动时间。每个按键一套电路。02常用消抖方法2.软件方法软件方法是指编制一段时间大于20ms的延时程序,在第一次检测到有键按下时,执行延时子程序,使键的前沿抖动消失后再检测该键状态,如果该键仍保持闭合状态电平,则确认为该键已稳定按下,否则无键按下,从而消除了抖动的影响。同理,在检测到按键释放后,也同样要延迟一段时间,以消除后沿抖动,然后转入对该按键的处理02软件消抖流程图按键有键闭合?延时20mS去抖动有键闭合?保存键码延时20mS去抖动按键释放?按键释放?执行按键功能返回YYYYNNNN独立按键处理流程Part03简单独立按键实例03任务显示电路图如下,用第一个数码管将独立按键接于单片机P3.0引脚独立按键接于单片机P3.0,当每按下一次按键数码管的值加1,初始值为0,加到9后归零。03程序代码#includereg52.h#defineucharunsignedchar#defineuintunsignedintsbitwei=P2^7;//数码管位选sbitduan=P2^6;//数码管段选sbitkey_s2=P3^0;//S2按键位定义ucharcodeleddata[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,};//0-9显示码voiddelay(uintz){uintx,y;for(x=z;x0;x--)for(y=114;y0;y--);}voidmain(){ucharnum;we=1;P0=0xfe;//选通第一个数码管wei=0;while(1){duan=1;P0=leddata[num];//显示S2按下次数duan=0;if(key_s2==0)//判断S2是否按键{delay(20);//软件延时if(key_s2==0){num++;//计数加1}while(!key_s2);//松手检测}if(num==10)//当数值为超过9时归零{num=0;}}}谢谢收看!
本文标题:单片机键盘接口技术----独立按键-
链接地址:https://www.777doc.com/doc-4936259 .html