PIC单片机在智能双电源装置中的应用(2)
       2017-08-12 03:08
      
	  导读:发电机方式在备用电源合闸状态, 常用电源正常,计时开始 计时中, 正常计时完成,启动电机,进行切换动作 常用电源异常,停止计时,并恢复计时器
	  
        发电机方式在备用电源合闸状态, 
常用电源正常,计时开始 
计时中, 
正常计时完成,启动电机,进行切换动作 
常用电源异常,停止计时,并恢复计时器 
如何把这些相近的操作归纳成相同的函数进行处理,才可以节约程序代码。我把这些操作归纳成如下程序: 
…… 
typedefunion 
{ 
unsignedcharcc; 
struct 
{ 
unsignedcharbit0:1; 
unsignedcharbit1:1; 
unsignedcharbit2:1; 
unsignedcharbit3:1; 
unsignedcharbit4:1; 
unsignedcharbit5:1; 
unsignedcharbit6:1; 
unsignedcharbit7:1; 
}Bits; 
}Char_Bit; 
Char_BitVolErrFlag[2];//可以用位或字节操作 
staticvoidCheckVolErr(unsignedchari) 
//I=0,检查常用电源的电压,更新缺相,欠压和过压标志位 
//I=1,检查备用电源的电压,更新缺相,欠压和过压标志位 
{ 
…… 
} 
staticvoidStartTurn(unsignedcharbi) 
//bi=0,转到常用电源 
//bi=1,转到备用电源 
{ 
…… 
} 
staticvoidCheckVol1(unsignedchari) 
//I=0,判断常用电源的合闸状态 
//I=1,判断备用电源的合闸状态 
{//电压判断,处理函数1 
unsignedcharj,k; 
if(i==0) 
{ 
j=0; 
k=1; 
} 
else 
{ 
j=1; 
k=0; 
} 
if(VolErrFla