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

📄 test.c

📁 仪器源码->基MSP430 OPEN/SHORT C代码,已成功用于工业自动控制 本仪器适应于各种邦定IC电路测试
💻 C
📖 第 1 页 / 共 3 页
字号:
#include <msp430x13x.h>
//#define max_pin  32
unsigned char pin_power_wrong[32];
unsigned char SHADOW_573A,SHADOW_573B,SHADOW_573C,SHADOW_573D;  //IO缓冲
void low_select(unsigned char tdao);
extern unsigned char check(unsigned char n);
extern unsigned char ad_count;
unsigned char auto_maunal,going;
extern unsigned char read_key();
unsigned char check_result;
extern void check_ad_val(void);
extern unsigned char fast_slow;
extern int PageWrite(int nAddr);
extern unsigned char checkb(unsigned char n);
extern void cmod_595_single_lower_inv(char n);
void send_result(unsigned char n,unsigned char check);
extern void Maunal_Control_page(unsigned a,unsigned b,unsigned c,unsigned int i,unsigned int val);
extern void studying_page(unsigned char a,unsigned  char b,unsigned char c,unsigned char d,unsigned char n);
void start_test(void);
extern void cmod_595_single_lower(char n);
extern void ad_select_send(unsigned char n);
extern unsigned char check_128(unsigned char n);
extern unsigned int study[128];
extern void init_adc_b(void);
extern void init_adc(void);
extern void open_page1(void);
extern void open_page2(void);
extern void open_page3(void);
extern void open_page4(void);
extern void short_page1(void);
void delay_n(unsigned char i);
void delay(unsigned char n);
unsigned char max_pin ;
unsigned char open[40] ;
unsigned char Short[40] ;
extern unsigned char write_buff[32];
extern unsigned int return_ad_val(void);
unsigned char Short_grup1[10] ;
unsigned char Short_grup2[10] ;
unsigned char Short_grup3[10] ;
unsigned char Short_grup4[10] ;
unsigned char Short_grup5[10] ;
unsigned char Short_grup6[10] ;
unsigned char Short_grup7[10] ;
unsigned char Short_grup8[10] ;
unsigned char Short_grup9[10] ;
unsigned char Short_grup10[10] ;
unsigned char short_count;
unsigned char open_count;
unsigned char power_pin[10];
unsigned char power_pin_f[10];
unsigned char del_power_pin[10];
unsigned char total_b,total_s,total_g;
unsigned char v_b,v_s,v_g;
void ALE_A() //p43 
{
         P4OUT|=0x08;        
         P4OUT&=~0x08;    
}

void ALE_B() //p44 
{
         P4OUT|=0x10;        
         P4OUT&=~0x10;    
}

void ALE_C() //p45 
{
         P4OUT|=0x20;        
         P4OUT&=~0x20;    
}

void ALE_D() //p46
{
         P4OUT|=0x40;        
         P4OUT&=~0x40;    
}


void out_data(unsigned char data) //p2
{
    P2OUT=~data;    
}



void shadow_memory_573A() //影子存储 573A
{
  out_data(SHADOW_573A); //数据准备到数据口
  ALE_A(); 
}

void shadow_memory_573B() //影子存储 573A
{
  out_data(SHADOW_573B); //数据准备到数据口
  ALE_B();
 }

void shadow_memory_573C() //影子存储 573A
{

  out_data(SHADOW_573C); //数据准备到数据口
  ALE_C();
 }

void shadow_memory_573D() //影子存储 573A
{
  out_data(SHADOW_573D); //数据准备到数据口
  ALE_D();
}

void shadow_memory_updata() //影子存储更新
{
    shadow_memory_573A();
    shadow_memory_573B();
    shadow_memory_573C();
    shadow_memory_573D();            
}


