《單片機(jī)ADC模塊》PPT課件.ppt_第1頁
《單片機(jī)ADC模塊》PPT課件.ppt_第2頁
《單片機(jī)ADC模塊》PPT課件.ppt_第3頁
《單片機(jī)ADC模塊》PPT課件.ppt_第4頁
《單片機(jī)ADC模塊》PPT課件.ppt_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、單片機(jī)原理與應(yīng)用,10.3 A/D轉(zhuǎn)換模塊,2,單片機(jī)原理與應(yīng)用,本節(jié)提要,一、A/D轉(zhuǎn)換基礎(chǔ)知識 二、ATD模塊簡介 三、ATD模塊寄存器 四、ATD模塊編程范例,3,單片機(jī)原理與應(yīng)用,本節(jié)提要,一、A/D轉(zhuǎn)換基礎(chǔ)知識 二、ATD模塊簡介 三、ATD模塊寄存器 四、ATD模塊編程范例,4,單片機(jī)原理與應(yīng)用,ADC概述,微控制器處理的是離散量 (數(shù)字量) ,而現(xiàn)實中往往是連續(xù)量 (模擬量) 物理量如:溫度, 壓力,濕度以及速度等等 傳感器 將物理量轉(zhuǎn)換為電信號 (電壓, 電流) 需要模擬-數(shù)字轉(zhuǎn)換器將電信號轉(zhuǎn)換為數(shù)字量以供微控制器處理,5,單片機(jī)原理與應(yīng)用,基本概念,傳感器,控制器,執(zhí)行器,6

2、,單片機(jī)原理與應(yīng)用,ADC 工作原理,將輸入電壓與若干等間距的參考電壓進(jìn)行比較 因此需要比較器 Uin Uref Uout=V+ 1 Uin Uref Uout=0V 0,Uin,Uref,Uout,1位ADC,7,單片機(jī)原理與應(yīng)用,ADC 工作原理,3 個比較器可將電壓分成4 級 (以 2位來表示),Uref1,Uref2,Uref3,Rank0,Rank1,Rank2,Rank3,Uref1,Uref2,Uref3,Uout1,Uout2,Uout3,Quiz1: For voltage in rank2, Uout1 = ? Uout2 = ? Uout3 = ?,Umax,Umin,U

3、in,8,單片機(jī)原理與應(yīng)用,ADC工作原理,2位ADC,Uin,Uref,R,R,R,R,D0,D1,編碼器,8位 ADC, 需要多少個比較器?,9,單片機(jī)原理與應(yīng)用,ADC工作原理,Flash Converter ADC 優(yōu)點: 速度極快 缺點: 非常復(fù)雜 逐次逼近式A/D轉(zhuǎn)換器,10,單片機(jī)原理與應(yīng)用,ADC工作原理,逐次逼近式轉(zhuǎn)換器轉(zhuǎn)換過程 ( 4位 ),SA-ADC 完成一次轉(zhuǎn)換至少需要 n 個時鐘周期,11,單片機(jī)原理與應(yīng)用,ADC工作原理,必須進(jìn)行采樣保持以避免輸入電壓在轉(zhuǎn)換期間發(fā)生變化,12,單片機(jī)原理與應(yīng)用,ADC工作原理,逐次逼近式轉(zhuǎn)換器( SA-ADC ) 非常快 比較復(fù)雜

4、 SA-ADC在單片機(jī)中較為常見 單片機(jī)中常見 典型為8-12位 具有多個多路復(fù)用的模擬通道,13,單片機(jī)原理與應(yīng)用,ADC 參數(shù),轉(zhuǎn)換位數(shù)(Bits) 分辨率 = 2-n (8bits = 0.39%) 轉(zhuǎn)換速度(Speed) 由工作時鐘頻率和轉(zhuǎn)換位數(shù)確定 轉(zhuǎn)換范圍(Range) 05V, 010V, -5V+5V. Etc. 轉(zhuǎn)換通道數(shù)(Channels) Distinguish the channel and converter,14,單片機(jī)原理與應(yīng)用,本節(jié)提要,一、A/D轉(zhuǎn)換基礎(chǔ)知識 二、ATD模塊簡介 三、ATD模塊寄存器 四、ATD模塊編程范例,15,單片機(jī)原理與應(yīng)用,8/10/1

