STC89C52與AD、DA轉(zhuǎn)換器的接口_第1頁(yè)
STC89C52與AD、DA轉(zhuǎn)換器的接口_第2頁(yè)
STC89C52與AD、DA轉(zhuǎn)換器的接口_第3頁(yè)
STC89C52與AD、DA轉(zhuǎn)換器的接口_第4頁(yè)
STC89C52與AD、DA轉(zhuǎn)換器的接口_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

D/A轉(zhuǎn)換器(DigitaltoAnalogConverter)——能把數(shù)字量轉(zhuǎn)換為模擬量的電子器件(簡(jiǎn)稱為DAC)。A/D轉(zhuǎn)換器(AnalogtoDigitalConverter)——能把模擬量轉(zhuǎn)換成相應(yīng)數(shù)字量的電子器件(簡(jiǎn)稱為ADC)。目前一頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)11.1STC89C52與A/D轉(zhuǎn)換器的接口1.概述A/D轉(zhuǎn)換器把模擬量轉(zhuǎn)換成數(shù)字量,以便于單片機(jī)進(jìn)行數(shù)據(jù)處理。A/D轉(zhuǎn)換一般要經(jīng)過(guò)采樣、保持、量化及編碼4個(gè)過(guò)程。在實(shí)際電路中,有些過(guò)程是合并進(jìn)行的,如采樣和保持,量化和編碼在轉(zhuǎn)換過(guò)程中是同時(shí)實(shí)現(xiàn)的。目前單片的ADC芯片較多,對(duì)設(shè)計(jì)者來(lái)說(shuō),只需合理的選擇芯片即可。現(xiàn)在部分的單片機(jī)片內(nèi)集成了A/D轉(zhuǎn)換器,僅在片內(nèi)A/D轉(zhuǎn)換器不能滿足需要的情況下,需外擴(kuò)。當(dāng)然作為擴(kuò)展A/D轉(zhuǎn)換器的基本方法,還是應(yīng)該掌握。目前二頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)AD轉(zhuǎn)換器的分類盡管A/D轉(zhuǎn)換器的種類很多,但目前廣泛應(yīng)用在單片機(jī)應(yīng)用系統(tǒng)中的主要有逐次比較型轉(zhuǎn)換器和雙積分型轉(zhuǎn)換器,此外-Δ式轉(zhuǎn)換器逐漸得到重視和較為廣泛的應(yīng)用。逐次比較型A/D轉(zhuǎn)換器,在精度、速度和價(jià)格上都適中,是最常用的A/D轉(zhuǎn)換器。目前三頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)雙積分型A/D轉(zhuǎn)換器,具有精度高、抗干擾性好、價(jià)格低廉等優(yōu)點(diǎn),與逐次比較型A/D轉(zhuǎn)換器相比,轉(zhuǎn)換速度較慢,近年來(lái)在單片機(jī)應(yīng)用領(lǐng)域中也得到廣泛應(yīng)用。-式ADC具有積分式與逐次比較型ADC的雙重優(yōu)點(diǎn)。它對(duì)工業(yè)現(xiàn)場(chǎng)的串模干擾具有較強(qiáng)的抑制能力,不亞于雙積分ADC,它比雙積分ADC有較高的轉(zhuǎn)換速度,與逐次比較型ADC相比,有較高的信噪比,分辨率高,線性度好,不需要采樣保持電路。

A/D轉(zhuǎn)換器按照轉(zhuǎn)換速度可大致分為超高速(轉(zhuǎn)換時(shí)間≤1ns)、高速(轉(zhuǎn)換時(shí)間≤1s)、中速(轉(zhuǎn)換時(shí)間≤1ms)、低速(轉(zhuǎn)換時(shí)間≤1s)等幾種不同轉(zhuǎn)換速度的芯片。

按照輸出數(shù)字量的有效位數(shù)分為4位、8位、10位、12位、14位、16位并行輸出以及BCD碼輸出的3位半、4位半、5位半等多種。目前四頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)

目前,除并行輸出A/D轉(zhuǎn)換器外,隨著單片機(jī)串行擴(kuò)展方式的日益增多,帶有同步SPI串行接口的A/D轉(zhuǎn)換器的使用也逐漸增多。串行輸出的A/D轉(zhuǎn)換器具有占用端口線少、使用方便、接口簡(jiǎn)單等優(yōu)點(diǎn)。較為典型的串行A/D轉(zhuǎn)換器為美國(guó)TI公司的TLC549(8位)、TLC1549(10位)以及TLC1543(10位)和TLC2543(12位)。目前五頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)2.ADC主要技術(shù)指標(biāo)(1)轉(zhuǎn)換時(shí)間和轉(zhuǎn)換速率

