PIC16F877的A/D模塊
結構框圖如下:
本文引用地址:http://cqxgywz.com/article/201611/320860.htm

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

A/D轉換時鐘的選擇
每一位的A/D 轉換時間被定義為 TAD。每完成一次10位A/D轉換需要11.5個 TAD。A/D轉換的時鐘可用軟件進行選擇,對于TAD可以有以下4種選擇:
• 2Tosc
• 8Tosc
• 32Tosc
• A/D模塊內部RC振蕩器
與A/D有關的寄存器:



評論