5、2位可選 轉(zhuǎn)換速度較高,10位精度,單次轉(zhuǎn)換時間為7usec 采樣時間可編程設(shè)置 多種轉(zhuǎn)換模式:數(shù)據(jù)對齊方式、單次/連續(xù)轉(zhuǎn)換、 轉(zhuǎn)換結(jié)果比較 外觸發(fā)控制 轉(zhuǎn)換結(jié)束可產(chǎn)生中斷 可用于8個模擬輸入通道的模擬輸入多路轉(zhuǎn)換器. 模擬/數(shù)字輸入引腳復(fù)用 18 轉(zhuǎn)換序列長度. 多通道掃描,S12單片機(jī)ADC特性,16,單片機(jī)原理與應(yīng)用,轉(zhuǎn)換時間計算舉例: (假設(shè)A/D 時鐘為2MHz,10位精度 ) 轉(zhuǎn)換時間 = Initial Sample Time + Programmed Sample Time + Resolution Period = 2 + 2 + 10 = 14 A/D Clocks = 7

6、uSec,S12單片機(jī)ADC轉(zhuǎn)換時間,17,單片機(jī)原理與應(yīng)用,S12單片機(jī)ADC模塊框圖,ADC 引腳可用于數(shù)字輸入,ADC 結(jié)果寄存器,模擬 輸入 通道,參考電壓,18,單片機(jī)原理與應(yīng)用,本節(jié)提要,一、A/D轉(zhuǎn)換基礎(chǔ)知識 二、ATD模塊簡介 三、ATD模塊寄存器 四、ATD模塊編程范例,19,單片機(jī)原理與應(yīng)用,ATD 模塊寄存器,共27個寄存器 控制寄存器(ATDCTL0ATDCTL5,6個) 狀態(tài)寄存器(ATDSTAT0ATDSTAT1,2個 ) 比較使能寄存器(ATDCMPE, 1個) 比較方式寄存器(ATDCMPHT , 1個,) 轉(zhuǎn)換輸入使能寄存器(ATDDIEN , 1個) 轉(zhuǎn)換結(jié)

7、果寄存器(ATDDR0ATDDR15,16個) 其中: 8位寄存器: ATDCTL0ATDCTL5, ATDSTAT0 16位寄存器:其余,20,單片機(jī)原理與應(yīng)用,ATD Registers 1/12,ATD Control Register 0 (ATDCTL0),WRAP3-0 - Wrap Around Channel Select 0 = Reserved X = 多通道轉(zhuǎn)換模式 從ANx回繞到AN0 1x 15 僅在ATDCTL5的MULT=1時有效,21,單片機(jī)原理與應(yīng)用,ATD Registers 2/12,SRES1:0 - A/D Resolution Select,ATD

8、Control Register 1 (ATDCTL1),ETRIGSEL - External Trigger Source Select S12XS此位無效,ETRIGCH3:0 - External Trigger Channel Select,SMP_DIS - Discharge Before Sampling Bit 0=No discharge 1 = discharge,注:寫ATDCTL1會終止當(dāng)前轉(zhuǎn)換序列,22,單片機(jī)原理與應(yīng)用,ATD Registers 3/12,ATD Control Register 2 (ATDCTL2),AFFC - ATD Fast Flag

9、Clear All 0 = 向CCFn 標(biāo)志位寫1則清零 1 =讀ATD轉(zhuǎn)換結(jié)果寄存器則CCFn 標(biāo)志位清零(當(dāng)比較功能被禁止) 寫ATD轉(zhuǎn)換結(jié)果寄存器則CCFn 標(biāo)志位清零(當(dāng)比較功能被使能),ICLKSTP - Internal Clock in Stop Mode Bit 0 = 停止模式下,停止當(dāng)前轉(zhuǎn)換,退出停止模式后ATD轉(zhuǎn)換自動重新開始 1 = 停止模式下,可繼續(xù)使用內(nèi)部時鐘進(jìn)行ATD轉(zhuǎn)換,ETRIGLE - External Trigger Level/Edge Control ETRIGP - External Trigger Polarity,ETRIGE - Externa

