熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
按一定的時(shí)隙間隔(比如20ms)讀按鍵,不需要軟件延時(shí)(現(xiàn)在的MCU延時(shí)20ms則超過40萬條指令時(shí)間被耗掉),比較前后兩次讀鍵狀態(tài)相等則有效,強(qiáng)干擾場(chǎng)合還可以回溯前幾次的值。 |
按下的時(shí)候消抖, 松開的抖動(dòng)不會(huì)觸發(fā)按鍵按下, 沒有必要重復(fù)檢測(cè) |
lkc8210 發(fā)表于 2022-12-28 09:41 大佬,我能再問幾個(gè)51單片機(jī)的問題嘛 |
名字不是重點(diǎn) 發(fā)表于 2022-12-28 11:38 謝謝 |
univers 發(fā)表于 2022-12-28 10:16 謝謝 |
lkc8210 發(fā)表于 2022-12-28 09:41 謝謝!我下次注意! |
TTQ001 發(fā)表于 2022-12-28 01:43 謝謝! |
定時(shí)器最好了 |
delay(20); 再判斷 按鍵是否按下 這種就是 傳統(tǒng)的軟件消抖。 如果是硬件消抖的話,直接在按鍵兩端并聯(lián)一個(gè)100pf的電容即可。 |
延時(shí)消抖是最簡(jiǎn)單的課本實(shí)例,實(shí)際用狀態(tài)機(jī)等方式,不占用運(yùn)行時(shí)間。 |
參考地板的圖,很清楚地說明了一件事,放開按鍵時(shí)的抖動(dòng)會(huì)被按鍵按下時(shí)的去抖動(dòng)代碼捕捉,被判為無效按鍵,所以放開按鍵時(shí),只要放開了,就是確認(rèn)放開了,不必再去抖了。如要你要計(jì)算按鍵時(shí)長(zhǎng)則另說。 |
上面不是逍抖了一次么。。。。。。。。!! |
這應(yīng)該由程序員完成,鍵盤輸入去抖動(dòng)應(yīng)該一直實(shí)施。 |
Powered by 單片機(jī)教程網(wǎng)