单片机一个按键,两种方法,三个菜单(界面)

利用按键来进行界面或者是菜单的切换,公子给出以下思路,仅供参考,如果大家还有其他的更加好的方法,请大家私聊公子,好的东西需要一起分享呀。

 

  1. 利用按键的短按,长按和双击来实现

    首先你得明白短按,长按和双击是什么意思,学过51单片机的同学应该知道。

     

    上图是一共4个按键的独立按键,低电平触发,明白这些,再来看看消抖,如下图。

    上图的示意图中是不是有“键稳定”的部分?我们可以通过这一部分细化,

     

    通过键稳定的时间来判断单击还是长按,利用好定时器的定时功能,如上图所示,如果超过3S,则是长按。分析了长按与短按,再来看看什么是双击,一句话,双击就是短按(单击)了2次,通过判断"低电平-高电平-低电平"就可以了。明白了按键的短按,长按和双击,实现菜单(界面)就轻而易举,如果是短按就显示界面1,长按显示界面2,双击显示界面3,这样,可以在三个界面随意切换,不需要按照一定顺序。

     

  2. 利用标志位来实现

    我们首先定义一个按键和一个标志位(为了对比按键的短按,长按和双击,我们假设标志位有3种状态,即0,1和2。事实上不可能有三种状态),按下按键,标志位++;如果标志位==3,标志位置零。三种标志位对应界面的三种情况。这和上面的不同,这个界面的切换是按照一定顺序。比如我是界面1,我需要切换到界面3,我就必须这样:界面1-界面2-界面3;完全需要遵守顺序。如果是利用按键的短按,长按和双击来实现呢?我可以直接双击,立马就从界面1跳到界面3,完全不需要通过界面2。

 

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值