1.为什么使用电容去除按键抖动
在单片机IO输入外设中,使用按钮切换IO输入电平,当上拉电阻的IO口电平遇到按钮按下,电平从3.3V变为0V,单片机的IO输入状态切换。
由于按钮按下之后,会产生震动,不断切换IO状态,影响了单片机对输入IO的判断。
为了防止按下按钮产生的震动,使用电容并联在按键,利用电容电压不能突变原理,当按键松开,电容开始充电,电容充电到3.3V,需要大概0.5ms的时间,期间如果按键抖动,也不会影响IO口状态变化,因为需要达到3.3V才会被单片机识别到高电平。
2.电路仿真
在本电路中,使用三极管开关模拟按键的按下松开,1ms按下,1ms松开。在三极管高电平导通的瞬间,电容接地,IO口变为低电平,当三极管低电平截止的时候,模拟按钮松开,电容缓慢充电0.5ms才会变为高电平。
0.5ms的延时时间,可以防止按键抖动。
3.数据分析
红色方框中,绿色三极管变为低电平,模拟按键松开,蓝色曲线电容开始充电,延时0.5ms才能达到3.3V,期间按钮的抖动可以防止误触发。