A/D完成一次轉(zhuǎn)換所需要的時(shí)間。轉(zhuǎn)換時(shí)間的倒數(shù)為轉(zhuǎn)換速率。

(2)分辨率

分辨率是衡量A/D轉(zhuǎn)換器能夠分辨出輸入模擬量最小變化程度的技術(shù)指標(biāo)。分辨率取決于A/D轉(zhuǎn)換器的位數(shù),習(xí)慣上用輸出的二進(jìn)制位數(shù)或BCD碼位數(shù)表示。例如,AD1674的滿量程輸入電壓為5V,可輸出12位二進(jìn)制數(shù),即用212個(gè)數(shù)進(jìn)行量化,其分辨率為12位,或A/D轉(zhuǎn)換器能分辨出輸入電壓5V/212=1.22mV的變化。目前六頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)

(3)量化誤差量化過(guò)程引起的誤差稱為量化誤差。是由于有限位數(shù)字量對(duì)模擬量進(jìn)行量化而引起的誤差。理論上規(guī)定為一個(gè)單位分辨率的-1/2-+1/2LSB,提高A/D位數(shù)既可以提高分辨率,又能夠減少量化誤差。

(4)轉(zhuǎn)換精度

轉(zhuǎn)換精度定義為一個(gè)實(shí)際A/D轉(zhuǎn)換器與一個(gè)理想A/D轉(zhuǎn)換器在量化值上的差值,可用絕對(duì)誤差或相對(duì)誤差表示。目前七頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)3.逐次逼近式ADC的工作原理

轉(zhuǎn)換過(guò)程中的逐次逼近是按照對(duì)分比較或者對(duì)分搜索的原理進(jìn)行。工作原理:在時(shí)鐘脈沖的同步下,控制邏輯先使N位寄存器的D7位置1(其余位為0),此時(shí)該寄存器輸出的內(nèi)容為10000000,此值經(jīng)DAC轉(zhuǎn)換為模擬量輸出VN,與待轉(zhuǎn)換的模擬輸入信號(hào)VIN相比較,若VIN>=VN,則比較器輸出為1。于是在時(shí)鐘脈沖的同步下,保留最高位D7=1,并使下一位D6=1,所得新值(11000000B)再經(jīng)DAC轉(zhuǎn)換得到新的VN,與VIN比較,重復(fù)前述過(guò)程。反之,若使D7=1后,經(jīng)比較VIN<=VN,則使D7=0,D6=1,所得新值VN再與VIN比較,重復(fù)前述過(guò)程。依次類推,從D7到D0都比較完畢后,控制邏輯使EOC變?yōu)楦唠娖?,表示A/D轉(zhuǎn)換結(jié)束,此時(shí)的D7~D0即為對(duì)應(yīng)于模擬輸入信號(hào)VIN的數(shù)字量。目前八頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)11.1.2STC89C52與并型8位A/D轉(zhuǎn)換器ADC0809的接口1.ADC0809芯片---逐次比較型ADC芯片分辨率為8位轉(zhuǎn)換時(shí)間100μS工作量程為0~+5V功耗為15mW工作電壓為+5V具有鎖存控制的8路模擬開(kāi)關(guān)輸出與TTL電平兼容目前九頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)8路模擬輸入信號(hào)——用三根地址線A,B,C選通IN0~I(xiàn)N7;A、B、C分別與單片機(jī)的三條地址線相連,三位編碼對(duì)應(yīng)8個(gè)通道地址端口。C、B、A

=

000~111分別對(duì)應(yīng)IN0~I(xiàn)N7通道的地址。引腳——START啟動(dòng)AD轉(zhuǎn)換,CLOCK轉(zhuǎn)換時(shí)鐘,VR參考電壓,EOC轉(zhuǎn)換結(jié)束標(biāo)志,OE輸出使能,ALE地址鎖存。ADC0809的結(jié)構(gòu)組成目前十頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)工作時(shí)序ALE鎖存ADDA、ADDB、ADDCSTART正脈沖啟動(dòng)AD轉(zhuǎn)換EOC由高變低(AD啟動(dòng)后)

保持低電平(轉(zhuǎn)換期間)

由低變高(轉(zhuǎn)換結(jié)束)OE正脈沖,打開(kāi)三態(tài)門輸出目前十一頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)2. STC89C52與ADC0809的接口單片機(jī)讀取ADC的轉(zhuǎn)換結(jié)果時(shí),可采用查詢和中斷控制兩種方式。(1)查詢方式查詢方式是在單片機(jī)把啟動(dòng)信號(hào)送到ADC之后,執(zhí)行其他程序,同時(shí)對(duì)ADC0809的EOC腳不斷進(jìn)行檢測(cè),以查詢ADC變換是否已經(jīng)結(jié)束,如查詢到變換已經(jīng)結(jié)束,則讀入轉(zhuǎn)換完畢的數(shù)據(jù)。目前十二頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)由于ADC0809片內(nèi)無(wú)時(shí)鐘,可利用單片機(jī)提供的地址鎖存允許信號(hào)ALE經(jīng)D觸發(fā)器二分頻后獲得,ALE引腳的頻率是STC89C52單片機(jī)時(shí)鐘頻率的1/6。如果單片機(jī)時(shí)鐘頻率采用6MHz,則ALE引腳的輸出頻率為1MHz,再二分頻后為500kHz,符合ADC0809對(duì)時(shí)鐘頻率的要求。當(dāng)然,也可采用獨(dú)立的時(shí)鐘源輸出,直接加到ADC的CLK腳。目前十三頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)ADC0809具有輸出三態(tài)鎖存器,其8位數(shù)據(jù)輸出引腳D0~D7可直接與單片機(jī)的P0口相連。目前十四頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)單片機(jī)的寫信號(hào)和P2.7控制ADC的地址鎖存和轉(zhuǎn)換啟動(dòng)由于ALE和START連在一起,因此ADC0809在鎖存通道地址的同時(shí)啟動(dòng)并進(jìn)行轉(zhuǎn)換。目前十五頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)讀取轉(zhuǎn)換結(jié)果時(shí),用低電平的讀信號(hào)和P2.7引腳經(jīng)一級(jí)“或非門”后產(chǎn)生的正脈沖作為OE信號(hào),用來(lái)打開(kāi)三態(tài)輸出鎖存器。目前十六頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)【例11-1】采用ADC0809設(shè)計(jì)數(shù)據(jù)采集電路.該電路通過(guò)調(diào)節(jié)滑線變阻器,調(diào)節(jié)IN5的輸入電壓,A/D轉(zhuǎn)換結(jié)果存放至片內(nèi)數(shù)據(jù)存儲(chǔ)器50H單元,并通過(guò)兩個(gè)BCD數(shù)碼管顯示出來(lái)。目前十七頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)IN0~I(xiàn)N7的地址分別為0x7FF8~0x7FFF。ADC0809的EOC引腳經(jīng)非門74HC14與單片機(jī)的外部中斷輸入引腳相連,A/D轉(zhuǎn)換結(jié)束后變?yōu)榈碗娖?,單片機(jī)采用查詢或中斷方式讀取A/D轉(zhuǎn)換結(jié)果。(1)查詢方式#include<reg52.h>#include<absacc.h>#defineAD_IN0XBYTE[0X7FF8] //IN0通道地址sbitad_busy=P3^3; unsignedchardatatemp_at_0x50;voidmain(void){while(1){AD_IN0=0; //啟動(dòng)A/D信號(hào),是一個(gè)虛寫操作。while(ad_busy==1); //等待A/D轉(zhuǎn)換結(jié)束temp=AD_IN0; //轉(zhuǎn)換數(shù)據(jù)存到片內(nèi)50H單元P1=temp; //轉(zhuǎn)換數(shù)據(jù)顯示 }} KeiluVision4目前十八頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)(2)中斷方式采用中斷方式完成對(duì)IN0通道的輸入模擬量信號(hào)的采集,當(dāng)A/D轉(zhuǎn)換結(jié)束后,EOC發(fā)出一個(gè)脈沖向單片機(jī)提出中斷申請(qǐng),單片機(jī)響應(yīng)中斷請(qǐng)求后,由外部中斷1的中斷服務(wù)程序讀取A/D轉(zhuǎn)換結(jié)果,并啟動(dòng)ADC0809的下一次轉(zhuǎn)換。外部中斷1采用邊沿觸發(fā)方式。中斷控制方式效率高,所以特別適合于轉(zhuǎn)換時(shí)間較長(zhǎng)的ADC。#include<reg52.h>#include<absacc.h>#defineAD_IN0 XBYTE[0x7FF8] //IN5通道地址unsignedchartemp_at_0x50;voidmain(void){IE=0x84;//CPU開(kāi)放中斷,允許外部中斷1中斷 IT1=1;//外部中斷1采用邊沿觸發(fā) AD_IN0=0;//啟動(dòng)A/D信號(hào) while(1){ }}目前十九頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)voiddata_acquisition(void)interrupt2{ EA=0; temp=AD_IN0;//轉(zhuǎn)換數(shù)據(jù)顯示 P1=temp; AD_IN0=0; //啟動(dòng)A/D信號(hào) EA=1;}KeiluVision4目前二十頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)11.1.3STC89C52與并型12位A/D轉(zhuǎn)換器AD1674的接口