10、l Trigger Mode Enable 0 = 禁止外部觸發(fā)信號 1 = 使能外部觸發(fā)信號,ASCIE- ATD Sequence Complete Interrupt Enable 0 = 禁止ATD轉(zhuǎn)換序列結(jié)束中斷 1 = 使能ATD轉(zhuǎn)換序列結(jié)束中斷,ACMPIE - Internal Clock in Stop Mode Bit 0 = 禁止比較中斷 1 = 使能比較中斷,注:寫ATDCTL2會終止當(dāng)前轉(zhuǎn)換序列,23,單片機(jī)原理與應(yīng)用,ATD Registers 4/12,ATD Control Register 3 (ATDCTL3),DJM - Result Register D

11、ata Justification 0=Left justified data in the result registers 1=Right justified data in the result registers,S8C, S4C,S2C, S1C - Conversion Sequence Length,FIFO - Result Register FIFO Mode 0=Conversion results are placed in the corresponding result register up to the selected sequence length. 1=Co

12、nversion results are placed in consecutive result registers (wrap around at end).,FRZ1:0 - Background Debug Freeze Enable,注:寫ATDCTL3會終止當(dāng)前轉(zhuǎn)換序列,24,單片機(jī)原理與應(yīng)用,ATD Registers 5/12,設(shè)置預(yù)分頻因子時,0.25MHzAEDCLK 8.3MHz,ATD Control Register 4 (ATDCTL4),SMP2:0 - Sample Time Select,PRS4:0 - ATD Clock Prescaler,采樣時間長,采

13、樣點電平更準(zhǔn)確的逼近外部信號電平,注:寫ATDCTL4會終止當(dāng)前轉(zhuǎn)換序列,25,單片機(jī)原理與應(yīng)用,ATD啟動: 寫ATDCTL5會終止當(dāng)前轉(zhuǎn)換序列,并開始新一次轉(zhuǎn)換 此后,若外部觸發(fā)信號每次滿足觸發(fā)條件都會開始一次ATD轉(zhuǎn)換,ATD Registers 6/12,ATD Control Register 5 (ATDCTL5),SC - Special Channel Conversion 0=Special channel conversions disabled 1=Special channel conversions enabled,SCAN - Continuous Conversi

14、on Sequence Mode 0=Single conversion sequence 1=Continuous conversion sequences (scan mode),MULT - Multi-Channel Sample 0=Sample only one channel 1=Sample across several channels,CD,CC,CB,CA - Analog Input Channel Select Code,26,單片機(jī)原理與應(yīng)用,單通道,單次轉(zhuǎn)換 多通道,單次轉(zhuǎn)換 單通道,序列轉(zhuǎn)換模式 多通道,序列轉(zhuǎn)換模式 特殊通道測試模式,ADC 工作方式,27,單

15、片機(jī)原理與應(yīng)用,ATD Registers 7/12,ATD Status Register 0 (ATDSTAT0),SCF - Sequence Complete Flag 0=Conversion sequence not completed 1=Conversion sequence has completed,ETORF - External Trigger Overrun Flag 0=No External trigger over run error has occurred 1=External trigger over run error has occurred,FIFO

16、R- Result Register Over Run Flag 0=No over run has occurred 1=Overrun condition exists (result register has been written while associated CCFx flag was still set),CC3:0 - Conversion Counter 當(dāng)前轉(zhuǎn)換結(jié)果將寫入的結(jié)果寄存器編號 例如: CC3:0=0110, 轉(zhuǎn)換結(jié)果寫入第6個結(jié)果寄存器 先入先出模式下,不被初始化,當(dāng)計數(shù)到最大值回最小值 非先入先出模式下,轉(zhuǎn)換開始和結(jié)束時被初始化為0 兩種模式下終止ATD轉(zhuǎn)

17、換或開始新ATD轉(zhuǎn)換均被清零,28,單片機(jī)原理與應(yīng)用,ATD Registers 8/12,ATD Compare Enable Register (ATDCMPE),CMPE15:0 - Compare Enable for Conversion Number n (n= 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) of a Sequence 0=No automatic compare 1= Automatic compare of results for conversion n of a sequence is enabl

