今天心血来潮,突然想看看按键按下和释放的波形是什么样子,用的示波器是普源500M带宽的DS4054A,电路就是简单的一个电阻和按键串联到地。
检测波形的过程发现,我每次按键立马松手的低电平最短保持时间是50ms。当然者只是一个参考值,根据开关质量的不一样,个人反应速度不一样,低电平最短保持时间也会不一样,网上流行的说法是按键一次闭合最短的时间大概是120ms左右,参考资料见文章最后。
我测试的最短低电平保持时间如下,为50ms:

每格50ms
普通速度按键波形,低电平保持时间137ms:

读数参考示波器左上角参数
在测试的过程中发现,按键按下的波形抖动要小于按键释放时的抖动时间和抖动程度,故只抓取了两次按键释放的波形。

从图中可以看出按键释放时抖动时间为1.076ms
另外一次按键释放时的抖动,先出现了尖刺,相隔1.5ms左右又出现了连续抖动,总抖动时间为2.510ms。

从测试结果看,如果想要按键快速响应,可以按抖动时间5—8ms处理,按键最短低电平保持时间30ms处理。这里的30ms包含了按下和释放的抖动时间,即认为可靠的低电平只有14-20ms处理。
关于本文的说明:由于示波器的带宽和上升时间限制,可能不能更好的记录按键波形抖动情况,不过对于按键抖动的处理,时间精度已经足够了。