在某些應(yīng)用中,8位ADC常常不夠,必須選擇分辨率大于8位的芯片,由于10位、16位接口與12位類似,因此僅以常用的12位A/D轉(zhuǎn)換器AD1674為例進(jìn)行介紹。1.AD1674簡(jiǎn)介

美國(guó)AD公司12位逐次比較型A/D轉(zhuǎn)換器。轉(zhuǎn)換時(shí)間為10s,單通道最大采集速率100kHz。目前二十一頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)28引腳雙列直插式封裝圖目前二十二頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn) 由于芯片內(nèi)有三態(tài)輸出緩沖電路,因而可直接與各種典型的8位或16位的單片機(jī)相連,AD1674片內(nèi)集成有高精度的基準(zhǔn)電壓源和時(shí)鐘電路,從而使該芯片在不需要任何外加電路和時(shí)鐘信號(hào)的情況下完成A/D轉(zhuǎn)換,使用非常方便。

AD1674是AD574A/674A的更新?lián)Q代產(chǎn)品。它們的內(nèi)部結(jié)構(gòu)和外部應(yīng)用特性基本相同,引腳功能與AD574A/

674A完全兼容,可以直接替換AD574、AD674使用,但最大轉(zhuǎn)換時(shí)間由25s提高到10s。目前二十三頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn) 與AD574A/674A相比,AD1674的內(nèi)部結(jié)構(gòu)更加緊湊,集成度更高,工作性能(尤其是高低溫穩(wěn)定性)更好,而且可以使設(shè)計(jì)板面積大大減小,因而可以降低成本并提高系統(tǒng)的可靠性。目前,片內(nèi)帶有采樣保持器的AD1674正以其優(yōu)良的性能價(jià)格比,取代AD574A和AD674A。 AD1674共有6個(gè)控制引腳,功能如下:

:芯片選擇。

CE:芯片啟動(dòng)信號(hào)。當(dāng)CE=1時(shí),究竟是啟動(dòng)轉(zhuǎn)換還是讀取結(jié)果與R/

有關(guān)。

R/

:讀出/轉(zhuǎn)換控制信號(hào)。目前二十四頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)12/:數(shù)據(jù)輸出格式選擇信號(hào)引腳。當(dāng)12/=1時(shí),12條數(shù)據(jù)線并行輸出轉(zhuǎn)換結(jié)果;當(dāng)12/=0

時(shí),與A0配合,轉(zhuǎn)換結(jié)果分兩次輸出,即只有高8位或低4位有效。注意:12/端與TTL電平不兼容,故只能直接接至+5V或0V上。目前二十五頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)A0:字節(jié)選擇控制。在轉(zhuǎn)換期間: 當(dāng)A0=0時(shí),AD1674進(jìn)行全12位轉(zhuǎn)換。 當(dāng)A0=1時(shí),僅進(jìn)行8位轉(zhuǎn)換。在讀出期間,與12/=0配合:

當(dāng)A0=0時(shí),高8位數(shù)據(jù)有效; 當(dāng)A0=1時(shí),低4位數(shù)據(jù)有效,中間4位為0,高4位為高阻態(tài)。目前二十六頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)上述5個(gè)控制信號(hào)組合的真值表如下:當(dāng)采用兩次讀出的12位數(shù)據(jù)遵循左對(duì)齊格式,如下所示:目前二十七頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)

STS:輸出狀態(tài)信號(hào)引腳。轉(zhuǎn)換開(kāi)始時(shí),STS為高電平,轉(zhuǎn)換過(guò)程中保持高電平。

轉(zhuǎn)換完成時(shí),為低電平。

