munuc_w 發(fā)表于 2021-8-24 08:20
按鍵消抖常用的兩種方法,電容濾波,軟件延時。和什么單片機無關(guān)。
lkc8210 發(fā)表于 2021-8-25 09:56
不明白你的代碼為什么要這樣寫
根據(jù)你的代碼,當(dāng)按下PA0時
PB1會產(chǎn)生2.5Hz的方波(假設(shè)delay的時間是ms)
lkc8210 發(fā)表于 2021-8-25 09:56
不明白你的代碼為什么要這樣寫
根據(jù)你的代碼,當(dāng)按下PA0時
PB1會產(chǎn)生2.5Hz的方波(假設(shè)delay的時間是ms)
灰小伙 發(fā)表于 2021-8-27 10:17
謝謝lkc8210大佬的指導(dǎo),我明白了為什么會產(chǎn)生方波。
只是目前按鍵的靈敏度還是不夠,10次有3-4次按下去 ...
lkc8210 發(fā)表于 2021-8-27 10:30
把delay(200);改短一點試試
灰小伙 發(fā)表于 2021-8-27 10:41
下面是最新的代碼。
void delay (unsigned int ms);
int main(void)
lkc8210 發(fā)表于 2021-8-27 11:10
???
為什么還是要這樣寫?
雖然加了釋放檢測令PB1不會產(chǎn)生方波
灰小伙 發(fā)表于 2021-8-30 09:58
換了個思路,情況有所改善,但還是有20%的按鍵不被認(rèn)識
代碼如下:
int main(void)
lkc8210 發(fā)表于 2021-8-30 11:45
直接取反不香嗎?
PORTB = PORTB ^ 0x02;
灰小伙 發(fā)表于 2021-8-30 12:39
大佬,你好~
因為我這個按鍵要循環(huán)4個狀態(tài),按1次 輸出高。第2次 輸出方波1,第3次輸出方波2,第4次輸出 ...
lkc8210 發(fā)表于 2021-8-30 13:39
方波1和方波2有什么分別?
另外,從你的代碼來看
lkc8210 發(fā)表于 2021-8-30 13:39
方波1和方波2有什么分別?
另外,從你的代碼來看
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |