單片機(jī)原理及應(yīng)用_第七章_單片機(jī)的典型外圍接口技術(shù)_第1頁
單片機(jī)原理及應(yīng)用_第七章_單片機(jī)的典型外圍接口技術(shù)_第2頁
單片機(jī)原理及應(yīng)用_第七章_單片機(jī)的典型外圍接口技術(shù)_第3頁
單片機(jī)原理及應(yīng)用_第七章_單片機(jī)的典型外圍接口技術(shù)_第4頁
單片機(jī)原理及應(yīng)用_第七章_單片機(jī)的典型外圍接口技術(shù)_第5頁
已閱讀5頁,還剩106頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 A/D轉(zhuǎn)換器是將模擬量轉(zhuǎn)換成數(shù)字量的器件.模擬量可是電壓、電流等電信號(hào),也可是聲、光、壓力和溫度等隨時(shí)間連續(xù)變化的非電物理量。 非電物理量可通過合適的傳感器等轉(zhuǎn)換成電信號(hào),模擬量只有轉(zhuǎn)換成數(shù)字量才能被計(jì)算機(jī)采集、分析和計(jì)算處理。 電壓頻率式:精度高 價(jià)格低,但轉(zhuǎn)換速度不高 積分式:抗干擾能力好,轉(zhuǎn)換速度低 逐次逼近式:轉(zhuǎn)換速度較快 并行轉(zhuǎn)換: 串行轉(zhuǎn)換: 選擇分辨率(38位/912位/13位以上) 確定精度(誤差范圍) A/D轉(zhuǎn)換時(shí)間和路數(shù) 輸入/輸出特性和范圍 電源種類和功耗 工作環(huán)境 接口是否方便 ADC0809是逐次比較式的8路8位A/D轉(zhuǎn)換器,轉(zhuǎn)換速度為100US,電源電壓+5V E

2、OC:開始轉(zhuǎn)換時(shí)為低電平,當(dāng)轉(zhuǎn)換結(jié)束時(shí)為高電平. 查詢方式:查詢EOC引腳 中斷方式:EOC經(jīng)反相器接8051的外部中斷引腳 ALE=START= OE= 端口地址確定應(yīng)使P2.7=A15=0,A0、A1、A2給出被選擇的模擬通道地址 選通模擬量輸入通道 發(fā)出啟動(dòng)信號(hào) 用查詢或中斷方法等待轉(zhuǎn)換結(jié)束(延時(shí)) 讀取轉(zhuǎn)換結(jié)果 MAIN:MOV R1,#data MOV DPTR,#7FF8H;P2.7=0,且指向通道O MOV R7,#08H;置通道數(shù) LOOP:MOVXDPTR,A;啟動(dòng)A/D轉(zhuǎn)換 MOV R6,#OAH; DLAY:NOP NOP NOP DJNZ R6,DLAY MOVX A,

3、DPTR;讀取轉(zhuǎn)換結(jié)果 MOVR1,A INC DPTR;指向下一個(gè)通道 INC R1;修改數(shù)據(jù)區(qū)指針 DJNZ R7,LOOP;8個(gè)通道全采樣完了嗎? SETB IT1 SETB EX1 SETB EA MOV DPTR,#7FF8H MOV A,#0 MOVX DPTR,A EINT1: MOV DPTR,#7FF8H MOVX A,DPTR MOV 30H,A MOV A,#00 MOVX DPTR,A RETI 算術(shù)平均 滑動(dòng)平均值法(循環(huán)隊(duì)列) 去極值法 低通濾波 通道的選擇是由地址線A0、A1、A2來完成A/D轉(zhuǎn)換實(shí)驗(yàn)1、采用定時(shí)中斷方式,每500ms采樣一次,采樣通道02、A/D

4、采樣采用外部中斷方式,后邊沿觸發(fā)3、程序流程:初始化 開定時(shí)器 定時(shí)時(shí)間到? 啟動(dòng)A/D轉(zhuǎn)化 A/D轉(zhuǎn)換結(jié)束? 讀A/D轉(zhuǎn)換結(jié)果 轉(zhuǎn)換結(jié)果送發(fā)光二極管顯示4、實(shí)驗(yàn)要求:提前編寫程序,并調(diào)試正確5、帶上第一次實(shí)驗(yàn)程序,準(zhǔn)備接受檢查6、第3次實(shí)驗(yàn)為8255鍵盤顯示實(shí)驗(yàn) 偽指令A(yù)DPORT EQU 8100H;ADC0809通道0地址DISPORT EQU 8300H;顯示端口地址Flag1 BIT 00H ;定時(shí)時(shí)間到標(biāo)志Flag2 BIT 01H ;AD轉(zhuǎn)換結(jié)束標(biāo)志 ORG 0000H AJMP MAIN ORG 0003H AJMP INTAD ORG 000BH AJMP T0INT 程序初

