輕觸按鍵開關(guān)具有結(jié)構(gòu)簡單、成本低、開關(guān)特性好等優(yōu)點(diǎn)。但這種開關(guān)在按鍵被按下時會發(fā)生觸點(diǎn)抖動現(xiàn)象。抖動的結(jié)果是使一次按鍵動作導(dǎo)致電路的多次通斷變化,從而造成誤碼。而且,這種機(jī)械抖動現(xiàn)象是輕觸開關(guān)不可避免的缺點(diǎn)。因此,在電路設(shè)計時需要考慮消除抖動、噪聲等因素引起的誤碼動作。
消除輕觸按鍵開關(guān)抖動的方法有兩種。一種是用硬件電路來實(shí)現(xiàn)的。其原理是利用觸發(fā)器來鎖定按鍵的狀態(tài),達(dá)到消除抖動的目的。輕觸開關(guān)的2個固定觸點(diǎn)分別接到R-S觸發(fā)器的R、S端,而動觸點(diǎn)接地。
平時,動觸點(diǎn)接通在S端點(diǎn),使觸發(fā)器的Q端處于“1”狀態(tài)。當(dāng)微動開關(guān)被按下時,動觸點(diǎn)脫離S端而撞擊到R端。經(jīng)過幾次彈跳后穩(wěn)定接通R端,利用輕觸開關(guān)與R端接通時形成的第1觸點(diǎn)脈沖使觸發(fā)器的Q端置“0”。
由于動觸點(diǎn)繼續(xù)保持與S端斷開,故以后的各個彈跳脈沖都不會使觸發(fā)器的狀態(tài)發(fā)生變化。當(dāng)輕觸開關(guān)按鍵被放開時,動觸點(diǎn)又脫離R端撞擊到S端,幾次彈跳后穩(wěn)定接通S端,又使觸發(fā)器Q端置“1”。目前,一般采用專用消除抖動的集成電路芯片來實(shí)現(xiàn)上述原理。
另一種方法是通過
輕觸按鍵開關(guān)中的微處理器,利用軟件延遲法消除抖動。即在按鍵開關(guān)管理程序中,使數(shù)據(jù)信號的傳送和啟動命令延遲產(chǎn)生。按鍵管理程序確定了防抖動的延遲時間,一般大約在20ms左右,延時后再去讀該按鍵。如果還是閉合的,即確認(rèn)該鍵確實(shí)被按下,同時也可以避免輕觸按鍵開關(guān)在使用時出現(xiàn)連鍵。