void yima_4_16(unsigned char ym) //p50 p47 p51 p52
{
    switch(ym)
    {
    case 0x1 :
         P5OUT&=~0x01; //0000->01111111
         P4OUT&=~0x80;
         P5OUT&=~0x02;                  
         P5OUT&=~0x04;          
         break;
    case 0x2 :
         P5OUT|=0x01; //0001->01111111
         P4OUT&=~0x80;
         P5OUT&=~0x02;                  
         P5OUT&=~0x04;          
         break;                   
    case 0x3 :
         P5OUT&=~0x01; //0010->01111111
         P4OUT|=0x80;
         P5OUT&=~0x02;                  
         P5OUT&=~0x04;          
         break;
    case 0x4 :
         P5OUT|=0x01; //0011->01111111
         P4OUT|=0x80;
         P5OUT&=~0x02;                  
         P5OUT&=~0x04;          
         break;       
    case 0x5 :
         P5OUT&=~0x01; //0100->01111111
         P4OUT&=~0x80;
         P5OUT|=0x02;                  
         P5OUT&=~0x04;          
         break;
    case 0x6 :
         P5OUT|=0x01; //0101->01111111
         P4OUT&=~0x80;
         P5OUT|=0x02;                  
         P5OUT&=~0x04;          
         break;       
    case 0x7 :
         P5OUT&=~0x01; //0110->01111111
         P4OUT|=0x80;
         P5OUT|=0x02;                  
         P5OUT&=~0x04;          
         break;
    case 0x8 :
         P5OUT|=0x01; //0111->01111111
         P4OUT|=0x80;
         P5OUT|=0x02;                  
         P5OUT&=~0x04;          
         break;  //up ok
   case 0x9 :
         P5OUT&=~0x01; //1000->01111111
         P4OUT&=~0x80;
         P5OUT&=~0x02;                  
         P5OUT|=0x04;          
         break;
    case 0xa :
         P5OUT|=0x01; //1001->01111111
         P4OUT&=~0x80;
         P5OUT&=~0x02;                  
         P5OUT|=0x04;           
         break;         
    case 0xb :
         P5OUT&=~0x01; //1010->01111111
         P4OUT|=0x80;
         P5OUT&=~0x02;                  
         P5OUT|=0x04;           
         break;
    case 0xc :
         P5OUT|=0x01; //1011->01111111
         P4OUT|=0x80;
         P5OUT&=~0x02;                  
         P5OUT|=0x04;         
         break;       
    case 0xd :
         P5OUT&=~0x01; //1100->01111111
         P4OUT&=~0x80;
         P5OUT|=0x02;                  
         P5OUT|=0x04;           
         break;
    case 0xe :
         P5OUT|=0x01; //1101->01111111
         P4OUT&=~0x80;
         P5OUT|=0x02;                  
         P5OUT|=0x04;          
         break;        
    case 0xf :
         P5OUT&=~0x01; //1110->01111111
         P4OUT|=0x80;
         P5OUT|=0x02;                  
         P5OUT|=0x04;           
         break;
    case 0x10 :
         P5OUT|=0x01; //1111->01111111
         P4OUT|=0x80;
         P5OUT|=0x02;                  
         P5OUT|=0x04;          
         break;  
    default: break;
    }
}

void yima_4_16b(unsigned char ym) //p50 p47 p51 p52
{
    switch(ym)
    {
    case 0x8 :
         P5OUT&=~0x01; //0000->01111111
         P4OUT&=~0x80;
         P5OUT&=~0x02;                  
         P5OUT&=~0x04;          
         break;
    case 0x7 :
         P5OUT|=0x01; //0001->01111111
         P4OUT&=~0x80;
         P5OUT&=~0x02;                  
         P5OUT&=~0x04;          
         break;                   
    case 0x6 :
         P5OUT&=~0x01; //0010->01111111
         P4OUT|=0x80;
         P5OUT&=~0x02;                  
         P5OUT&=~0x04;          
         break;
    case 0x5 :
         P5OUT|=0x01; //0011->01111111
         P4OUT|=0x80;
         P5OUT&=~0x02;                  
         P5OUT&=~0x04;          
         break;       
    case 0x4 :
         P5OUT&=~0x01; //0100->01111111
         P4OUT&=~0x80;
         P5OUT|=0x02;                  
         P5OUT&=~0x04;          
         break;
    case 0x3 :
         P5OUT|=0x01; //0101->01111111
         P4OUT&=~0x80;
         P5OUT|=0x02;                  
         P5OUT&=~0x04;          
         break;       
    case 0x2 :
         P5OUT&=~0x01; //0110->01111111
         P4OUT|=0x80;
         P5OUT|=0x02;                  
         P5OUT&=~0x04;          
         break;
    case 0x1 :
         P5OUT|=0x01; //0111->01111111
         P4OUT|=0x80;
         P5OUT|=0x02;                  
         P5OUT&=~0x04;          
         break;  //up ok
         
   case 0x9 :
         P5OUT&=~0x01; //1000->01111111
         P4OUT&=~0x80;
         P5OUT&=~0x02;                  
         P5OUT|=0x04;          
         break;
    case 0xa :
         P5OUT|=0x01; //1001->01111111
         P4OUT&=~0x80;
         P5OUT&=~0x02;                  
         P5OUT|=0x04;           
         break;         
    case 0xb :
         P5OUT&=~0x01; //1010->01111111
         P4OUT|=0x80;
         P5OUT&=~0x02;                  
         P5OUT|=0x04;           
         break;
    case 0xc :
         P5OUT|=0x01; //1011->01111111
         P4OUT|=0x80;
         P5OUT&=~0x02;                  
         P5OUT|=0x04;         
         break;       
    case 0xd :
         P5OUT&=~0x01; //1100->01111111
         P4OUT&=~0x80;
         P5OUT|=0x02;                  
         P5OUT|=0x04;           
         break;
    case 0xe :
         P5OUT|=0x01; //1101->01111111
         P4OUT&=~0x80;
         P5OUT|=0x02;                  
         P5OUT|=0x04;          
         break;        
    case 0xf :
         P5OUT&=~0x01; //1110->01111111
         P4OUT|=0x80;
         P5OUT|=0x02;                  
         P5OUT|=0x04;           
         break;
    case 0x10 :
         P5OUT|=0x01; //1111->01111111
         P4OUT|=0x80;
         P5OUT|=0x02;                  
         P5OUT|=0x04;          
         break;  
    default: break;
    }
}



void start_ad(void)
{
    ad_count=0;
    ADC12CTL0|=ADC12SC; //起动AD采集 
}

void high_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 :

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -