AD轉(zhuǎn)換與DA轉(zhuǎn)換實(shí)訓(xùn)-課件_第1頁
AD轉(zhuǎn)換與DA轉(zhuǎn)換實(shí)訓(xùn)-課件_第2頁
AD轉(zhuǎn)換與DA轉(zhuǎn)換實(shí)訓(xùn)-課件_第3頁
AD轉(zhuǎn)換與DA轉(zhuǎn)換實(shí)訓(xùn)-課件_第4頁
AD轉(zhuǎn)換與DA轉(zhuǎn)換實(shí)訓(xùn)-課件_第5頁
已閱讀5頁,還剩115頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第11章 A/D、D/A轉(zhuǎn)換器的應(yīng)用11.1 8位A/D轉(zhuǎn)換器ADC0809的應(yīng)用11.2 12位A/D轉(zhuǎn)換器AD574A的應(yīng)用11.3 串行A/D轉(zhuǎn)換器MAX1247的應(yīng)用11.4 8位D/A轉(zhuǎn)換器DAC0832的應(yīng)用11.5 串行D/A MAX525的應(yīng)用11.6 8位A/D、D/A轉(zhuǎn)換器PCF8591的應(yīng)用1. 實(shí)訓(xùn)目的掌握A/D轉(zhuǎn)換器ADC0809的原理及基本性能指標(biāo)掌握ADC0809與單片機(jī)的接口方法及編程方法2. 功能設(shè)計(jì)設(shè)計(jì)由單片機(jī)與A/D轉(zhuǎn)換器ADC0809構(gòu)成的數(shù)據(jù)采集系統(tǒng),使其依次采集8路模擬量,經(jīng)0809進(jìn)行A/D轉(zhuǎn)換后保存在內(nèi)部RAM的60H67H單元。采用中斷方式進(jìn)行

2、數(shù)據(jù)處理。11.1 8位A/D轉(zhuǎn)換器ADC0809的應(yīng)用3. 背景知識在單片機(jī)實(shí)時(shí)控制和智能儀表等應(yīng)用系統(tǒng)中,被控或被測對象往往是一些連續(xù)變化的模擬量,如溫度、流量、速度等物理量。這些模擬量必須轉(zhuǎn)換為數(shù)字量才能輸入計(jì)算機(jī)進(jìn)行處理。ADC0809是專用A/D(模/數(shù))集成芯片,在單片機(jī)應(yīng)用系統(tǒng)中作為輸入通道。一個(gè)簡單的單片機(jī)測控系統(tǒng)框如圖11-1所示。 圖11-1 單片機(jī)測控系統(tǒng)框圖A/D轉(zhuǎn)換器形式很多,按A/D轉(zhuǎn)換器輸入模擬量的極性分類,可分為單極型和雙極型兩種;按A/D轉(zhuǎn)換器的數(shù)字量輸出方式分類,可分為并行方式、串行方式及串/并行方式;按A/D轉(zhuǎn)換器的轉(zhuǎn)換原理分類,可分為積分型、逐次逼近型和

3、并行轉(zhuǎn)換型。(1) 關(guān)于ADC0809ADC0809是一個(gè)典型的逐次逼近型8位A/D轉(zhuǎn)換器。它由8路模擬開關(guān)、8位A/D轉(zhuǎn)換器、三態(tài)輸出鎖存器及地址鎖存譯碼器等組成。它允許8路模擬量分時(shí)輸入,轉(zhuǎn)化后的數(shù)字量輸出是三態(tài)的(總線型輸出),可以直接與單片機(jī)數(shù)據(jù)總線相連接。ADC0809采用+5V電源供電,外接工作時(shí)鐘。當(dāng)?shù)湫凸ぷ鲿r(shí)鐘為500kHz時(shí),轉(zhuǎn)換時(shí)間約為128s。(2) ADC0809的引腳說明ADC0809引腳如圖11-2所示。圖11-2 ADC0809引腳圖IN0IN78路模擬通道輸入端。D0D78位數(shù)字量輸出端。VREF(+)、VREF()正、負(fù)參考電壓輸入端。CLOCK時(shí)鐘輸入端,時(shí)

4、鐘最高允許頻率為640kHz。START轉(zhuǎn)換啟動信號,高電平有效。ADDA、ADDB、ADDC模擬通道選擇端。通道與地址對應(yīng)關(guān)系見表11-1所示。(見書192頁)ALE 地址鎖存信號。高電平時(shí),將三位地址信號送入地址鎖存器,經(jīng)譯碼選擇相應(yīng)的模擬輸入通道。使用時(shí)該信號可以和START信號連在一起,以便同時(shí)鎖存通道地址和啟動A/D轉(zhuǎn)換。EOCA/D轉(zhuǎn)換結(jié)束信號,此信號常被用來作為中斷請求信號。OE允許輸出信號。當(dāng)OE端為電平上升沿時(shí),輸出鎖存器將轉(zhuǎn)換結(jié)果送到數(shù)據(jù)線,供單片機(jī)讀取。VCC電源。GND電源地。4. 硬件原理與資源分配硬件原理圖如圖11-3所示。圖11-3 ADC0809與單片機(jī)的連接(

5、1) 時(shí)鐘信號由于0809無片選端,因此電路增加了或非門74LS02及譯碼器74LS138,以便對0809進(jìn)行讀/寫控制。單片機(jī)采用6MHz的晶振,ALE輸出6MHz/s時(shí)鐘信號,經(jīng)74LS74觸發(fā)器2分頻,得到500kHz的時(shí)鐘信號,與0809的時(shí)鐘端CLK相連。(2) 通道選擇三位通道選擇端ADDA、ADDB、ADDC與數(shù)據(jù)線P0口的低三位P0.0、P0.1、P0.2相連,用數(shù)據(jù)線進(jìn)行通道選擇,由P0.0、P0.1、P0.2三位決定選擇哪一通道。也可以用地址線選擇通道。(3) 0809的啟動0809的啟動端START、地址鎖存端ALE均為高電平有效。將START與ALE端連在一起,與74L

