📄 mylib.c
字号:
TickerIc = 0;
Ic_interpret();
}
}
if(TickerIc>=Timing3)
{
disp_stop5(Ic);
TickerIc = 0;
Ic_a_flag = 0;
Ic_interpret();
}
}
}
void Ia_interpret(void)
{
if(IcDis5Start)
a_b = 4;
else if(IpDis5Start)
a_b = 5;
else if(UaDis5Start)
a_b = 0;
else if(UbDis5Start)
a_b = 1;
else if(UcDis5Start)
a_b = 2;
else
a_b = 3;
}
void dispIa(void)
{
if(IaDis5Start)
{
if(!UaDis5Start &&!UbDis5Start &&!UcDis5Start&& !i_flag)
{
a_b = 3;
i_flag = 1;
TickerIa = Timing1;
}
if(TickerIa>=Timing1 && !Ia_a_flag)
{
disp_start5(Ia);
Ia_a_flag = 1;
Ia_b_flag = 0;
}
if(TickerIa>=Timing2 && !Ia_b_flag)
{
disp_fault_time(Ia);
Ia_b_flag = 1;
if(!IaDis5Stop)
{
Ia_a_flag = 0;
TickerIa = 0;
Ia_interpret();
}
}
if(TickerIa>=Timing3)
{
disp_stop5(Ia);
TickerIa = 0;
Ia_a_flag = 0;
Ia_interpret();
}
}
}
void Ua_interpret(void)
{
if(UbDis5Start)
a_b = 1;
else if(UcDis5Start)
a_b = 2;
else if(IaDis5Start)
a_b = 3;
else if(IcDis5Start)
a_b = 4;
else if(IpDis5Start)
a_b = 5;
else
a_b = 0;
}
void dispUa(void)
{
if(UaDis5Start)
{
if(!i_flag)
{
a_b = 0;
i_flag = 1;
TickerUa = Timing1;
}
if(TickerUa>=Timing1 && !Ua_a_flag)
{
disp_start5(Ua);
Ua_a_flag = 1;
Ua_b_flag = 0;
}
if(TickerUa>=Timing2 && !Ua_b_flag)
{
disp_fault_time(Ua);
Ua_b_flag = 1;
if(!UaDis5Stop)
{
Ua_a_flag = 0;
TickerUa = 0;
Ua_interpret();
}
}
if(TickerUa>=Timing3)
{
disp_stop5(Ua);
TickerUa = 0;
Ua_a_flag = 0;
Ua_interpret();
}
}
}
void Ub_interpret(void)
{
if(UcDis5Start)
a_b = 2;
else if(IaDis5Start)
a_b = 3;
else if(IcDis5Start)
a_b = 4;
else if(IpDis5Start)
a_b = 5;
else if(UaDis5Start)
a_b = 0;
else
a_b = 1;
}
void dispUb(void)
{
if(UbDis5Start)
{
if(!UaDis5Start && !i_flag)
{
a_b = 1;
i_flag = 1;
TickerUb = Timing1;
}
if(TickerUb>=Timing1 && !Ub_a_flag)
{
disp_start5(Ub);
Ub_a_flag = 1;
Ub_b_flag = 0;
}
if(TickerUb>=Timing2 && !Ub_b_flag)
{
disp_fault_time(Ub);
Ub_b_flag = 1;
if(!UbDis5Stop)
{
Ub_a_flag = 0;
TickerUb = 0;
Ub_interpret();
}
}
if(TickerUb>=Timing3)
{
disp_stop5(Ub);
TickerUb = 0;
Ub_a_flag = 0;
Ub_interpret();
}
}
}
void Uc_interpret(void)
{
if(IaDis5Start)
a_b = 3;
else if(IcDis5Start)
a_b = 4;
else if(IpDis5Start)
a_b = 5;
else if(UaDis5Start)
a_b = 0;
else if(UbDis5Start)
a_b = 1;
else
a_b = 2;
}
void dispUc(void)
{
if(UcDis5Start)
{
if(!UaDis5Start && !UbDis5Start&&!i_flag)
{
a_b = 2;
i_flag = 1;
TickerUc = Timing1;
}
if(TickerUc>=Timing1 && !Uc_a_flag)
{
disp_start5(Uc);
Uc_a_flag = 1;
Uc_b_flag = 0;
}
if(TickerUc>=Timing2 && !Uc_b_flag)
{
disp_fault_time(Uc);
Uc_b_flag = 1;
if(!UcDis5Stop)
{
Uc_a_flag = 0;
TickerUc = 0;
Uc_interpret();
}
}
if(TickerUc>=Timing3)
{
disp_stop5(Uc);
TickerUc = 0;
Uc_a_flag = 0;
Uc_interpret();
}
}
}*/
/////////////////////////////////5_17 shaded
/*void disp_start5(uchar type)
{
a_stop = 0; //for don't display "终/到"
a_start = 1; //for display "起始"
switch(type)
{
case Ua:
if(UaDis5Start)
{
DisUaNumFlag = 1; //test for number of fault
DisUbNumFlag = 0;
DisUcNumFlag = 0;
DisIaNumFlag = 0;
DisIcNumFlag = 0;
DisIpNumFlag = 0;
Phase_select(Phase_A);
DispIC1_start_stop(S1,UaFault_start_time); //
UaDis5Fault = 1;
}
break;
case Ub:
if(UbDis5Start)
{
DisUbNumFlag = 1; //test for number of fault
DisUaNumFlag = 0;
DisUcNumFlag = 0;
DisIaNumFlag = 0;
DisIcNumFlag = 0;
DisIpNumFlag = 0;
Phase_select(Phase_B);
DispIC1_start_stop(S1,UbFault_start_time); //
UbDis5Fault = 1;
}
break;
case Uc:
if(UcDis5Start)
{
DisUcNumFlag = 1; //test for number of fault
DisUbNumFlag = 0;
DisUaNumFlag = 0;
DisIaNumFlag = 0;
DisIcNumFlag = 0;
DisIpNumFlag = 0;
Phase_select(Phase_C);
DispIC1_start_stop(S1,UcFault_start_time); //
UcDis5Fault = 1;
}
break;
case Ia:
if(IaDis5Start)
{
DisIaNumFlag = 1; //test for number of fault
DisUaNumFlag = 0;
DisUbNumFlag = 0;
DisUcNumFlag = 0;
DisIcNumFlag = 0;
DisIpNumFlag = 0;
Phase_select(Phase_A);
DispIC1_start_stop(S2,IaFault_start_time); //
IaDis5Fault = 1;
}
break;
case Ic:
if(IcDis5Start)
{
DisIcNumFlag = 1; //test for number of fault
DisUaNumFlag = 0;
DisUbNumFlag = 0;
DisUcNumFlag = 0;
DisIaNumFlag = 0;
DisIpNumFlag = 0;
Phase_select(Phase_C);
DispIC1_start_stop(S2,IcFault_start_time); //
IcDis5Fault = 1;
}
break;
case Ip:
if(IpDis5Start)
{
DisIpNumFlag = 1; //test for number of fault
DisUaNumFlag = 0;
DisUbNumFlag = 0;
DisUcNumFlag = 0;
DisIcNumFlag = 0;
DisIaNumFlag = 0;
LCD_WD2(26,0x08);
DispIC1_start_stop(S3,IpFault_start_time); //
IpDis5Fault = 1;
}
break;
default:
break;
}
}*/
/*void disp_fault_time(uchar type)
{
a_start = 0; //for don't display "起始" ,default display "当前"
switch(type)
{
case Ua:
if(UaDis5Fault)
{
Phase_select(Phase_A);
DispIC1(S1,Ua_fault);
}
break;
case Ub:
if(UbDis5Fault)
{
Phase_select(Phase_B);
DispIC1(S1,Ub_fault);
}
break;
case Uc:
if(UcDis5Fault)
{
Phase_select(Phase_C);
DispIC1(S1,Uc_fault);
}
break;
case Ia:
if(IaDis5Fault)
{
Phase_select(Phase_A);
DispIC1(S2,Ia_fault);
}
break;
case Ic:
if(IcDis5Fault)
{
Phase_select(Phase_C);
DispIC1(S2,Ic_fault);
}
break;
case Ip:
if(IpDis5Fault)
{
LCD_WD2(26,0x08); //no display A,B,C
DispIC1(S3,Ip_fault);
}
break;
default:
break;
}
}
void disp_stop5(uchar type)
{
a_stop = 1; //for display "终/到"
switch(type)
{
case Ua:
if(UaDis5Stop)
{
Phase_select(Phase_A);
DispIC1_start_stop(S1, UaFault_stop_time); //
}
break;
case Ub:
if(UbDis5Stop)
{
Phase_select(Phase_B);
DispIC1_start_stop(S1, UbFault_stop_time); //
}
break;
case Uc:
if(UcDis5Stop)
{
Phase_select(Phase_C);
DispIC1_start_stop(S1, UcFault_stop_time); //
}
break;
case Ia:
if(IaDis5Stop)
{
Phase_select(Phase_A);
DispIC1_start_stop(S2, IaFault_stop_time); //
}
break;
case Ic:
if(IcDis5Stop)
{
Phase_select(Phase_C);
DispIC1_start_stop(S2, IcFault_stop_time); //
}
break;
case Ip:
if(IpDis5Stop)
{
LCD_WD2(26,0x08); //no display A,B,C
DispIC1_start_stop(S3, IpFault_stop_time); //
}
break;
default:
break;
}
}*/
/******************************************************/
/*本程序为初始化串口,波特率1200,***********************/
/*定时器t0用来产生38kHZ载波*************************************/
/*************************************设计日期*2007.6.8*****/
void InitSci(void)
{
EA=1;
ES=1;
ET0=1;
//TMOD=0x20;
TMOD=0x22;
TH1=0XE8;
TL1=0XE8;
//TH0=0xf3;
//TL0=0xf3;
TH0=0XF3;
TL0=0XF3;
TR0=1;
TR1=1;
SCON=0X50;
}
/******************************************************/
/*本程序为切换故障类别*******//****************/
/**************************************/
/*************************************设计日期*2007.6.8*****/
void Change_phase(void)
{
if(swith_phase)
{m2=m2+1;
swith_phase=0;
n=0;
m1=0;
times_flag=0;
if(m2>6)m2=1;
}
switch (m2)
{
case 1: Fault_adress=80;break;//Fault_adress存贮故障的地址
case 2: Fault_adress=200;break;
case 3: Fault_adress=320;break;
case 4: Fault_adress=440;break;
case 5: Fault_adress=560;break;
case 6: Fault_adress=680;break;
}
}
/******************************************************/
/*本程序为红外串行发送子程序*/
/**************************************/
/*************************************设计日期*2007.6.8*****/
void SciSend(void)
{uchar i;
KickDog();
if(send_flag)//发送标志
{
if(error_flag) //有错误,则重新发送
{m1=m1-6;
goto loop;
}
next: if(!times_flag)n++;
if(n>9)
{n=0;
times_flag=0;
goto next;
}
times_flag=!times_flag;
loop: rd_s_eeprom(FaultTime,Fault_adress+m1,sizeof(FaultTime));
if(Fault_adress==80)FaultTime[0]=1;
if(Fault_adress==200)FaultTime[0]=2;
if(Fault_adress==320)FaultTime[0]=3;
if(Fault_adress==440)FaultTime[0]=4;
if(Fault_adress==560)FaultTime[0]=6;
if(Fault_adress==680)FaultTime[0]=7;
SBUF=0xcc; //0xcc为发送起始标志
KickDog();
while(!TI);
TI=0;
SBUF=n;
KickDog();
while(!TI);
TI=0;
for(i=0;i<6;i++)
{SBUF=FaultTime[i];
//SBUF=6;
KickDog();
while(!TI);
TI=0;
}
SBUF=FaultTime[0]+FaultTime[1]+FaultTime[2]+FaultTime[3]+FaultTime[4]+FaultTime[5]+n;
KickDog();
while(!TI);
TI=0;
send_flag=0;
m1=m1+6;
if(m1>102)m1=0;
}
KickDog();
}
/******************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -