按鍵消抖的方法有兩種 按鍵消抖的方法?
按鍵消抖的方法?消除抖動(dòng)的目的是為了避免按鍵或抬起時(shí)劇烈抖動(dòng)的影響。可以通過(guò)硬件或軟件消除按鍵抖動(dòng)。如果鑰匙較多,常用軟件方法消除抖動(dòng),即檢測(cè)到鑰匙關(guān)閉后,執(zhí)行延時(shí)程序,延時(shí)5ms~10ms,前沿抖動(dòng)
按鍵消抖的方法?
消除抖動(dòng)的目的是為了避免按鍵或抬起時(shí)劇烈抖動(dòng)的影響??梢酝ㄟ^(guò)硬件或軟件消除按鍵抖動(dòng)。如果鑰匙較多,常用軟件方法消除抖動(dòng),即檢測(cè)到鑰匙關(guān)閉后,執(zhí)行延時(shí)程序,延時(shí)5ms~10ms,前沿抖動(dòng)消失后,再檢測(cè)鑰匙狀態(tài)。如果仍然保持關(guān)閉狀態(tài)級(jí)別,則確認(rèn)有按鍵。當(dāng)檢測(cè)到鑰匙松開時(shí),應(yīng)給予5ms~10ms的延時(shí)。后緣抖動(dòng)消失后,密鑰的處理程序就可以傳輸了。一般來(lái)說(shuō),軟件抖振消除的方法是不斷地檢測(cè)關(guān)鍵值,直到關(guān)鍵值穩(wěn)定為止。實(shí)現(xiàn)方法:假設(shè)不按鍵時(shí)輸入1,按鍵時(shí)輸入0,抖動(dòng)不確定。可進(jìn)行以下測(cè)試:檢測(cè)到按鍵輸入為0后,延時(shí)5ms~10ms,再檢測(cè)一次,如果按鍵仍為0,則認(rèn)為有按鍵輸入。5ms-10ms的延遲正好避免了抖動(dòng)周期。
按鍵消抖真的有必要嗎?
是這樣的:如果鑰匙不動(dòng),就會(huì)引起誤判。誤判的概率取決于每次檢查鑰匙的時(shí)間間隔。如果時(shí)間間隔很長(zhǎng),誤判的可能性很小。當(dāng)你檢查兩次鑰匙,同時(shí)鑰匙在晃動(dòng)時(shí)會(huì)出現(xiàn)這種情況如果時(shí)間太長(zhǎng),會(huì)給用戶一種按鈕不靈敏的感覺(jué)。如果時(shí)間太短,就會(huì)經(jīng)常出錯(cuò)。雖然這樣的程序可以使用,但并不嚴(yán)謹(jǐn)。至于它是否會(huì)逃跑,則是另一個(gè)話題。錯(cuò)誤的判斷和用戶的錯(cuò)誤輸入應(yīng)該具有相同的效果。嚴(yán)格說(shuō)來(lái),這種錯(cuò)誤不應(yīng)該導(dǎo)致程序跑掉
電路圖如下
常用鍵的開關(guān)是機(jī)械彈性開關(guān)。當(dāng)機(jī)械觸點(diǎn)打開或關(guān)閉時(shí),由于機(jī)械觸點(diǎn)的彈性作用,鑰匙開關(guān)在關(guān)閉時(shí)不會(huì)立即穩(wěn)定接通,在打開時(shí)也不會(huì)立即打開。因此,在開關(guān)的瞬間會(huì)出現(xiàn)一系列的抖動(dòng)。避免這種現(xiàn)象的措施是按鍵消除抖動(dòng)。消除震動(dòng)的目的是為了避免按鍵或抬起時(shí)劇烈震動(dòng)的影響。
按鍵消抖電容接法?
發(fā)布已發(fā)布,程序?qū)⑼V惯\(yùn)行。抖動(dòng)之間有什么關(guān)系?因?yàn)榘存I可以消除抖動(dòng),所以按鍵釋放的抖動(dòng)永遠(yuǎn)不會(huì)作為按鍵的信號(hào)。如果按鍵是真的,它就不會(huì)震動(dòng)。既然檢測(cè)到釋放,就會(huì)有假釋,按鍵消除抖振的原因是單片機(jī)的處理速度很快。如果按鍵一次,則可視為多次按鍵。即使加了防抖處理,手動(dòng)響應(yīng)也比較慢,按一次的持續(xù)時(shí)間至少還是幾秒鐘,還是會(huì)被視為多次處理。通過(guò)密鑰提升檢測(cè),雖然密鑰提升時(shí)存在抖動(dòng),但抖動(dòng)時(shí)間較短,可以避免這一問(wèn)題。在此期間,即使檢測(cè)到按鍵被按下,延遲一段時(shí)間后仍會(huì)釋放。它不會(huì)被用作再次按壓的信號(hào),也就是說(shuō),如果沒(méi)有消除抖動(dòng)的延時(shí),按壓一次可以被認(rèn)為是按壓一千次。只有當(dāng)抖振消除,且沒(méi)有檢測(cè)到提鍵時(shí),按一次仍可視為按幾十次。當(dāng)然,如果消除抖振時(shí)延遲時(shí)間太短,按鍵抬起檢測(cè)后仍有出錯(cuò)的可能,那么按鍵抬起防抖處理除此之外還有一點(diǎn)效果,有時(shí)需要按鍵而不丟失,這樣可以實(shí)現(xiàn)連續(xù)變化。如果電子表調(diào)整的是秒和分,此時(shí)不需要添加鑰匙提升檢測(cè),但需要添加更大的延遲,因?yàn)槿绻麛?shù)字變化太快,就不能只在需要的地方停車。你想讓它停在30,然后你可以把它顛倒到40,然后變成25