5、始化 ORG 0030HMAIN:MOV SP,#70H MOV TMOD,#XXH MOV TH0,# XXH MOV TL0,#XXH MOV R7,#0AH;用于計(jì)數(shù)定時(shí)中斷次數(shù) CLR FLAG1 CLR FLAG2 SETB IT0; 后邊沿觸發(fā)外部中斷 SETB ET0;T0中斷允許 SETB EX0;外部中斷0中斷允許 SETB EA SETB TR0;開啟定時(shí)器0 主程序LOOP1:JBC FLAG1,SAMPLE;等待定時(shí)時(shí)間到, AJMP LOOP1SAMPLE: MOV DPTR,#ADPORT MOVX DPTR,A;啟動(dòng)A/D轉(zhuǎn)換LOOP2: JBC FLAG2,RD

6、ATA;等待A/D轉(zhuǎn)換結(jié)束 AJMP LOOP2RDATA: MOVX A,DPTR;讀A/D轉(zhuǎn)換結(jié)果 MOV DPTR,#DISPORT MOVX DPTR,A;輸出數(shù)據(jù)到發(fā)光管 AJMP LOOP1 ; 程序循環(huán) 定時(shí)中斷與外部中斷程序T0INT: MOV TH0,#XXH MOV TL0,#XXH DEC R7 CJNE R7,#00H,RTN MOV R7,#0AH SETB FLAG1RTN: RETIINTAD: SETB FLAG2 RETI AD574A是一個(gè)完整的逐位比較式12位模/數(shù)轉(zhuǎn)換器,具有可與8位、12位或16位微處理器直接接口的三態(tài)輸出緩沖器。其引腳分配和內(nèi)部結(jié)構(gòu)框

7、圖示于下圖。DB11-DB0(引腳16-27): 12位數(shù)據(jù)輸出線。DB11為最高位,DB0-為最低位,它們可以由控制邏輯決定是輸出數(shù)據(jù)還是對(duì)外高阻抗。12/8(數(shù)據(jù)模式選擇): 輸入,當(dāng)此引腳為高電平時(shí),12位數(shù)據(jù)輸出;當(dāng)此引腳為低電平時(shí),與引腳A0配合,把12位數(shù)據(jù)分兩次輸出。注意:此引腳不與TTL兼容,若要求此引腳為高電平,則應(yīng)接1(VL),若要求此引腳為低電平,則應(yīng)接引腳15(DG)A0(字節(jié)地址/短周期): 此引腳有兩個(gè)功能。一個(gè)功能是決定轉(zhuǎn)換結(jié)果是12位還是8位數(shù)據(jù),與其它控制輸入腳配合,若A0=0,結(jié)果為12位;若A0=1(高電平)結(jié)果是8位。另一個(gè)功能是決定輸出數(shù)據(jù)是高8位還是

8、低4位,與其它控制輸入腳配合,若A0=0,輸出高8位;若A0=1,輸出低4位。CS(芯片選擇): 當(dāng)CS=0時(shí),本芯片被選中,否則本芯片不進(jìn)行任何操作。R/C(讀/轉(zhuǎn)換選擇): 當(dāng)R/C=1時(shí),允許讀取結(jié)果,當(dāng)R/C=0時(shí),允許A/D轉(zhuǎn)換。CE(芯片啟動(dòng)): 當(dāng)CE=1時(shí),允許轉(zhuǎn)換或讀取A/D轉(zhuǎn)換結(jié)果,到底是轉(zhuǎn)換還是讀取結(jié)果與R/C有關(guān)。STS(狀態(tài)信號(hào)): STS=1表示正在進(jìn)行A/D轉(zhuǎn)換,STS=0表示轉(zhuǎn)換已經(jīng)完成。 REFOUT:+10V基準(zhǔn)電壓輸出 REFIN(基準(zhǔn)電壓輸入):只有由此引腳把從“REFOUT”腳輸出的基準(zhǔn)電壓引入到AD574內(nèi)部的12DAC,才能進(jìn)行正常的A/D轉(zhuǎn)換。