18、ed,對一個序列中第n次ATD轉(zhuǎn)換結(jié)果進(jìn)行比較,除CMPEn=1,還要完成如下設(shè)置: 將比較閾值寫入ATDDRn 寫ATDCPMHT的CMPHTn位選擇比較方法,注:寫ATDCMPE會終止當(dāng)前轉(zhuǎn)換序列,29,單片機(jī)原理與應(yīng)用,ATD Registers 9/12,ATD Status Register 2 (ATDSTAT2),CCF15:0 - Conversion Complete Flag n (n= 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) 0=Conversion number n not completed or s

19、uccessfully compared 1=If (CMPEn=0): Conversion number n has completed. Result is ready in ATDDRn. If (CMPEn=1): Compare for conversion result number n with compare value in ATDDRn, using compare operator CMPGTn is true. (No result available in ATDDRn),出現(xiàn)以下任一情況,CCFn被清零: 寫ATDCTL5 當(dāng)AFFC=0,向CCFn寫1 當(dāng)AFF

20、C=1,且CMPEn=1,寫ATDDRn,30,單片機(jī)原理與應(yīng)用,ATD Registers 10/12,ATD Input Enable Register (ATDDIEN),IEN15:0 - ATD Digital Input Enable on channel x (x= 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0) 0=Disable digital input buffer to ANx pin 1=Enable digital input buffer on ANx pin,通用I/O口AD口與ATD模塊的模擬輸入引腳

21、復(fù)用 將某個模擬輸入引腳作為通用輸入引腳使用時,必須將對應(yīng)IEN位置位,31,單片機(jī)原理與應(yīng)用,ATD Registers 11/12,ATD Compare Higher Than Register (ATDCMPHT),CMPHT15:0 - Compare Operation Higher Than Enable for conversion number n (n= 15, 14, , 2, 1, 0) of a Sequence 0= If result of conversion n is lower or same than compare value in ATDDRn, th

22、is is flagged in ATDSTAT2 1= If result of conversion n is higher than compare value in ATDDRn, this is flagged in ATDSTAT2,注:寫ATDCMPHT會終止當(dāng)前轉(zhuǎn)換序列,32,單片機(jī)原理與應(yīng)用,ATD Registers 12/12- data format,ATD Conversion Result Registers (ATDDRn),ATDDR0ATDDR15,關(guān)閉比較操作時,ATD轉(zhuǎn)換結(jié)果寫入ATDDRn,要寫入的ATDDRn的編號由ATDSTAT0的CC3CC0轉(zhuǎn)換計

23、數(shù)給出,轉(zhuǎn)換結(jié)果在ATDDRn中的放置位置與轉(zhuǎn)換精度和結(jié)果對齊方式有關(guān),使能比較功能時,ATD轉(zhuǎn)換結(jié)果和比較閾值都總是12位,與SRES1:0(ATDCTL1)無關(guān),DJM=0 左對齊,DJM=1 右對齊,轉(zhuǎn)換結(jié)果不放入結(jié)果寄存器,比較完成后丟失,33,單片機(jī)原理與應(yīng)用,本節(jié)提要,一、A/D轉(zhuǎn)換基礎(chǔ)知識 二、ATD模塊簡介 三、ATD模塊寄存器 四、ATD模塊編程范例,34,單片機(jī)原理與應(yīng)用,ATD模塊編程范例,ATD模塊編程方法,ATD模塊編程范例,ATD初始化:先寫除ATD0CTL5外的控制寄存器,再寫ATD0CTL5完成初始化,并啟動轉(zhuǎn)換;,ATD結(jié)果讀?。和ㄟ^查詢ATD0STAT0中的SCF位或采用中斷方式,確定轉(zhuǎn)換完成,讀取相關(guān)結(jié)果寄存器取得ATD轉(zhuǎn)換結(jié)果。,任務(wù):分別對特殊通道VRH、VRL和(VRH+VRL)/2進(jìn)行 ATD轉(zhuǎn)換,35,單片機(jī)原理與應(yīng)用,ATD模塊編程范例(續(xù)1),/* / *S12X128 ATD模塊范例程序* /* #include /* common defines and macros */ #include /SCI相關(guān)函數(shù) /SCI初始化函數(shù) void SCI_init(void); void SC

溫馨提示

  • 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

提交評論