基于STM32的嵌入式單片機(jī)簡明教程 課件 第7章 模數(shù)轉(zhuǎn)換器(ADC)_第1頁
基于STM32的嵌入式單片機(jī)簡明教程 課件 第7章 模數(shù)轉(zhuǎn)換器(ADC)_第2頁
基于STM32的嵌入式單片機(jī)簡明教程 課件 第7章 模數(shù)轉(zhuǎn)換器(ADC)_第3頁
基于STM32的嵌入式單片機(jī)簡明教程 課件 第7章 模數(shù)轉(zhuǎn)換器(ADC)_第4頁
基于STM32的嵌入式單片機(jī)簡明教程 課件 第7章 模數(shù)轉(zhuǎn)換器(ADC)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

模數(shù)轉(zhuǎn)換器簡介實驗步驟及現(xiàn)象實驗原理第七章 模數(shù)轉(zhuǎn)換器(ADC)1.模數(shù)轉(zhuǎn)換器(ADC)簡介模數(shù)轉(zhuǎn)換器(AnalogDigitalConverter簡稱ADC),將外部模擬電壓轉(zhuǎn)換為計算機(jī)可識別的數(shù)字量。溫度、壓力、流量逐次逼近型:電壓比較器比較兩個電壓的大小。過程:將0.1V的電壓與某個實際電壓相比較,如果小了增加0.1V再比較,如果還是小則繼續(xù)增加;假設(shè)到1.5V時,比較電壓大于實際電壓,那么就認(rèn)為實際電壓為1.5V。分辨率取決于每次增加的電壓的大小。STM32單片機(jī)ADC是12位,每一次比較電壓的增量就是參考電壓(如3.3V)除以4096。實際電壓不能比參考電壓大。轉(zhuǎn)換結(jié)果:0~4095的一個數(shù)值。如轉(zhuǎn)換結(jié)果為2048,參考電壓為3.3V時,實際電壓為3.3/4096×2048=1.65V。模數(shù)轉(zhuǎn)換器(ADC)原理STM32F103系列擁有2-3個ADC模塊,這些ADC可以獨立使用,也可以使用雙重模式(提高采樣率)。最大的轉(zhuǎn)換速率為1MHz,即1us(在ADC時鐘源ADCCLK為14MHz,采樣周期為1.5個時鐘脈沖周期下得到)。多達(dá)18個通道,可測量16個外部和2個內(nèi)部信號源。單次、連續(xù)、掃描或間斷模式執(zhí)行,轉(zhuǎn)換結(jié)果可以左對齊或者右對齊(多余4位在左邊還是右邊)方式存儲在16位數(shù)據(jù)寄存器中。STM32ADC2.實驗步驟及現(xiàn)象將單片機(jī)開發(fā)板的電源、J-Link以及USB轉(zhuǎn)串口模塊連接好。USB轉(zhuǎn)串口模塊仍然連接開發(fā)板的RS232接口1。打開的串口調(diào)試助手,設(shè)置正確的串口號,并將波特率、停止位、數(shù)據(jù)位等內(nèi)容設(shè)置好。打開配套資料“3.實驗例程包\5.ADC\ADC測電壓\user”里面的工程文件“project.uvprojx”,將程序編譯,編譯通過后燒錄至單片機(jī)??梢杂^察到調(diào)試助手中實時輸出電壓值,如圖7.2所示。開發(fā)板上有兩個旋轉(zhuǎn)電位計VR1和VR2,旋轉(zhuǎn)如圖7.3所示靠開發(fā)板邊緣的電位計VR1,可以看到輸出電壓值動態(tài)變化。3.實驗原理3.3V電壓經(jīng)過VR1的分壓之后連接到了引腳PA4

STM32F103RCT6芯片參考電壓時由引腳13VDDA和引腳12VSSA提供的,如圖參考電壓為3.3V?!缎酒瑪?shù)據(jù)手冊》:PA4的“ADC12_IN4”表示此引腳可以作為ADC1和ADC2的輸入通道4。同理,PA1可以作為ADC1、ADC2和ADC3的通道1。硬件原理軟件原理本實驗將ADC轉(zhuǎn)換得到結(jié)果后通過串口1輸出到電腦,為了方便,使printf函數(shù)調(diào)用串口發(fā)送函數(shù),從而通過printf輸出轉(zhuǎn)換結(jié)果。本實驗只使用了一個ADC1的輸入通道4,同時使用多個通道采樣需使用通道組:通道組里所有的通道一次轉(zhuǎn)換,轉(zhuǎn)換完之后讀取結(jié)果;用戶使用時指定通道組多個通道采樣順序。通道組分為規(guī)則組和注入組。

