用51单片机做一个键盘,按一下数码管加1,可是无论我怎么消抖动,总是有多次响应!望高手帮我解决啊!

最好能写一下C的代码!或者发到我邮箱:1135521360@qq.com 谢谢!
2025-04-17 14:48:45
推荐回答(4个)
回答1:

你可以在去抖程序里加入检测松手程序例如
……
……

if(!key) //检测键盘是否按下
delay()://去抖延时一般是50ms
if(!key)//再次检测键盘是否按下
×××++: //这里写数码管加"1"程序
while(key);//加入写句,目的是等待key变为原来的状态才会执行下一条指令!
希望可以帮到你!

回答2:

增加延时时间,几年前做过,记得延时时间在50ms以上。
如果还不行,重新设计硬件,使用防抖动的电路。

回答3:

看看这里即可解决:
http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/425474d769c7622106088bcd.html

回答4:

同意灰 TAI狼001 的说法,你可能没有检测按键是否松开!