STS可以作為狀態(tài)信息被CPU查詢,也可用下跳沿向單片機(jī)發(fā)出中斷申請(qǐng),通知單片機(jī)A/D轉(zhuǎn)換已完成,可讀取轉(zhuǎn)換結(jié)果。目前二十八頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn) 除上述6個(gè)控制引腳外,其他引腳的功能如下:REFOUT:+10V基準(zhǔn)電壓輸出。REFIN:基準(zhǔn)電壓輸入。只有由此腳把從“REFOUT”腳輸出的基準(zhǔn)電壓引入到AD1674內(nèi)部的12位DAC,才能進(jìn)行正常的A/D轉(zhuǎn)換。BIPOFF:雙極性補(bǔ)償。對(duì)此引腳進(jìn)行適當(dāng)?shù)倪B接,可實(shí)現(xiàn)單極性或雙極性的輸入。10VIN:10V或?5~+5V模擬信號(hào)輸入端。目前二十九頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)20VIN:20V或?10~+10V模擬信號(hào)輸入端。DGND:數(shù)字地。各數(shù)字電路器件及“+5V”電源的地。AGND:模擬地。各模擬電路器件及“+15V”、“–15V”電源地。VCC:正電源端,為+12~+15V。VEE:負(fù)電源端,為–12~–15V。目前三十頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)

當(dāng)CE=1,=

0同時(shí)滿足時(shí),AD1674才能處于工作狀態(tài)。當(dāng)AD1674處于工作狀態(tài)時(shí),R/=

0時(shí)啟動(dòng)A/D轉(zhuǎn)換;R/=1時(shí)讀出轉(zhuǎn)換結(jié)果。 12/和A0端用來(lái)控制轉(zhuǎn)換字長(zhǎng)和數(shù)據(jù)格式。

A0=0時(shí)啟動(dòng)轉(zhuǎn)換,按完整的12位A/D轉(zhuǎn)換方式工作; A0=1啟動(dòng)轉(zhuǎn)換,則按8位A/D轉(zhuǎn)換方式工作。

當(dāng)AD1674處于數(shù)據(jù)讀出工作狀態(tài)(R/=

1)時(shí),A0和12/成為數(shù)據(jù)輸出格式控制端。2.AD1674的工作特性目前三十一頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn) 12/=1時(shí),對(duì)應(yīng)12位并行輸出; 12/=0時(shí),則對(duì)應(yīng)8位雙字節(jié)輸出。其中A0=0時(shí)輸出高8位,A0

=

1時(shí)輸出低4位,并以4個(gè)0補(bǔ)足尾隨的4位。注意,A0在轉(zhuǎn)換結(jié)果數(shù)據(jù)輸出期間不能變化。 如要求AD1674以獨(dú)立方式工作,只要將CE、12/端接入+5V,

和A0接至0V,將R/作為數(shù)據(jù)讀出和啟動(dòng)轉(zhuǎn)換控制。R/=1時(shí),數(shù)據(jù)輸出端出現(xiàn)被轉(zhuǎn)換后的數(shù)據(jù);

R/=0時(shí),即啟動(dòng)一次A/D轉(zhuǎn)換。在延時(shí)0.5s后,STS

=

1表示轉(zhuǎn)換正在進(jìn)行。經(jīng)過(guò)一個(gè)轉(zhuǎn)換周期后,STS跳回低電平,表示A/D轉(zhuǎn)換完畢,可讀取新的轉(zhuǎn)換數(shù)據(jù)。目前三十二頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn) 注意,只有在CE

=

1且=

0時(shí)才啟動(dòng)轉(zhuǎn)換,在啟動(dòng)信號(hào)有效前,R/必須為低電平,否則將產(chǎn)生讀取數(shù)據(jù)的操作。3.AD1674的單極性和雙極性輸入的電路 通過(guò)改變AD1674引腳8、10、12的外接電路,可使AD1674實(shí)現(xiàn)單極性輸入和雙極性輸入模擬信號(hào)的轉(zhuǎn)換。由于AD1674片內(nèi)含有高精度的基準(zhǔn)電壓源和時(shí)鐘電路,因此AD1674無(wú)需任何外加電路和時(shí)鐘信號(hào)的情況下即可完成A/D轉(zhuǎn)換,使用非常方便。(1)單極性輸入電路

圖11-8(a)為單極性輸入電路,可實(shí)現(xiàn)輸入信號(hào)0~10V或0~20V的轉(zhuǎn)換。當(dāng)輸入信號(hào)為0~10V時(shí),應(yīng)從10VIN引腳輸入(引腳13);輸入信號(hào)為0~20V時(shí),應(yīng)從20VIN引腳輸入(引腳14)。目前三十三頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)

AD1674模擬輸入電路的外部接法注意:單片機(jī)系統(tǒng)模擬信號(hào)的地線應(yīng)與AGND相連,使其地線的接觸電阻盡可能小。目前三十四頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)

輸出的轉(zhuǎn)換結(jié)果D的計(jì)算公式為:

D=4096VIN

