按键判断是否按下,去抖动处理

img

当按键按下时,由于抖动,行线的电压不能马上是低电平,而是介于高电平和低电平之间,因此抖动开始时电压不是0,为什么能用“电压是否为0,延时10ms,再判断电压是否为0”来判断按键是否按下?

按键稳定闭合时间通常都会在100ms以上,刻意快速按的话能达到40-50ms左右,很难再低了。抖动时间是由按键的机械特性决定的,一般都会在 10ms以内,所以用10ms来判断

电压是否为0,延时10ms,再判断电压是否为0------这相当于是判断了信号的下降沿,反之就是判断上升沿,总之是判断信号跳变