找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3043|回复: 14
收起左侧

单片机一个按键怎么控制数码管多种状态?第一次按下和第2次按执行不同的动作

  [复制链接]
ID:727095 发表于 2020-12-4 13:02 来自手机 | 显示全部楼层 |阅读模式
一个按键怎么控制数码管多种状态,比如按下按键第一次,数码管开始自动计时(0-99),按下第二次,数码管停止,按下第三次,数码管清零。用定时器。
回复

使用道具 举报

ID:328014 发表于 2020-12-4 16:39 | 显示全部楼层
可以用检测执行动作状态的办法,比如第一个动作和第2个动作都未执行过,则执行动作1
第一个动作已经执行过了,标志位置1,第2个动作未执行,此时按键则执行2,
以此类推,由于论坛不允许直接提供代码,自行整理一下吧
回复

使用道具 举报

ID:836944 发表于 2020-12-4 16:51 | 显示全部楼层
用一个变量计数?a=0时按下开始计时a+1,a=1时按下暂停a+1,a=2时按下数码管清零a置零。
回复

使用道具 举报

ID:326116 发表于 2020-12-4 17:10 | 显示全部楼层
定义一个全局变量,在按键每次按下时执行的函数里面改变这个变量的值,通过判断这个值来实现不同功能,注意在程序里对变量使用完后进行初始化
回复

使用道具 举报

ID:548551 发表于 2020-12-4 20:42 | 显示全部楼层
if(WORK_NUM==0)
{
   
}
else if(WORK_NUM==1)
{
  
}
else
{
        
}
这里就有三个模式,就这么简单.你把你需要功能分别写进不同的模式就可以了
回复

使用道具 举报

ID:790408 发表于 2020-12-4 20:54 | 显示全部楼层
添加一个flag作为标志,然后判断flag的值就可以实现你想要的模式
回复

使用道具 举报

ID:451718 发表于 2020-12-5 18:41 | 显示全部楼层
1、通过定时器采集时间。
2、在主程序中设定标志位。
3、判断按键动作,改变标志位数值。
4、标志位数值满足条件后,执行相应操作。
回复

使用道具 举报

ID:420836 发表于 2020-12-6 02:04 | 显示全部楼层
创建一个布尔变量,第一次按下该键时,将该变量设置为true,然后执行第一操作; 再次按下该键时,检查该变量,如果该变量为true,则表示第二次按下,执行第二操作,将变量重置为false。 如果变量为false,则表示这是第一次按下,然后执行第一操作。
回复

使用道具 举报

ID:576900 发表于 2020-12-6 10:04 | 显示全部楼层
设置一个flag,当你按键按下的时候,flag++;
回复

使用道具 举报

ID:576900 发表于 2020-12-6 10:07 | 显示全部楼层
你需要设置一个变量flag,当按键按下的时候,flag++,if(flag>=4)flag=0;然后if(flag== 1){数码管开始自动计时}else if(flag==2){数码管停止}else if(flag == 3){数码管清零}
回复

使用道具 举报

ID:785561 发表于 2020-12-7 11:41 | 显示全部楼层
一个按键设置多种模式,然后进行条件判断即可
回复

使用道具 举报

ID:382454 发表于 2020-12-7 11:49 | 显示全部楼层
一个变量累加不就可以了么,很简单。
回复

使用道具 举报

ID:342954 发表于 2020-12-7 11:50 | 显示全部楼层
要标致位处理
回复

使用道具 举报

ID:311846 发表于 2020-12-7 12:03 | 显示全部楼层
按键处理不论的话
if(key)
{
    keyNUM++;   if(keyNUM>3)
{
   keyNUM=0;//或者1,根据需求
}
}
switch(keyNUM)
{
      case 1://第一下按下需处理的
      break;

case 2 :      break;

case 3:      break;


default:      break;

}


回复

使用道具 举报

ID:86450 发表于 2020-12-7 14:10 | 显示全部楼层
状态机················
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表