6、S02的輸出端相連?;蚍情T74LS02的兩個(gè)輸入端WR和Y0均為低電平時(shí),其輸出為高電平。當(dāng)譯碼器74LS138的3個(gè)輸入端P2.7、P2.6和P2.5為0時(shí),Y0為低電平,執(zhí)行外部I/O口寫操作時(shí),WR為低電平。執(zhí)行下列操作將啟動0通道轉(zhuǎn)換: MOVA,#00H;數(shù)據(jù)線低3位為0,選擇0通道MOVDPTR,#1FFFH;P2.7、P2.6、P2.5均為0,Y0為0MOVXDPTR,A;執(zhí)行外部I/O口寫操作時(shí)WR為低電平(4) 轉(zhuǎn)換數(shù)據(jù)的讀取當(dāng)轉(zhuǎn)換結(jié)束時(shí),EOC端輸出高電平??捎貌樵兓蛑袛嗟姆椒ㄟM(jìn)行數(shù)據(jù)讀取處理。輸出允許OE端為高電平,8位轉(zhuǎn)換數(shù)據(jù)D0D7輸出到數(shù)據(jù)線上。只有譯碼器輸出Y0和

7、RD同時(shí)為低電平時(shí),OE端才為高電平。執(zhí)行外部I/O口讀操作RD為低電平。執(zhí)行下列操作將讀取轉(zhuǎn)換數(shù)據(jù): MOVDPTR,#1FFFH;P2.7、P2.6、P2.5均為0,Y0為0MOVXA,DPTR;執(zhí)行外部I/O口讀操作時(shí)RD為低電平(5) 轉(zhuǎn)換結(jié)束標(biāo)志EOC轉(zhuǎn)換結(jié)束標(biāo)志EOC端經(jīng)反向器與單片機(jī)的INT0相連,即轉(zhuǎn)換一旦結(jié)束,外部中斷0則申請中斷。資源分配:R0: 數(shù)據(jù)指針R2: 通道計(jì)數(shù)器內(nèi)部RAM的40H以后的若干單元數(shù)據(jù)堆棧區(qū)內(nèi)部RAM的60H67H單元: 存放8個(gè)轉(zhuǎn)換數(shù)據(jù)5. 參考程序ORG0000H;CPU起始地址AJMPMAIN;跳轉(zhuǎn)到主程序ORG0003H;外部中斷0入口地址A

8、JMPJINT0;跳轉(zhuǎn)到外部中斷0處理程序MAIN: NOP;主程序段MOVSP,#40H;設(shè)定堆棧MOVR0,#60H;設(shè)置數(shù)據(jù)存儲區(qū)首地址MOVR2,#00H;選通道0MOVA,R2MOVDPTR,#1FFFH;初始化ADC0809SETBIT0;設(shè)定外部中斷0為邊沿觸發(fā)SETBEX0;EX0=1(開放外部中斷0)SETBEA;開總中斷,EA=1(開放總中斷)LOOP1:MOVX DPTR,A;啟動0809 MOVX DPTR,A;再啟動0809LOOP2: RETI;中斷返回END6. 總結(jié)與提高本節(jié)所介紹的程序采用中斷方式讀取A/D轉(zhuǎn)換值,讀者還可以用查詢法(查詢P3.2)或者用軟件延

9、時(shí)法(延時(shí)128s以上)來編制采集程序。在實(shí)際單片機(jī)應(yīng)用系統(tǒng)中,對于模擬信號變化較快的場合需要增加采樣保持器。對于一般傳感器輸出的模擬信號還要經(jīng)過調(diào)理電路處理成標(biāo)準(zhǔn)信號,才能輸入A/D轉(zhuǎn)換器。1. 實(shí)訓(xùn)目的掌握12位A/D轉(zhuǎn)換器AD574A的工作原理及基本性能指標(biāo)掌握A/D轉(zhuǎn)換器AD574A與單片機(jī)的接口技術(shù)及編程方法11.2 12位A/D轉(zhuǎn)換器AD574A的應(yīng)用2. 功能設(shè)計(jì)設(shè)計(jì)單片機(jī)與12位A/D轉(zhuǎn)換器AD574組成的數(shù)據(jù)采集系統(tǒng),編寫AD574的數(shù)據(jù)采集程序。A/D轉(zhuǎn)換后的12位數(shù)字量存入內(nèi)部RAM區(qū)60H和61H單元,61H單元存放低4位。3. 背景知識AD574A是美國AD公司研制的

