在单片机开发经常需要去抖,那么什么是去抖?
去抖动是一个通用术语,并不指定任何特定的控制器芯片。
在微控制器中使用按钮时(尤其是弹片按钮),比如需要使用边沿触发来执行某些操作(例如切换 LED 状态、计数、中断)。
由于机械设计限制和老化效应…… 这些按钮可能没有良好的接触,按下按钮时发生多次接触与断开,因此它可能会在一次按下时产生多个上升沿(当然也是下降沿..)。
它也发生在释放按钮时......这可能导致控制器被误解为多次按下......。它会多次切换 LED 状态(或执行多次中断子程序),导致控制器错误操作。
如果发生在涉及计数器的过程将产生更麻烦的问题…。它将一次按压计算为几次按压,而这“几次”造成的后果是不可预测的。
按钮和控制器引脚之间涉及的这种不良现象称为抖动(弹跳)。
我们用来避免因抖动而引起的麻烦的方法称为去抖。
常用的去抖方法被归类为:硬件去