硬件方法
发布时间:2014/7/27 15:06:25 访问次数:703
1.硬件方法
硬件方法是设计一个滤波延时电路或单稳态电路等硬件电路来避开按键的抖动时间。SIL160BTC100图5 -2是由R:和c组成的滤波延时消抖电路,设置在按键s与CPU数据线D;之间。按键未按下时,电容两端电压为0,即非门输入y.为0,输出Vo为1。当s按下时,由于c两端电压不能突变,充电电压yi在充电时间内未达到非门的开启电压,输出y。将不会改变,直到充电电压yi大于门的开启电压时,其输出vo才变为0,这段充电延迟时间取决于R卜R:和C值的大小,电路设计时只要使之大于或等于lOOms即可避开按键抖动的影响。同理,按键s断开时,即使出现抖动,由于c的放电延迟过程,也会消除按键抖动的影响。
图5 -2中,y.是未施加滤波电路含有前沿抖动、后沿抖动的波形,%是施加滤波电路后消除抖动的波形。
2.软件方法
软件方法是指编制一段时间大于lOOms的延时程序,在第一次检测到有键接下哆,垫堡这段主爵子程序使键的前沿抖动消失后再检测该键状态,如果该键仍保持闭合状弯电平,则确获;i墓昌磊毛按下,否则无键按下,从而消除了抖动的影响。同理,在检测到按键释放后,也同样要延迟一段时间,以消除后沿抖动,然后转入对该按键的处理。
1.硬件方法
硬件方法是设计一个滤波延时电路或单稳态电路等硬件电路来避开按键的抖动时间。SIL160BTC100图5 -2是由R:和c组成的滤波延时消抖电路,设置在按键s与CPU数据线D;之间。按键未按下时,电容两端电压为0,即非门输入y.为0,输出Vo为1。当s按下时,由于c两端电压不能突变,充电电压yi在充电时间内未达到非门的开启电压,输出y。将不会改变,直到充电电压yi大于门的开启电压时,其输出vo才变为0,这段充电延迟时间取决于R卜R:和C值的大小,电路设计时只要使之大于或等于lOOms即可避开按键抖动的影响。同理,按键s断开时,即使出现抖动,由于c的放电延迟过程,也会消除按键抖动的影响。
图5 -2中,y.是未施加滤波电路含有前沿抖动、后沿抖动的波形,%是施加滤波电路后消除抖动的波形。
2.软件方法
软件方法是指编制一段时间大于lOOms的延时程序,在第一次检测到有键接下哆,垫堡这段主爵子程序使键的前沿抖动消失后再检测该键状态,如果该键仍保持闭合状弯电平,则确获;i墓昌磊毛按下,否则无键按下,从而消除了抖动的影响。同理,在检测到按键释放后,也同样要延迟一段时间,以消除后沿抖动,然后转入对该按键的处理。