10、12位逐次逼近型A/D轉(zhuǎn)換器,適合在高精度和快速采樣系統(tǒng)中應(yīng)用。(1) 主要特點(diǎn) 內(nèi)部集成有轉(zhuǎn)換時(shí)鐘、參考電壓源和三態(tài)輸出鎖存器。 轉(zhuǎn)換時(shí)間為25s。 輸入模擬電壓可以為單極性也可以為雙極性,單極性輸入時(shí)電壓為0+10V或0+20V;雙極性輸入時(shí)電壓為-5+5V或-10+10V。 轉(zhuǎn)換位數(shù)可以設(shè)定為8位,也可以設(shè)定為12位。(2) AD574A的引腳AD574A的引腳如圖11-4所示。圖11-4 AD574A的引腳圖 模擬量輸入10VIN10V量程的模擬電壓輸入線。單極性時(shí)為010V,雙極性時(shí)為-5+5V。20VIN20V量程的模擬電壓輸入線。單極性時(shí)為020V,雙極性時(shí)為-10+10V。AC

11、模擬電壓公共地線。 數(shù)字量輸出DB11DB012位數(shù)字量輸出線,DB11為最高位。DC數(shù)字量接地線,常和AC相連后接地。 控制線CS片選線,低電平有效。CE片選使能線,高電平有效。和CS共同用于片選控制。當(dāng)CS為0,CE為1時(shí),選中本片工作;否則本片處于禁止?fàn)顟B(tài)。R/C讀出/轉(zhuǎn)換控制輸入線。若R/C為0,則本片啟動工作;若使R/C為1,則本片處于允許讀出數(shù)字量狀態(tài)。A0地址線。用來啟動A/D轉(zhuǎn)換。12/8決定進(jìn)行12位轉(zhuǎn)換還是8位A/D轉(zhuǎn)換。STS 轉(zhuǎn)換狀態(tài)輸出線。STS為高電平,表示AD574A正處于A/D轉(zhuǎn)換狀態(tài),若STS變?yōu)榈碗娖?,則A/D轉(zhuǎn)換完成。因此,在實(shí)用中STS線可供CPU查詢,

12、也可作為MCS-51的外中斷請求輸入線。控制功能見表11-2。(見書195頁) 測試/調(diào)零線REF IN內(nèi)部解碼網(wǎng)絡(luò)所需參考電壓輸入線。REF OUT內(nèi)部參考電壓輸出線。通常,REF IN和REF OUT之間跨接一個(gè)l00電位器,用來調(diào)整各量程的增益。BIP OFF補(bǔ)償調(diào)整線,用于在模擬輸入為零時(shí)把ADC輸出的數(shù)字量調(diào)整為零。 電源線VL接+5VVCC接+12+15VVEE接-1-1V4. 硬件原理與資源分配單片機(jī)與AD574A的接線圖如圖11-5所示。圖11-5 AD574與單片機(jī)的連接(1) AD574的口地址見書196頁。(2) 模擬電壓輸入極性的設(shè)定利用BIP、RIN和ROUT 3端與

13、外接電阻的不同連接方法,可以把AD574A設(shè)定為單極性輸入或雙極性輸入。圖11-5為雙極性輸入。如果輸入電壓在-5+5V之間,模擬量應(yīng)從10VIN端輸入;如果輸入電壓在-10+10V之間,模擬量應(yīng)從20VIN端輸入。單極性輸入時(shí): 輸出數(shù)字量D=212VIN/VFS,其中為輸入電壓,VFS為滿刻度電壓分辨率1LSB=VFS/212,其中VFS=10V,1LSB2.4mV 雙極性輸入時(shí): 輸出數(shù)字量D=211(1+2VIN/VFS)=2048(1+2VIN/VFS)分辨率1LSB=VFS/212,其中VFS=10V,1LSB2.4mV(3) 零點(diǎn)調(diào)整: R1用于零點(diǎn)調(diào)整 單極性輸入時(shí),使VIN=

14、LSB/21.2mV。調(diào)整R1使輸出數(shù)字量在000H001H間跳動。 雙極性輸入時(shí),使VIN= -VFS /2+LSB/2- 4.99mV。調(diào)整R1使輸出數(shù)字量在000H001H間跳動。(4) 增益調(diào)整: R2用于增益調(diào)整 單極性輸入時(shí),調(diào)整R2,使VIN= +VFS 1LSB9.9976V,輸出數(shù)字量FFFH;VIN= +VFS 2LSB9.9952V,輸出數(shù)字量FFEH。 雙極性輸入時(shí),調(diào)整R2,使VIN= +VFS /21LSB4.9976V,輸出數(shù)字量FFFH;VIN= +VFS /22LSB4.9952V,輸出數(shù)字量FFEH。資源分配:R0: 數(shù)據(jù)指針R2: 通道計(jì)數(shù)器內(nèi)部RAM的4

15、0H以后的若干單元: 數(shù)據(jù)堆棧區(qū)內(nèi)部RAM的60H61H單元: 存放1個(gè)12位轉(zhuǎn)換數(shù)據(jù)5. 參考程序ORG0000HAJMPMAIN;跳轉(zhuǎn)到主程序ORG0003H;外部中斷0入口地址AJMPJINT0;跳轉(zhuǎn)到外部中斷0處理程序MAIN: NOP;主程序段MOVSP,#40H;設(shè)定堆棧MOVR1,#60H;數(shù)據(jù)存放首地址SETBIT0;設(shè)定外部中斷0為邊沿觸發(fā)MOVDPTR,#1FF0H;送口地址MOVX DPTR,A;啟動12位A/D轉(zhuǎn)換SETBEX0;開放外部中斷0SETBEA;開總中斷LOOP: AJMPLOOP;等待中斷JINT0: NOP;外部中斷0處理程序CLREX0;關(guān)外部中斷0M

