EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机按键去抖原理, u* A* I" f- U2 O2 B) d) U$ H+ K6 t/ Z
9 e" G7 A5 n! k" o4 B& ^# P# W
由上图可以看出理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动的现象,抖动时间的长短和按键的机械特性有关,一般为5~10ms。通常我们手动按键然后释放,这个动作中稳定闭合的时间超过了20ms。因此单片机在检测键盘是否按下时都要加上去抖动操作,有专用的去抖动电路,也有专门的去抖动芯片,但通常我们采用软件延时的方法就可以解决抖动问题。 /* 软件去抖 */
( k. F7 i. V; Z/ Oif (0 == K1 ) //如果有键按下 { delay_ms(8); //延时一段时间去抖 if (0 == K1) //如果真的有键按下,检测到得是稳定闭合状态 { ... //按键以后需要做的事情 } while(!K1); //松手检测,如果按住不放则一直在循环里 6 g o$ K/ F% R; `" C; _' B
} + Q/ }! l5 U6 h5 _
|