9、BIPOFF(雙極性補(bǔ)償):此引腳適當(dāng)連接,可實(shí)現(xiàn)單極性或雙極性輸入。 10VIN(10V量程模擬信號(hào)輸入端):對(duì)單極性信號(hào)為10V 量程的模擬信號(hào)輸入端;對(duì)雙極性信號(hào)為5V模擬信號(hào)輸入腳。 20VIN (10V量程模擬信號(hào)輸入端):對(duì)單極性信號(hào)為20V 量程的模擬信號(hào)輸入端;對(duì)雙極性信號(hào)為10V模擬信號(hào)輸入腳。 DG(數(shù)字地):各數(shù)字電路(譯碼器、門電路、觸發(fā)器等)及“+5V”電源的地。 AG(模擬地):各模擬器件(放大器、比較器、多路開關(guān)、采樣保持器等)及“+15V”和“-15V”的地。 VLOG:邏輯電路供電輸入端,+5V。 VCC:正供電引腳,VCC=12V-+15V。 VEE:負(fù)供電

10、引腳,VEE=-12V- -15V。 AD574A是一片模擬電路,一片數(shù)字電路組成的混合式集成芯片。其主要特點(diǎn)為: 不需要外圍緩沖電路可直接與最通用的8位或16位微處理器接口。 短的轉(zhuǎn)換時(shí)間,在獨(dú)立工作方式下,可在25us時(shí)間內(nèi)完成一次轉(zhuǎn)換,并將數(shù)據(jù)鎖存在輸出鎖存器中。 可提供四種不同的輸入范圍: 單極性輸入010v或020v; 雙極性輸入 -5 +5v 或 -10 +10v。 自帶參考電壓。該電源除供本身使用外,還可以為外部負(fù)載提供1mA的電流輸出。AD574A有兩組控制引腳:一般控制引腳(CE、CS和R/C)和內(nèi)部寄存器控制引腳(12/8和A0)。一般控制引腳(CE、CS和R/C)主要控制

11、啟動(dòng)轉(zhuǎn)換和允許的。 當(dāng)CE=1、CS=0、R/C=0時(shí),啟動(dòng)轉(zhuǎn)換; 當(dāng)CE=1、CS=0、R/C=1時(shí),讀允許。內(nèi)部寄存器控制引腳(12/8和A0)主要控制數(shù)據(jù)輸出形式和轉(zhuǎn)換時(shí)間的長(zhǎng)短的。 若12/8=1,當(dāng)一般控制引腳發(fā)出讀數(shù)據(jù)命令時(shí),12根輸出數(shù)據(jù)線上的數(shù)據(jù)均有效。 若12/8=0,對(duì)于一個(gè)8位接口,則根據(jù)A0的狀態(tài)來確定到底是高8位有效還是低4位有效。這時(shí),數(shù)據(jù)線低4位(1619腳)要硬連接到高4位(2427腳)上。 在這種情況下,若A0=0,讀出高8位數(shù)據(jù);若A0=1,高8位數(shù)據(jù)線禁止,讀出低4位數(shù)據(jù)。 A0的另一功能是控制轉(zhuǎn)換周期的長(zhǎng)短。在轉(zhuǎn)換周期開始前,若A0處于低電平,完成完整的

12、12位轉(zhuǎn)換需要25us;若A0處于高電平,僅完成8位轉(zhuǎn)換需時(shí)約16us。CECSR/C12/8A0功能0XXXX不起作用X1XXX不起作用100X0啟動(dòng)12位轉(zhuǎn)換100X1啟動(dòng)8位轉(zhuǎn)換101接VLX12位數(shù)據(jù)并行輸出101接DG 0高8位數(shù)據(jù)輸出101接DG 1低4位數(shù)據(jù)尾接4位0輸出 若將AD574A作為一個(gè)存儲(chǔ)器來對(duì)待,為了與8位總線接口,需占據(jù)兩個(gè)存儲(chǔ)器地址(用A0來選擇)。 當(dāng)A0為低時(shí),執(zhí)行的寫操作是啟動(dòng)一次完整的12位轉(zhuǎn)換周期;而當(dāng)A0為高時(shí),執(zhí)行的寫操作是啟動(dòng)一次8位的短轉(zhuǎn)換周期,這樣的讀數(shù)精度低而速度較快。 在轉(zhuǎn)換完成之后,可讀取兩個(gè)字節(jié)的數(shù)據(jù):當(dāng)A0為低時(shí),讀取的12位中的高

