MSP430G2553 模數轉換器 ADC10

2022-09-03 12:00:10 字數 2310 閱讀 6751

adc10的框圖和主要暫存器的含義,如下圖所示。雖然adc10牽扯的暫存器配置很多,但實際使用起來並不複雜。

主要暫存器及功能有:

adc10aex:模擬輸入使能,用於使能某個管腳的模擬輸入功能

adc10mem:儲存ad轉換的結果

adc10ctl0:

- adc10on:開啟/關閉adc10

- enc:enable conversion。幾乎所有的adc10設定都要在enc=0時進行。

- adc10sc:start conversion。開始轉換後會自動清零。

- srefx:選擇正負基準源

- refout、refburst、ref2_5v、refon:選擇內部基準源及其工作方式

- adc10shtx:選擇採集和保持的時鐘週期數目

- adc10sr:選擇reference buffer drive capability,影響最大採集速率

- adc10ie、adc10ifg:中斷使能和中斷標誌位

- msc:多次採集轉換設定,只用於序列(sequence)或反覆(repeated)模式取樣。

adc10ctl1:

- inchx:輸入通道選擇,可選擇外部管腳、基準源、內部溫度感測器等。

- shsx:選擇取樣訊號由誰觸發,預設是adc10sc位,也可以是timera.outx。

- adc10df:轉換資料格式,直接二進位制或者二補碼。

- adc10sselx、adc10divx:選擇adc10的時鐘,分頻比。時鐘預設採用adc10內部的專門時鐘adc10osc,頻率約在5mhz左右。

- conseqx:選擇模式,有單通道單次(預設)、多通道單次、單通道重複、多通道重複四種。

- adc10busy:標誌adc10是否取樣、轉換完成。

如果使用到dtc的功能,還需要操作adc10dtc0、adc10dtc1、adc10sa暫存器,具體可檢視msp430x2xx family user's guide。

利用adc10,每2秒讀取一次a6(p1.6)通道上的電壓,通過串列埠列印顯示。

1

//voltage meter 2015.10.12//

for mspg2 launchpad, vcc = 3.6v; and if vcc changes,3//

ref_vcc should be modified.

45 #include "

io430.h"6

7#define a6 bit6 //

adc input pin p1.6

8#define rxd bit1 //

p1.1

9#define txd bit2 //

p1.2

1011

#define idle 0

12#define busy 1

1314

//function definitions

15void initadc10(void

);16

void initta0(void

);17

18void sendbyte(unsigned char

);19

void printf(char *, ...);

20void inituart(void

);21

22//

global variables

23float volts = 0.0; //

unit: mv

24float ref_vcc = 3600.0;25

char i = 0;26

char status =idle;

2728

void main( void)29

64lpm0;

6566}67

}6869void initadc10(void)70

8384

void initta0(void)85

9394

void inituart(void

) 109

110void sendbyte(unsigned char

byte

)111

115116

//interrupt service routines

117#pragma vector = timer0_a0_vector

118 __interrupt void ccr0_isr(void

)119

127 }

msp430g2553的adc取樣精度問題

問題 用官方例程進行ad取樣發現直流取樣值非常抖,只有百位上數值不抖。解決 1,ad取樣須考慮取樣基準電壓穩不穩,對於2553來說,其基準電壓可以設定為內部1.5v,2.5v,vcc。或者外部基準電壓 0 vcc 2,取樣頻率,一般來說極高取樣頻率與極高準確度不可兼得。取樣頻率太高很可能造成電容的充...

msp430g2553的ADC10多通道輸入

msp430g2553有8個外部通道可以輸入,下面將完成3路輸入控制3個led亮滅的程式。暫存器說明 msp430g2553的adc10暫存器 說明 在熟悉adc10的幾個暫存器後,來看 1 adc10ctl1 inch 5 conseq 1 控制暫存器設定了最高的通道和轉換模式。2 adc10ae...

MSP430 G2553 暫存器列表與引腳功能

usci b0 usci b0 傳送緩衝器ucb0txbuf 06fh usci b0 接收緩衝器ucb0rxbuf 06eh usci b0 狀態ucb0stat 06dh usci b0 i2c 中斷啟用ucb0cie 06ch usci b0 位速率控制1 ucb0br1 06bh usci ...