
单片机怎样识别按键是单机,双击还是长按,算法应该是怎样? 5
5个回答
展开全部
按键的处理进行时间判断.在一定的时间内如果按下按键,当时间小于这个时间,那么为单次按键,当时间超过一定时间为为长按,当两次按的中间有高电平时,为双击.你可以参考参考.
展开全部
过滤抖动的问题
第一次发生接触时,设置一个flag表明上次所有btn状态,然后定时器启动。然后在main loop进行检测,一直检查刚才那个按下的btn,如果发现到定时器将要到时刻都还在接触状态,那么应该是长按,重置定时器。如果出现了一定间隔的断开,那么等待直到定时器中断发生时,检查flag中btn状态和现在btn状态,则可以发现是否双click---
第一次发生接触时,设置一个flag表明上次所有btn状态,然后定时器启动。然后在main loop进行检测,一直检查刚才那个按下的btn,如果发现到定时器将要到时刻都还在接触状态,那么应该是长按,重置定时器。如果出现了一定间隔的断开,那么等待直到定时器中断发生时,检查flag中btn状态和现在btn状态,则可以发现是否双click---
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按键的处理进行时间判断.在一定的时间内如果按下按键,当时间小于这个时间,那么为单次按键,当时间超过一定时间为为长按,当两次按的中间有高电平时,为双击.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可用定时器产生的方波的沿触发检查按键状态,计算该键按下状态到抬起状态之间的方波沿个数,程序进行判断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过按键 按下以后的脉冲信号来判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询