msp430AD轉換講解及C程序_第1頁
msp430AD轉換講解及C程序_第2頁
msp430AD轉換講解及C程序_第3頁
msp430AD轉換講解及C程序_第4頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、從以下ADC12結構圖中可以看出,ADC12模塊中是由以下部分組成:輸入的16路模擬開關,ADC內部電壓參考源,ADC12內核,ADC時鐘源部分,采集與保持輸入的16路模擬開關16路模擬開關分別是由IC外部的8路模擬信號輸入和內部4路參考電源輸入及1路內部溫度傳感器源及AVCC-AVSS/2電壓源輸入。外部8路從A0-A7輸入,主要是外部測量時的模擬變量信號。內部4路分別 是Veref+ ADC內部參考電源的輸出正端,Vref-/Veref- ADC內部參考電源負端 (內部/外部)。1路AVCC-AVSS/2電壓源和1路內部溫度傳感器源。片內溫度傳感器可以用于測量芯片上的溫度,可以在設計時做一

2、些有用的控制;在實際應用時用得較多。而其他電源參考源輸入可以用作ADC12的校驗之用,在設計時可作自身校準。ADC內部電壓參考源ADC電壓參考源是用于給ADC12內核作為一個基準信號之用的, 這是ADC必不可少的一部分。在ADC12模塊中基準電壓源可以通過軟件來設置6種不同的組合。AVCC(V r+) , Vref+,Veref+,AVSS(Vr-),Vref-/Veref-。ADC12內核ADC12的模塊內核是共用的,通過前端的模擬開關來分別來完成采集輸入。ADC12是一個精度為12位的/觸發(fā)源部分,ADC數(shù)據(jù)輸出部分,ADC控制Mlf & V ar 2.5 V用*V(X$AWFCC

3、*lTENCJ*而-L11 ADCUMCTLO1 礎障可陣的;i,:.ADCOM 曰 115I珈 CTL15v 甚 JIN OHAH切,nAOC12CU(SHSJtS$HSHEF1SAEOADC123fV!(TTT知定暮4 . /1024ADC12SS&_EMXKMCLK3UCJ(J$MTl MSCADC內核,1位非線性微分誤差,1位非線性積分誤差。內核在轉換時會參用到兩個參考基準電壓,一個 是參考相對的最大輸入最大值,當模擬開關輸出的模擬變量大于或等于最大值時ADC內核的輸出數(shù)字量為滿量程,也就是0 xfff;另一個則是最小值,當模擬開關輸出的模擬變量大小或等于最大值時ADC內核的輸

4、出數(shù)字量為最低量程,也就是0 x00o而這兩個參考電壓是可以通過軟件來編程設置的。ADC時鐘源部分ADC12的時鐘源分有ADC12OSC , ACLK , MCLK , SMCLK。通過編程可以選擇其中之一時鐘源,同時 還可以適當?shù)姆诸l。采集與保持,觸發(fā)源部分ADC12模塊中有著較好的采集與保持電路,采用不的設置有著靈活的應用。關于這方面的詳情請參考手冊 上的寄存器說明,此部分我們日后再作補上。ADC數(shù)據(jù)輸出部分ADC內核在每次完成轉換時都會將相應通道上的輸出結果存貯到相應用通道緩沖區(qū)單元中,共有16個通道緩沖單元。同時16個通道的緩沖單元有著相對應的控制寄存器,以實現(xiàn)更靈活的控制。ADC控制

5、寄存器ADC12CTL0轉換控制寄存器0ADC12CTL1轉換控制寄存器1ADC12IE中斷使能寄存器ADC12IFG中斷標志寄存器ADC12IV中斷向量寄存器ADC12MEM0-15存儲控制寄存器0-15ADC12MCTL0-15存儲控制寄存器0-15各寄存器的詳細說明請參考手冊,或我們日后將再作補上。4-ADC12應有例程*/MSP430F149 ADC12模塊+串行通訊的實驗程序使用ADC12采集實驗,將采集到數(shù)據(jù)送向PC.(單路單次采集)/P3.4為發(fā)送,P3.5為接收 晶體使32768HZ/8MHZ.串行波特率B/S使用SMCLK作為波特率發(fā)器時,不能使用LPM2,LPM3!/以下程

6、序已驗證通過,初學者可直接使用.由時間倉促和水平有限,請讀者批評指正.編寫:www.M /*/表區(qū)unsigned char number_table=(0,1,2,3,4,5,6,7,8,9);unsigned char display_buffer=0 x00,0 x00,0 x00,0 x00,0 xff;波特率*300 600 1200 2400 4800 9600 19200 38400 76800 115200const*0*1*2*3*4*5*6*7*8*9*unsigned char BaudrateUBR0 =0 x6D,0 x36,0 x1B,0 x0D,0 x06,0 x

7、03, 0 xA0, 0 xD0, 0 x68, 0 x45);unsigned const char BaudrateUBR1 =0 x00,0 x00,0 x00,0 x00,0 x00,0 x00, 0 x01, 0 x00, 0 x00, 0 x00);unsigned const char BaudrateUMCTL=0 x22,0 xD5,0 x03,0 x6B,0 x6F,0 x4A, 0 xC0, 0 x40, 0 x40, 0 x4A);unsigned char timp;變量區(qū)unsigned int ADC0 ;子程序聲明/* /串口接收中斷,退出 LPM0 模式.#p

8、ragma vector=USART0RX_VECTORvoid init (void);初始化void ADC12setup(void);/ADC12初始化void BaudrateSetup(unsigned char U0); /UART0初始化void data_converter(unsigned char *p,unsigned int vaule); /數(shù)據(jù)變換串行口發(fā)送數(shù)組void send_data(unsigned char *p);*void main(void)init(); 主循環(huán)for (;)LPM0;ADC12CTL0 |= ADC12SC;位;/sampling

9、 open,AD轉換完成后(ADC12BUSY=0),ADC12SC自動復while(ADC12IFG & BIT0) = 0);ADC0 = ADC12MEM0;等轉換結束讀轉換數(shù)據(jù)值,同時清ADC12IFG0標志data_converter(display_buffer,ADC0);/徵據(jù)變換send_data(display_buffer);)發(fā)送數(shù)據(jù)*void init(void)WDTCTL = WDTPW + WDTHOLD; /停止WDTP1DIR=0 x01;P1OUT=0 x0f; /LED設置BaudrateSetup(6);ADC12setup();_EINT()

10、;/全局中斷使能_interrupt void usart0_rx (void)LPM0_EXIT;*/ADC12初始化void ADC12setup(void)/ADC12設置*P6SEL |= 0 x01;使用A/D通道A0ADC12CTL0 = ADC12ON ; /開ADC12內核,設SHT0=2 (N=4) ADC12CTL1 = SHP ; /SAMPCON信號選為采樣定時器輸出/ADC12內部參考電壓設置ADC12CTL0 |= REF2_5V ;ADC12CTL0 |= REFON;選用內部參考電壓為2.5V內部參考電壓打開ADC12MCTL0 |= SREF_1;轉換允許/R

11、+=2.5V R-=VSSADC12CTL0 |= ENC ;轉換允許(上升沿)ADC0=0 x00;*/UART0初始化void BaudrateSetup(unsigned char U0) unsigned int i;if(U05) /當U05時,啟用XT2BCSCTL1 &= -XT2OFF;/啟動XT2,do IFG1 &= OFIFG;for(i=0 xFF;i0;i-);延時等待清OSCFault標志while(IFG1 & OFIFG) != 0);BCSCTL2 |= SELS;查OSCFault,為0時轉換完成/SMCLK為XT2/UART0P1O

12、UT=0 x00;if(U05)UTCTL0=SSEL1;/時鐘源:SMCLKelseUTCTL0=SSEL0;/時鐘源:ACLKUCTL0 &=SWRST;/ SWRST復位,USART允許UCTL0=CHAR;/ 8bitME1|=UTXE0 + URXE0;/ Enable Tx0,Rx0IE1|=URXIE0;/ RX使能UBR00=BaudrateUBR0U0;/低位分頻器因子UBR10=BaudrateUBR1U0;/高位分頻器因子UMCTL0=BaudrateUMCTLU0; /波特率調整因子P3SEL |= 0 x30;/將P3.4,5使用外圍模塊=USART0 TXD/RXDP3DIR |= 0 x10;/將P3.4設為輸出(發(fā)),P3.5默認為輸入(收)*數(shù)據(jù)變換void data_converter(unsigned char *p,unsigned int value)unsigned int m,n,j=0;p0=number_tablevalue/1000;m=value%1000;p1=number_tablem/100;n=m%100;p2=number_tablen/10;j=n%10;p3=nu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論