📄 zhongcai.c
字号:
void main()
{
uchar M = 1;
FlagCurrent = ZhongCai;
P12 = 1; P13 = 1; P14 = 1; P15 = 1;
P16 = 1; P17 = 1; P36 = 1;
InitSerialCom();
Time0Initial();
ClearComRam(ComSlaveLenAdd1);
ClearComRam(ComSlaveLenAdd2);
ClearComRam(ComSlaveLenAdd3);
ClearComRam(ComSlaveLenAdd4);
ClearComRam(ComSlaveLenAdd5);
ClearComRam(ComAlarmLenAdd1);
ClearComRam(ComAlarmLenAdd2);
ClearComRam(ComAlarmLenAdd3);
ClearComRam(ComAlarmLenAdd4);
ClearComRam(ComAlarmLenAdd5);
ClearComRam(ComLenOrder);
ClearComRam(ComLenTimer);
ClearComRam(ComLenOutput);
ComReadBytes(ComSlaveEnable,SlaveEnableRcv,LenCmdSlaveEnable);
if((SlaveEnableRcv[0] == 0x2A) && (SlaveEnableRcv[1] == 0xA8))
{
if(SlaveEnableRcv[2] == 1){ FlagSlave1Enable = 1;} else { FlagSlave1Enable = 0;}
if(SlaveEnableRcv[3] == 1){ FlagSlave2Enable = 1;} else { FlagSlave2Enable = 0;}
if(SlaveEnableRcv[4] == 1){ FlagSlave3Enable = 1;} else { FlagSlave3Enable = 0;}
if(SlaveEnableRcv[5] == 1){ FlagSlave4Enable = 1;} else { FlagSlave4Enable = 0;}
if(SlaveEnableRcv[6] == 1){ FlagSlave5Enable = 1;} else { FlagSlave5Enable = 0;}
}
while(1)
{
switch(FlagCurrent)
{
case ZhongCai:
{
P2 = P2 | 0x07;
ComReadBytes(ComSlaveEnable,SlaveEnableRcv,LenCmdSlaveEnable);
if((SlaveEnableRcv[0] == 0x2A) && (SlaveEnableRcv[1] == 0xA8))
{
if(SlaveEnableRcv[2] == 1){ FlagSlave1Enable = 1;} else { FlagSlave1Enable = 0;}
if(SlaveEnableRcv[3] == 1){ FlagSlave2Enable = 1;} else { FlagSlave2Enable = 0;}
if(SlaveEnableRcv[4] == 1){ FlagSlave3Enable = 1;} else { FlagSlave3Enable = 0;}
if(SlaveEnableRcv[5] == 1){ FlagSlave4Enable = 1;} else { FlagSlave4Enable = 0;}
if(SlaveEnableRcv[6] == 1){ FlagSlave5Enable = 1;} else { FlagSlave5Enable = 0;}
}
ClearComRam(ComLenOrder);
P2 = P2 | 0x07;
P0 = 0xFF; //設置P0口高阻抗。
FlagCurrent = Output;
}
break;
case Output:
{
P2 = P2 | 0x07;
P2 = P2 & 0xFE;
Delay(DelayTime);
P2 = P2 | 0x07;
P36 = 1;
while (P36 == 1);
if(P36 == 0)
{
FlagCurrent = Main;
}
}
break;
case Main:
{
P2 = P2 | 0x07;
P2 = P2 & 0xFD;
Delay(DelayTime);
P2 = P2 | 0x07;
P17 = 1;
while (P17 == 1);
if(P17 == 0)
{
FlagCurrent = Slave5;
}
}
break;
case Slave5:
{
if(FlagSlave5Enable == 1)
{
P2 = P2 | 0x07;
P2 = P2 & 0xFC;
Delay(DelayTime);
P2 = P2 | 0x07;
P16 = 1;
while (P16 == 1);
if(P16 == 0)
{
FlagCurrent = Slave4;
}
}
else
{
FlagCurrent = Slave4;
}
}
break;
case Slave4:
{
if(FlagSlave4Enable == 1)
{
P2 = P2 | 0x07;
P2 = P2 & 0xFB;
Delay(DelayTime);
P2 = P2 | 0x07;
P15 = 1;
while (P15 == 1);
if(P15 == 0)
{
FlagCurrent = Slave3;
}
}
else
{
FlagCurrent = Slave3;
}
}
break;
case Slave3:
{
if(FlagSlave3Enable == 1)
{
P2 = P2 | 0x07;
P2 = P2 & 0xFA;
Delay(DelayTime);
P2 = P2 | 0x07;
P14 = 1;
while (P14 == 1);
if(P14 == 0)
{
FlagCurrent = Slave2;
}
}
else
{
FlagCurrent = Slave2;
}
}
break;
case Slave2:
{
if(FlagSlave2Enable == 1)
{
P2 = P2 | 0x07;
P2 = P2 & 0xF9;
Delay(DelayTime);
P2 = P2 | 0x07;
P13 = 1;
while (P13 == 1);
if(P13 == 0)
{
FlagCurrent = Slave1;
}
}
else
{
FlagCurrent = Slave1;
}
}
break;
case Slave1:
{
if(FlagSlave1Enable == 1)
{
P2 = P2 | 0x07;
P2 = P2 & 0xF8;
Delay(DelayTime);
P2 = P2 | 0x07;
P12 = 1;
while (P12 == 1);
if(P12 == 0)
{
FlagCurrent = ZhongCai;
}
}
else
{
FlagCurrent = ZhongCai;
}
}
break;
default:
{
P2 = P2 | 0x07;
FlagCurrent = ZhongCai;
}
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -