按键去抖

来源:百度知道 编辑:UC知道 时间:2024/05/15 12:08:08
在单片机程序中,是不是所有按键都应该考虑去抖呢?
程序中判断完是否有按键的时候,是不是都得考虑去抖问题呢?
请求大师们帮助!

楼上说的延时最好不要用,这样会很不稳定,有按键要消抖的话最好用定时中断进去扫描,判断上一状态和这一状态的值是否相等,相等就把时间累加,不相等的话,就保持当前值并清除时间累加,中断时间最好是不影响主程序的运行就行,不宜过长,我一般是用50us-200us之间(看震荡频率),消抖时间一般在50ms到100ms(主要看用在什么地方)。当然你如果只是做实验的话上面的延时方法也是可以用的,不过个人建议先用中断做,虽然开始会有点不麻烦,多做些练习就很快掌握了。

对,有按键判定的时候都需要考虑去抖,一般采用延时去抖。延时10ms左右,若按键值依然存在,则判定是有按键动作的