AD574A是一種單片高速12位逐次比較型A/D轉(zhuǎn)換器,這里介紹ad574a中文資料,他內(nèi)置雙極性電路構(gòu)成的混合集成轉(zhuǎn)換顯片,具有外接元件少,功耗低,精度高等特點(diǎn),并且具有自動校零和自動極性轉(zhuǎn)換功能,只需外接少量的阻容件即可構(gòu)成一個完整的A/D轉(zhuǎn)換器,其主要功能特性如下: 分辨率:12位 非線性誤差:小于±1/2LBS或±1LBS 轉(zhuǎn)換速率:25us 模擬電壓輸入范圍:0—10V和0—20V,0—±5V和0—±10V兩檔四種 電源電壓:±15V和5V 數(shù)據(jù)輸出格式:12位/8位 芯片工作模式:全速工作模式和單一工作模式。
ad574a中文資料:
CS:片選信號,低電平有效。
CE:芯片允許信號,高電平有效。只有CS和CE同時有效,AD574A才能工 作。
R/C讀出或轉(zhuǎn)換控制信號,用于控制ADC574A是轉(zhuǎn)換還是讀出。當(dāng)為低電 平時,啟動A/D轉(zhuǎn)換;當(dāng)為高電平時,將轉(zhuǎn)換結(jié)果讀出。
12/8:數(shù)據(jù)輸出方式控制信號。當(dāng)為高電平時,輸出數(shù)據(jù)為12位;當(dāng)為 低電平時,數(shù)據(jù)是作為兩個8位字輸出。
A0轉(zhuǎn)換位數(shù)控制信號。當(dāng)為高電平是,進(jìn)行8位轉(zhuǎn)換,為低電平進(jìn)行12位轉(zhuǎn)換。
CS:片選信號,低電平有效。
CE:芯片允許信號,高電平有效。只有CS和CE同時有效,AD574A才能工 作。
R/C讀出或轉(zhuǎn)換控制信號,用于控制ADC574A是轉(zhuǎn)換還是讀出。當(dāng)為低電 平時,啟動A/D轉(zhuǎn)換;當(dāng)為高電平時,將轉(zhuǎn)換結(jié)果讀出。
12/8:數(shù)據(jù)輸出方式控制信號。當(dāng)為高電平時,輸出數(shù)據(jù)為12位;當(dāng)為 低電平時,數(shù)據(jù)是作為兩個8位字輸出。
A0轉(zhuǎn)換位數(shù)控制信號。當(dāng)為高電平是,進(jìn)行8位轉(zhuǎn)換,為低電平進(jìn)行12位轉(zhuǎn)換。
AD574A管腳功能參數(shù)說明
AD574A管腳功能說明:
[1]. Pin1(+V)——+5V電源輸入端。 [2]. Pin2( )——數(shù)據(jù)\ 模式選擇端,通過此引腳可選擇數(shù)據(jù)縱線是12位或8位輸出。
[3]. Pin3( )——片選端。 [4]. Pin4(A0)——字節(jié)地址短周期控制端。與 端用來控制啟動轉(zhuǎn)換的方式和數(shù)據(jù)輸出格式。須注意的是, 端TTL電平不能直接+5V或0V連接。 [5]. Pin5( )——讀轉(zhuǎn)換數(shù)據(jù)控制端。 |
[6]. Pin6(CE)——使能端。
現(xiàn)在我們來討論AD574A的CE和A0對其工作狀態(tài)的控制過程。在CE=1、 =0同時滿足時,AD574A才會正常工作,在AD574處于工作狀態(tài)時,當(dāng) =0時A/D轉(zhuǎn)換,當(dāng) =1是進(jìn)行數(shù)據(jù)讀出。 和A0端用來控制啟動轉(zhuǎn)換的方式和數(shù)據(jù)輸出格式。A0-0時,啟動的是按完整12位數(shù)據(jù)方式進(jìn)行的。當(dāng)A0=1時,按8位A/D轉(zhuǎn)換方式進(jìn)行。當(dāng) =1,也即當(dāng)AD574A處于數(shù)據(jù)狀態(tài)時,A0和 控制數(shù)據(jù)輸出狀態(tài)的格式。當(dāng) =1時,數(shù)據(jù)以12位并行輸出,當(dāng) =0時,數(shù)據(jù)以8位分兩次輸出。而當(dāng)A0=0時,輸出轉(zhuǎn)換數(shù)據(jù)的高8位,A0=1時輸出A/D轉(zhuǎn)換數(shù)據(jù)的低4位,這四位占一個字節(jié)的高半字節(jié),低半字節(jié)補(bǔ)零。其控制邏輯真值表見表1。 |
[7]. Pin7(V+)——正電源輸入端,輸入+15V電源。
[8]. Pin8(REF OUT)——10V基準(zhǔn)電源電壓輸出端。 [9]. Pin9(AGND)——模擬地端。 [10]. Pin10(REF IN)——基準(zhǔn)電源電壓輸入端。 [11]. Pin(V-)——負(fù)電源輸入端,輸入-15V電源。 [12]. Pin1(V+)——正電源輸入端,輸入+15V電源。 [13]. Pin13(10V IN)——10V量程模擬電壓輸入端。 [14]. Pin14(20V IN)——20V量程模擬電壓輸入端。 |
|
[15]. Pin15(DGND)——數(shù)字地端。
[16]. Pin16—Pin27(DB0—DB11)——12條數(shù)據(jù)總線。通過這12條數(shù)據(jù)總線向外輸出A/D轉(zhuǎn)換數(shù)據(jù)。 |
[17]. Pin28(STS)——工作狀態(tài)指示信號端,STS=1時,表示轉(zhuǎn)換器正處于轉(zhuǎn)換狀態(tài),當(dāng)STS=0時,聲明A/D轉(zhuǎn)換結(jié)束,通過此信號可以判別A/D轉(zhuǎn)換器的工作狀態(tài),作為單片機(jī)的中斷或查詢信號之用。
|
ad574a程序:
sbit ad_status = P3^3;
uchar xdata ad_convert _at_ 0x6000; //開始轉(zhuǎn)換
uchar xdata ad_read_hi _at_ 0x6002; //讀取高字節(jié)
uchar xdata ad_read_lo _at_ 0x6003; //讀取低字節(jié)
uchar xdata ad_read_hi _at_ 0x6002; //讀取高字節(jié)
uchar xdata ad_read_lo _at_ 0x6003; //讀取低字節(jié)
uint ad_1674 (void)
{
union adc
{
uint adcc;
uchar ad[2];
};
union adc add;
{
union adc
{
uint adcc;
uchar ad[2];
};
union adc add;
ad_convert=0xff;
while(ad_status);
add.ad[0]=ad_read_hi;
add.ad[1] =ad_read_lo;
add.adcc=add.adcc>>4;
return add.adcc;
}ORG 0000H
AJMP MAIN ;主程序
ORG 0013H
LJMP XAD ;中斷1 A/D采樣子程序
;*********************************************
;* 初始化 ad574a程序 *
;*********************************************
ORG 0030H
MAIN: MOV SP,#60H ;設(shè)置堆棧
;SETB EA
clr ie1
SETB IT1
START: LCALL MNLCJ
;*****************************************
;* A/D采樣子程序 初始化 *
;*****************************************
AD1: PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#0C000H;打開 0 通道
MOV A,#08H
MOVX @DPTR,A
MOV DPTR,#9000H ;啟動A/D轉(zhuǎn)換
MOVX @DPTR,A
SETB EX1
POP ACC
POP DPL
POP DPH
RET
;*****************************
;* A/D 574的中斷子程序 *
;*****************************
XAD: PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#9002H;讀入高8位結(jié)果放入50H
MOVX A,@DPTR
MOV 50H,A
INC DPTR
MOVX A,@DPTR ;讀入低4 位結(jié)果放入51H
MOV 51H,A
CLR EX1
POP ACC
POP DPL
POP DPH
RETI
;*********************************************
;模擬量采集 *
;*********************************************
MNLCJ: MOV R0,#40H
LCALL AD1 ;第一端口模擬量采集
ajmp $
; MOV A,50H
; MOV @R0,A
;INC R0
;MOV A,51H
;MOV @R0,A
END
NOP
NOP
LJMP main
LJMP main