按键抖动是什么样的波形你没有测量过吧?
理论上的按键就是高电平或低电平,但在按下去和松开的那瞬间会产生很多脉冲出来。这个脉冲与按键的材料和按松的力度有关。
如图所示:如果你的程序只判断电平变高或变低就认为是按键的话,会出现很多按键的效果。
但如果你在按键上面并一个电容的话,这种脉冲将被电容所吸收。这是电容的特性决定的事情。
但电阻没有这种特性。
解决抖动有几种办法:
一是增加一个电容。这样增加了硬件成本。
二是增加软件滤波。这种脉冲有一定的时间范围,通常不会超过30MS。所以,你只要连续检测30毫秒都是同一个电平就可以确定是按键已经按键。
并联的电阻跟下拉电阻并联后还是相当于下拉了一个电阻,硬件上当然不能消抖了,可以采取软件延时消抖啊!实在想采用硬件消抖的话,可以在按键输出端串联两个与非门,与非门两个输入端都接按键端,两级门电路的输出和输入直接相连,既可消抖又可波形整形。