AD單片機(jī)中的模數(shù)轉(zhuǎn)換課件_第1頁
AD單片機(jī)中的模數(shù)轉(zhuǎn)換課件_第2頁
AD單片機(jī)中的模數(shù)轉(zhuǎn)換課件_第3頁
AD單片機(jī)中的模數(shù)轉(zhuǎn)換課件_第4頁
AD單片機(jī)中的模數(shù)轉(zhuǎn)換課件_第5頁
已閱讀5頁,還剩51頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

ADC0(12

位,只限于C8051F020/1)C8051F020/1

的ADC0

子系統(tǒng)包括一個9

通道的可編程模擬多路選擇器(AMUX0),一個可編程增益放大器(PGA0)和一個100ksps、12

位分辨率的逐次逼近寄存器型ADC,ADC中集成了跟蹤保持電路和可編程窗口檢測器。第16章12位模/數(shù)轉(zhuǎn)換器AMUX0、PGA0、數(shù)據(jù)轉(zhuǎn)換方式及窗口檢測器都可用軟件通過下圖所示的特殊功能寄存器來控制。ADC0

所使用的電壓基準(zhǔn)后面單獨(dú)介紹。只有當(dāng)ADC0

控制寄存器中的AD0EN

位被置‘1’時ADC0子系統(tǒng)(ADC0、跟蹤保持器和PGA0)才被允許工作。當(dāng)AD0EN

位為‘0’時,AD0C

子系統(tǒng)處于低功耗關(guān)斷方式。圖16.1

12

位ADC0

功能框圖16.1

模擬多路開關(guān)和PGAAMUX

中的8

個通道用于外部測量,而第九通道在內(nèi)部被接到片內(nèi)溫度傳感器。注意,PGA0

的增益對溫度傳感器也起作用。溫度傳感器的傳輸函數(shù)示于上圖。當(dāng)溫度傳感器被選中時,其輸出電壓(VTEMP)是PGA的輸入;PGA對該電壓的放大倍數(shù)由用戶編程的PGA

設(shè)置值決定??梢詫MUX

輸入對編程為工作在差分或單端方式。這允許用戶對每個通道選擇最佳的測量技術(shù),甚至可以在測量過程中改變方式。在系統(tǒng)復(fù)位后AMUX

的默認(rèn)方式為單端輸入。有兩個與AMUX

相關(guān)的寄存器:通道選擇寄存器AMX0SL和配置寄存器AMX0CF。PGA

對AMUX

輸出信號的放大倍數(shù)由ADC0

配置寄存器

ADC0CF中的AMP0GN2-0確定。PGA增益可以用軟件編程為0.5、1、2、4、8

或16,復(fù)位后的默認(rèn)增益為1。AMX0CF:AMUX0

配置寄存器(C8051F020/1)位7-4:未使用。讀=0000b;寫=忽略位3

AIN67IC:AIN6、AIN7

輸入對配置位0:AIN6

和AIN7

為獨(dú)立的單端輸入1:AIN6,AIN7

為(分別為)+,-差分輸入對位2

AIN45IC:AIN4、AIN5

輸入對配置位0:AIN4

和AIN5

為獨(dú)立的單端輸入1:AIN4,AIN5

為(分別為)+,-差分輸入對位1

AIN23IC:AIN2、AIN3

輸入對配置位0:AIN2

和AIN3

為獨(dú)立的單端輸入1:AIN2,AIN3

為(分別為)+,-差分輸入對位0

AIN01IC:AIN0、AIN1

輸入對配置位0:AIN0

和AIN1

為獨(dú)立的單端輸入1:AIN0,AIN1

為(分別為)+,-差分輸入對注:對于被配置成差分輸入的通道,ADC0

數(shù)據(jù)字格式為二進(jìn)制補(bǔ)碼形式。AMX0CF:AMUX0

配置寄存器(C8051F020/1)AMUX0SL:AMUX0

通道選擇寄存器(C8051F020/1)位7-4:未使用。讀=0000b;寫=忽略位3-0:AMX0AD3-0:AMUX0

地址位0000-1111b:根據(jù)下表選擇ADC

