新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > msp430的一些常用的C語言控制程序---ADC12(1)

        msp430的一些常用的C語言控制程序---ADC12(1)

        作者: 時間:2016-11-11 來源:網絡 收藏
        說說關于AD的程序吧:就寫一下最簡單的單通道單次采集吧:

        //查詢方式獲取AD值
        #include <msp430x14x.h>//我們的系統板子是msp430f149,所以得用這個頭文件~
        void ADC_Init(void);
        unsigned ADC_Result;
        void main(void){
        WDTCTL = WDTPW + WDTHOLD;
        ADC_Init();
        while(1){
        ADC12CTL0 |= ADC12SC;//ADC12SC 是當SAMPCON 由采樣定時器產生,ADC12SC由0改為1啟動轉換
        while(ADC12CTL1 & BIT0 == 1);//當ADC12BUSY == 1時等待
        ADC_Result = ADC12MEM0;//這塊可單步運行時在IAR中觀察到,或者有LED,可能對它處理一下顯示~
        }
        }
        //
        void ADC_Init(void) //初始化時鐘
        {
        P6DIR &= ~BIT6;//設置p6.6為輸入,這個口和板子上的接口有關.對了,149內置的是12位AD,精度足夠一般用了
        P6SEL |= BIT6; //選擇P6.6的第二功能口
        ADC12CTL0 = ADC12ON + REFON + SHT0_6 ;//AD電源打開、參考電壓打開、采樣時間分頻設置,一般6或8
        ADC12CTL0 &= ~REF2_5V; //選擇1.5V參考電壓,這個因為采集到的電壓值變化有關
        ADC12CTL1 |= SHP + CONSEQ_0+ SHS_0; //使用采樣時鐘,單通道單次采樣
        ADC12MCTL0 = SREF_1 + INCH_6; //選擇AD參考電壓和輸入通道
        ADC12CTL0 |= ENC; //ADC轉化使能,此處一定得放在后面,要不結果容易出錯
        }

        這就是最簡單的AD采集了,430還有另外三種模式,原理都差不多,就是多寄存器中的各位操作,這里我沒有用中斷模式,另外的三中模式得用中斷方式來獲得數據


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 古交市| 通许县| 油尖旺区| 旬邑县| 任丘市| 江源县| 赤城县| 屏东县| 仁布县| 正蓝旗| 汝阳县| 达尔| 秦皇岛市| 合山市| 普格县| 凤山县| 雷州市| 乐昌市| 新龙县| 襄樊市| 霞浦县| 濉溪县| 桐乡市| 乌拉特后旗| 建瓯市| 白山市| 历史| 湘阴县| 东至县| 时尚| 黄石市| 迁西县| 江孜县| 武宁县| 荃湾区| 怀仁县| 吉隆县| 南和县| 阿尔山市| 南陵县| 靖安县|