微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 程序不懂

程序不懂

时间:10-02 整理:3721RD 点击:
这是设置数控恒流源的部分程序,谁可以帮忙解释一下吗?
//数字键处理程序//
void num_key(unsigned char shuma)
{
if(shezhi==1)
  {if(++bit_shuma>=4)
          bit_shuma=1;
  switch(bit_shuma)
          {
          case 1:if(shuma<2)
                                  num1=shuma;
                          else
                                  bit_shuma--;break;
          case 2:if(num1==0|(num1==1&&shuma<3))
                                  num2=shuma;
                          else
                                  bit_shuma--;break;
          case 3:if(!(num1==1&&num2==2)|shuma==0)
                                  num3=shuma;
                          else
                                  bit_shuma--;break;
        }
  }
}
//步进加1子程序//
void add1(void)
{
  if(num1==0)
          {
          if(num2<9)
                  num2++;
          else if(num2==9)
                  {
                  num1++;
                  num2=0;
                }
     }
  else if(num1==1)
          {
          if(num2<1)
                  num2++;
          else if(num2==1&num3==0)
                          num2++;
        }
}
//步进减1子程序//
void dec1(void)
{
  if(num2>0)
          num2--;
  else if(num2==0&&num1==1)
          {
          num2=9;
          num1=0;
        }
}
//步进加0.1子程序//
void add01(void)
{
  if(num3<9&&!(num1==1&&num2==2))
          num3++;
  else if(num3==9)
          {
          if((num1==1&&num2<2)|        (num1==0&&num2<9))
                  {
                  num2++;
                  num3=0;
                }
          else if(num1==0&&num2==9)
                  {
                  num1++;
                  num2=0;
                  num3=0;
                }
        }
                 
}
//步进减0.1子程序//
void dec01(void)
{
  if(num3>0)
          num3--;
  else if(num3==0&&num2>0)
          {
          num2--;
          num3=9;
        }
  else if(num3==0&&num2==0&&num1>0)
          {
          num1--;
          num2=9;
          num3=9;
        }
}
//设置键程序//
void select(void)
{
  shezhi=1;
  bit_shuma=0;
}
//确认输出子程序//
void shuchu(void)
{
  unsigned char temp,dianya;
  temp=num1*100+num2*10+num3;
  dianya=temp;
  DA=dianya;
  shezhi=0;
}

很简单的语句啊。你那部分不懂啊。不然说全看不懂喔,不然也无法解释给你了。

步进程序不懂,感激不尽!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top