16、OVX A,DPTR;讀高8位數(shù)據(jù)MOVR1,A;存儲高8位INCDPTR;選定低4位口INCR1;數(shù)據(jù)存儲單元加1MOVX A,DPTR;讀低4位數(shù)據(jù)ANLA,#0FH;屏蔽高4位MOVR1,A;存儲低4位RETI;中斷返回END6. 總結(jié)與提高本節(jié)為12位A/D轉(zhuǎn)換的實(shí)訓(xùn),使用了中斷處理方法,讀者也可以嘗試使用查詢方式進(jìn)行數(shù)據(jù)采集。1. 實(shí)訓(xùn)目的掌握串行A/D轉(zhuǎn)換器MAX1247的工作原理及使用方法掌握串行A/D轉(zhuǎn)換器MAX1247與單片機(jī)的接口技術(shù)及編程方法2. 功能設(shè)計(jì)設(shè)計(jì)由單片機(jī)與12位串行A/D轉(zhuǎn)換器MAX1247構(gòu)成的數(shù)據(jù)采集系統(tǒng),并編寫數(shù)據(jù)采集程序。11.3 串行A/D轉(zhuǎn)換器M

17、AX1247的應(yīng)用3. 背景知識MAX1247是MAXIM公司研制的12位4通道串行A/D轉(zhuǎn)換器,適合在高精度和高速度的采樣系統(tǒng)中應(yīng)用。(1) 主要特點(diǎn): 4通道(單極性)12位串行A/D轉(zhuǎn)換,也可接2通道(雙極性)。 單一電源供電(+5V)。 低功耗。 SPI/QSPI接口(串行接口)。(2) MAX1247引腳MAX1247引腳如圖11-6所示。圖11-6 MAX1247引腳圖各管腳功能如下:VCC電源(+5V)。CH0、CH1、CH2、CH34通道模擬信號輸入端。COM模擬輸入?yún)⒖蓟鶞?zhǔn)端。VREF基準(zhǔn)電壓輸入。CS片選線,低電平有效。SHDN低電平時(shí),器件將關(guān)閉并進(jìn)入掉電節(jié)能狀態(tài),否則為

18、正常狀態(tài)。REFADJ緩沖放大器輸入端,接VCC時(shí)內(nèi)部緩沖放大器無效。AGND數(shù)字地。DGND模擬地。DOUT串行數(shù)據(jù)輸出端。SSTRB 轉(zhuǎn)換結(jié)束。DIN串行數(shù)據(jù)輸入端(控制字),時(shí)鐘上升沿有效。SCLK串行時(shí)鐘輸入。(3) MAX1247工作方式MAX1247可通過設(shè)定控制字的PD1、PD0位進(jìn)行工作模式的選擇。 外時(shí)鐘模式使用外部時(shí)鐘不僅能將串行數(shù)據(jù)移進(jìn)、移出,還可控制模數(shù)轉(zhuǎn)換的速度。 內(nèi)時(shí)鐘模式使用內(nèi)部時(shí)鐘轉(zhuǎn)換模式,轉(zhuǎn)換時(shí)鐘取自內(nèi)部的時(shí)鐘發(fā)生器,這是一種轉(zhuǎn)換時(shí)鐘與串行數(shù)據(jù)移位鎖定時(shí)鐘相互分離的模式。 軟掉電模式軟掉電模式在SHDN為高電平或懸空時(shí),通過設(shè)置控制字的PD1位和PD0位,可選

19、擇滿掉電和快速掉電的軟掉電模式,以便在兩次轉(zhuǎn)換的閑置時(shí)段使器件進(jìn)入低耗能的掉電狀態(tài)。在軟掉電模式中,串行移位寄存器保留了掉電前的操作數(shù),但不進(jìn)行模數(shù)轉(zhuǎn)換。 硬掉電模式將SHDN置于低電平,可以在任何時(shí)刻完全關(guān)閉轉(zhuǎn)換,并以“0”替換控制字的PD1位和PD0位,而且不受此兩位的控制。(4) MAX1247的控制字START: 啟動位,為“1”有效。SEL2、SEL1、SEL0: 通道選擇端,見表11-3。(見書199頁)UNI/BIF: 極性選擇位,為“1”選擇單極性,為“0”選擇雙極性。SGL/DIF: 單端/差動方式選擇端。PD1、PD0: 模式選擇端。見表11-4。(見書200頁)(5) M

20、AX1247數(shù)據(jù)操作時(shí)序MAX1247的數(shù)據(jù)操作時(shí)序如圖11-7所示。圖11-7 MAX1247數(shù)據(jù)操作時(shí)序4. 硬件原理與資源分配MAX1247與單片機(jī)的連接圖如圖11-8所示。P1.0為串行輸出控制字,P1.1為輸出串行時(shí)鐘,P1.2為片選線,P1.3為A/D轉(zhuǎn)換數(shù)字量由P1.3串行輸入。對MAX1247操作時(shí),單片機(jī)首先送出8位控制字,然后讀取16位串行A/D數(shù)據(jù),其中最后的4位數(shù)據(jù)為無效位。因此對MAX1247的一次操作需要24個(gè)串行時(shí)鐘SCLK。圖11-8 MAX1247與單片機(jī)的連接5. 參考程序DINEQU P1.0;定義P1.0為DINSCLKEQU P1.1;定義P1.1為S

