/*************
參考電壓2.5V,給6.0i/o口電壓(不超過3.3v)
查看adc12mem0中的值,2.5/4096*adc12mem0,即為真實電壓
*************/
#include <msp430f5529.h>
void main(void)
{
volatile unsigned int i;
WDTCTL = WDTPW+WDTHOLD; //關閉開門狗
P6SEL |= 0x01; //使能A0輸入通道,此為外圍模塊
REFCTL0 &= ~REFMSTR; //復位控制位以控制寄存器
ADC12CTL0 = ADC12ON+ADC12SHT02+ADC12REFON+ADC12REF2_5V; //打開ADC12,設置采樣間隔,打開電壓參考電壓發(fā)生器,設置參考電壓為2.5V
ADC12CTL1 = ADC12SHP; //采樣保持觸發(fā)信號,選擇采樣定時器
ADC12MCTL0 = ADC12SREF_1; //Vr+=Vref+,Vr—=AVss
for(i=0;i<0x30;i++); //延遲使參考電壓穩(wěn)定
ADC12CTL0 |= ADC12ENC; //使能A/D轉換
while(1)
{
ADC12CTL0 |= ADC12SC; //開始轉換
while((!ADC12IFG & BIT0));
__no_operation(); //可設置斷點查看
}
}
|