📄 test.c
字号:
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x01;
break;
case 30 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x80;
break;
case 29 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x40;
break;
case 28 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x20;
break;
case 27 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x10;
break;
case 26 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x08;
break;
case 25 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x04;
break;
default:
break;
}
SHADOW_573A=~SHADOW_573A;
SHADOW_573B=~SHADOW_573B;
SHADOW_573C=~SHADOW_573C;
SHADOW_573D=~SHADOW_573D;
shadow_memory_updata();
}
void low_select(unsigned char tdao)
{
switch(tdao)
{
case 0x1 :
SHADOW_573A=0x02;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x2 :
SHADOW_573A=0x01;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x3 :
SHADOW_573A=0x80;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x4 :
SHADOW_573A=0x40;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x5 :
SHADOW_573A=0x20;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x6 :
SHADOW_573A=0x10;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x7 :
SHADOW_573A=0x08;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 0x8 :
SHADOW_573A=0x04;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0;
break; ///up ok!
case 0x9 :
SHADOW_573A=0;
SHADOW_573B=0x02;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 10 :
SHADOW_573A=0;
SHADOW_573B=0x01;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 11 :
SHADOW_573A=0;
SHADOW_573B=0x80;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 12 :
SHADOW_573A=0;
SHADOW_573B=0x40;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 13 :
SHADOW_573A=0;
SHADOW_573B=0x20;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 14 :
SHADOW_573A=0;
SHADOW_573B=0x10;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 15 :
SHADOW_573A=0;
SHADOW_573B=0x08;
SHADOW_573C=0;
SHADOW_573D=0;
break;
case 16 :
SHADOW_573A=0;
SHADOW_573B=0x04;
SHADOW_573C=0;
SHADOW_573D=0;
break;//up ok!
case 17 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x02;
SHADOW_573D=0;
break;
case 18 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x01;
SHADOW_573D=0;
break;
case 19 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x80;
SHADOW_573D=0;
break;
case 20 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x40;
SHADOW_573D=0;
break;
case 21 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x20;
SHADOW_573D=0;
break;
case 22 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x10;
SHADOW_573D=0;
break;
case 23 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x08;
SHADOW_573D=0;
break;
case 24 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0x04;
SHADOW_573D=0;
break;//up debug
case 32 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x02;
break;
case 31 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x01;
break;
case 30 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x80;
break;
case 29 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x40;
break;
case 28 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x20;
break;
case 27 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x10;
break;
case 26 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x08;
break;
case 25 :
SHADOW_573A=0;
SHADOW_573B=0;
SHADOW_573C=0;
SHADOW_573D=0x04;
break;
default:
break;
}
shadow_memory_updata();
}
analog_switch_select(unsigned char i)
{
if(i>16)
{
yima_4_16b(i-16);
}
else
{
yima_4_16(i);
}
}
void delay(unsigned char n)
{
int i,i3;
for(i=0;i<n;i++)
{
for(i3=0;i3<3000;i3++);
for(i3=0;i3<3000;i3++);
for(i3=0;i3<3000;i3++);
}
}
void send_result(unsigned char n,unsigned char check)
{
if(check==0)
{
TXBUF0=0x80;
}
else if(check==1) //SHORT
{
TXBUF0=0x81;
Short[short_count++]=n;
}
else if(check==2) //OPEN
{
TXBUF0=0x82;
open[open_count++]=n;
}
// while ((UTCTL0&0x01) == 0);
TXBUF0=n;
// while ((UTCTL0&0x01) == 0);
}
void start_test(void)
{
unsigned char i,i1,i2;
unsigned char a,b,c;
unsigned int ad_temp;
unsigned int i3;
send_result(0,0);//清电脑上一次的结果
open_count=0;
short_count=0;
for(i=1;i<=10;i++) pin_power_wrong[i-1]=0;
going=0;
i1=0;
for(i=1;i<=max_pin;i++)
{
if(i==1)
{
cmod_595_single_lower(i);
ad_select_send(i);
// for(i3=0;i3<3000;i3++);
// for(i3=0;i3<3000;i3++);
}
// delay_n(i);
for(i3=0;i3<300;i3++);
for(i3=1;i3<=200;i3++)
{
ad_count=0;//采集标志置零,为下一次采集作准备
start_ad();//起动AD转换
while(ad_count==0); //等待数据采集完毕
check_result=check_128(i); //if return 1,then power bad
if(check_result==0) i3=250;
if(i3>=1 && i3<250)
{
a=i/100;
b=(i-(a*100))/10;
c=i-(a*100+b*10);
ad_temp=return_ad_val();
// Maunal_Control_page(0x30+a,0x30+b,0x30+c,study[i-1],ad_temp);
if(auto_maunal==1 && going==0)
{
Maunal_Control_page(0x30+a,0x30+b,0x30+c,study[i-1],ad_temp);
while(1)
{
i2=read_key();
if(i2==2)
{
break;
}
else if(i2==1)
{
going=1;
break;
}
}//while
}//if
}
}
ad_count=0;//采集标志置零,为下一次采集作准备
cmod_595_single_lower(i+1);
ad_select_send(i+1);
if(check_result==1)
{
pin_power_wrong[i1]=i;
if(i1<32)
i1++;
// else
// i=200;
}
a=i/100;
b=(i-(a*100))/10;
c=i-(a*100+b*10);
ad_temp=return_ad_val();
// Maunal_Control_page(0x30+a,0x30+b,0x30+c,study[i-1],ad_temp);
if(auto_maunal==1 && going==0)
{
Maunal_Control_page(0x30+a,0x30+b,0x30+c,study[i-1],ad_temp);
while(1)
{
i2=read_key();
if(i2==2)
{
break;
}
else if(i2==1)
{
going=1;
break;
}
}//while
}//if
// if(i1>=32) i=200;
if(fast_slow==1)
if(i1>=1) i=200;
}//for
going=0;
}
void ad_init(unsigned char i)
{
if(i==1) init_adc_b();
if(i==17) init_adc();
}
void study_test(void)
{
unsigned char i,i2;
unsigned int ad_temp;
unsigned int a,b,c,d;
unsigned long int mul_temp;
send_result(0,0);//清电脑上一次的结果
going=0;
for(i=1;i<=max_pin+2;i++)
{
if(i==1)
{
cmod_595_single_lower(i);
ad_select_send(i);
}
delay_n(i);
// start_ad();//起动AD转换
// while(ad_count==0); //等待数据采集完毕
// ad_count=0;//采集标志置零,为下一次采集作准备
check_ad_val();
cmod_595_single_lower(i+1);
ad_select_send(i+1);
ad_temp=return_ad_val();
study[i-1]=ad_temp;
mul_temp=ad_temp;
mul_temp=(mul_temp*61)/100;
ad_temp=mul_temp;
a=ad_temp/1000;
b=(ad_temp-(a*1000))/100;
c=(ad_temp-(a*1000+b*100))/10;
d=ad_temp-(a*1000+b*100+c*10);
studying_page(0x30+a,0x30+b,0x30+c,0x30+d,i);
i2=0;
if(auto_maunal==1 && going==0)
{
while(1)
{
i2=read_key();
if(i2==2)
{
break;
}
else if(i2==1)
{
going=1;
break;
}
}//while(1)
} //if
}//for(i=1;i<=132;i++)
going=0;
for(i2=0;i2<8;i2++)
{
for(i=0;i<16;i++)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -