版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
單片機原理及應(yīng)用北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院主講教師:林偉國E-mail:linwg@,cn第七章單片機的典型外圍接口技術(shù)一、A/D轉(zhuǎn)換器A/D轉(zhuǎn)換器是將模擬量轉(zhuǎn)換成數(shù)字量的器件.模擬量可是電壓、電流等電信號,也可是聲、光、壓力和溫度等隨時間連續(xù)變化的非電物理量。非電物理量可通過合適的傳感器等轉(zhuǎn)換成電信號,模擬量只有轉(zhuǎn)換成數(shù)字量才能被計算機采集、分析和計算處理。第一節(jié)ADC接口二、A/D轉(zhuǎn)換方法電壓頻率式:精度高價格低,但轉(zhuǎn)換速度不高積分式:抗干擾能力好,轉(zhuǎn)換速度低逐次逼近式:轉(zhuǎn)換速度較快并行轉(zhuǎn)換:串行轉(zhuǎn)換:三、硬件設(shè)計考慮的問題選擇分辨率(3~8位/9~12位/13位以上)確定精度(誤差范圍)A/D轉(zhuǎn)換時間和路數(shù)輸入/輸出特性和范圍電源種類和功耗工作環(huán)境接口是否方便8051和ADC0809的接口ADC0809是逐次比較式的8路8位A/D轉(zhuǎn)換器,轉(zhuǎn)換速度為100US,電源電壓+5VADC0809的內(nèi)部結(jié)構(gòu)圖ADC0809與8051的接口原理圖ADC0809與8051接口工作方式EOC:開始轉(zhuǎn)換時為低電平,當(dāng)轉(zhuǎn)換結(jié)束時為高電平.查詢方式:查詢EOC引腳中斷方式:EOC經(jīng)反相器接8051的外部中斷引腳ALE=START=OE=端口地址確定應(yīng)使P2.7=A15=0,A0、A1、A2給出被選擇的模擬通道地址編程要點選通模擬量輸入通道發(fā)出啟動信號用查詢或中斷方法等待轉(zhuǎn)換結(jié)束(延時)讀取轉(zhuǎn)換結(jié)果MAIN:MOVR1,#dataMOVDPTR,#7FF8H;P2.7=0,且指向通道OMOVR7,#08H;置通道數(shù)LOOP:MOVX@DPTR,A;啟動A/D轉(zhuǎn)換MOVR6,#OAH;DLAY:NOPNOPNOPDJNZR6,DLAYMOVXA,@DPTR;讀取轉(zhuǎn)換結(jié)果MOV@R1,AINCDPTR;指向下一個通道INCR1;修改數(shù)據(jù)區(qū)指針DJNZR7,LOOP;8個通道全采樣完了嗎?中斷方式程序SETBIT1SETBEX1SETBEAMOVDPTR,#7FF8HMOVA,#0MOVX@DPTR,A…EINT1:MOVDPTR,#7FF8HMOVXA,@DPTRMOV30H,AMOVA,#00MOVX@DPTR,ARETI四、A/D采集的抗干擾措施算術(shù)平均滑動平均值法(循環(huán)隊列)去極值法低通濾波五、實驗電路通道的選擇是由地址線A0、A1、A2來完成A/D轉(zhuǎn)換實驗1、采用定時中斷方式,每500ms采樣一次,采樣通道02、A/D采樣采用外部中斷方式,后邊沿觸發(fā)3、程序流程:初始化開定時器定時時間到?啟動A/D轉(zhuǎn)化A/D轉(zhuǎn)換結(jié)束?讀A/D轉(zhuǎn)換結(jié)果轉(zhuǎn)換結(jié)果送發(fā)光二極管顯示4、實驗要求:提前編寫程序,并調(diào)試正確5、帶上第一次實驗程序,準(zhǔn)備接受檢查6、第3次實驗為8255鍵盤顯示實驗程序概要偽指令A(yù)DPORTEQU8100H;ADC0809通道0地址DISPORTEQU8300H;顯示端口地址Flag1BIT00H;定時時間到標(biāo)志Flag2BIT01H;AD轉(zhuǎn)換結(jié)束標(biāo)志ORG0000HAJMPMAINORG0003HAJMPINTADORG000BHAJMPT0INT程序初始化ORG0030HMAIN:MOVSP,#70HMOVTMOD,#XXHMOVTH0,#XXHMOVTL0,#XXHMOVR7,#0AH;用于計數(shù)定時中斷次數(shù)CLRFLAG1CLRFLAG2SETBIT0;后邊沿觸發(fā)外部中斷SETBET0;T0中斷允許SETBEX0;外部中斷0中斷允許SETBEASETBTR0;開啟定時器0主程序LOOP1:JBCFLAG1,SAMPLE ;等待定時時間到,AJMPLOOP1SAMPLE:MOVDPTR,#ADPORTMOVX@DPTR,A ;啟動A/D轉(zhuǎn)換LOOP2:JBCFLAG2,RDATA ;等待A/D轉(zhuǎn)換結(jié)束AJMPLOOP2RDATA:MOVXA,@DPTR ;讀A/D轉(zhuǎn)換結(jié)果MOVDPTR,#DISPORTMOVX@DPTR,A ;輸出數(shù)據(jù)到發(fā)光管 AJMPLOOP1 ;程序循環(huán)定時中斷與外部中斷程序T0INT:MOVTH0,#XXHMOVTL0,#XXHDECR7CJNER7,#00H,RTNMOVR7,#0AHSETBFLAG1RTN:RETIINTAD:SETBFLAG2RETI單片機與12位A/D的接口與編程AD574A是一個完整的逐位比較式12位模/數(shù)轉(zhuǎn)換器,具有可與8位、12位或16位微處理器直接接口的三態(tài)輸出緩沖器。其引腳分配和內(nèi)部結(jié)構(gòu)框圖示于下圖。引腳分配和內(nèi)部結(jié)構(gòu)框圖管腳介紹(1)DB11---DB0(引腳16--27):12位數(shù)據(jù)輸出線。DB11—為最高位,DB0----為最低位,它們可以由控制邏輯決定是輸出數(shù)據(jù)還是對外高阻抗。12/8\(數(shù)據(jù)模式選擇):輸入,當(dāng)此引腳為高電平時,12位數(shù)據(jù)輸出;當(dāng)此引腳為低電平時,與引腳A0配合,把12位數(shù)據(jù)分兩次輸出。注意:此引腳不與TTL兼容,若要求此引腳為高電平,則應(yīng)接1(VL),若要求此引腳為低電平,則應(yīng)接引腳15(DG)管腳介紹(2)A0(字節(jié)地址/短周期):
此引腳有兩個功能。一個功能是決定轉(zhuǎn)換結(jié)果是12位還是8位數(shù)據(jù),與其它控制輸入腳配合,若A0=0,結(jié)果為12位;若A0=1(高電平)結(jié)果是8位。另一個功能是決定輸出數(shù)據(jù)是高8位還是低4位,與其它控制輸入腳配合,若A0=0,輸出高8位;若A0=1,輸出低4位。CS\(芯片選擇):
當(dāng)CS\=0時,本芯片被選中,否則本芯片不進行任何操作。管腳介紹(3)R/C\(讀/轉(zhuǎn)換選擇):當(dāng)R/C\=1時,允許讀取結(jié)果,當(dāng)R/C\=0時,允許A/D轉(zhuǎn)換。CE(芯片啟動):當(dāng)CE=1時,允許轉(zhuǎn)換或讀取A/D轉(zhuǎn)換結(jié)果,到底是轉(zhuǎn)換還是讀取結(jié)果與R/C\有關(guān)。STS(狀態(tài)信號):STS=1表示正在進行A/D轉(zhuǎn)換,STS=0表示轉(zhuǎn)換已經(jīng)完成。管腳介紹(4)REFOUT:+10V基準(zhǔn)電壓輸出REFIN(基準(zhǔn)電壓輸入):只有由此引腳把從“REFOUT”腳輸出的基準(zhǔn)電壓引入到AD574內(nèi)部的12DAC,才能進行正常的A/D轉(zhuǎn)換。BIPOFF(雙極性補償):此引腳適當(dāng)連接,可實現(xiàn)單極性或雙極性輸入。10VIN(10V量程模擬信號輸入端):對單極性信號為10V量程的模擬信號輸入端;對雙極性信號為±5V模擬信號輸入腳。20VIN(10V量程模擬信號輸入端):對單極性信號為20V量程的模擬信號輸入端;對雙極性信號為±10V模擬信號輸入腳。管腳介紹(5)DG(數(shù)字地):各數(shù)字電路(譯碼器、門電路、觸發(fā)器等)及“+5V”電源的地。AG(模擬地):各模擬器件(放大器、比較器、多路開關(guān)、采樣保持器等)及“+15V”和“-15V”的地。VLOG:邏輯電路供電輸入端,+5V。VCC:正供電引腳,VCC=12V---+15V。VEE:負(fù)供電引腳,VEE=-12V-----15V。AD574A主要特點AD574A是一片模擬電路,一片數(shù)字電路組成的混合式集成芯片。其主要特點為:不需要外圍緩沖電路可直接與最通用的8位或16位微處理器接口。短的轉(zhuǎn)換時間,在獨立工作方式下,可在25us時間內(nèi)完成一次轉(zhuǎn)換,并將數(shù)據(jù)鎖存在輸出鎖存器中??商峁┧姆N不同的輸入范圍:單極性輸入0~10v或0~20v;雙極性輸入-5~+5v或-10~+10v。自帶參考電壓。該電源除供本身使用外,還可以為外部負(fù)載提供1mA的電流輸出。AD574A控制引腳AD574A有兩組控制引腳:一般控制引腳(CE、CS和R/C)和內(nèi)部寄存器控制引腳(12/8和A0)。一般控制引腳(CE、CS和R/C\)主要控制啟動轉(zhuǎn)換和允許的。當(dāng)CE=1、CS=0、R/C\=0時,啟動轉(zhuǎn)換;當(dāng)CE=1、CS=0、R/C\=1時,讀允許。內(nèi)部寄存器控制引腳(12/8和A0)主要控制數(shù)據(jù)輸出形式和轉(zhuǎn)換時間的長短的。
若12/8\=1,當(dāng)一般控制引腳發(fā)出讀數(shù)據(jù)命令時,12根輸出數(shù)據(jù)線上的數(shù)據(jù)均有效。若12/8\=0,對于一個8位接口,則根據(jù)A0的狀態(tài)來確定到底是高8位有效還是低4位有效。這時,數(shù)據(jù)線低4位(16~19腳)要硬連接到高4位(24~27腳)上。在這種情況下,若A0=0,讀出高8位數(shù)據(jù);若A0=1,高8位數(shù)據(jù)線禁止,讀出低4位數(shù)據(jù)。A0的另一功能是控制轉(zhuǎn)換周期的長短。在轉(zhuǎn)換周期開始前,若A0處于低電平,完成完整的12位轉(zhuǎn)換需要25us;若A0處于高電平,僅完成8位轉(zhuǎn)換需時約16us。AD574A各控制引腳功能CECS\R/C\12/8\A0功能0XXXX不起作用X1XXX不起作用100X0啟動12位轉(zhuǎn)換100X1啟動8位轉(zhuǎn)換101接VLX12位數(shù)據(jù)并行輸出101接DG0高8位數(shù)據(jù)輸出101接DG1低4位數(shù)據(jù)尾接4位0輸出AD574A控制功能
若將AD574A作為一個存儲器來對待,為了與8位總線接口,需占據(jù)兩個存儲器地址(用A0來選擇)。當(dāng)A0為低時,執(zhí)行的寫操作是啟動一次完整的12位轉(zhuǎn)換周期;而當(dāng)A0為高時,執(zhí)行的寫操作是啟動一次8位的短轉(zhuǎn)換周期,這樣的讀數(shù)精度低而速度較快。在轉(zhuǎn)換完成之后,可讀取兩個字節(jié)的數(shù)據(jù):當(dāng)A0為低時,讀取的12位中的高8位;當(dāng)A0為高時,讀取的是12位中的低4位。為此,一般將A0接在地址線的A0上。STS為狀態(tài)線,當(dāng)轉(zhuǎn)換開始時,它變高;在轉(zhuǎn)換過程中,一直維持為高;轉(zhuǎn)換周期結(jié)束時,它將變?yōu)榈?。AD574模擬量輸入電路外部連線AD574通過外部的適當(dāng)連線,可以實現(xiàn)單極性輸入,也可以實現(xiàn)雙極性輸入。輸入信號均以模擬地AGND為基準(zhǔn)。模擬輸入信號的一端必須與AG相連,并且接點應(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與AGND連在一起。所有電位器均應(yīng)采用低溫度系數(shù)(10-4/C)電位器模擬量單極性輸入電路模擬量單極性輸入電路模擬量雙極性輸入電路AD574與80C51的接口(雙極性)AD574與80C51的接口(單極性)AD574與8051的接口基于8051的A/D轉(zhuǎn)換程序采用中斷采集方式:ORG0003HORG1000HLJMPINTR1INTR1:ORG 0300HMOVA,@DPTRMOV R0,#20HMOV@R0,AMOV DPTR,#0HINC R0SETB EX0INCDPTRSETB EAMOVXA,@DPTRMOVX @DPTR,AMOV@R0,ARETI
8051與max187接口程序設(shè)計MAX187的引腳分配如圖所示:8051與max187接口程序設(shè)計其各引腳的功能如下:VDD:電源電壓+5V。AIN:模擬輸入,輸入范圍為0V~Vref。SHDN:有三極輸入。若SHDN拉到低電平,表示芯片處于低功耗狀態(tài),此時的電源電流為10uA;若SHDN拉到高電平,允許使用內(nèi)部的參考電源;若SHDN處于懸浮狀態(tài),則禁止內(nèi)部參考電源,允許使用外部的參考電源。Vref:參考電壓端。當(dāng)允許內(nèi)部參考源時,輸出4.096V的電壓;當(dāng)禁止內(nèi)部參考源時,可輸入2.5V~VDD范圍的精密電壓,作參考電壓。若采用內(nèi)部參考源,退藕電容為4.7Uf;若加上的是外部內(nèi)部參考源,還需增加0.1uF的退藕電容。GND:模擬地及數(shù)字地。DOUT:串行數(shù)據(jù)輸出。在SCLK的下降沿,數(shù)據(jù)改變狀態(tài)。SCLK:串行時鐘輸入,時鐘輸入速率為5MHz。CS:片選端,輸入,低電平有效。在CS的下降沿,初始化轉(zhuǎn)換。當(dāng)為高時,DOUT線為高阻態(tài)。MAX187使用采樣/保持器(T/H)和逐位逼近寄存器(SAR)電路將一個模擬輸入信號轉(zhuǎn)換成一個12位的數(shù)字輸出。采樣/保持器(T/H)無須外部的保持電容。MAX187的輸入信號在0V~Vref范圍內(nèi),轉(zhuǎn)換時間包括T/H的采樣時間在內(nèi)為10us。串行接口只需三根數(shù)字線:SCLK、CS和DOUT,譽為處理的接口十分簡單。8051與max187接口程序設(shè)計轉(zhuǎn)換有兩中工作方式:正常方式和暫停方式。將SHDN拉成低電平,器件處于暫停狀態(tài),電源電流減低至10uA;當(dāng)SHDN拉成高電平或不接,器件將進入正常工作方式。CS的下降沿將初始化轉(zhuǎn)換。轉(zhuǎn)換結(jié)果是在DOUT端以單極性串行格式輸出。轉(zhuǎn)換結(jié)束(EOC)為高電平,跟著是串行數(shù)據(jù)流(MSB在先)。MAX187運行于下述兩種狀態(tài)之一:內(nèi)部參考或外部參考。強迫SHDN為高時,選擇內(nèi)部參考運行;SHDN懸浮時,選擇外部參考運行。參考源零刻度滿刻度內(nèi)部參考0V4.096V外部參考0VVref8051與max187接口程序設(shè)計8051與max187接口程序設(shè)計8051與max187接口程序設(shè)計MAX187與80C51的接口非常簡單,只需三根數(shù)字線:CS,SCLK和DOUT,接口電路如圖所示。80C51的P1.5、P1.6和P1.7分別與MAX187的CS,SCLK和DOUT相連接。
在串行接口有效時,設(shè)置CPU的串行接口為主方式,因而CPU發(fā)出串行時鐘,并選擇時鐘頻率為2.5MHz。用P1.5將芯片的片選拉成低電平CS,并保持SCLK為低電平。
等待最大轉(zhuǎn)換時間,檢測DOUT的上升沿,確定轉(zhuǎn)換是否結(jié)束。然后輸出SCLK,SCLK有效至少13個時鐘周期。
時鐘的第一個下降沿,DOUT端將出現(xiàn)轉(zhuǎn)換結(jié)果的最高位(MSB)。DOUT端在SCLK的下降沿出現(xiàn)下降沿出現(xiàn)數(shù)據(jù),在SCLK的上升沿穩(wěn)定,80C51可以讀入數(shù)據(jù)。在時鐘的第13個下降沿時或之后,將CS拉成高電平。如果此后CS仍為低電平,在輸出LSB位之后將輸出0。隨著CS=1,等待特定的時間tcs之后,若使CS拉成低電平,將進行新的一次轉(zhuǎn)換。如果轉(zhuǎn)換結(jié)束之前,將拉成高電平來中止轉(zhuǎn)換,則需至少等待一個采樣時間taqcq,才能啟動一次新的轉(zhuǎn)換。具有I2C總線的模/數(shù)轉(zhuǎn)換器——MAX127MAX127是一個具有I2C總線的8通道12位模/數(shù)轉(zhuǎn)換器,本身可以構(gòu)成一個完整的數(shù)據(jù)采集系統(tǒng),其引腳分配與內(nèi)部結(jié)構(gòu)框圖如下圖;MAX127的各引腳的功能如下:VDD:電源電壓,+5V。DGND:數(shù)字地。AGND:模擬地。SCL:串行時鐘輸入。A2、A1、A0:地址選擇輸入。SDA:串行數(shù)據(jù)輸入輸出線,開漏極。在SCL上升沿數(shù)據(jù)輸入;外部需要上拉電阻。SHDN:低功耗輸入端。當(dāng)SHDN為低時,芯片處于全低功耗(FULLPD)狀態(tài);當(dāng)SHDN為高時,芯片處于正常工作狀態(tài)。CH7~CH0:模擬輸入通道REFADJ:參考電壓輸出端,外部調(diào)整引腳。用0..01uF電容旁路到AGND。當(dāng)在REF端加上外部參考電壓時,該引腳接VDD。REF:參考電壓緩沖器輸出或參考電壓輸入。在內(nèi)部參考電壓方式,參考電壓緩沖器提供4.096V的正常輸出,在REFADJ端進行外部調(diào)整;在外部參考電壓方式,將REFADJ上拉到VDD,禁止內(nèi)部參考電壓,在REF端加上外部參考電壓。開始條件和停止條件:開始條件(s)在SCL為高時,SDA上有一個從高到低的變化;停止條件(P)在SCL為高時,SDA上有一個從低到高的變化。從地址:MAX127的從地址有7位,前4位是工廠設(shè)定的,總是0101;期間地址的3位有地址輸入引腳A2、A1和A0的邏輯狀態(tài)決定。因此,在同一總線上最多只能接8個MAX127。引腳A2、A1和A0可以連接到VDD或DGND,或者它用TTL或CMOS電平驅(qū)動。8位地址字節(jié)的最后一位為R/W位。R/W=0,設(shè)置寫條件,主器件向MAX127寫入;R/W=1,設(shè)置讀條件,主器件從MAX127讀入。其中各位的意義:7(MSB)START:在寫位即R/W的應(yīng)答之后,接收邏輯“1”時被認(rèn)為是控制字節(jié)的開始。
6、5、4SEL2、SEL1、SEL0:這三位選擇打開的輸入通道。
RNG:選擇滿刻度輸入時電壓量程。
BIP:選擇轉(zhuǎn)換是單極性還是雙極性的。1、0(LSB)PD1、PD0:這兩位選擇低功耗方式。MAX127控制字節(jié)中PD1、PD0的意義:PD1PD0方式0×正常方式10待機(STBYPD)11全低功耗方(FULLPD)控制字節(jié)如所示,其格式為:BIT7MSBBIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)STARTSEL2SEL1SEL0RNGBIPPD1PD0
MAX127控制字中SEL2、SEL1、SEL0的意義SEL2SEL1SEL0通道000CH0001CH1010CH2011CH3100CH4……111CH7
MAX127控制字節(jié)中RNG、BIP的意義輸入量程/VRNGBIP負(fù)滿刻度/V零刻度/V滿刻度/V0~500——0Vref×1.22070~1010——0Vref×2.4414±501-Vref×1.22070Vref×1.2207±1011-Vref×2.44140Vref×2.4414MAX127完整的傳輸時序圖見書219頁寫周期:
如圖7-45(a)所示,由主器件發(fā)出開始條件、7位從地址及寫位(即R/W=0),開始一個轉(zhuǎn)換周期。如果MAX127接收到這8位,并且地址相符,則發(fā)出一個應(yīng)答(A),將SDA拉為低電平一個時鐘周期。然后,主器件寫出控制字節(jié)到從器件。在這個字節(jié)數(shù)據(jù)之后,從期間又發(fā)出另一個應(yīng)答(A),將SDA拉低一個時鐘周期。主器件在寫周期的最后發(fā)出停止條件。讀周期:如圖7-45(b)所示,由主器件發(fā)出開始條件、7位從地址及讀位(即R/W=1),如果MAX127接到了這8位,并且
地址相符,則發(fā)出一個應(yīng)答位(A),將SDA拉為低電平一個時鐘周期,接著是串行數(shù)據(jù)的第一個字節(jié)(D11~D4,MSB在先);在從器件發(fā)出第一個字節(jié)之后釋放總線,主器件發(fā)出應(yīng)答(A=0)。從器件接受到該應(yīng)答后,發(fā)出第二個字節(jié)(D3~D0及四個0)。接著主器件發(fā)出一個反應(yīng)答(/A),表示最后的數(shù)據(jù)字節(jié)已經(jīng)接收到。最后主器件發(fā)出停止條件,作為讀周期。MAX127與80C51接口
用一個12位數(shù)/模轉(zhuǎn)換器和相應(yīng)軟件實現(xiàn)模/數(shù)轉(zhuǎn)換(1)硬件電路組成硬件電路如圖所示。12位數(shù)/模轉(zhuǎn)換器用的是AD7542,參考電壓Vref由AD584穩(wěn)壓得到,數(shù)值為-10V。模擬電壓的輸入范圍為0~10V,經(jīng)緩沖放大器A1緩沖之后送入Rfb。模擬輸入電壓與DAC的輸出在Iout1端相減,經(jīng)放大器A2將電流轉(zhuǎn)換成電壓輸出。放大器A3是接成正反饋形式的比較器。比較器的輸出接到80C51的P3.0端,以判斷比較器的輸出電平是高還是低。為了得到12位的分辨率,對于放大器A1、A2及A3的性能均有較高的要求。二極管D1、D2是為了加速A2輸出的建立過程而設(shè)置的。轉(zhuǎn)換結(jié)果存在22H(高四位)和23H(低四位)中。程序ORG 0200H
SETB P1.7 AIN:MOV R0,#21HSETB P1.4
SETB P3.0CLR P1.7CLR P3.1SETB P1.7CLR P1.6MOV P1,#0A0H
MOV P1,#00HAIN0: SETB P1.3CLR P1.7CLR P1.7SETB P1.7 SETB P1.7
SETB P1.4JNB P3.0,CLR3
CLR P1.7LOOP1: SETB P1.2SETB P1.7CLR P1.7CLR P1.4SETBP1.7
SETB P1.5
JNB P3.0,CLR2CLR P1.7LOOP2:SETB P1.1AIN1: JNBP1.4,AN2 CLR P1.7CLRP1.4 SETB P1.7AJMPAN0 JNB P3.0,CLR1AIN2: MOV A,23HLOOP3:SETB P1.0SWAP A CLRP1.7ORL A,24H SETB P1.7MOV23H,A JNB CLR0SETB P1.6 INC R0RET MOV A,#0FHCLR3: CLRP1.3 ANL A,P1AJMP LOOP1 MOV @R0,ACLR2: CLR P1.2
JNB P1.5AJMP LOOP2 CLR P1.5CLR1: CLR P1.1SETB P1.5AJMP LOOP3 AJMPAN0
CLR0:CLR P1.0 AJMP LOOP4第二節(jié)D/A轉(zhuǎn)換器接口用D/A轉(zhuǎn)換器把微型機輸出的數(shù)字量轉(zhuǎn)換成電壓或電流,可輸出各種波形的信號。一、硬件設(shè)計考慮的問題選擇分辨率(3~8位/9~12位/13位以上)確定精度(誤差范圍)D/A轉(zhuǎn)換時間和路數(shù)輸入/輸出特性和范圍電源種類和功耗工作環(huán)境接口是否方便二、DAC0832芯片介紹分辨率8位電流輸出,穩(wěn)定時間1US雙緩沖、單緩沖、直接數(shù)字輸入單電源供電邏輯結(jié)構(gòu)工作方式直通方式:各控制端口一直有效單緩沖方式:輸入鎖存器和8位DAC寄存器鎖存信號同時有效;或者一個寄存器控制端一直有效。雙緩沖方式:輸入鎖存器和8位DAC寄存器鎖存信號分開控制DAC0832與MCS51的接口雙緩沖方式適用于幾個模擬量同時輸出的系統(tǒng)時序圖MOVDPTR,#0DFFFH;1MOVA,#X;2MOVX@DPTR,A;3MOVDPTR,#0BFFFH;4MOVA,#Y;5MOVX@DPTR,A;6MOVDPTR,#7FFFH;7MOVX@DPTR,A;8系統(tǒng)只有一路模擬量輸出或幾路模擬量不許同步的輸出場合,可采用單緩沖方式通過運放可輸出一個鋸齒波MOVDPTR,#7FFFHMOVA,#00HLOOP:MOVX@DPTR,AINCAAJMPLOOP利用串行口接口
(1)利用80C51本身的SPI接口
1串行輸入數(shù)/模轉(zhuǎn)換器——AD7543AD7543是一個為配合串行接口而設(shè)計的精密12位CMOS乘法式數(shù)/模轉(zhuǎn)換器,其結(jié)構(gòu)框圖如圖所示
其中邏輯部分包含一個12位串入——并出的位移寄存器和12位的DAC寄存器。在AD7543的串行輸入端SRI輸入的串行數(shù)據(jù),可有選通脈沖輸入端STB(從STB1~STB4)的上升沿或下降沿打入。一旦輸入寄存器滿,就可以加載輸入端(LD1,LD2)的控制下打入DAC寄存器。在CLR端施加低電平脈沖,可以使DAC寄存器復(fù)位為0。引腳功能為:STB1~STB4:移位寄存器的選通信號。LD1,LD2:DAC寄存器加載信號。SRI:移位寄存器的串行輸入端。CLR:DAC寄存器得清除輸入端,低電平有效。用于異步復(fù)位DAC寄存器為0。Iou1,Iou2:DAC寄存器的電流輸入端。Iou1連接到放大器的虛地;Iou2連接到模擬地AGND。Vref:參考電源Rbf:DAC轉(zhuǎn)換器反饋電阻。DGND:數(shù)字地AGND:模擬地Vdd:+5v電源輸入2AD7543與80C51的接口AD7543與80C51的接口電路如圖所示。80c51的串行口與ad7543直接相連。80c51的串行口工作于方式0,即移位寄存器方式,TXD端輸入移位脈沖,其負(fù)跳變將RXD段發(fā)出的數(shù)據(jù)移入AD7543的12位移位寄存器。利用地址譯碼器信號產(chǎn)生LD2,將移位寄存器的數(shù)據(jù)發(fā)送到DAC寄存器,以使DAC轉(zhuǎn)換器輸入。3編程AD7543的12位數(shù)據(jù)由低至高一位一位的輸入,而80C51串行口的方式0輸出則是由低位到高位串行輸出的。因此,由串行口輸出的數(shù)據(jù)必須進行倒序處理。AD7543的口地址為ADRDA;數(shù)據(jù)緩沖器的地址單元為DBUFH(高4位),DBUFL(低8位)。OUTDA:MOVSCON,#0;設(shè)串行口方式為0MOVA,DBUFH;高4位1數(shù)據(jù)送AACALLASMB;調(diào)倒序子程序MOVSBUF,A;輸出高4位MOVA,DBUFL;低8位地址送AACALLASMB;調(diào)倒序子程序MOVSBUF,A;輸出低8位MOVDPTR,#ADRDA;將移位寄存器的數(shù)據(jù)送入MOV@DPTR,A;DAC寄存器RET;ASMB:MOVR6,#0;清R6MOVR7,308H;計數(shù)器CLRC;清CYALO:RLCA;A帶進位左移一位XCHA,R6;A與R6內(nèi)容互換RRCA;R6內(nèi)容帶CY右移一位XCHA,R6;R6內(nèi)容與A互換DJNZR7,ALO;當(dāng)R7部位0時循環(huán)XCHA,R6;裝配好的數(shù)據(jù)存ARET(2)利用總線接口(1)帶倆線串行接口的8位數(shù)/模轉(zhuǎn)換器——MAX518MAX518是一個帶倆線串行接口的8位數(shù)/模轉(zhuǎn)換器,引腳配置及結(jié)構(gòu)見圖引腳說明:Vout1,Vout0:數(shù)模轉(zhuǎn)換器的電壓輸出。AD1,AD0:地址輸入端,用于設(shè)置器件的從地址。SDA:串行數(shù)據(jù)輸入SCL:串行時鐘輸入Vdd:電源,+5v,max518用于做參考電壓。GND:地Max518的從地址:01011AD1AD0R/W其中,地址AD1AD0相當(dāng)于地址輸入端狀態(tài)。在系統(tǒng)中,MAX518有四個可能的從地址,因而最多能接四片。讀/寫位R/W=0,系統(tǒng)中的主器件通過I2C總線來對MAX518進行寫操作。寫操作信息傳遞格式:指令字節(jié)R2R1R0RSTPDXXA0其中:R2R1R0:保留位,設(shè)置為0。RST:復(fù)位位,設(shè)置為1,將使所有寄存器復(fù)位為0。PD:電源控制位,設(shè)置為1,器件處于4uA低功耗方式設(shè)置為0,器件處于正常工作狀態(tài)。A0:地址位(2)MAX518與80C51的接口MAX518與80c51的接口電路見圖,一般的80C51沒有I2C總線,因而只能模擬I2C總線時,一般需要兩根I/O口線,在圖中,P1.6用作SCL線,P1.7用作SDA線.(3)模擬I2C總線的編程這里所使用到的一些通用子程序包括:發(fā)送開始條件(START),發(fā)送停止條件(STOP),檢查應(yīng)答位(CHACK),單字節(jié)數(shù)據(jù)發(fā)送(WRBYT)。設(shè)定單片機所使用的晶體振蕩器為6Mhz,即機器周期為2uS。若晶體振蕩器不是6Mhz,側(cè)可根據(jù)情況增減程序中的指令NOP即可.ADDREQU58H;AD1=AD0=0,R/W=0RESETEQU10H;RST=1PD0EQU08H;PD=0,DAC0有輸出PD1EQU09H;PD=1,DAC1有輸出DAC0EQU00H;A0=0DAC1EQU01H;A0=1設(shè)置一路DAC輸出發(fā)送的數(shù)據(jù)在B中。OUT0:ACALLSTART;發(fā)開始條件MOVA,#ADDRACALLWRBYTMOVA,#DAC0;發(fā)指令字ACALLWRBYTMOVA,B;取數(shù)ACALLWRBYTR
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新能源新材料產(chǎn)業(yè)基地項目可行性研究報告
- 青海省海西蒙古族藏族自治州(2024年-2025年小學(xué)六年級語文)統(tǒng)編版競賽題(下學(xué)期)試卷及答案
- 2025版智能裝備制造公司股權(quán)重組及智能制造合作合同3篇
- 集成電路及配套基礎(chǔ)設(shè)施項目建設(shè)方案
- 二零二五年度醫(yī)療設(shè)備代理商合同范本2篇
- 二零二五年度夫妻離婚協(xié)議注重婚姻終止后的財產(chǎn)分配與子女撫養(yǎng)11篇
- 機場改造項目商業(yè)計劃書
- 高速公路交通流量預(yù)測
- JCT872-2000建筑裝飾用微晶玻璃
- 2024(部編版)道德與法治九年級上冊 第二單元 民主與法治 單元測試(學(xué)生版+解析版)
- 醫(yī)療護理員基礎(chǔ)理論知識考試試題題庫及答案
- YDT 4525-2023通信局(站)液冷系統(tǒng)總體技術(shù)要求
- 2024年高考英語詞匯表-帶音標(biāo)
- 墊底辣妹教育學(xué)思考(3篇模板)
- 框架結(jié)構(gòu)設(shè)計國內(nèi)外研究現(xiàn)狀
- 基因檢測銷售基礎(chǔ)知識培訓(xùn)手冊
- 創(chuàng)新人才認(rèn)證(解決方案)考試題庫(附答案)
- 新質(zhì)生產(chǎn)力-講解課件
- 湖北省隨州市曾都區(qū)2023-2024學(xué)年九年級上學(xué)期期末考試英語試題
評論
0/150
提交評論