13、8位;當(dāng)A0為高時(shí),讀取的是12位中的低4位。為此,一般將A0接在地址線的A0上。 STS為狀態(tài)線,當(dāng)轉(zhuǎn)換開始時(shí),它變高;在轉(zhuǎn)換過程中,一直維持為高;轉(zhuǎn)換周期結(jié)束時(shí),它將變?yōu)榈汀?AD574通過外部的適當(dāng)連線,可以實(shí)現(xiàn)單極性輸入,也可以實(shí)現(xiàn)雙極性輸入。 輸入信號(hào)均以模擬地AGND為基準(zhǔn)。模擬輸入信號(hào)的一端必須與AG相連,并且接點(diǎn)應(yīng)盡量靠近AGND引腳,接線應(yīng)短。 片內(nèi)10V基準(zhǔn)電壓輸出引腳REFOUT通過電位器R2與片內(nèi)DAC的基準(zhǔn)電壓輸入引腳REFIN相連,以供給DAC基準(zhǔn)電流。電位器R2用于微調(diào)基準(zhǔn)電流,從而微調(diào)增益?;鶞?zhǔn)電壓輸出端REFOUT也是以AGND為基準(zhǔn)。通常數(shù)字地DGND與AG

14、ND連在一起。所有電位器均應(yīng)采用低溫度系數(shù)(10-4/C)電位器 采用中斷采集方式: ORG 0003H ORG 1000H LJMP INTR1 INTR1:ORG 0300H MOV A, DPTRMOV R0,#20H MOV R0, AMOV DPTR,#0H INC R0SETB EX0 INC DPTRSETB EA MOVX A, DPTRMOVX DPTR ,A MOV R0, A RETI MAX187的引腳分配如圖所示: 其各引腳的功能如下: VDD:電源電壓+5V。 AIN:模擬輸入,輸入范圍為0VVref。 SHDN:有三極輸入。若SHDN拉到低電平,表示芯片處于低功耗

15、狀態(tài),此時(shí)的電源電流為10uA;若SHDN拉到高電平,允許使用內(nèi)部的參考電源;若SHDN處于懸浮狀態(tài),則禁止內(nèi)部參考電源,允許使用外部的參考電源。 Vref:參考電壓端。當(dāng)允許內(nèi)部參考源時(shí),輸出4.096V的電壓;當(dāng)禁止內(nèi)部參考源時(shí),可輸入2.5VVDD范圍的精密電壓,作參考電壓。若采用內(nèi)部參考源,退藕電容為4.7Uf;若加上的是外部?jī)?nèi)部參考源,還需增加0.1uF的退藕電容。 GND:模擬地及數(shù)字地。 DOUT:串行數(shù)據(jù)輸出。在SCLK的下降沿,數(shù)據(jù)改變狀態(tài)。 SCLK:串行時(shí)鐘輸入,時(shí)鐘輸入速率為5MHz。 CS:片選端,輸入,低電平有效。在 CS 的下降沿,初始化轉(zhuǎn)換。當(dāng)為高時(shí),DOUT

16、線為高阻態(tài)。MAX187 使用采樣/保持器(T/H)和逐位逼近寄存器(SAR)電路將一個(gè)模擬輸入信號(hào)轉(zhuǎn)換成一個(gè)12位的數(shù)字輸出。 采樣/保持器(T/H)無須外部的保持電容。MAX187的輸入信號(hào)在 0VVref 范圍內(nèi),轉(zhuǎn)換時(shí)間包括T/H的采樣時(shí)間在內(nèi)為10us。串行接口只需三根數(shù)字線:SCLK、CS和DOUT,譽(yù)為處理的接口十分簡(jiǎn)單。 轉(zhuǎn)換有兩中工作方式:正常方式和暫停方式。將SHDN拉成低電平,器件處于暫停狀態(tài),電源電流減低至10uA;當(dāng)SHDN拉成高電平或不接,器件將進(jìn)入正常工作方式。CS的下降沿將初始化轉(zhuǎn)換。轉(zhuǎn)換結(jié)果是在DOUT端以單極性串行格式輸出。轉(zhuǎn)換結(jié)束(EOC)為高電平,跟著是