/VFS 或 VIN=D·VFS/4096 其中VIN為模擬輸入電壓,VFS為滿量程電壓。若從10VIN腳輸入,VFS=10V,LSB=10/4096≈24mV;若從20VIN腳輸入;VFS=20V,1LSB=20/4096≈49mV。圖中的電位器RP2用于調(diào)零,即當(dāng)VIN=0時(shí),輸出數(shù)字量D為全0。35目前三十五頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)(2)雙極性輸入電路

圖11-8(b)為雙極性轉(zhuǎn)換電路,可實(shí)現(xiàn)輸入信號(hào)?10~+10V或0~+20V的轉(zhuǎn)換。圖中電位器RP1用于調(diào)零。雙極性輸入時(shí),輸出的轉(zhuǎn)換結(jié)果D與模擬輸入電壓VIN之間的關(guān)系為:

D=2048(1+VIN/VFS)或 VIN=(D

/2048–1)VFS/2例如,當(dāng)模擬信號(hào)從10VIN引腳輸入,則VFS=10V,若讀得D=FFFH,即111111111111B=4095,代入式中,可求得VIN=4.9976V。目前三十六頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)轉(zhuǎn)換結(jié)果的高8位從DB11~DB4輸出,低4位從DB3~DB0輸出,即A0=0時(shí),讀取結(jié)果的高8位;當(dāng)A0=1時(shí),讀取結(jié)果的低4位。若遵循左對(duì)齊的原則,DB3~DB0應(yīng)接單片機(jī)的P0.7~P0.4。目前三十七頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)4.STC89C52單片機(jī)與AD1674的接口目前三十八頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn) STS引腳接單片機(jī)的P1.0引腳,采用查詢方式讀取轉(zhuǎn)換結(jié)果。當(dāng)單片機(jī)執(zhí)行對(duì)外部數(shù)據(jù)存儲(chǔ)器寫指令,使CE=1,=0,R/=0,A0=0時(shí),啟動(dòng)A/D轉(zhuǎn)換。當(dāng)單片機(jī)查詢到P1.0引腳為低電平時(shí),轉(zhuǎn)換結(jié)束,單片機(jī)使CE=1,=0,R/=1,A0=0,讀取結(jié)果高8位;CE=1,=0,R/=1,A0=1,讀取結(jié)果的低4位。

該接口電路完成一次A/D轉(zhuǎn)換的查詢方式的程序如下(高8位轉(zhuǎn)換結(jié)果存入R2中,低4位存入R3中,遵循左對(duì)齊原則):目前三十九頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)AD1674:MOV R0,0F8H ;端口地址送R0 MOVX @R0,A

;啟動(dòng)AD1674進(jìn)行轉(zhuǎn)換 SETB P1.0 ;置P1.0為輸入LOOP:

NOP JB P1.0,LOOP ;查詢轉(zhuǎn)換是否結(jié)束 INC R0 ;使R/=1,準(zhǔn)備讀取結(jié)果 MOVX A,@R0

;讀取高8位轉(zhuǎn)換結(jié)果MOV R2,A ;高8位轉(zhuǎn)換結(jié)果存入R2中 INC R0 ;使R/

=1,

A0=1 INC R0 MOVX

A,@R0

;讀取低4位轉(zhuǎn)換結(jié)果

MOV R3,A ;低4位轉(zhuǎn)換結(jié)果存入R3中

………目前四十頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)

AD1674接口電路全部連接完畢后,在模擬輸入端輸入一穩(wěn)定的標(biāo)準(zhǔn)電壓,啟動(dòng)A/D轉(zhuǎn)換,12位數(shù)據(jù)亦應(yīng)穩(wěn)定。如果變化較大,說(shuō)明電路穩(wěn)定性差,則要從電源及接地布線等方面查找原因。

AD1674的電源電壓要有較好的穩(wěn)定性和較小的噪聲,噪聲大的電源會(huì)產(chǎn)生不穩(wěn)定的輸出代碼,所以在設(shè)計(jì)印制電路板時(shí),要注意電源去耦、布線以及地線的布置。這些問(wèn)題對(duì)于位數(shù)較多的ADC與單片機(jī)接口,要給予重視。電源要很好濾波,還要避開(kāi)高頻噪聲源。此外,所有的電源引腳都要用去耦電容。目前四十一頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)11.2STC89C52與D/A轉(zhuǎn)換器的接口11.2.1D/A轉(zhuǎn)換器簡(jiǎn)介1.概述模/數(shù)轉(zhuǎn)換器(DAC)是一種把數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)的器件。按照二進(jìn)制數(shù)字量的位數(shù)劃分,有8位、10位、12位、16位D/A轉(zhuǎn)換器;按照數(shù)字量的數(shù)碼形式劃分,有二進(jìn)制碼和BCD碼D/A轉(zhuǎn)換器;按照D/A轉(zhuǎn)換器輸出方式劃分,有電流輸出型和電壓輸出型D/A轉(zhuǎn)換器。在實(shí)際應(yīng)用中,對(duì)于電流輸出的D/A轉(zhuǎn)換器,如需要模擬電壓輸出,可在其輸出端加一個(gè)由運(yùn)算放大器構(gòu)成的I/V轉(zhuǎn)換電路,將電流輸出轉(zhuǎn)換為電壓輸出。目前四十二頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)