輸入ADC0CF:ADC0

配置寄存器(C8051F020/1)位7-3:AD0SC4-0:ADC0SAR

轉(zhuǎn)換時鐘周期控制位SAR

轉(zhuǎn)換時鐘來源于系統(tǒng)時鐘,由下面的方程給出:其中AD0SC表示AD0SC4-0中保持的數(shù)值,CLKSAR0

表示所需要的ADC0

SAR

時鐘(注:ADC0

SAR

時鐘應(yīng)小于或等于2.5MHz)。ADC0CF:ADC0

配置寄存器(C8051F020/1)位2-0:AMP0GN2-0:ADC0

內(nèi)部放大器增益(PGA)000:增益=1;001:增益=2;010:增益=4;011:增益=8;10x:增益=16;11x:增益=0.5ADC0CF:ADC0

配置寄存器(C8051F020/1)ADC

的工作方式ADC0

的最高轉(zhuǎn)換速度為100ksps,其轉(zhuǎn)換時鐘來源于系統(tǒng)時鐘分頻,分頻值保存在寄存器ADC0CF

的ADCSC

位中。如何啟動AD0有4種轉(zhuǎn)換啟動方式:向ADC0CN

的AD0BUSY

位寫1;定時器3溢出(即定時的連續(xù)轉(zhuǎn)換);外部ADC

轉(zhuǎn)換啟動信號的上升沿,CNVSTR;定時器2溢出(即定時的連續(xù)轉(zhuǎn)換)。由ADC0CN

中的ADC0

啟動轉(zhuǎn)換方式位(AD0CM1,AD0CM0)的狀態(tài)決定。ADC0CN:ADC0

控制寄存器(C8051F020/1)位7:AD0EN:ADC0

使能位0:ADC0

禁止。ADC0

處于低耗停機(jī)狀態(tài)。1:ADC0

使能。ADC0

處于活動狀態(tài),并準(zhǔn)備轉(zhuǎn)換數(shù)據(jù)。位6:AD0TM:ADC

跟蹤方式位0:當(dāng)ADC

被使能時,除了轉(zhuǎn)換期間之外一直處于跟蹤方式。1:由AD0CM1-0

定義跟蹤方式。位5:AD0INT:ADC0

轉(zhuǎn)換結(jié)束中斷標(biāo)志該標(biāo)志必須用軟件清‘0’。0:從最后一次將該位清0

后,ADC0

還沒有完成一次數(shù)據(jù)轉(zhuǎn)換。1:ADC

完成了一次數(shù)據(jù)轉(zhuǎn)換。位4:AD0BUSY:ADC0

忙標(biāo)志位讀:0:ADC0

轉(zhuǎn)換結(jié)束或當(dāng)前沒有正在進(jìn)行的數(shù)據(jù)轉(zhuǎn)換。AD0INT

在AD0BUSY

的下降沿被置‘1’。1:ADC0

正在進(jìn)行轉(zhuǎn)換。寫:0:無作用1:若AD0CM1-0=00b

則啟動ADC0

轉(zhuǎn)換。ADC0CN:ADC0

控制寄存器(C8051F020/1)位3-2:AD0CM1-0:ADC0

轉(zhuǎn)換啟動方式選擇位。如果AD0TM=0:00:向AD0BUSY

寫1

啟動ADC0

轉(zhuǎn)換。01:定時器3

溢出啟動ADC0

轉(zhuǎn)換。10:CNVSTR

上升沿啟動ADC0

轉(zhuǎn)換。11:定時器2

溢出啟動ADC0

轉(zhuǎn)換。ADC0CN:ADC0

控制寄存器(C8051F020/1)如果AD0TM=1:00:向AD0BUSY

寫1

時啟動跟蹤,持續(xù)3

個SAR

時鐘,然后進(jìn)行轉(zhuǎn)換。01:定時器3

溢出啟動跟蹤,持續(xù)3

個SAR

時鐘,然后進(jìn)行轉(zhuǎn)換。10:只有當(dāng)CNVSTR

輸入為邏輯低電平時ADC0

跟蹤,在CNVSTR

的上升沿開始轉(zhuǎn)換。11:定時器2

