A/D轉換器芯片及接口電路
1.8位A/D轉換器芯片ADC0809
ADC0809是CMOS單片型逐次逼近式A/D轉換器,ADC0809的主要特性:
● 它是具有8路模擬量輸入、8位數字量輸出功能的A/D轉換器。
● 轉換時間為100μs。
● 模擬輸入電壓范圍為0V~+5V,不需零點和滿刻度校準。
● 低功耗,約15mW。
(1)ADC0809結構框圖及引腳說明
圖4.24ADC0809的結構框圖和引腳
通道選擇開關
通道地址鎖存和譯碼
逐次逼近A/D轉換器
8位鎖存器和三態門
(2)ADC0809的工作過程
對ADC0809的控制過程是:
① 首先確定ADDA、ADDB、ADDC三位地址,決定選擇哪一路模擬信號;
② 使ALE端接受一正脈沖信號,使該路模擬信號經選擇開關到達比較器的輸入端;
③ 使START端接受一正脈沖信號,START的上升沿將逐次逼近寄存器復位,下降沿啟動A/D轉換;
④ EOC輸出信號變低,指示轉換正在進行。
⑤ A/D轉換結束,EOC變為高電平,指示A/D轉換結束。此時,數據已保存到8位三態輸出鎖存器中。此時CPU就可以通過使OE信號為高電平,打開ADC0809三態輸出,由ADC0809輸出的數字量傳送到CPU。
(3)CPU讀取A/D轉換器數據的方法
① 查詢法
優點:接口電路設計簡單。
缺點:A/D轉換期間獨占CPU,致使CPU運行效率降低。
② 定時法:
優點:接口電路設計比查詢法簡單,不必讀取EOC的狀態。
缺點:A/D轉換期間獨占CPU,致使CPU運行效率降低;另外還必須知道A/D轉換器的轉換時間。
CPU讀取A/D轉換器數據的方法
③ 中斷法
優點:A/D轉換期間CPU可以處理其它的程序,提高CPU的運行效率。圖4.25ADC0809接口電路
缺點:接口電路復雜。
(4)ADC0809接口電路
圖 4. 25ADC0809接口電路
[例4.1]利用圖4.25,采用無條件傳送方式,編寫一段輪流從IN0~IN7采集8路模擬信號,并把采集到的數字量存入0100H開始的8個單元內的程序。
程序如下:
MOV DI, 0100H;設置存放數據的首址
MOV BL,08H;采集8次計數器
MOV AH,00H;選0通道
AA1∶MOV AL,AH
MOV DX,ADPORT;設置ADC0809芯片地址
OUT DX,AL;使ALE、START有效,選擇模擬通道,見圖10.18
MOV CX, 0050H
WAIT∶LOOP WAIT;延時,等待A/D轉換
IN AL,DX;使OUTPUTENABLE有效,輸入數據,見圖10.18
MOV[DI],AL;保存數據
INC AH;換下一個模擬通道
INC DI;修改數據區指針
DEC BL
JNZ AA1
2.12位A/D轉換器AD574
AD574是美國模擬器件公司的產品,是較先進的高集成度、低價格的逐次逼近式轉換器。
AD574由兩片大規模集成電路構成。一片為D/A轉換器AD565,另一片集成了逐次逼近寄存器SAR、轉換控制電路、時鐘電路、總線接口電路和高分辨比較器電路。
(1)AD574的結構框圖及引腳說明
圖 4. 26 AD574的結構框圖
引腳信號說明如下:
12/8:數據輸出方式選擇信號,高電平時輸出12位數據,低電平時與A0信號配合輸出高8位或低4位數據。信號不能用TTL電平控制,必須直接接至+5V或數字地。
A0:轉換數據長度選擇控制信號。在轉換狀態,A0為低電平可使AD574進行12位轉換,A0為高電平時可使AD574進行8位轉換。在讀數狀態,如果為低電平,當A0為低電平時,則輸出高8位數據,而A0為高電平時,則輸出低4位數據;如果為高電平,則A0的狀態不起作用。
(2)AD574的工作過程
AD574的工作過程分為啟動轉換和轉換結束后讀出數據兩個過程。
啟動轉換時,首先使/CS、CE信號有效,AD574處于轉換工作狀態,且A0為1或為0,根據所需轉換的位數確定,然后使R/C=0,啟動AD574開始轉換。視為選中AD574的片選信號,為啟動轉換的控制信號。轉換結束,STS由高電平變為低電平。可通過查詢法,讀入STS線端的狀態,判斷轉換是否結束。
(2)AD574的工作過程
輸出數據時,首先根據輸出數據的方式,即是12位并行輸出,還是分兩次輸出,以確定是接高電平還是接低電平;然后在CE=1、/CS=0、R/C=1的條件下,確定A0的電平。若為12位并行輸出,A0端輸入電平信號可高可低;若分兩次輸出12位數據,A0=0,輸出12位數據的高8位,A0=1,輸出12位數據的低4位。由于AD574輸出端有三態緩沖器,所以D0~D11數據輸出線可直接接在CPU數據總線上。
(3)AD574接口電路
圖4.27 12位AD574與8088CPU的接口電路圖
啟動A/D轉換并采用查詢方式,采集數據的程序如下:
MOV DX,278H
OUT DX,AL; 啟動轉換,R/C=0、CS=0、CE=1,A0=0
MOV DX,27AH; 設置三態門地址
AA1∶IN AL,DX; 讀取STS狀態
TEST AL,80H; 測試STS電平
JNE AA1;STS=1 等待,STS=0向下執行
MOV DX,278H
IN AL,DX; 讀高8位數據,R/C=1,CS=0,CE=1,A0=1,CE=1
MOV AH,AL; 保存高8位數據
MOV DX,279H
IN AL,DX; 讀低4位數據,R/C=1, CS=0,A0=1,CE=1
評論