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

📄 main_a.c

📁 仪器源码->基MSP430 OPEN/SHORT C代码,已成功用于工业自动控制 本仪器适应于各种邦定IC电路测试
💻 C
字号:
#include <msp430x13x.h>
#include "main_a.h"
#define debug 0  //1=debug  0=run
extern unsigned int warp;
void read_at24c32_study(void);
void read_pin_number(void);
extern unsigned char auto_maunal;
extern unsigned char read_key_val();
extern void cmod_595_single_lower(char n);
extern void ad_select_send(unsigned char n);
extern void fast_page(void);
extern void slow_page(void);
extern unsigned long warp_bmp; 
extern unsigned int delay11;
unsigned char fast_slow;
void main(void)
{    
 
   
    init_system();   
    for(;;) menu_ok();
      
/*    for(jj=1;jj<=128;jj++)
    cmod_595_single_lower(jj);
    for(jj=1;jj<=128;jj++)    
    ad_select_send(jj);    
*/    
}


void auto_maun(void)
{
auto_maunal=I2C_Read(515);//字节读 
}


void read_warp_power(void)
{
warp=I2C_Read(515)<<8;
warp=warp+I2C_Read(516);
}

/*********************************************************************/
//学习参数在:百位b->512    十位s->513   个位g->514  
//
//
/*********************************************************************/
void read_pin_number(void)
{
#if debug==0
  //  total_b=0x30;
   // total_s=0x33;
   // total_g=0x32;    
  //  I2C_Write(512,total_b);//字节写 
  //  I2C_Write(513,total_s);//字节写 
  //  I2C_Write(514,total_g);//字节写         
#endif    
    total_b=I2C_Read(512);//字节读   
    total_s=I2C_Read(513);//字节读 
    total_g=I2C_Read(514);//字节读   
    max_pin=(total_b-48)*100+(total_s-48)*10+(total_g-48);        
   
}

/*********************************************************************/
//学习参数在:0----256  高位在前,低位在后
//
//
/*********************************************************************/
void read_at24c32_study(void)
{  
  unsigned int i,a,b;
  b=b;
#if debug==1
    for(i=0;i<32;i++) write_buff[i]=i;
    PageWrite(0);     //页写    
    for(i=0;i<32;i++) write_buff[i]=32-i;
    PageWrite(32);     //页写    
    for(i=0;i<32;i++) write_buff[i]=64-i;
    PageWrite(64); 
    for(i=0;i<32;i++) write_buff[i]=96-i;
    PageWrite(96);  
#endif
  for(a=0;a<8;a++)   
  {
     b=I2C_Read(550);
     ReadSeq(a*32);  //32个数,16个学习参数
    for(i=0;i<16;i++)
    {
      study[a*16+i]=(write_buff[2*i]<<8)| write_buff[2*i+1];
    }
  }      
}
 


void init_system(void)
{
    unsigned int i;
    i=i;  
    P5DIR |= 0X01;
    P5OUT |=0x01;          
    WDTCTL = WDTPW + WDTHOLD;
    BCSCTL1 &= ~(XT2OFF + XTS);           // ACLK = 32.768K
    BCSCTL2 |= SELM1;                     // MCLK = XT2
    BCSCTL2 |= SELS;                      // SMCLK = XT2
    P1DIR = 0xff;
    P2DIR = 0xff; 
    P4DIR = 0xff;
    P5DIR = 0xff;            
    P1OUT = 0x00;
    P2OUT = 0x00;   
    init_series();
    init_key();
    I2C_Initial();      
    init_adc();    
    LCDInit();       
    i=read_key_val();
    if(i==1)
    {
    fast_page();      
    P5DIR |= 0X01;
    P5OUT &= ~0x01;
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++);                
    P5OUT |=0x01;  
    fast_slow=1;//fast
    I2C_Write(600,fast_slow);//字节写 
    }
    else if(i==2)
    {
    slow_page();      
    P5DIR |= 0X01;
    P5OUT &= ~0x01;
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++);       
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++);   
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++);   
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++);   
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++); 
    for(delay11=0;delay11<2000;delay11++);       
    P5OUT |=0x01;   
    fast_slow=0;//fast
    I2C_Write(600,fast_slow);//字节写     
    } 
    else
    {
     fast_slow=I2C_Read(600);    
     if(fast_slow==1)
     {
         fast_page();    
     }
     else if(fast_slow==0)
     {
         slow_page(); 
     }
     else
     {
         fast_slow=1;
         fast_page();              
     }
    }

       
    cmod_595_single_lower(0);
    read_pin_number(); 
    read_warp_power();   
    auto_maun();     
    welcome_page(); 
    read_at24c32_study();
#if  debug==0        
   // for(i=0;i<128;i++)   
   // for(i=0;i<60000;i++);    
   // for(i=0;i<60000;i++); 
   // for(i=0;i<60000;i++); 
   // for(i=0;i<60000;i++); 
   // for(i=0;i<60000;i++); 
   // for(i=0;i<60000;i++); 
   // for(i=0;i<60000;i++);   
   // for(i=0;i<60000;i++); 
#endif    
            warp_bmp=warp;
            warp_bmp=warp_bmp*1638;    
            warp_bmp=warp_bmp/1000;    
    ready_page();
    page=1;    
    _EINT();   //允许中断   _DINT();  //禁止中断
}

⌨️ 快捷键说明

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