注入通道的轉(zhuǎn)換可以打斷規(guī)則通道的轉(zhuǎn)換,在注入通道轉(zhuǎn)換完成之后,規(guī)則組才得以繼續(xù)轉(zhuǎn)換。軟件原理普通printf:信息輸出到顯示器重定向printf:通過串口輸出信息printf調(diào)用fputc函數(shù)將輸出內(nèi)容輸出,6-12行改寫fputc函數(shù)實現(xiàn)printf重定向至串口1。要使用別的串口,只需要修改第9-10行的串口號。軟件原理第22行定義配置ADC使用的ADC_InitTypeDef類型結(jié)構(gòu)體第25-26行使能了GPIOA和ADC1的時鐘,ADC1通道4使用的PA4,以及串口使用的PA9、PA10都屬于GPIOA。第28-32行配置PA4引腳作為ADC輸入通道,30行設(shè)置模擬輸入模式GPIO_Mode_AIN。軟件原理第34-40行先填充結(jié)構(gòu)體ADC_Initstructure的成員變量,并在40行將其關(guān)聯(lián)至寄存器使之生效。成員變量1:ADC_Mode,配置ADC模式工作在獨立模式還是雙ADC模式,即兩個ADC協(xié)同工作,還是單個ADC工作,第34行選擇了獨立模式ADC_Mode_Independent。軟件原理成員變量2:ADC_ScanConvMode,配置ADC的掃描轉(zhuǎn)換模式,當(dāng)超過一個ADC通道需要轉(zhuǎn)換時,必須開啟掃描轉(zhuǎn)換模式。成員變量3:ADC_ContinuousConvMode,配置ADC是否連續(xù)轉(zhuǎn)換模式。單次轉(zhuǎn)換模式在每一次轉(zhuǎn)換結(jié)束后就結(jié)束了,繼續(xù)轉(zhuǎn)換需要重新開始轉(zhuǎn)換;連續(xù)轉(zhuǎn)換模式在一次轉(zhuǎn)換后自動開始下一次轉(zhuǎn)換。軟件原理成員變量4:ADC_ExternalTrigConv,配置ADC外部觸發(fā)轉(zhuǎn)換信號。第37ADC_ExternalTrigConv_None,意思是不使用外部觸發(fā),使用軟件來作為ADC開始轉(zhuǎn)換的信號成員變量5:ADC_DataAlign,配置ADC數(shù)據(jù)右對齊方式,由于ADC轉(zhuǎn)換結(jié)果為12位,而寄存器為16位,右對齊表示高4位空閑成員變量6:ADC_NbrOfChannel,配置ADC通道數(shù)量。本實驗通道數(shù)為1軟件原理如果使用了多個通道,每個通道都需使用ADC_RegularChannelConfig來指定通道采樣順序(注意:需在第35行處開啟掃描轉(zhuǎn)換模式)。例:下列程序設(shè)定了通道3采樣順序為1,而通道1采樣順序為2:第37行配置規(guī)則通道組,確定了ADC1通道4的采樣時間。函數(shù)四個參數(shù),分別指定ADC1模塊,通道4,此通道的采樣順序(只使用一個通道,故其采樣順序為1)和采樣時間為239.5個時鐘周期。軟件原理第44行使能ADC1第46-50行先重置ADC校準(zhǔn)寄存器,結(jié)束之后再開始ADC校準(zhǔn),并等待校準(zhǔn)結(jié)束。ADC在每次配置完成后都需要重新校準(zhǔn),以提高轉(zhuǎn)換的精度軟件原理開始ADC轉(zhuǎn)換以測量實際電壓。由于第37行選擇了不使用外部觸發(fā)開啟ADC轉(zhuǎn)換,故需要通過軟件手動觸發(fā)才能開始ADC轉(zhuǎn)換過程。并且第36行設(shè)定了不連續(xù)采樣,因此每一次轉(zhuǎn)換都需要軟件先觸發(fā)采樣。軟件原理第79行開啟ADC1采值,第80行等待轉(zhuǎn)換結(jié)束,因為轉(zhuǎn)換。函數(shù)ADC_GetFlagStatus獲取ADC1的轉(zhuǎn)換完成標(biāo)志位,當(dāng)ADC處于轉(zhuǎn)換狀態(tài)時返回值為0,轉(zhuǎn)換結(jié)束后返回值為1軟件原理第82行

溫馨提示

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

評論

0/150

提交評論