標題: PIC16F877的A/D模塊 [打印本頁]

作者: 51黑黑黑    時間: 2016-2-13 01:43
標題: PIC16F877的A/D模塊
  該模擬數(shù)字轉(zhuǎn)換器(A/D)模塊有多達8個模擬輸入通道。模擬輸入對一個采樣保持電容器充電,采樣保持電容的輸出是A/D轉(zhuǎn)換器的輸入。A/D轉(zhuǎn)換器采用逐次逼近法將這一模擬電平產(chǎn)生數(shù)字轉(zhuǎn)換結(jié)果,其轉(zhuǎn)換結(jié)果為 10 位數(shù)字。模擬參考電壓 ( 正電源電壓和負電源電壓 )可通過軟件選擇為器件的電源電壓 (AVDD、AVss) 或者AN3/VREF+和AN2/VREF-引腳上的電平。A/D轉(zhuǎn)換器具備可在休眠狀態(tài)下工作的獨特特性。
結(jié)構(gòu)框圖如下:

操作步驟:
ADRESH:ADRESL寄存器中保存了A/D轉(zhuǎn)換的10位結(jié)果。當A/D轉(zhuǎn)換完成之后,轉(zhuǎn)換結(jié)果被載入這一A/D結(jié)果寄存器對中,GO/DONE(ADCON0<2>)位被清零,且A/D中斷標志位ADIF置1。當配置好A/D模塊后,在啟動轉(zhuǎn)換前必須先選擇A/D轉(zhuǎn)換的通道。模擬輸入通道的相應(yīng)TRIS位必須設(shè)置為輸入。采集時間(acquisitiontime)的確定參見“A/D采集時間要求”小節(jié)。在這一采集時間過去之后,A/D轉(zhuǎn)換即可開始。按照以下步驟進行A/D轉(zhuǎn)換:
1. 配置A/D模塊
? 對模擬引腳/參考電壓/數(shù)字I/O(ADCON1)進行配置
? 選擇A/D輸入通道(ADCON0)
? 選擇A/D轉(zhuǎn)換時鐘(ADCON0)
? 打開A/D轉(zhuǎn)換模塊(ADCON0)
2. 需要時,設(shè)置A/D中斷
? 將ADIF位清零
? 將ADIE位置1
? 將GIE位置1
3.等待所需的采集時間
4.啟動A/D轉(zhuǎn)換
? 將GO/DONE置1(ADCON0)
5.等待A/D轉(zhuǎn)換完成,通過以下兩種方法之一可判斷轉(zhuǎn)換是否完成:
? 查詢GO/DONE位是否被清零或ADIF位被置1;
? 等待A/D轉(zhuǎn)換的中斷。
6.讀取A/D結(jié)果寄存器對(ADRESH:ADRESL),需要時將ADIF位清零。
7. 要再次進行A/D轉(zhuǎn)換,根據(jù)要求轉(zhuǎn)入步驟1或步驟2。
圖 23-2 為 A/D轉(zhuǎn)換順序及所使用的術(shù)語。 采集時間是 A/D模塊的保持電容連接到外部電平的時間。隨后是12TAD的轉(zhuǎn)換時間,開始于GO位被置1。這兩段時間的總和即采樣時間(samplingtime)。為確保保持電容充電至適當電平以使A/D轉(zhuǎn)換達到所需精度,應(yīng)保證一個最小采集時間。
A/D轉(zhuǎn)換時鐘的選擇  
每一位的A/D 轉(zhuǎn)換時間被定義為 TAD。每完成一次10位A/D轉(zhuǎn)換需要11.5個TAD。A/D轉(zhuǎn)換的時鐘可用軟件進行選擇,對于TAD可以有以下4種選擇:
? 2Tosc
? 8Tosc
? 32Tosc
? A/D模塊內(nèi)部RC振蕩器

與A/D有關(guān)的寄存器:







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1