找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1853|回复: 5
收起左侧

请问这个单片机程序中数码管关闭怎样开启?

[复制链接]
ID:103131 发表于 2021-5-7 16:44 | 显示全部楼层 |阅读模式
我按按钮成功关闭,可是再按一下按钮没办法开启,请问有什么办法?

void KEY_TEST2(void)
{
        unsigned int OFF = 5;
        unsigned int i;
        i = KEY2;
        KEY2 = 1;
                if(i==0)//按键1
       {
        delay_ms(50);
        if(i==0)
          {      
              switch(i)
                          {
                                  case(0):
                                          while(!i)
                                          POWER_OFF_MODE(OFF);
                                          
                                  break;
                                  case(1):
                                          while(!i)
                                          AD_TEST();
                                  break;
                          }   
                           
                   }
                  
                }
         
}

回复

使用道具 举报

ID:451718 发表于 2021-5-7 17:06 | 显示全部楼层
i = KEY2 ;  
KEY2只有为0的时候,才能进到if判断, 这时i = KEY2,你如何再进到 switch(i)的 case 1: 呀?
回复

使用道具 举报

ID:213173 发表于 2021-5-7 17:34 | 显示全部楼层
满足不了开机条件
void KEY_TEST2(void)
{
//        unsigned char OFF = 5;
        static unsigned char i=0;
//        i = KEY2;
//        KEY2 = 1;
        if(KEY2==0)//按键1
        {
                delay_ms(20);
                if(KEY2==0)
                {      
                        i=++i%2;
                        switch(i)
                        {
                                case(0):/*开机任务*/break;
                                case(1):/*关机任务*/break;
                        }
                        while(!KEY2);
                }   
        }
}
回复

使用道具 举报

ID:103131 发表于 2021-5-7 19:23 | 显示全部楼层
wulin 发表于 2021-5-7 17:34
满足不了开机条件
void KEY_TEST2(void)
{

你条OK吧?
回复

使用道具 举报

ID:103131 发表于 2021-5-7 19:23 | 显示全部楼层
wulin 发表于 2021-5-7 17:34
满足不了开机条件
void KEY_TEST2(void)
{

谢谢哈!!!!!!!!!!!!!!
回复

使用道具 举报

ID:103131 发表于 2021-5-10 14:26 | 显示全部楼层
wulin 发表于 2021-5-7 17:34
满足不了开机条件
void KEY_TEST2(void)
{

你好,我的主函数是这样while(1)
        {               
          KEY_TEST2();
      AD_TEST();
        }
    一起运行的话就没办法开关了?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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