MSP430單片機(jī)ADC模塊
MSP430X1XX2 比較器實現(xiàn)
MSP430F13X
MSP430F14X
MSP430F43X
MSP430F44X
MSP430X32X
#include
unsigned char timp;
unsigned int ADC0 ;
void init (void); //初始化
void ADC12setup(void); //ADC12初始化
void main(void)
{
init();
//主循環(huán)
for (;;)
{
LPM0;
ADC12CTL0 |= ADC12SC; //sampling open,AD轉(zhuǎn)換完成后(ADC12BUSY=0),ADC12SC自動復(fù)位;
while((ADC12IFG & BIT0) == 0); //等轉(zhuǎn)換結(jié)束
ADC0 = ADC12MEM0; //讀轉(zhuǎn)換數(shù)據(jù)值,同時清ADC12IFG0標(biāo)志
}
}
void init(void)
{
WDTCTL = WDTPW + WDTHOLD; // 停止WDT
P1DIR=0x01;P1OUT=0x0f; //LED設(shè)置
BaudrateSetup(6);
ADC12setup();
_EINT(); // 全局中斷使能
}
//ADC12初始化
void ADC12setup(void)
{
//ADC12設(shè)置**************************
P6SEL |= 0x01; //使用A/D通道 A0
ADC12CTL0 = ADC12ON ; //開ADC12內(nèi)核,設(shè)SHT0=2 (N=4)
ADC12CTL1 = SHP ; //SAMPCON信號選為采樣定時器輸出
//ADC12內(nèi)部參考電壓設(shè)置
ADC12CTL0 |= REF2_5V; //選用內(nèi)部參考電壓為2.5V
ADC12CTL0 |= REFON; //內(nèi)部參考電壓打開
ADC12MCTL0 |= SREF_1; //R+=2.5V R-=VSS
//轉(zhuǎn)換允許
ADC12CTL0 |= ENC ; //轉(zhuǎn)換允許(上升沿)
ADC0=0x00;
}
評論