21、CLKCSEQU P1.3;定義P1.2為CSDOUTEQU P1.4;定義P1.3為DOUTORG0000HAJMPMAIN;跳轉(zhuǎn)到主程序MAIN: NOP;主程序段MOVR1,#60H;0通道轉(zhuǎn)換的數(shù)據(jù)存儲于60H、61HMOVA,#9FH;選通0通道、單極性、外時(shí)鐘LCALL AD10;調(diào)用A/D控制字寫入子程序LCALL AD11;A/D轉(zhuǎn)換子程序MOVR1,62H;1通道轉(zhuǎn)換的數(shù)據(jù)存儲于62H、63HMOVA,#0DFH;選通1通道、單極性、外時(shí)鐘LCALL AD10;調(diào)用A/D控制字寫入子程序LCALL AD11;A/D轉(zhuǎn)換子程序MOVR1,64H;2通道轉(zhuǎn)換的數(shù)據(jù)存儲于64H、6

22、5HMOVA,#0AFH;選通2通道、單極性、外時(shí)鐘LCALL AD10;調(diào)用A/D控制字寫入子程序LCALL AD11;A/D轉(zhuǎn)換子程序MOVR1,66H;3通道轉(zhuǎn)換的數(shù)據(jù)存儲于66H、67HMOVA,#0EFH;選通3通道、單極性、外時(shí)鐘LCALL AD10;調(diào)用A/D控制字寫入子程序LCALL AD11;A/D轉(zhuǎn)換子程序ENDAD10: CLRDIN;MAX1247控制字寫CLRSCLKCLRCSMOVR0,#08HL1:NOPNOPCLRCCLRSCLKRLCAMOVDIN,CNOPSETBSCLKDJNZR0,L1NOPCLRSCLKSETBCS CLRDINNOPNOPNOPNOP

23、RETAD11:NOP;A/D轉(zhuǎn)換子程序CLRCCLRCSNOPNOP CLRSCLKMOVR0,#08H;高8位數(shù)據(jù)LL3: NOPSETBSCLKNOPNOPMOVC,DOUTRLCANOPCLRSCLKDJNZR0,LL3MOVR1,AMOVR0,#08H;低4位數(shù)據(jù)LL2:CLRCNOPNOPSETBSCLKNOPNOPMOVC,DOUTRLCANOPCLRSCLKDJNZR0,LL2INCR1ANLA,#0F0HSWAPAMOVR1,ASETBCSRET6. 總結(jié)與提高A/D轉(zhuǎn)換器廣泛應(yīng)用于便攜式設(shè)備、醫(yī)用儀器、電池供電系統(tǒng)、遠(yuǎn)程數(shù)據(jù)采集和過程控制等各個(gè)領(lǐng)域。應(yīng)根據(jù)實(shí)際任務(wù)要求來確定

24、選用8位、12位或更高位,以及并行芯片或串行芯片A/D轉(zhuǎn)換器。1. 實(shí)訓(xùn)目的掌握8位D/A轉(zhuǎn)換器DAC0832的工作原理及使用方法掌握8位D/A轉(zhuǎn)換器DAC0832與單片機(jī)的接口技術(shù)及編程方法2. 功能設(shè)計(jì)設(shè)計(jì)8位D/A轉(zhuǎn)換器DAC0832與單片機(jī)的硬件電路連接,并編寫DAC0832的數(shù)據(jù)輸出程序。11.4 8位D/A轉(zhuǎn)換器DAC0832的應(yīng)用3. 背景知識由圖11-1所示單片機(jī)測控系統(tǒng)可知,單片機(jī)與被控對象之間要經(jīng)過D/A(數(shù)/模)轉(zhuǎn)換環(huán)節(jié),該環(huán)節(jié)把單片機(jī)輸出的數(shù)字量轉(zhuǎn)換成模擬量,從而對被控對象進(jìn)行控制。D/A轉(zhuǎn)換環(huán)節(jié)在單片機(jī)應(yīng)用系統(tǒng)中作為輸出信號。DAC0832是8位電流輸出型D/A轉(zhuǎn)換芯

25、片。(1) DAC0832主要技術(shù)指標(biāo)分辨率為8位,增益溫度系數(shù)為0.02,單電源供電,電源范圍為+5+15V,轉(zhuǎn)換速度約1s。(2) DAC0832的外部引腳DAC0832的內(nèi)部結(jié)構(gòu)及引腳圖如圖11-9所示。圖11-9 DAC0832內(nèi)部結(jié)構(gòu)及引腳圖(3) DAC0832工作方式通過控制端CS、ILE、WR1、WR2、XFER的不同接線方式,可以控制DAC0832工作在不同方式下。 單緩沖方式: 兩個(gè)輸入寄存器中有一個(gè)處于直通方式,另一個(gè)處于受控鎖存方式。適用于只有一路模擬信號輸出或雖有幾路模擬信號但不需要同步輸出的場合。 雙緩沖方式: 兩個(gè)鎖存器都接成受控方式ILE接高電平。(4) DAC

