msp430的一些常用的C語言控制程序---ADC12(2)
//ADC12單通道單次的中斷方式
#include<msp430x14x.h>
unsigned ADC_Result;
void ADC12_Init();
void main(){
WDTCTL = WDTPW + WDTHOLD;
ADC12_Init();
_BIS_SR(GIE);
ADC12CTL0 |= ADC12SC;
while(1);
}
//
void ADC12_Init(){
ADC12CTL0 &= ENC;
P6DIR &= ~BIT6;
P6SEL |= BIT6; //選擇P6.6的第二功能
ADC12CTL0 = ADC12ON + SHT0_6 + REFON; //打開ADC12,可以進(jìn)行轉(zhuǎn)換,采樣保持定時器0,一般選6,8,內(nèi)部參考電壓發(fā)生器打開
ADC12CTL0 &= ~REF2_5V; //選擇內(nèi)部參考電壓為1.5V,根據(jù)實際用的時候選
ADC12CTL1 = SHP + CONSEQ_0 + SHS_0;//使用采樣定時器 + 單通道單次轉(zhuǎn)換模式 + 采樣輸入信號源控制位(ADC12SC,).
ADC12MCTL0 = SREF_1 + INCH_6;//參考電壓Vref+,AVss.通道6
ADC12IE |= BIT0;//中斷使能
ADC12CTL0 |= ENC;// + ADC12SC;//轉(zhuǎn)換使能
}
#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR(){
ADC_Result = ADC12MEM0;//此處可從IAR中觀察值
ADC12CTL0 |= ADC12SC;
}
評論