溢出啟動跟蹤,持續(xù)3

個SAR

時鐘,然后進(jìn)行轉(zhuǎn)換。ADC0CN:ADC0

控制寄存器(C8051F020/1)位1:AD0WINT:ADC0

窗口比較中斷標(biāo)志。該位由硬件在某些情況自動置1,必須用軟件清0。0:自該標(biāo)志被清除后未發(fā)生過ADC0

窗口比較匹配。1:發(fā)生了ADC0

窗口比較匹配。位0:AD0LJST:ADC0

數(shù)據(jù)左對齊選擇位。0:ADC0H:ADC0L

寄存器數(shù)據(jù)右對齊。1:ADC0H:ADC0L

寄存器數(shù)據(jù)左對齊。ADC0CN:ADC0

控制寄存器(C8051F020/1)AD0BUSY

位在轉(zhuǎn)換期間被置‘1’,轉(zhuǎn)換結(jié)束后復(fù)‘0’。AD0BUSY

位的下降沿觸發(fā)一個中斷(當(dāng)被允許時)并將中斷標(biāo)志AD0INT(ADC0CN.5)置‘1’。轉(zhuǎn)換數(shù)據(jù)被保存在:ADC0H

和ADC0L。當(dāng)通過向AD0BUSY

寫‘1’啟動數(shù)據(jù)轉(zhuǎn)換時,應(yīng)查詢AD0INT位以確定轉(zhuǎn)換何時結(jié)束(也可以使用ADC0

中斷)。建議的查詢步驟如下:寫‘0’到AD0INT;向AD0BUSY

寫‘1’;查詢并等待AD0INT

變‘1’;處理ADC0

數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)在寄存器對ADC0H:ADC0L

中的存儲方式可以是左對齊或右對齊,由ADC0CN

寄存器中AD0LJST

位的編程狀態(tài)決定。ADC0H:ADC

數(shù)據(jù)字MSB

寄存器(C8051F020/1)位7-0:ADC0數(shù)據(jù)字高字節(jié)。當(dāng)AD0LJST=0:位7-4

為位3

的符號擴(kuò)展位。位3-0

是12位ADC0

數(shù)據(jù)字的高4

位。當(dāng)AD0LJST=1:位7-0

為12

位ADC0

數(shù)據(jù)字的高8

位。ADC0L:ADC0

數(shù)據(jù)字LSB

寄存器(C8051F020/1)位7-0:ADC0數(shù)據(jù)字低字節(jié)。當(dāng)AD0LJST=0:位7-0

是12

位ADC

數(shù)據(jù)字的低8

位。當(dāng)AD0LJST=1:位7-4

是12

位ADC

數(shù)據(jù)字的低4

位。位3-0讀出值總是為0。ADC0

數(shù)據(jù)字示例(C8051F020/1)12

位ADC

結(jié)果數(shù)據(jù)字在ADC0

數(shù)據(jù)字寄存器中存放如下:?如果AD0LJST=0(右),ADC0H[3:0]:ADC0L[7:0](如果是差分輸入,ADC0H[7:4]為ADC0H.3

的符號擴(kuò)展位,否則=0000b)?如果AD0LJST=1(左),ADC0H[7:0]:ADC0L[7:4]

(ADC0L[3:0]=0000b)例:ADC

數(shù)據(jù)字轉(zhuǎn)換表,AIN0

為單端輸入方式(AMX0CF=0x00,

AMX0SL=0x00)例:ADC

數(shù)據(jù)字轉(zhuǎn)換表,AIN0-AIN1

為差分輸入對(AMX0CF=0x01,

AMX0SL=0x00)對于AD0LJST=0:轉(zhuǎn)換代碼=單端方式時n=12;差分方式時n=1116.2.2

跟蹤方式ADC0CN

中的AD0TM

位控制ADC0

的跟蹤保持方式。在缺省狀態(tài),即AD0TM位為邏輯‘1’時,除了轉(zhuǎn)換期間之外

ADC0

輸入被連續(xù)跟蹤。當(dāng)AD0TM

位為邏輯‘1’時,ADC0

