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

 我来答
无中生有0123
推荐于2018-01-24 · 知道合伙人教育行家
无中生有0123
知道合伙人教育行家
采纳数:237 获赞数:917
物联网、智能柜.

向TA提问 私信TA
展开全部
不能给你程序,只能给你思路。

设置定时器(建设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;
}
小张智能滑屏
2020-04-01 · TA获得超过138个赞
知道答主
回答量:59
采纳率:0%
帮助的人:10.3万
展开全部
设置定时器100毫秒中断a值自家1
设置按键值位变量k
设置按键端口k1
if (!k1)按键按下

delay(20);去痘
if (!k1)确认按下
a=0;计时数清0 确保长按时间精准
while(!k1)按钮没释放 死循环检测按下时间
if(a>30)达到3000毫秒
k=!k按键值取反 没按前为0 长按3秒后为1 短案无效
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
东晨濡5Z
2018-01-20 · TA获得超过384个赞
知道小有建树答主
回答量:461
采纳率:87%
帮助的人:97.6万
展开全部

可以参考下:

网页链接

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式