26、0832的輸出極性圖11-10(a)為DAC0832的單極性輸出電路。其輸出為: 圖11-10(b)為DAC0832的雙極性輸出電路。其輸出為: 式中B為輸入數(shù)字量,其范圍為0255,VREF為參考電壓。圖11-10 DAC0832電壓輸出電路4. 硬件原理如圖11-11所示電路是由單片機(jī)與D/A轉(zhuǎn)換器構(gòu)造一個(gè)波形發(fā)生器。DAC0832為單緩沖方式和雙極性輸出,LM358為雙運(yùn)算放大器。P2.7、P2.6、P2.5三位均為0,選通DAC0832,選通地址為譯碼輸出1FFFH。圖11-11 DAC0832構(gòu)造的波形發(fā)生器5. 參考程序(1) 0832輸出矩形波單片機(jī)連續(xù)255次輸出數(shù)字量0,然后

27、連續(xù)255次輸出數(shù)字量FFH。如此重復(fù),0832即可輸出連續(xù)矩形波。ORG0000HMOVDPTR,#1FFFH;指向0832DD0: MOV A,#0MOVR2,#255DD1: MOVX DPTR,A ;向D/A送0DJNZR2,DD1 ;循環(huán)255次,形成矩形波的低電平MOV A,#255;將FFH送到AMOVR2,#255DD2: MOVX DPTR,A ;向D/A送255,D/A輸出為高DJNZR2,DD2 ;循環(huán)255次,形成矩形波的高電平LJMPDD0;重復(fù)上述過程,形成多個(gè)矩形波END(2) 0832輸出梯形波單片機(jī)從輸出數(shù)字量0開始,逐次加1直到255,保持255次,然后從輸

28、出255逐次減1直至為0。如此重復(fù),0832即可輸出連續(xù)梯形波。ORG0000H;CPU起始地址MOVDPTR,#1FFFHDD0: MOV A,#00HDD1: MOVX DPTR,A;D/A輸出INCACJNEA,#255,DD1 ;循環(huán)255次,形成梯形波的上升沿MOVA,#0FFH;將FFH送AMOVR2,#0FFHDD2: MOVX DPTR,A ;向D/A送255,D/A輸出為高DJNZR2,DD2 ;循環(huán)255次,形成梯形波的上底DD3: MOVX DPTR,A ;D/A輸出DECACJNEA,#0,DD3 ;循環(huán)255次,形成梯形波的下降沿LJMPDD1 ;重復(fù)上述過程,形成多

29、個(gè)梯形波END(3) 0832輸出三角波單片機(jī)從輸出數(shù)字量0開始,逐次加1直到255,然后從輸出255逐次減1直至為0。如此重復(fù),0832即可輸出連續(xù)三角波。ORG0000HMOVDPTR,#1FFFHDD0: MOV A,#00HDD1: MOVX DPTR,A ;D/A輸出INCACJNEA,#255,DD1 ;循環(huán)256次,形成三角波的上升沿DD2: MOVX DPTR,A ;D/A輸出DECACJNEA,#0,DD2 ;循環(huán)256次,形成三角波的下降沿LJMPDD0 ;重復(fù)上述過程,形成多個(gè)三角波END6. 總結(jié)與提高上述三段程序通過DAC0832輸出端輸出的波形為直線型的波形,沒有考

30、慮波形頻率。改變程序即可使0832輸出滿足頻率要求的各種曲線。1. 實(shí)訓(xùn)目的掌握串行D/A MAX525的工作原理及使用方法掌握12位串行D/A轉(zhuǎn)換器MAX525與單片機(jī)的接口技術(shù)及編程方法2. 功能設(shè)計(jì)設(shè)計(jì)由12位D/A轉(zhuǎn)換器MAX525與單片機(jī)構(gòu)成的模擬輸出電路,并編寫MAX525的數(shù)據(jù)輸出程序。11.5 串行D/A MAX525的應(yīng)用3. 背景知識MAX525是MAXIM公司生產(chǎn)的4通道12位串行D/A轉(zhuǎn)換器。(1) 主要特點(diǎn) 4通道12位串行D/A轉(zhuǎn)換 單電源供電(+5V) 3線串行,可程控?cái)?shù)字輸出 SPI/QSPI傳輸工作模式(2) MAX525的引腳MAX525的引腳如圖11-12

31、所示。圖11-12 MAX525引腳圖(3) MAX525工作模式MAX525的數(shù)據(jù)形式為16位,其中最高位和次高位為地址位,第14位和第13位為控制位,后12位為數(shù)字位。如圖11-13所示。MAX525的工作模式由4位地址控制位和12位數(shù)據(jù)位確定,見表11-5。(見書208頁)圖11-13 MAX525數(shù)據(jù)格式(4) MAX525工作時(shí)序如圖11-14所示。圖11-14 MAX525時(shí)序圖4. 硬件原理與資源分配如圖11-15所示為單片機(jī)8051與MAX525芯片的連接圖。LM385是精密的基準(zhǔn)電源(+2.5V),MAX525是串行D/A轉(zhuǎn)換芯片,接口方式為SPI。本電路中使用單片機(jī)的P1口