工作在低功耗跟蹤保持方式在該方式下,在每次啟動轉(zhuǎn)換信號有效之后,轉(zhuǎn)換之前都有3

個SAR

時鐘的跟蹤周期。當(dāng)CNVSTR

信號用于在低功耗跟蹤保持方式啟動轉(zhuǎn)換時,ADC0

只在CNVSTR

為低電平時跟蹤;在CNVSTR

的上升沿開始轉(zhuǎn)換(見圖16.3)。當(dāng)整個芯片處于低功耗待機(jī)或休眠方式時,跟蹤可以被禁止(關(guān)斷)。圖16.3

12

位ADC

跟蹤和轉(zhuǎn)換時序舉例16.2.3

建立時間要求當(dāng)ADC0

輸入配置發(fā)生改變時(AMUX

或PGA

的選擇發(fā)生變化),在進(jìn)行一次精確的轉(zhuǎn)換之前需要有一個最小的跟蹤時間。該跟蹤時間由ADC0

模擬多路器的電阻、ADC0

采樣電容、外部信號源阻抗及所要求的轉(zhuǎn)換精度決定。圖16.4

給出了單端和差分方式下等效的ADC0

輸入電路。圖16.4

ADC0

等效輸入電路注意:這兩種等效電路的時間常數(shù)完全相同。對于一個給定的建立精度(SA),所需要的ADC0

建立時間可以用公式16.1

估算。當(dāng)測量溫度傳感器的輸出時,Rtotal

等于Rmux。公式16.1

ADC0

建立時間其中:SA

是建立精度,用一個LSB

的分?jǐn)?shù)表示(例如,建立精度0.25

對應(yīng)1/4

LSB)t為所需要的建立時間,以秒為單位Rtotal

為ADC0

模擬多路器電阻與外部信號源電阻之和n

為ADC0

的分辨率,用比特表示(12)。注意:在低功耗跟蹤方式,每次轉(zhuǎn)換需要用三個SAR

時鐘跟蹤。對于大多數(shù)應(yīng)用,三個SAR

時鐘可以滿足跟蹤需要。16.3 ADC0

可編程窗口檢測器ADC0

可編程窗口檢測器不停地將ADC0

輸出與用戶編程的極限值進(jìn)行比較,并在檢測到越限條件時通知系統(tǒng)控制器。這在一個中斷驅(qū)動的系統(tǒng)中尤其有效,既可以節(jié)省代碼空間和CPU

帶寬又能提供快速響應(yīng)時間。窗口檢測器中斷標(biāo)志(ADC0CN

中的AD0WINT

位)也可被用于查詢方式。ADC0CN:ADC0

控制寄存器(C8051F020/1)參考字的高和低字節(jié)被裝入到ADC0

下限(大于)寄存器

ADC0GTH、ADC0GTL和ADC0

上限(小于)寄存器

ADC0LTH

和ADC0LTL)。下面給出比較示例供參考。注意,窗口檢測器標(biāo)志既可以在測量數(shù)據(jù)位于用戶編程的極限值以內(nèi)時有效,也可以在測量數(shù)據(jù)位于用戶編程的極限值以外時有效,這取決于ADC0GTx

和ADC0LTx

寄存器的編程值。ADC0GTH:ADC0

下限數(shù)據(jù)高字節(jié)寄存器(C8051F020/1)位7-0:ADC0下限數(shù)據(jù)字的高字節(jié)ADC0GTL:ADC0

下限數(shù)據(jù)低字節(jié)寄存器(C8051F020/1)位7-0:ADC0下限數(shù)據(jù)字的低字節(jié)ADC0LTH:ADC0

上限數(shù)據(jù)高字節(jié)寄存器(C8051F020/1)位7-0:ADC0數(shù)據(jù)上限數(shù)據(jù)字的高字節(jié)ADC0LTL:ADC0

上限數(shù)據(jù)低字節(jié)寄存器(C8051F020/1)位7-0:ADC0上限數(shù)據(jù)字的低字節(jié)12

位ADC0

窗口中斷示例:右對齊的單端數(shù)據(jù)12

位ADC

溫馨提示

  • 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

提交評論