17、串行數(shù)據(jù)流(MSB在先)。 MAX187運(yùn)行于下述兩種狀態(tài)之一:內(nèi)部參考或外部參考。強(qiáng)迫SHDN為高時(shí),選擇內(nèi)部參考運(yùn)行;SHDN懸浮時(shí),選擇外部參考運(yùn)行。 參考源零刻度滿刻度內(nèi)部參考0V4.096V外部參考0VVref MAX187與80C51的接口非常簡(jiǎn)單,只需三根數(shù)字線:CS,SCLK和DOUT,接口電路如圖所示。 80C51的P1.5、P1.6和P1.7分別與MAX187的CS,SCLK和DOUT相連接。 在串行接口有效時(shí),設(shè)置 CPU 的串行接口為主方式,因而 CPU 發(fā)出串行時(shí)鐘,并選擇時(shí)鐘頻率為2.5MHz。用P1.5將芯片的片選拉成低電平CS,并保持SCLK為低電平。 等待最大

18、轉(zhuǎn)換時(shí)間,檢測(cè)DOUT的上升沿,確定轉(zhuǎn)換是否結(jié)束。然后輸出SCLK,SCLK有效至少13個(gè)時(shí)鐘周期。 時(shí)鐘的第一個(gè)下降沿,DOUT端將出現(xiàn)轉(zhuǎn)換結(jié)果的最高位(MSB)。 DOUT端在SCLK的下降沿出現(xiàn)下降沿出現(xiàn)數(shù)據(jù),在SCLK的上升沿穩(wěn)定,80C51可以讀入數(shù)據(jù)。 在時(shí)鐘的第13個(gè)下降沿時(shí)或之后,將CS拉成高電平。如果此后CS仍為低電平,在輸出LSB位之后將輸出0。 隨著CS=1,等待特定的時(shí)間tcs之后,若使CS拉成低電平,將進(jìn)行新的一次轉(zhuǎn)換。如果轉(zhuǎn)換結(jié)束之前,將拉成高電平來中止轉(zhuǎn)換,則需至少等待一個(gè)采樣時(shí)間taqcq,才能啟動(dòng)一次新的轉(zhuǎn)換。 MAX127是一個(gè)具有I2C總線的8通道12位模

19、/數(shù)轉(zhuǎn)換器,本身可以構(gòu)成一個(gè)完整的數(shù)據(jù)采集系統(tǒng),其引腳分配與內(nèi)部結(jié)構(gòu)框圖如下圖; MAX127的各引腳的功能如下: VDD:電源電壓,+5V。 DGND:數(shù)字地。 AGND:模擬地。 SCL:串行時(shí)鐘輸入。 A2、A1、A0:地址選擇輸入。 SDA:串行數(shù)據(jù)輸入輸出線,開漏極。在SCL上升沿?cái)?shù)據(jù)輸入;外部需要上拉電阻。 SHDN:低功耗輸入端。當(dāng)SHDN為低時(shí),芯片處于全低功耗(FULLPD)狀態(tài);當(dāng)SHDN為高時(shí),芯片處于正常工作狀態(tài)。 CH7CH0:模擬輸入通道 REFADJ:參考電壓輸出端,外部調(diào)整引腳。用0.01uF電容旁路到AGND。當(dāng)在REF端加上外部參考電壓時(shí),該引腳接VDD。

20、REF:參考電壓緩沖器輸出或參考電壓輸入。在內(nèi)部參考電壓方式,參考電壓緩沖器提供4.096V的正常輸出,在REFADJ端進(jìn)行外部調(diào)整;在外部參考電壓方式,將REFADJ上拉到VDD,禁止內(nèi)部參考電壓,在REF端加上外部參考電壓。 開始條件和停止條件:開始條件(s)在SCL為高時(shí),SDA上有一個(gè)從高到低的變化;停止條件(P)在SCL為高時(shí),SDA上有一個(gè)從低到高的變化。 從地址:MAX127的從地址有7位,前4位是工廠設(shè)定的,總是0101;期間地址的3位有地址輸入引腳A2、A1和A0的邏輯狀態(tài)決定。因此,在同一總線上最多只能接8個(gè)MAX127。 引腳A2、A1和A0可以連接到VDD或DGND,或