32、模擬SPI的串行接口與MAX525相連接。其中P1.0為串行數(shù)據(jù)輸入,P1.1為MAX525的時(shí)鐘輸入,P1.2為MAX525的片選,如圖11-15所示。圖11-15 MAX525與單片機(jī)的連接圖5. 參考程序DIN EQU P1.0;定義P1.0為DIN,串行數(shù)據(jù)輸入端SCLK EQU P1.1;定義P1.1為SCLK,串行時(shí)鐘輸入端CS EQU P1.2;定義P1.2為CS,片選端DOUTEQU P1.3;定義P1.3為DOUT,串行數(shù)據(jù)輸出,用于級聯(lián)ORG0000HAJMPMAIN;跳轉(zhuǎn)到主程序MAIN:NOP;主程序段SETBCSCLRSCLKCLRCS;選中MAX525MOVR0,#

33、16;發(fā)16位數(shù),前4位為控制字MOVA,#80H;控制字,所有輸出寄存器從輸入寄存器加載CLRC L1: RLCAMOV DIN,CSETB SCLKNOPCLRSCLKDJNZR0,L1;MAX525初始化NOP;開始4路D/A轉(zhuǎn)換MOVR4,#60H;A通道待轉(zhuǎn)換的數(shù)據(jù)存儲于60H、61H MOVR3,#30H;選通A轉(zhuǎn)換通道LCALL DA10;調(diào)用D/A轉(zhuǎn)換子程序MOVR4,62H;B通道待轉(zhuǎn)換的數(shù)據(jù)存儲于62H、63HMOVR3,#70H;選通B轉(zhuǎn)換通道LCALL DA10;調(diào)用D/A轉(zhuǎn)換子程序MOVR4,#64H;C通道待轉(zhuǎn)換的數(shù)據(jù)存儲于64H、65HMOVR3,#0B0H;選通

34、C轉(zhuǎn)換通道LCALL DA10;調(diào)用D/A轉(zhuǎn)換子程序MOVR4,#66H;D通道待轉(zhuǎn)換的數(shù)據(jù)存儲于66H、67HMOVR3,#0F0H;選通D轉(zhuǎn)換通道LCALL DA10;調(diào)用D/A轉(zhuǎn)換子程序DA10:NOP;D/A轉(zhuǎn)換子程序MOVR1,R4;數(shù)據(jù)存放首地址MOVR0,#04H;送4位控制字MOVA,R3LL1:CLRCRLCAMOVDIN,CSETBSCLKNOPCLRSCLKDJNZR0,LL1MOVR0,#08H;高8位數(shù)據(jù)MOVA,R1LL2:CLRCRLCAMOVDIN,CSETBSCLKNOPCLRSCLKDJNZR0,LL2MOVR0,#04H;低4位數(shù)據(jù)INCR1MOVA,R1

35、SWAPALL3:CLRCRLCAMOVDIN,CSETBSCLKNOPCLRSCLKDJNZR0,LL3RETEND6. 總結(jié)與提高本節(jié)介紹的系統(tǒng)使用了4路12位串行D/A轉(zhuǎn)換器MAX525,在輸出端沒有給出執(zhí)行機(jī)構(gòu),讀者如有此方面的應(yīng)用需求可自行加接被控對象。1. 實(shí)訓(xùn)目的學(xué)習(xí)A/D、D/A轉(zhuǎn)換器PCF8591的使用方法掌握I2C總線數(shù)據(jù)操作的基本時(shí)序掌握PCF8591與單片機(jī)的接口技術(shù)及編程方法2. 功能設(shè)計(jì)設(shè)計(jì)由單片機(jī)與PCF8591組成的數(shù)據(jù)采集與輸出處理系統(tǒng),編寫PCF8591數(shù)據(jù)采集及數(shù)據(jù)輸出程序。11.6 8位A/D、D/A轉(zhuǎn)換器PCF8591 的應(yīng)用3. 背景知識PCF859

36、1是一個(gè)具有I2C總線接口的8位A/D、D/A轉(zhuǎn)換器。(1) 主要特點(diǎn) 4端口模擬輸入,可單端也可差分輸入。 低功耗。 8位A/D轉(zhuǎn)換,內(nèi)有多路開關(guān)、采樣及保持電路。 一路D/A模擬輸出。 I2C總線接口。(2) PCF8591的引腳PCF8591的引腳如圖11-16所示。圖11-16 PCF8591的引腳圖(3) 控制字格式PCF8591控制字用于設(shè)置芯片實(shí)現(xiàn)不同功能。控制字格式如下:D7、D3: 標(biāo)志位,置“0”。D6: 模擬輸出允許位(D/A轉(zhuǎn)換輸出允許),1有效。D5、D4: 模擬量輸入方式選擇,見表11-6。 (見書212頁)D2: 自動增量選擇位,若此位有效,則A/D轉(zhuǎn)換通道自動增

37、1。D1、D0: 模擬通道選擇。見表11-7。(見書212頁)D7D6D5D4D3D2D1D000(4) I2C總線的數(shù)據(jù)操作格式I2C總線由時(shí)鐘線SCL和數(shù)據(jù)線SDA組成,SCL和SDA是雙向傳輸線。I2C總線傳輸數(shù)據(jù)時(shí)需要起始信號S和終止信號P。為了保證I2C總線數(shù)據(jù)的可靠傳送,每傳送一個(gè)字節(jié)都必須跟隨一個(gè)應(yīng)答信號A,發(fā)送數(shù)據(jù)時(shí)高位在前。在全部數(shù)據(jù)傳送結(jié)束后,主控制器發(fā)送終止信號P。 I2C總線上傳送的每一個(gè)字節(jié)均為8位,但每啟動一次I2C總線,其后的數(shù)據(jù)傳輸字節(jié)數(shù)是沒有限制的。PCF8591控制字設(shè)置與D/A轉(zhuǎn)換均執(zhí)行對I2C總線的寫操作。而A/D轉(zhuǎn)換則執(zhí)行對I2C總線的讀操作。(5)

