按键开关是很多地方和领域能够用到的,在我们的生活中也随处可见,但是在使用的时候会出现一些抖动的问题,这个问题可能会困扰我们很久,今天就为大家解决这个问题。
单片机按键开关抖动产生因为机械固有的物理特性,在瞬间接触的时候会有力学的回弹,造成2-8毫秒内信号不稳定。解决办法:软件延时去抖(其实是一种忽略)和硬件去抖软件判断:开关闭合——延时——是否还是闭合?——如果是就判定打开,软件解决可以降低成本,但是有时候硬件劣化超出延时的范围会造成故障。硬件解决:专用的去抖芯片或者自己组装一个双稳态消抖电路,就是两个与非门构成的RS触发器。
AD按键指的是使用模数转换的方法得到按键值,与矩阵按键和独立按键相比大大节省了端口数目,因为一个端口可以输入几百到几千个按键。
先说说你的非机械按钮,成本就是最大的问题,对于大规模生产来说,哪怕省一个电阻也是好的,而软件的成本可以忽略,两相比教,老板肯定选成本低的。老板也知道有技术能绕过去,但和成本一比,什么都是浮云。
再说,这个防抖的功能,并不仅仅在按键上能使用,在信号采集,数据通讯中都是非常重要的,你总不能给每个IO口都装个高性能接口吧。对于单片机来说,是不是键盘还真不是关键,PA口能用防抖,难道PB口就不能用了?
最后,对于最终用户平时是怎么使用键盘的,操作习惯是怎么样,开发人员根本是控制不了的,也不应该去控制,既然不能改变用户,那就只能改变自己。
按键开关对于抖动问题的解释就是这样的,请大家重视这些问题。