if(((a&0x01)&&(I>max))||((b&0x01)&&(I<min))
{
if(time1++==time) //当TIME1和设置时间一致时
{
Q1=1; //Q1吸合
if((a&0x01)&&(I>max))
{
flag1=0x01; //上限标志位为0X01
}
else
{
flag1=0; //上限标志位为0
}
if((b&0x01)&&(I<min))
{
flag2=0x10; //下限标志为为0X10
}
else
{
flag2=0; //下限标志为为0X0
}
}
else
{
Q1=0;
flag2=0;
flag1=0;
}
本人想要的是当越上限时,延时后Q1闭合,标志位0X01,不越上限时,Q1和标志位立即为零;
当越下限时,延时后Q1闭合,标志位0X10,不越下限时,Q1和标志位立即为零;
当上下限一直越限时,延时后Q1闭合,标志位0X11,不越上限时,Q1闭合,上限标志位立即清零或Q1闭合,下限标志位立即清零,当上下限一起不越限时一起清零。
现在程序写进去,当上下限一起越限时,当一相不越限的时候无法使标志位立即清零,有延时。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>