单片机按键短按和长按的程序?

2024-11-03 05:19:50
推荐回答(1个)
回答1:

不能给你程序,只能给你思路。

设置定时器(建设100ms),在设置一个变量x,(100ms自加1)
在主循环中判断按键是否按下,并判断x的值大小;

假设 x每隔100ms加1
y是按键状态(为1表示按下,为0 表示未按)
z记录按键状态的(初始值0)
b 记录长安 a记录短按
eg:

if(!z)
{
if(y)
{
a=1;
z=1;
}
}
else if(x>10)// 1s
{
b=1;
}