📄 ad.c
字号:
return(0);
}
}
pd_v=(float)Comp_Data[12]*40.95/(24*MULTI_V);
pu_v=(float)Comp_Data[13]*40.95/(24*MULTI_V);
DA_Convert(pu_v);
for(i=0;i<200;i++) Delay_1(250);
if(NO_TIME)
{
DA_Convert(Comp_Data_T[0]*4095/(24*MULTI_V));
for(i=0;i<100;i++) Delay_1(250);
DA_Convert(pd_v);
for(i=0;i<100;i++) Delay_1(250);
if(NO_TIME)
{
SetP_Data[4]=13;//ng
Set_Data_fast(SetP_Data,5,0,7);
IO_B=0xFF;
IO_A&=0xF7;
IO_C&=0xFD;
DA_Convert(0);
return(0);
}
else
{
SetP_Data[4]=14;//ok
Set_Data_fast(SetP_Data,5,0,7);
IO_B|=0x08;
DA_Convert(0);
for(i=0;i<20;i++) Delay_1(250);
return(1);
}
}
else
{
SetP_Data[4]=13;//ng
Set_Data_fast(SetP_Data,5,0,7);
IO_B=0xFF;
IO_A&=0xF7;
IO_C&=0xFC;
DA_Convert(0);
return(0);
}
}
bit V_Test(void)
{
unsigned char i,Count=0;
unsigned long V_V=0,V_Value_Temp=0;
bit NG_Flag=0,EXT_Enbale=0;//OP_F=0;//
//unsigned float Test_Data[3]_Temp=0;
for(i=0;i<11;i++)
{
SetP_Data[i]=15;
}
IO_B&=0xF7;
for(i=0;i<30;i++) Delay_1(250);
V_Value=0;
V_Up=0;
F=1;
TH_Flag=0;
p_v=0;
Test_Data[3]=0;
Test_Data[4]=0;
TMOD=0x21;//T1 IS Method 2; T0 is method 1;
TH0=T0_Time/256;//0.5ms
TL0=T0_Time%256;
if(Comp_Data_T[0]==12)
{
V_V=2048;
}
else if(Comp_Data_T[0]==24) V_V=4095;
//IE0=0;//clear external 0 flag;
TR0=1;
//EX0=1;//Enable External 0 Interrupt.
while(!V_Up)
{
DA_Convert(V_Value);
while(!TF0);
TF0=0;
TH0=T0_Time/256;//0.5ms
TL0=T0_Time%256;
if(NO_TIME)
{
p_v=V_Value-70;//about decrease 0.5v
DA_Convert(0);
TR0=0;
V_Up=1;
}
V_Value+=2;
if(V_Value>=V_V)
{
V_Up=1;
TR0=0;
}
}
for(i=0;i<50;i++) Delay_1(250);
V_Value=p_v;
DA_Convert(V_Value);
for(i=0;i<50;i++) Delay_1(250);
TH0=T0_Time_2/256;//1ms
TL0=T0_Time_2%256;
V_Up=0;
TR0=1;
while(!V_Up)
{
DA_Convert(V_Value);
while(!TF0);
TF0=0;
TH0=T0_Time_2/256;//1ms
TL0=T0_Time_2%256;
if(EXT_Enbale)
{
Count++;
if(Count==5)
{
IE0=0;//clear external 0 flag;
EX0=1;//Enable External 0 Interrupt.
Count=0;
EXT_Enbale=0;
}
}
if(NO_TIME&&F)
{
F=0;
p_v=V_Value-REPAIR;
V_Value_Temp=p_v;
Test_Data[3]=(float)p_v*2.4*MULTI_V/4.095;
//IE0=0;//clear external 0 flag;
//EX0=1;//Enable External 0 Interrupt.
EXT_Enbale=1;
}
//V_Value+=2;
V_Value++;
if(TH_Flag||(V_Value>=(V_V*0.625)))
{
EX0=0;
TR0=0;
//EX0=0;
V_Up=1;
DA_Convert(V_V);
}
if(V_Value>=V_V)
{
V_Up=1;
TR0=0;
}
}
if(TH_Flag)
{
if((Test_Data[3]>Comp_Data[6])&&(Test_Data[3]<=Comp_Data[7])) SetP_Data[4]=14;//ok
else SetP_Data[4]=13;//ng
Num_Convert(Test_Data[3],4);
if((Page_Val==0)||(Page_Val==6)) Tests_Data(SetP_Data,5,4);
else if(Page_Val==3) Tests_Data(SetP_Data,5,5);
if(SetP_Data[4]==13)
{
NG_Flag=1;
IO_A&=0xFB;
IO_C&=0xFD;
}
if((Test_Data[4]>=Comp_Data[8])&&(Test_Data[4]<=Comp_Data[9])) SetP_Data[4]=14;//ok
else
{
SetP_Data[4]=13;//ng
IO_A&=0xFB;
IO_C&=0xFC;
}
Num_Convert(Test_Data[4],4);
//Tests_Data(SetP_Data,5,5);
if((Page_Val==0)||(Page_Val==6)) Tests_Data(SetP_Data,5,5);
else if(Page_Val==3) Tests_Data(SetP_Data,5,6);
if((SetP_Data[4]==13)||(NG_Flag==1))
{
IO_B=0xFF;
V_Up=0;
DA_Convert(0);
return(0);
}
}
else
{
if(Page_Val==6) Test_Data[4]=Test_Data[3];
else Test_Data[4]=0;
if((Test_Data[3]>Comp_Data[6])&&(Test_Data[3]<=Comp_Data[7])) SetP_Data[4]=14;//ok
else SetP_Data[4]=13;//ng
Num_Convert(Test_Data[3],4);
//Tests_Data(SetP_Data,5,4);
if((Page_Val==0)||(Page_Val==6)) Tests_Data(SetP_Data,5,4);
else if(Page_Val==3) Tests_Data(SetP_Data,5,5);
if(SetP_Data[4]==13)
{
NG_Flag=1;
IO_A&=0xFB;
IO_C&=0xFD;
}
if((Test_Data[4]>=Comp_Data[8])&&(Test_Data[4]<=Comp_Data[9])) SetP_Data[4]=14;//ok
else
{
SetP_Data[4]=13;//ng
IO_A&=0xFB;
IO_C&=0xFC;
}
Num_Convert(Test_Data[4],4);
//Tests_Data(SetP_Data,5,5);
if((Page_Val==0)||(Page_Val==6)) Tests_Data(SetP_Data,5,5);
else if(Page_Val==3) Tests_Data(SetP_Data,5,6);
if((SetP_Data[4]==13)||(NG_Flag==1))
{
//IO_B|=0x60;
IO_B=0xFF;
V_Up=0;
//V_Value=0;
DA_Convert(0);
return(0);
}
}
for(i=0;i<20;i++) Delay_1(250);
TH_Flag=0;
F=1;
//OP_F=0;
V_Value=V_Value_Temp;
DA_Convert(V_Value);
for(i=0;i<40;i++) Delay_1(250);
Test_Data[5]=0;
Test_Data[6]=0;
TH0=T0_Time/256;//0.5ms
TL0=T0_Time%256;
//IE0=0;
TR0=1;
//EX0=1;
while(V_Up)
{
DA_Convert(V_Value);
while(!TF0);
TF0=0;
TH0=T0_Time/256;//0.5ms
TL0=T0_Time%256;
/* if(EXT_Enbale)
{
EX0=1;//Enable External 0 Interrupt.
EXT_Enbale=0;
}*/
if((NO_TIME==0)&&F)
{
F=0;
if(Page_Val==6)
{
Test_Data[5]=(float)(V_Value+REPAIR_1)*2.4*MULTI_V/4.095;
}
else
{
p_v=V_Value+REPAIR_1;
Test_Data[6]=(float)p_v*2.4*MULTI_V/4.095;
}
IE0=0;//clear external 0 flag;
EX0=1;//Enable External 0 Interrupt.
//EXT_Enbale=1;
}
//V_Value-=2;
V_Value--;
if(TH_Flag||(V_Value<=10))
{
EX0=0;
TR0=0;
V_Up=0;
}
/* if((OP_F==0)&&TH_Flag)
{
EX0=0;
OP_F=1;
}
if(V_Value<=10)
{
TR0=0;
EX0=0;
//EA=0;
V_Up=0;
}*/
}
DA_Convert(0);
if(TH_Flag)
{
if((Test_Data[5]>=Comp_Data[10])&&(Test_Data[5]<=Comp_Data[11])) SetP_Data[4]=14;//ok
else SetP_Data[4]=13;//ng
Num_Convert(Test_Data[5],4);
//Tests_Data(SetP_Data,5,6);
if((Page_Val==0)||(Page_Val==6)) Tests_Data(SetP_Data,5,6);
else if(Page_Val==3) Tests_Data(SetP_Data,5,7);
if(SetP_Data[4]==13)
{
NG_Flag=1;
IO_A&=0xF7;
IO_C&=0xFD;
}
if(Test_Data[6]>=Comp_Data[12]&&Test_Data[6]<Comp_Data[13]) SetP_Data[4]=14;//ok
else
{
SetP_Data[4]=13;//ng
IO_A&=0xF7;
IO_C&=0xFC;
}
Num_Convert(Test_Data[6],4);
//Tests_Data(SetP_Data,5,7);
if((Page_Val==0)||(Page_Val==6)) Tests_Data(SetP_Data,5,7);
else if(Page_Val==3) Tests_Data(SetP_Data,5,8);
if((SetP_Data[4]==13)||(NG_Flag==1))
{
//TR0=0;
//IO_B|=0x60;
IO_B=0xFF;
//V_Value=0;
DA_Convert(0);
return(0);
}
}
else
{
if(Page_Val==6) Test_Data[6]=Test_Data[5];
else Test_Data[5]=0;
//Test_Data[6]=d_v*24/40.95;
if((Test_Data[5]>=Comp_Data[10])&&(Test_Data[5]<=Comp_Data[11])) SetP_Data[4]=14;//ok
else SetP_Data[4]=13;//ng
Num_Convert(Test_Data[5],4);
// Tests_Data(SetP_Data,5,6);
if((Page_Val==0)||(Page_Val==6)) Tests_Data(SetP_Data,5,6);
else if(Page_Val==3) Tests_Data(SetP_Data,5,7);
if(SetP_Data[4]==13)
{
NG_Flag=1;
IO_A&=0xF7;
IO_C&=0xFD;
}
if((Test_Data[6]>=Comp_Data[12])&&(Test_Data[6]<Comp_Data[13])) SetP_Data[4]=14;//ok
else
{
SetP_Data[4]=13;//ng
IO_A&=0xF7;
IO_C&=0xFC;
}
Num_Convert(Test_Data[6],4);
//Tests_Data(SetP_Data,5,7);
if((Page_Val==0)||(Page_Val==6)) Tests_Data(SetP_Data,5,7);
else if(Page_Val==3) Tests_Data(SetP_Data,5,8);
if((SetP_Data[4]==13)||(NG_Flag==1))
{
IO_B=0xFF;
//V_Value=0;
DA_Convert(0);
return(0);
}
}
IO_B|=0x08;
for(i=0;i<20;i++) Delay_1(250);
return(1);
}
bit PDT_Test(void)
{
unsigned char i;
for(i=0;i<11;i++)
{
SetP_Data[i]=15;
}
Test_Data[7]=9999;
Test_Data[9]=9999;
IO_B&=0xF7;
AD_COM=0x0E;//coil cut on;
for(i=0;i<20;i++) Delay_1(250);
TMOD=0x22;//T1 IS Method 2; T0 is method 2;
TH0=T0_T_10;//10us
TL0=T0_T_10;
T_Count=0;
DA_Convert(Comp_Data_T[0]*409.5/(2.4*MULTI_V));
for(i=0;i<20;i++) Delay_1(250);
IO_B&=0x7F;
for(i=0;i<20;i++) Delay_1(250);
IO_B|=0x80;
for(i=0;i<30;i++) Delay_1(250);
IO_B&=0x7F;
TR0=1;
while(!NO_TIME)
{
while(!TF0);
TF0=0;
T_Count++;
if(T_Count==9999) break;
//if(T_Count==2000) break;
}
TR0=0;
Test_Data[7]=T_Count*MULTI;
if((Test_Data[7]>(Comp_Data[14]*10))&&(Test_Data[7]<=(Comp_Data[15]*10))) SetP_Data[4]=14;//ok
else
{
SetP_Data[4]=13;//ng
IO_A&=0xEF;
IO_C&=0xFD;
}
Num_Convert(Test_Data[7],4);
// Tests_Data(SetP_Data,5,8);
if((Page_Val==0)||(Page_Val==5)||(Page_Val==6)) Tests_Data(SetP_Data,5,8);
else if(Page_Val==4) Tests_Data(SetP_Data,5,4);
if(SetP_Data[4]==13)
{
//IO_B|=0x88;
IO_B=0xFF;
AD_COM=0x0F;//coil cut off;
DA_Convert(0);
return(0);
}
for(i=0;i<20;i++) Delay_1(250);
T_Count=0;
TH0=T0_T_10;//10us
TL0=T0_T_10;
//DA_Convert(0);
IO_B|=0x80;
TR0=1;
while(NO_TIME)
{
while(!TF0);
TF0=0;
T_Count++;
if(T_Count==9999) break;
//if(T_Count==2000) break;
}
TR0=0;
//AD_COM=0x0F;
Test_Data[9]=T_Count*MULTI;
if((Test_Data[9]>(Comp_Data[18]*10))&&(Test_Data[9]<=(Comp_Data[19]*10))) SetP_Data[4]=14;//ok
else SetP_Data[4]=13;//ng
Num_Convert(Test_Data[9],4);
//Tests_Data(SetP_Data,5,10);
if((Page_Val==0)||(Page_Val==5)||(Page_Val==6)) Tests_Data(SetP_Data,5,10);
else if(Page_Val==4) Tests_Data(SetP_Data,5,6);
if(SetP_Data[4]==13)
{
//IO_B|=0x88;
IO_B=0xFF;
AD_COM=0x0F;//coil cut off;
DA_Convert(0);
IO_A&=0xBF;
IO_C&=0xFD;
return(0);
}
for(i=0;i<20;i++) Delay_1(250);
return(1);
}
bit BT_Test(void)
{
bit B_Flag=1;
unsigned int y=0,i=0,m=0;
for(m=0;m<11;m++)
{
SetP_Data[m]=15;
}
Test_Data[8]=9999;
Test_Data[10]=9999;
TMOD=0x22;//T1 IS Method 2; T0 is method 2;
TH0=T0_T_30;//30us
TL0=T0_T_30;
T_Count=0;
TR0=0;
i=0;
IO_B&=0x7F;
while(!NO_TIME)
{
i++;
if(i==30000)
{
//IO_B=0xFF;
//return(0);
break;
}
}
TR0=1;
while(TR0)
{
if(NO_TIME&&B_Flag)
{
B_Flag=!B_Flag;
y=T_Count;
}
if((NO_TIME==0)&&(B_Flag==0)) B_Flag=!B_Flag;
while(!TF0);
TF0=0;
T_Count++;
if((y+1000)<=T_Count) TR0=0;
}
Test_Data[8]=y*MULTI_B;
if((Test_Data[8]>=(Comp_Data[16]*10))&&(Test_Data[8]<=(Comp_Data[17]*10))) SetP_Data[4]=14;//ok
else SetP_Data[4]=13;//ng
Num_Convert(Test_Data[8],4);
//Tests_Data(SetP_Data,5,9);
if((Page_Val==0)||(Page_Val==5)||(Page_Val==6)) Tests_Data(SetP_Data,5,9);
else if(Page_Val==4) Tests_Data(SetP_Data,5,5);
if(SetP_Data[4]==13)
{
//IO_B|=0x88;
IO_B=0xFF;
AD_COM=0x0F;//coil cut off;
DA_Convert(0);
IO_A&=0xDF;
IO_C&=0xFD;
return(0);
}
for(m=0;m<20;m++) Delay_1(250);
B_Flag=1;
TH0=T0_T_30;//100us
TL0=T0_T_30;
T_Count=0;
y=0;
i=0;
if(Comp_Data_T[2]==12)//1c
{
IO_B|=0x80;
while(!NC_TIME)
{
i++;
if(i==30000)
{
//IO_B=0xFF;
break;
}
}
TR0=1;
while(TR0)
{
if(NC_TIME&&B_Flag)
{
B_Flag=~B_Flag;
y=T_Count;
}
if((NC_TIME==0)&&(B_Flag==0)) B_Flag=~B_Flag;
while(!TF0);
TF0=0;
T_Count++;
if((y+100)<=T_Count) TR0=0;
}
}
Test_Data[10]=y*MULTI_B;
if((Test_Data[10]>=(Comp_Data[20]*10))&&(Test_Data[10]<=(Comp_Data[21]*10))) SetP_Data[4]=14;//ok
else SetP_Data[4]=13;//ng
Num_Convert(Test_Data[10],4);
//Tests_Data(SetP_Data,5,11);
if((Page_Val==0)||(Page_Val==5)||(Page_Val==6)) Tests_Data(SetP_Data,5,11);
else if(Page_Val==4) Tests_Data(SetP_Data,5,7);
if(SetP_Data[4]==13)
{
IO_A&=0x7F;
IO_C&=0xFD;
IO_B=0xFF;
AD_COM=0x0F;//coil cut off;
DA_Convert(0);
return(0);
}
AD_COM=0x0F;//coil cut off;
IO_B|=0x9F;
DA_Convert(0);
return(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -