这是设置数控恒流源的部分程序,谁可以帮忙解释一下吗?
//数字键处理程序//
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;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>