⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.c

📁 仪器源码->基MSP430 OPEN/SHORT C代码,已成功用于工业自动控制 本仪器适应于各种邦定IC电路测试
💻 C
📖 第 1 页 / 共 3 页
字号:
         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 + -