高传输量.高供电量. 兼容性强.稳定耐用
汉洋咨询热线
0769-82988901单片机拨动开关接触抖动问题的解决方案
拨动开关元件可以给单片机输入引脚提供逻辑电平信号供单片机检测,是一种较为简单的输入方式。在实践中拨动开关信号的输入并不是那么简单,还需要考虑开关的接触抖动这样一个常见问题。当开关被按下的瞬间,由于存在机械反弹或者振动或者触点污垢而引起接触抖动,会产生一系列毛刺脉冲,而不是产生一个理想的从低电平到高电平的跳变。
解决拨动开关抖动这个问题更简易的方法,是接入一个简单的RC滤波电路,滤除电压的快速变化。由于开关的抖动时间是不太确定的,因此RC电路的电阻值和电容值也就不能精准地确定。一般情况下,建议采用电阻值为100kΩ的电阻和电容值为100nF的电容。
如果对于拨动开关稳定性要求更高,还可以采用一种更完善的解决措施。例如核心采用一片标准数字集成电路74HCO0构成的一个RS触发器,触发器的两个输入端连接一只两档拨动开关。触发器一旦检测到开关触点产生的第一个脉冲,将立刻改变其输出端的逻辑状态,并且会维持不变。这种解决方案成本较高,但是可以使拨动开关的抖动问题能够有效彻底地根除。由于该电路中没有采用电容元件,因此即使很短的有效脉冲也能够保障可靠接收。
除了上述的这些硬件解决方案,也有一种简单的软件解决方案。当程序在检查输入引脚状态时首次发现逻辑电平发生变化,就在等待一段延时之后再次进行核验。如果电平变化被确认,这意味着一个拨动开关确实改变了它的位置。这种方案的成本低,无噪声,容错能力强。其缺点类似于阻容型消抖开关,对于拨动开关按下持续时间比程序延时更短的有效输入脉冲,不能保证准确接收。
扫一扫二维码
扫一扫微信号