单片机按键双击代码

单片机按键双击代码,第1张

unsigned char i

while(!P3.2)//按键名堂自己定义,高/低电平有效你没说,权当低电平有效

delay(50)//按键去抖动50毫秒

if(!P3.2)while(!P3.2)//等待按键释放

else return//按键抖动返回

for(i = 20i>0i--)//等待按键再次按下,最多等待200毫秒

{

delay(10)//延时10毫秒

if(!P3.2)

{

delay(50)//按键去抖动50毫秒

if(!p3.2)......//去处理按键双击事件

}

}

//等待超时,判定仅有1次按键动作,结束按键检测

这个一般是经验值,可这样判断:连续两次击键间隔时间超过500ms,则视为单击,否则视为双击按键。去抖动时间一般使用30ms。如果按键质量不太好,时间可以加倍。可以选择几组参数

然后实践一下看看手感。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11093858.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存