键盘
轻触按键,我们在单片机设计,或小电器设计中常常用到。
轻触按键

首先聊聊什么是按键消抖,按键常日用的是机器弹性开关,当机器触点打仗或断开时,由于弹性浸染,不会一次性的打仗或者一次性就断开,而是多次的,产生持续串的抖动。以是,为了避免产生这种征象,确保CPU对键的一次闭合仅作一次处理,必须去除键抖动。
按键事理框图
抖动韶光按键抖动的韶光一样平常是由按键的机器特性决定的,一样平常为5-10ms。很多场合,我们利用这个参数去避免这个抖动。按键稳定闭合的韶光则是有人决定的,人按按键的韶光一样平常为零点几秒到1秒,有分外长按功能的按键,稳定闭合的韶光由达到几秒的。
怎么消抖硬件消抖
硬件消抖事理是通过电容的充放电,消去的抖动过程中产生的电压毛刺。但是实际运用过程效果不太空想,只能是赞助消抖。
硬件消抖
软件消抖
软件消抖是利用按键机器特性的抖动韶光,在按键按下时,延时10ms旁边再次检测按键是否按下,若检测与上次的状态相同,则解释此时按键的状态是稳定了的。
以下是单片机消抖实例,按键掌握计数器计数并驱动舵机旋转:
if(keyval==LOW)//检测按键是否按下,按键按下时小灯亮起 { delay(10);//延时10ms,消抖 if(keyval==LOW)//消抖后再次确认是否有按键按下 num++;//按键按下后num加1 if(num>9) num=0;//若num大于9,清0,重新计数 flag=1;//按键按下后,舵机运行标志置1,此时命令舵机运行 }关于延时方法
大略的延时,可以采取空循环来实现,这个方法比较花费CPU的资源,CPU任务较重的时候不建议利用。延时函数可以考虑利用定时器更换,但这又花费了定时器资源,不过只要够用的话还是只管即便用,毕竟可以减轻CPU的包袱。
朋友们对付按键事理又是怎么理解的呢?欢迎留言评论。
喜好的朋友可以关注头条号: 奔跑的晶体管 可以学习电子知识哦。