21、者它用TTL或CMOS電平驅(qū)動(dòng)。8位地址字節(jié)的最后一位為R/W位。R/W=0,設(shè)置寫條件,主器件向MAX127寫入;R/W=1,設(shè)置讀條件,主器件從MAX127讀入。其中各位的意義:7(MSB) START: 在寫位即R/W的應(yīng)答之后,接收邏輯“1” 時(shí)被認(rèn)為是控制字節(jié)的開始 。 6、5、4 SEL2、SEL1、SEL0: 這三位選擇打開的輸入通道。 RNG : 選擇滿刻度輸入時(shí)電壓量程。 BIP : 選擇轉(zhuǎn)換是單極性還是雙極性的。1、0(LSB) PD1、PD0 :這兩位選擇低功耗方式。MAX127控制字節(jié)中PD1、PD0的意義: PD1 PD0 方式 0 正常方式 1 0 待機(jī)(STBYP

22、D) 1 1 全低功耗方(FULLPD) 控制字節(jié)如所示,其格式為:BIT7 MSB BIT6 BIT5 BIT4 BIT3 BIT2 BIT1 BIT0(LSB)START SEL2 SEL1 SEL0 RNG BIP PD1 PD0 MAX127控制字中SEL2、SEL1、SEL0的意義 SEL2 SEL1 SEL0 通道 0 0 0 CH0 0 0 1 CH1 0 1 0 CH2 0 1 1 CH3 1 0 0 CH4 1 1 1 CH7輸入量程/V RNG BIP 負(fù)滿刻度/V 零刻度/V 滿刻度/V 05 0 0 0 Vref1.2207 010 1 0 0 Vref2.4414 5

23、 0 1 -Vref1.2207 0 Vref1.2207 10 1 1 -Vref2.4414 0 Vref2.4414 MAX127 完整的傳輸時(shí)序圖見書 219頁 寫周期: 如圖7-45(a)所示,由主器件發(fā)出開始條件、7位從地址及寫位(即R/W=0),開始一個(gè)轉(zhuǎn)換周期。如果MAX127接收到這8位,并且地址相符,則發(fā)出一個(gè)應(yīng)答(A),將SDA拉為低電平一個(gè)時(shí)鐘周期。然后,主器件寫出控制字節(jié)到從器件。在這個(gè)字節(jié)數(shù)據(jù)之后,從期間又發(fā)出另一個(gè)應(yīng)答(A),將SDA拉低一個(gè)時(shí)鐘周期。主器件在寫周期的最后發(fā)出停止條件。 讀周期: 如圖7-45(b)所示,由主器件發(fā)出開始條件、7位從地址及讀位(即R

24、/W=1),如果MAX127接到了這8位,并且 地址相符,則發(fā)出一個(gè)應(yīng)答位(A),將SDA拉為低電平一個(gè)時(shí)鐘周期,接著是串行數(shù)據(jù)的第一個(gè)字節(jié)(D11D4,MSB在先);在從器件發(fā)出第一個(gè)字節(jié)之后釋放總線,主器件發(fā)出應(yīng)答(A=0)。從器件接受到該應(yīng)答后,發(fā)出第二個(gè)字節(jié)(D3D0及四個(gè)0)。接著主器件發(fā)出一個(gè)反應(yīng)答(/A),表示最后的數(shù)據(jù)字節(jié)已經(jīng)接收到。最后主器件發(fā)出停止條件,作為讀周期。 MAX127與80C51接口 用一個(gè)12位數(shù)/模轉(zhuǎn)換器和相應(yīng)軟件實(shí)現(xiàn)模/數(shù)轉(zhuǎn)換(1)硬件電路組成 硬件電路如圖所示。12位數(shù)/模轉(zhuǎn)換器用的是AD7542,參考電壓Vref由AD584穩(wěn)壓得到,數(shù)值為-10V。