單片機(jī)與D/A轉(zhuǎn)換器的連接,早期多采用8位數(shù)字量并行傳輸?shù)牟⑿薪涌?,現(xiàn)在除并行接口外,帶有串行口的D/A轉(zhuǎn)換器品種也不斷增多。除了通用的UART串行口外,目前較為流行的還有IIC串行口和SPI串行口等。所以在選擇單片D/A轉(zhuǎn)換器時(shí),要考慮單片機(jī)與D/A轉(zhuǎn)換器的接口形式。目前四十三頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)目前部分單片機(jī)芯片中集成的D/A轉(zhuǎn)換器位數(shù)一般在10位左右,且轉(zhuǎn)換速度很快,所以單片的DAC開(kāi)始向高位數(shù)和高轉(zhuǎn)換速度上轉(zhuǎn)變。低端的產(chǎn)品,如8位的D/A轉(zhuǎn)換器,開(kāi)始面臨被淘汰的危險(xiǎn),但是在實(shí)驗(yàn)室或涉及某些工業(yè)控制方面的應(yīng)用,低端的8位DAC以其優(yōu)異性價(jià)比還是具有相當(dāng)大的應(yīng)用空間的。目前四十四頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)2.D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)(1)分辨率

分辨率是指輸入數(shù)字量的最低有效位(LSB)發(fā)生變化時(shí),所對(duì)應(yīng)的輸出模擬量(常為電壓)的變化量。它反映了輸出模擬量的最小變化值。

分辨率與輸入數(shù)字量的位數(shù)有確定的關(guān)系,可以表示成FS/2n。FS表示滿量程輸入值,n為二進(jìn)制位數(shù)。對(duì)于5V的滿量程,采用8位的DAC時(shí),分辨率為5V/28=19.5mV;當(dāng)采用12位的DAC時(shí),分辨率則為5V/212=1.22mV。顯然,位數(shù)越多,分辨率就越高。即D/A轉(zhuǎn)換器對(duì)輸入量變化的敏感程度越高。

使用時(shí),應(yīng)根據(jù)對(duì)D/A轉(zhuǎn)換器分辨率的需要來(lái)選定D/A轉(zhuǎn)換器的位數(shù)。目前四十五頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)(2)建立時(shí)間描述D/A轉(zhuǎn)換器轉(zhuǎn)換快慢的一個(gè)參數(shù),用于表明轉(zhuǎn)換時(shí)間或轉(zhuǎn)換速度。其值為從輸入數(shù)字量到輸出達(dá)到終值誤差(1/2)LSB時(shí)所需的時(shí)間。 電流輸出型DAC的轉(zhuǎn)換時(shí)間較短,而電壓輸出的轉(zhuǎn)換器,由于要加上完成I-V轉(zhuǎn)換的運(yùn)算放大器的延遲時(shí)間,因此轉(zhuǎn)換時(shí)間要長(zhǎng)一些??焖貲/A轉(zhuǎn)換器的轉(zhuǎn)換時(shí)間可控制在1s以下。目前四十六頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)(3)轉(zhuǎn)換精度

理想情況下,轉(zhuǎn)換精度與分辨率基本一致,位數(shù)越多精度越高。 但由于電源電壓、基準(zhǔn)電壓、電阻、制造工藝等各種因素存在著誤差。嚴(yán)格講,轉(zhuǎn)換精度與分辨率并不完全一致。只要位數(shù)相同,分辨率則相同,但相同位數(shù)的不同轉(zhuǎn)換器轉(zhuǎn)換精度會(huì)有所不同。 例如,某種型號(hào)的8位DAC精度為0.19%,而另一種型號(hào)的8位DAC精度為0.05%。目前四十七頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)3.(電流輸出型)D/A轉(zhuǎn)換器的工作原理目前常用的D/A轉(zhuǎn)換器是由T型電阻網(wǎng)絡(luò)構(gòu)成的??傠娏鞣种щ娏鬓D(zhuǎn)換電流I01轉(zhuǎn)換電流與“邏輯開(kāi)關(guān)”為1的各支路電流的總和成正比,即與D0~D7口輸入的二進(jìn)制數(shù)成正比。

