第11章STC89C52與AD、DA轉換器接口_第1頁
第11章STC89C52與AD、DA轉換器接口_第2頁
第11章STC89C52與AD、DA轉換器接口_第3頁
第11章STC89C52與AD、DA轉換器接口_第4頁
第11章STC89C52與AD、DA轉換器接口_第5頁
已閱讀5頁,還剩66頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

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

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

按照輸出數(shù)字量的有效位數(shù)分為4位、8位、10位、12位、14位、16位并行輸出以及BCD碼輸出的3位半、4位半、5位半等多種。第六頁,共71頁。

目前,除并行輸出A/D轉換器外,隨著單片機串行擴展方式的日益增多,帶有同步SPI串行接口的A/D轉換器的使用也逐漸增多。串行輸出的A/D轉換器具有占用端口線少、使用方便、接口簡單等優(yōu)點。較為典型的串行A/D轉換器為美國TI公司的TLC549(8位)、TLC1549(10位)以及TLC1543(10位)和TLC2543(12位)。第七頁,共71頁。2.ADC主要技術指標(1)轉換時間和轉換速率

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

(2)分辨率

分辨率是衡量A/D轉換器能夠分辨出輸入模擬量最小變化程度的技術指標。分辨率取決于A/D轉換器的位數(shù),習慣上用輸出的二進制位數(shù)或BCD碼位數(shù)表示。例如,AD1674的滿量程輸入電壓為5V,可輸出12位二進制數(shù),即用212個數(shù)進行量化,其分辨率為12位,或A/D轉換器能分辨出輸入電壓5V/212=1.22mV的變化。第八頁,共71頁。

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

(4)轉換精度

轉換精度定義為一個實際A/D轉換器與一個理想A/D轉換器在量化值上的差值,可用絕對誤差或相對誤差表示。第九頁,共71頁。3.逐次逼近式ADC的工作原理

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

=

000~111分別對應IN0~IN7通道的地址。引腳——START啟動AD轉換,CLOCK轉換時鐘,VR參考電壓,EOC轉換結束標志,OE輸出使能,ALE地址鎖存。ADC0809的結構組成第十二頁,共71頁。工作時序ALE鎖存ADDA、ADDB、ADDCSTART正脈沖啟動AD轉換EOC由高變低(AD啟動后)

保持低電平(轉換期間)

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

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

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

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

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

:芯片選擇。

CE:芯片啟動信號。當CE=1時,究竟是啟動轉換還是讀取結果與R/

有關。

R/

:讀出/轉換控制信號。第二十六頁,共71頁。12/:數(shù)據(jù)輸出格式選擇信號引腳。當12/=1時,12條數(shù)據(jù)線并行輸出轉換結果;當12/=0

時,與A0配合,轉換結果分兩次輸出,即只有高8位或低4位有效。注意:12/端與TTL電平不兼容,故只能直接接至+5V或0V上。第二十七頁,共71頁。A0:字節(jié)選擇控制。在轉換期間: 當A0=0時,AD1674進行全12位轉換。 當A0=1時,僅進行8位轉換。在讀出期間,與12/=0配合:

當A0=0時,高8位數(shù)據(jù)有效; 當A0=1時,低4位數(shù)據(jù)有效,中間4位為0,高4位為高阻態(tài)。第二十八頁,共71頁。上述5個控制信號組合的真值表如下:當采用兩次讀出的12位數(shù)據(jù)遵循左對齊格式,如下所示:第二十九頁,共71頁。

STS:輸出狀態(tài)信號引腳。轉換開始時,STS為高電平,轉換過程中保持高電平。

轉換完成時,為低電平。

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

當CE=1,=

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

0時啟動A/D轉換;R/=1時讀出轉換結果。 12/和A0端用來控制轉換字長和數(shù)據(jù)格式。

A0=0時啟動轉換,按完整的12位A/D轉換方式工作; A0=1啟動轉換,則按8位A/D轉換方式工作。

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

1)時,A0和12/成為數(shù)據(jù)輸出格式控制端。2.AD1674的工作特性第三十三頁,共71頁。 12/=1時,對應12位并行輸出; 12/=0時,則對應8位雙字節(jié)輸出。其中A0=0時輸出高8位,A0

=

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

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

R/=0時,即啟動一次A/D轉換。在延時0.5s后,STS

=

1表示轉換正在進行。經(jīng)過一個轉換周期后,STS跳回低電平,表示A/D轉換完畢,可讀取新的轉換數(shù)據(jù)。第三十四頁,共71頁。 注意,只有在CE

=

1且=

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

圖11-8(a)為單極性輸入電路,可實現(xiàn)輸入信號0~10V或0~20V的轉換。當輸入信號為0~10V時,應從10VIN引腳輸入(引腳13);輸入信號為0~20V時,應從20VIN引腳輸入(引腳14)。第三十五頁,共71頁。

AD1674模擬輸入電路的外部接法注意:單片機系統(tǒng)模擬信號的地線應與AGND相連,使其地線的接觸電阻盡可能小。第三十六頁,共71頁。

