www.pudn.com > EFA.rar > main.c


/************************************************************************** 
*                        MCU  MSP430F149 
*                          
*              (c) Copyright 2006.03.17  zrh 
*                       All Rights Reserved 
* 
***************************************************************************/ 
#include  
#include "define.h" 
#include "Global.h" 
 
unsigned int Value; 
main(void) 
{ 
    MCU_Init();                                 // 初始化MCU 
    Led_Init(); 
    Display_All(0xFF);                          // 全显示以检查LED是否有缺段 
    Delayms(1000); 
    Display_All(0x00);    
    O2_Column_Pre = O2_Column_Cur + 1; 
    Display_O2_Column(O2_Column_Cur); 
    N2O_Air_Column_Pre = N2O_Air_Column_Cur + 1; 
    Display_N2O_Air_Column(N2O_Air_Column_Cur);         
    while(1) 
    { 
        Read_Key();                             // 读取按键 
        Status_Check();                         // 状态查询 
        Value_Change();                         // 数值转换 
        Display_LED();                          // 数码管显示 
        Display_Column();                       // 光柱显示      
        Send_Uart(Buffer);                      // 串口通讯 
    } 
} 
 
/************************************************************************** 
* 软件延时  
* 输入参数: n即为n(ms)  最长延时 65535ms 
***************************************************************************/ 
void Delayms(unsigned int n) 
{ 
    unsigned int i,j; 
    for(i=0;i 20)         // 采样周期200ms 
    { 
        AD_Sampling_Counter = 0; 
        ADC12CTL0 &= ~ENC; 
        Value_O2_Cur1[Array_No] = ADC12MEM0 & 0x0fff;  
        Value_N2O_Air_Cur1[Array_No] = ADC12MEM1 & 0x0fff; 
        Value = ADC12MEM2 & 0x0fff;   
        Array_No ++; 
        if(Array_No >= 24) Array_No = 0;     
        Value_Change_En = 0x01; 
        Send_Uart_En = 0x01; 
        ADC12CTL0 |= ENC+ADC12SC;       // 开始新一轮转换 
    } 
     
    Display_Counter++; 
    if(Display_Counter > 100)            // 显示周期1000ms      
    { 
        Display_Counter = 0x0; 
        Display_LED_En = 0x01; 
        Status_Check_En = 0x01;   
    } 
     
    Display_Column_En = 0x01;     
}