目前四十八頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)轉(zhuǎn)換電壓DAC0832外接放大器反饋電阻即,轉(zhuǎn)換電壓正比于待轉(zhuǎn)換的二進(jìn)制數(shù)和參考電壓目前四十九頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)當(dāng)輸入數(shù)據(jù)D7~D0為11111111B時(shí),有目前五十頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)11.2.2STC89C52與8位D/A轉(zhuǎn)換器DAC0832的接口設(shè)計(jì)1.DAC0832芯片----電流輸出型D/A轉(zhuǎn)換器8位并行輸入方式分辨率19.5mV(VREF=5V)電流建立時(shí)間1μS輸入與TTL電平兼容單一電源供電(+5V~+15V)低功耗,20mw目前五十一頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)引腳功能:DI0~DI7:8位數(shù)字信號(hào)輸入端,與單片機(jī)的數(shù)據(jù)總線P0口相連,用于接收單片機(jī)送來(lái)的待轉(zhuǎn)換為模擬量的數(shù)字量,DI7為最高位。:片選端,為低電平時(shí),本芯片被選中。ILE:數(shù)據(jù)鎖存允許控制端,高電平有效。

:第一級(jí)輸入寄存器寫選通控制,低電平有效。當(dāng)=0,ILE=1,=0時(shí),待轉(zhuǎn)換的數(shù)據(jù)信號(hào)被鎖存到第一級(jí)8位輸入寄存器中。目前五十二頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)

:數(shù)據(jù)傳送控制,低電平有效。

:DAC寄存器寫選通控制端,低電平有效。當(dāng)

=0,

=0時(shí),輸入寄存器中待轉(zhuǎn)換的數(shù)據(jù)傳入8位DAC寄存器中。IOUT1:D/A轉(zhuǎn)換器電流輸出1端,輸入數(shù)字量全為“1”時(shí),IOUT1最大,輸入數(shù)字量全為“0”時(shí),IOUT1最小。IOUT2:D/A轉(zhuǎn)換器電流輸出2端,IOUT2

+

IOUT1

=

常數(shù)。Rfb:外部反饋信號(hào)輸入端,內(nèi)部已有反饋電阻Rfb,根據(jù)需要也可外接反饋電阻。VCC:電源輸入端,在+5V~+15V范圍內(nèi)。目前五十三頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)DAC0832的結(jié)構(gòu)內(nèi)部組成:1個(gè)8位輸入鎖存器1個(gè)8位DAC寄存器1個(gè)8位D/A轉(zhuǎn)換器5個(gè)控制邏輯(2級(jí)控制)工作過(guò)程:8位數(shù)據(jù)并行送入鎖存器→在第1級(jí)控制信號(hào)作用下進(jìn)入寄存器→在第2級(jí)控制信號(hào)作用下進(jìn)入轉(zhuǎn)換器→轉(zhuǎn)換結(jié)果由Iout1電流輸出。目前五十四頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)DAC0832的3種控制方式直通方式——

兩個(gè)寄存器都處于直通狀態(tài)直通方式不能直接與系統(tǒng)的數(shù)據(jù)總線相連,需另加鎖存器,故較少應(yīng)用。單緩沖方式——

一個(gè)寄存器處于直通,另一個(gè)處于受控狀態(tài)雙緩沖方式——

兩個(gè)寄存器都分別處于受控狀態(tài)目前五十五頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)電路采用I/O口方式接線,直通控制方式——4個(gè)控制端都接低電平,ILE接高電平。數(shù)字量一旦輸入,就直接進(jìn)入DAC寄存器,進(jìn)行D/A轉(zhuǎn)換。直通控制方式---兩個(gè)寄存器都處于直通狀態(tài)2.STC89C52與DAC0832的接口目前五十六頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)單緩沖方式---內(nèi)部的兩個(gè)數(shù)據(jù)緩沖器有一個(gè)處于直通方式,另一個(gè)處于受單片機(jī)控制的鎖存方式。在實(shí)際應(yīng)用中,如果只有一路模擬量輸出,或雖是多路模擬量輸出但并不要求多路輸出同步的情況下,可采用單緩沖方式。

DAC0832單緩沖方式接口單極性輸出

的正負(fù)極性由VREF的極性確定。目前五十七頁(yè)\總數(shù)六十五頁(yè)\編于十六點(diǎn)圖中ILE接+5V,IOUT2接地,IOUT1輸出電流經(jīng)運(yùn)算放大器變換后輸出單極性電壓,范圍

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論