25、模擬電壓的輸入范圍為010V,經(jīng)緩沖放大器A1緩沖之后送入Rfb。模擬輸入電壓與DAC的輸出在Iout1端相減,經(jīng)放大器A2將電流轉(zhuǎn)換成電壓輸出。放大器A3是接成正反饋形式的比較器。比較器的輸出接到80C51的P3.0端,以判斷比較器的輸出電平是高還是低。為了得到12位的分辨率,對(duì)于放大器A1、A2及A3的性能均有較高的要求。二極管D1、D2是為了加速A2輸出的建立過程而設(shè)置的。 轉(zhuǎn)換結(jié)果存在22H(高四位)和23H(低四位)中。 程序 ORG 0200H SETB P1.7AIN:MOVR0,#21H SETB P1.4 SETBP3.0 CLR P1.7 CLRP3.1 SETB P1.7

26、 CLRP1.6 MOV P1, #0A0H MOVP1,#00H AIN0: SETB P1.3 CLRP1.7 CLR P1.7 SETBP1.7 SETB P1.7 SETBP1.4 JNB P3.0, CLR3 CLRP1.7 LOOP1: SETB P1.2 SETBP1.7 CLR P1.7 CLRP1.4 SETB P1.7 SETBP1.5 JNB P3.0,CLR2 CLRP1.7LOOP2: SETB P1.1 AIN1:JNB P1.4, AN2 CLR P1.7 CLR P1.4 SETB P1.7 AJMP AN0 JNB P3.0,CLR1 AIN2:MOV A,

27、23HLOOP3: SETB P1.0 SWAP A CLR P1.7 ORL A, 24H SETB P1.7 MOV 23H, A JNB CLR0 SETB P1.6 INC R0 RET MOV A, #0FH CLR3: CLR P1.3 ANL A, P1 AJMP LOOP1 MOV R0, A CLR2: CLR P1.2 JNB P1.5 AJMP LOOP2 CLR P1.5 CLR1: CLR P1.1 SETB P1.5 AJMP LOOP3 AJMP AN0CLR0: CLRP1.0 AJMPLOOP4 用D/A轉(zhuǎn)換器把微型機(jī)輸出的數(shù)字量轉(zhuǎn)換成電壓或電流,可輸出各種波

28、形的信號(hào)。 選擇分辨率(38位/912位/13位以上) 確定精度(誤差范圍) D/A轉(zhuǎn)換時(shí)間和路數(shù) 輸入/輸出特性和范圍 電源種類和功耗 工作環(huán)境 接口是否方便 分辨率8位 電流輸出,穩(wěn)定時(shí)間1US 雙緩沖、單緩沖、直接數(shù)字輸入 單電源供電 直通方式:各控制端口一直有效 單緩沖方式:輸入鎖存器和8位DAC寄存器鎖存信號(hào)同時(shí)有效;或者一個(gè)寄存器控制端一直有效。 雙緩沖方式:輸入鎖存器和8位DAC寄存器鎖存信號(hào)分開控制 雙緩沖方式適用于幾個(gè)模擬量同時(shí)輸出的系統(tǒng) MOV DPTR,#0DFFFH ;1 MOV A,#X ;2 MOVX DPTR,A ;3 MOV DPTR,#0BFFFH ;4 MO

29、V A,#Y ;5 MOVX DPTR,A ;6 MOV DPTR,#7FFFH ;7 MOVX DPTR,A ;8 系統(tǒng)只有一路模擬量輸出或幾路模擬量不許同步的輸出場(chǎng)合,可采用單緩沖方式 MOV DPTR,#7FFFH MOV A,#00H LOOP:MOVX DPTR,A INC A AJMP LOOP(1)利用80C51本身的SPI接口 1 串行輸入數(shù)/模轉(zhuǎn)換器AD7543 AD7543是一個(gè)為配合串行接口而設(shè)計(jì)的精密12位CMOS乘法式數(shù)/模轉(zhuǎn)換器,其結(jié)構(gòu)框圖如圖所示其中邏輯部分包含一個(gè)12位串入并出的位移寄存器和12位的DAC寄存器。在AD7543的串行輸入端SRI輸入的串行數(shù)據(jù),可

30、有選通脈沖輸入端STB(從STB1STB4)的上升沿或下降沿打入。一旦輸入寄存器滿,就可以加載輸入端(LD1,LD2)的控制下打入DAC寄存器。在CLR端施加低電平脈沖,可以使DAC寄存器復(fù)位為0。 引腳功能為: STB1STB4: 移位寄存器的選通信號(hào)。 LD1,LD2: DAC寄存器加載信號(hào)。 SRI: 移位寄存器的串行輸入端。 CLR: DAC寄存器得清除輸入端,低電平 有效。用于異步復(fù)位DAC寄存器為0。 Iou1,Iou2: DAC寄存器的電流輸入端。Iou1連接到放大器的虛地;Iou2連接到模擬地AGND。 Vref:參考電源 Rbf:DAC轉(zhuǎn)換器反饋電阻。 DGND:數(shù)字地 AG

