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; }