38、I2C總線操作時(shí)序I2C總線數(shù)據(jù)傳送啟動、終止、應(yīng)答和非應(yīng)答時(shí)序如圖11-17所示。 I2C總線寫1位數(shù)據(jù)操作時(shí)序如圖11-18(a)所示。 I2C總線讀1位數(shù)據(jù)操作時(shí)序如圖11-18(b)所示。圖11-17 I2C總線數(shù)據(jù)傳送的典型時(shí)序圖11-18 I2C總線讀寫時(shí)序(6) PCF8591器件的地址I2C器件的地址是由硬件構(gòu)成的,對于每一個(gè)I2C器件都有一個(gè)地址編號,如PCF8591的地址編號為1001,地址引腳為A2A1A0。若此三個(gè)引腳接地,則PCF8591的寫地址為10010000B(90H),讀地址為10010001(91H)。4. 硬件原理與資源分配圖11-19為單片機(jī)8051與P

39、CF8591芯片的連接圖。LM385是精密的基準(zhǔn)電源(+2.5V)。P1.0模擬I2C的時(shí)鐘信號,P1.1模擬I2C的數(shù)據(jù)線。本實(shí)訓(xùn)將通過編程實(shí)現(xiàn)圖11-16所示的時(shí)序,完成I2C總線的啟動與終止、PCF8591初始化、4通道A/D轉(zhuǎn)換、D/A轉(zhuǎn)換和等待應(yīng)答。圖11-19 PCF8591與單片機(jī)的連接(1) A/D轉(zhuǎn)換選擇4路模擬信號獨(dú)立輸入,通道自動增量方式。 控制字為: 0 0 0 0 0 1 0 0 B(04H)。(2) D/A轉(zhuǎn)換允許模擬輸出??刂谱譃椋?0 1 0 0 0 0 0 0 B(40H)。(3) 對I2C發(fā)送一個(gè)字節(jié)后,檢查應(yīng)答。從I2C讀取一個(gè)字節(jié)后,單片機(jī)應(yīng)發(fā)送應(yīng)答信號

40、。資源分配R0: D/A轉(zhuǎn)換數(shù)據(jù)指針,初值為50H。R1: A/D轉(zhuǎn)換數(shù)據(jù)指針,初值為60H。R2: A/D轉(zhuǎn)換數(shù)據(jù)個(gè)數(shù),初值為4;D/A轉(zhuǎn)換數(shù)據(jù)個(gè)數(shù),初值為2。R3: 循環(huán)計(jì)數(shù)器,初值為8。R4: 暫存A/D。F0: 應(yīng)答標(biāo)志位,F(xiàn)00有應(yīng)答,F(xiàn)01無應(yīng)答。內(nèi)部RAM50H51H: 2個(gè)待D/A轉(zhuǎn)換的數(shù)據(jù)。內(nèi)部RAM60H64H: 4路A/D轉(zhuǎn)換值。5. 參考程序I2C接口的數(shù)據(jù)操作程序由下列幾個(gè)基本操作子程序組成: PCFD為A/D轉(zhuǎn)換子程序,PCFX為D/A轉(zhuǎn)換子程序,STR為I2C啟動子程序(圖11-17時(shí)序(a),ED0為I2C終止子程序(圖11-17時(shí)序(b),YIDA為發(fā)送應(yīng)答子

41、程序(圖11-17時(shí)序(c),YIDAF為發(fā)送非應(yīng)答子程序(圖11-17時(shí)序(d),CHEK為檢查應(yīng)答信號子程序,WR0為讀一個(gè)字節(jié)子程序(圖11-18時(shí)序(a),DR0為發(fā)送一個(gè)字節(jié)子程序(圖11-18時(shí)序(b)。ORG0000HAJMPMAINMAIN: NOPMOVR2,#04H;R2存放A/D轉(zhuǎn)換的數(shù)據(jù)個(gè)數(shù)LCALL PCFD;PCF8591A/D轉(zhuǎn)換MOVR2,#03H;存放D/A轉(zhuǎn)換的數(shù)據(jù)個(gè)數(shù)LCALL PCFX;PCF8591D/A轉(zhuǎn)換PCFX:NOPLCALL STR;總線啟動MOVA,#90H;PCF8591D/A尋址字LCALL WR0;寫入LCALL CHEK;檢查應(yīng)答位JBF0,PCFX;錯(cuò)誤,重發(fā)WRD1: MOVA,#40H ;寫入MOVR1,#50HWRD2:LCALL WR0LCALL CHEK;檢查應(yīng)答位JBF0,PCFX;錯(cuò)誤重發(fā)MOVA,R1INCR1;61H存放D/A待轉(zhuǎn)換的數(shù)據(jù)DJNZR2,WRD2LCAL

溫馨提示

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

評論

0/150

提交評論