31、ND:模擬地 Vdd:+5v電源輸入 2 AD7543與80C51的接口AD7543與80C51的接口電路如圖所示。80c51的串行口與ad7543直接相連。80c51的串行口工作于方式0,即移位寄存器方式,TXD端輸入移位脈沖,其負(fù)跳變將RXD段發(fā)出的數(shù)據(jù)移入AD7543的12位移位寄存器。利用地址譯碼器信號(hào)產(chǎn)生LD2,將移位寄存器的數(shù)據(jù)發(fā)送到DAC寄存器,以使DAC轉(zhuǎn)換器輸入。AD7543的12位數(shù)據(jù)由低至高一位一位的輸入,而80C51串行口的方式0輸出則是由低位到高位串行輸出的。因此,由串行口輸出的數(shù)據(jù)必須進(jìn)行倒序處理。AD7543的口地址為ADRDA;數(shù)據(jù)緩沖器的地址單元為DBUFH(

32、高4位),DBUFL(低8位)。OUTDA :MOV SCON,#0 ;設(shè)串行口方式為0 MOV A , DBUFH ;高4位1數(shù)據(jù)送A ACALL ASMB ;調(diào)倒序子程序 MOV SBUF, A ;輸出高4位 MOV A ,DBUFL ;低8位地址送A ACALL ASMB ;調(diào)倒序子程序 MOV SBUF, A ;輸出低8位 MOV DPTR ,#ADRDA ;將移位寄存器的數(shù)據(jù)送入 MOV DPTR , A ; DAC寄存器 RET;ASMB: MOV R6,#0 ;清R6 MOV R7,308H ;計(jì)數(shù)器 CLR C ;清CYALO : RLC A ;A帶進(jìn)位左移一位 XCH A ,

33、 R6 ;A與R6內(nèi)容互換 RRC A ;R6內(nèi)容帶CY右移一位 XCH A , R6 ;R6內(nèi)容與A互換 DJNZ R7 ,ALO ;當(dāng)R7 部位0時(shí) 循環(huán) XCH A , R6 ;裝配好的數(shù)據(jù)存A RET (1) 帶倆線串行接口的8位數(shù)/模轉(zhuǎn)換器MAX518MAX518是一個(gè)帶倆線串行接口的8位數(shù)/模轉(zhuǎn)換器,引腳配置及結(jié)構(gòu)見圖 Vout1,Vout0 :數(shù)模轉(zhuǎn)換器的電壓輸出。AD1,AD0 : 地址輸入端,用于設(shè)置器件的從地址。 SDA : 串行數(shù)據(jù)輸入 SCL: 串行時(shí)鐘輸入 Vdd:電源,max 518 用于做參考電壓。 GND : 地 Max 518的從地址:AD1 AD0 R/W其

34、中,地址AD1 AD0相當(dāng)于地址輸入端狀態(tài)。在系統(tǒng)中,MAX518 有四個(gè)可能的從地址,因而最多能接四片。 讀寫位 R/W =0,系統(tǒng)中的主器件通過I2C總線來對(duì)MAX 518進(jìn)行寫操作。指令字節(jié) R2 R1 R0 RST PD X X A0其中:R2 R1 R0 :保留位,設(shè)置為。 RST : 復(fù)位位,設(shè)置為,將使所有寄存器復(fù)位為。 PD : 電源控制位,設(shè)置為,器件處于uA低功耗方式設(shè)置為,器件處于正常工作狀態(tài)。 A0 : 地址位MAX 518與80c51的接口電路見圖,一般的80C51沒有I2C總線,因而只能模擬I2C總線時(shí),一般需要兩根I/O口線,在圖中,P1.6用作SCL線,P1.7用作SDA線.這里所使用到的一些通用子程序包括:發(fā)送開始條件(START),發(fā)送停止條件(STOP),檢查應(yīng)答位(CHACK),單字節(jié)數(shù)據(jù)發(fā)送(WRBYT)。設(shè)定單片機(jī)所使用的晶體振

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論