輸出的轉換結果D的計算公式為:

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)零,即當VIN=0時,輸出數(shù)字量D為全0。37第三十七頁,共71頁。(2)雙極性輸入電路

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

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

/2048–1)VFS/2例如,當模擬信號從10VIN引腳輸入,則VFS=10V,若讀得D=FFFH,即111111111111B=4095,代入式中,可求得VIN=4.9976V。第三十八頁,共71頁。轉換結果的高8位從DB11~DB4輸出,低4位從DB3~DB0輸出,即A0=0時,讀取結果的高8位;當A0=1時,讀取結果的低4位。若遵循左對齊的原則,DB3~DB0應接單片機的P0.7~P0.4。第三十九頁,共71頁。4.STC89C52單片機與AD1674的接口第四十頁,共71頁。 STS引腳接單片機的P1.0引腳,采用查詢方式讀取轉換結果。當單片機執(zhí)行對外部數(shù)據(jù)存儲器寫指令,使CE=1,=0,R/=0,A0=0時,啟動A/D轉換。當單片機查詢到P1.0引腳為低電平時,轉換結束,單片機使CE=1,=0,R/=1,A0=0,讀取結果高8位;CE=1,=0,R/=1,A0=1,讀取結果的低4位。

該接口電路完成一次A/D轉換的查詢方式的程序如下(高8位轉換結果存入R2中,低4位存入R3中,遵循左對齊原則):第四十一頁,共71頁。AD1674:MOV R0,0F8H ;端口地址送R0 MOVX @R0,A

;啟動AD1674進行轉換 SETB P1.0 ;置P1.0為輸入LOOP:

NOP JB P1.0,LOOP ;查詢轉換是否結束 INC R0 ;使R/=1,準備讀取結果 MOVX A,@R0

;讀取高8位轉換結果MOV R2,A ;高8位轉換結果存入R2中 INC R0 ;使R/

=1,

A0=1 INC R0 MOVX

A,@R0

;讀取低4位轉換結果

MOV R3,A ;低4位轉換結果存入R3中

………第四十二頁,共71頁。

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

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

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

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

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

使用時,應根據(jù)對D/A轉換器分辨率的需要來選定D/A轉換器的位數(shù)。第四十七頁,共71頁。(2)建立時間描述D/A轉換器轉換快慢的一個參數(shù),用于表明轉換時間或轉換速度。其值為從輸入數(shù)字量到輸出達到終值誤差(1/2)LSB時所需的時間。 電流輸出型DAC的轉換時間較短,而電壓輸出的轉換器,由于要加上完成I-V轉換的運算放大器的延遲時間,因此轉換時間要長一些??焖貲/A轉換器的轉換時間可控制在1s以下。第四十八頁,共71頁。(3)轉換精度

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

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

:第一級輸入寄存器寫選通控制,低電平有效。當=0,ILE=1,=0時,待轉換的數(shù)據(jù)信號被鎖存到第一級8位輸入寄存器中。第五十四頁,共71頁。

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

:DAC寄存器寫選通控制端,低電平有效。當

=0,

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

+

IOUT1

=

常數(shù)。Rfb:外部反饋信號輸入端,內(nèi)部已有反饋電阻Rfb,根據(jù)需要也可外接反饋電阻。VCC:電源輸入端,在+5V~+15V范圍內(nèi)。第五十五頁,共71頁。DAC0832的結構內(nèi)部組成:1個8位輸入鎖存器1個8位DAC寄存器1個8位D/A轉換器5個控制邏輯(2級控制)工作過程:8位數(shù)據(jù)并行送入鎖存器→在第1級控制信號作用下進入寄存器→在第2級控制信號作用下進入轉換器→轉換結果由Iout1電流輸出。第五十六頁,共71頁。DAC0832的3種控制方式直通方式——

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

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

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

的正負極性由VREF的極性確定。第五十九頁,共71頁。圖中ILE接+5V,IOUT2接地,IOUT1輸出電流經(jīng)運算放大器變換后輸出單極性電壓,范圍為0~+5V。DAC0832的“8位DAC寄存器”工作于直通方式。“8位輸入寄存器”處于受控狀態(tài),由P2.7來控制。當單片機執(zhí)行如下指令就可在和上產(chǎn)生低電平,使DAC0832接收STC89C52送來的數(shù)字量。MOV DPTR,#7FFFHMOV A,#dataMOVX @DPTR,A第六十頁,共71頁?!纠?1-2】DAC0832用作波形發(fā)生器。寫出產(chǎn)生三角波和矩形波的程序。第六十一頁,共71頁。#include<absacc.h>#defineDAC0832XBYTE[0x7fff]//設置DAC0832的訪問地址unsignedcharnum;voidmain(){while(1){for(num=0;num<0xff;num++) //上升段波形 DAC0832=num; for(num=0xff;num>0;num--)//下降段波形 DAC0832=num; //DA

溫馨提示

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

評論

0/150

提交評論