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