第10章 單片機(jī)與其他器件的接口_第1頁(yè)
第10章 單片機(jī)與其他器件的接口_第2頁(yè)
第10章 單片機(jī)與其他器件的接口_第3頁(yè)
第10章 單片機(jī)與其他器件的接口_第4頁(yè)
第10章 單片機(jī)與其他器件的接口_第5頁(yè)
已閱讀5頁(yè),還剩90頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第10章單片機(jī)與其他器件的接口【本章內(nèi)容】本章主要介紹在單片機(jī)應(yīng)用系統(tǒng)中常用的數(shù)/模轉(zhuǎn)換器(ADC)、模/數(shù)轉(zhuǎn)換器(DAC)、繼電器、光電耦合器等輸入、輸出器件的結(jié)構(gòu)、特性、參數(shù)與工作原理,并介紹單片機(jī)與這些器件進(jìn)行連接的接口技術(shù)與編程方法?!卷?xiàng)目驅(qū)動(dòng)的學(xué)習(xí)要點(diǎn)】

運(yùn)用本章介紹的模/數(shù)轉(zhuǎn)換接口技術(shù),給應(yīng)用項(xiàng)目增加氣溫探測(cè)功能。運(yùn)用本章介紹的單片機(jī)與光電耦合器、繼電器的接口技術(shù),在應(yīng)用項(xiàng)目中加上電鈴驅(qū)動(dòng)電路以及廣播設(shè)備控制電路。1第10章單片機(jī)與其他器件的接口10.1單片機(jī)與D/A轉(zhuǎn)換器的接口

10.2單片機(jī)與A/D轉(zhuǎn)換器的接口10.3單片機(jī)與繼電器的接口10.4單片機(jī)與光電耦合器件的接口練習(xí)題END210.1單片機(jī)與D/A轉(zhuǎn)換器的接口10.1.1D/A轉(zhuǎn)換器10.1.2單片機(jī)與DAC0832的接口3在單片機(jī)測(cè)控系統(tǒng)中,單片機(jī)能直接處理的是數(shù)字量,而被控對(duì)象卻往往是通過(guò)模擬量來(lái)進(jìn)行控制的。這就需要將單片機(jī)輸出的數(shù)字量轉(zhuǎn)換為相應(yīng)的模擬量,用于驅(qū)動(dòng)相應(yīng)的執(zhí)行機(jī)構(gòu)動(dòng)作,實(shí)現(xiàn)對(duì)被控對(duì)象的控制。能完成這一工作的器件叫數(shù)/模轉(zhuǎn)換器,簡(jiǎn)稱(chēng)D/A轉(zhuǎn)換器(或DAC)。

10.1.1D/A轉(zhuǎn)換器4

D/A轉(zhuǎn)換器的原理可概括為“按權(quán)展開(kāi),然后求和”,即把數(shù)字量的每一位都按其權(quán)值分別轉(zhuǎn)換為相應(yīng)的模擬量,然后進(jìn)行求和,便可得到與該數(shù)字量對(duì)應(yīng)的模擬量。下面以T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器為例進(jìn)行介紹。1.D/A轉(zhuǎn)換器的原理5圖10-18位T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器原理圖T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器6

T型電阻網(wǎng)絡(luò)的橋上電阻均為R,橋臂電阻均為2R,待轉(zhuǎn)換的數(shù)字量首先通過(guò)D7~D0傳送到數(shù)據(jù)鎖存器(或寄存器)中,然后由電子開(kāi)關(guān)把數(shù)字量轉(zhuǎn)換為對(duì)應(yīng)的電子開(kāi)關(guān)通/斷狀態(tài):當(dāng)數(shù)字量某位為1時(shí),電子開(kāi)關(guān)就將基準(zhǔn)電壓源VREF接入電阻網(wǎng)絡(luò)的相應(yīng)支路;若為0時(shí),則將該支路接地。各支路的電流信號(hào)經(jīng)過(guò)電阻網(wǎng)絡(luò)加權(quán)后,由運(yùn)算放大器求和并變換成電壓信號(hào),從而得到與輸入數(shù)字量相對(duì)應(yīng)的模擬量作為D/A轉(zhuǎn)換器的輸出。8位T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器原理分析:7假設(shè)輸入的數(shù)字量D7~D0為11111111B,由圖10-1可以得到:輸出表達(dá)式的推導(dǎo)過(guò)程:I

=

VREF/RI7

=

I/21I6

=

I7/2

=

I/22I5

=

I6/2

=

I/23I4

=

I5/2

=

I/24I3

=

I4/2

=

I/25I2

=

I3/2

=

I/26I1

=

I2/2

=

I/27I0

=

I1/2

=

I/28IO1

=

I7

+

I6

+

I5

+

I4

+

I3

+

I2

+

I1

+

I0

=

(I/28)

×

(27

+

26

+

25

+

24

+

23

+

22

+

21

+

20)

=

((VREF/R)/28)

×

(27

+

26

+

25

+

24

+

23

+

22

+

21

+

20)8VO

=

Ifb

×

Rfb

=

–IO1

×

R

=

–((VREF/R)/28)

×

(27

+

26

+

25

+

24

+

23

+

22+

21

+

20)

R

=

(VREF/28)

×

(27

+

26

+

25

+

24

+

23

+

22

+

21+

20)若選取Rfb

=

R,考慮到圖10-1中運(yùn)算放大器的反相輸入端處可以看作“虛地”,則有:Ifb

=

?

IO1因此,可以得到:輸出表達(dá)式的推導(dǎo)過(guò)程:9事實(shí)上,輸入的數(shù)字量D7~D0并不一定是全1。若它們中的某些位為0時(shí),對(duì)應(yīng)的電子開(kāi)關(guān)就會(huì)打在0的位置,將對(duì)應(yīng)的支路接地,使接地支路的電流不參加求和。為此,可將上式用通式表示為:VO

=

?

(VREF/28)

×

(D7

·

27

+

D6

·

26

+

D5

·

25

+

D4

·

24

+

D3

·

23

+

D2

·

22

+

D1

·

21

+

D0

·

20)

輸出電壓VO正好是將輸入數(shù)字量“按權(quán)展開(kāi),然后求和”,所得到的模擬量與數(shù)字量一一對(duì)應(yīng)。這樣便完成了數(shù)字量到模擬量的轉(zhuǎn)換。輸出表達(dá)式的推導(dǎo)過(guò)程:10

(1)分辨率(2)轉(zhuǎn)換精度

(3)線性度(4)建立時(shí)間(5)其他參數(shù)指標(biāo)2.D/A轉(zhuǎn)換器的主要性能指標(biāo)11

DAC的分辨率用來(lái)衡量D/A轉(zhuǎn)換器對(duì)輸入的數(shù)字量與輸出模擬量的分辨能力。

DAC對(duì)輸入數(shù)字量的分辨率:由于數(shù)字量是用二進(jìn)制數(shù)表示的,二進(jìn)制的最低有效位(LSB)在數(shù)值上等于1,所以DAC對(duì)數(shù)字量能分辨的最小量就是1,也就是說(shuō)DAC對(duì)輸入數(shù)字量的分辨率為1?;蛘哒f(shuō)是1個(gè)LSB。這對(duì)任何DAC器件來(lái)說(shuō)都是一樣的,所以人們更關(guān)心是對(duì)模擬量的分辨率,并用模擬量的分辨率來(lái)表示DAC的分辨率。(1)分辨率12

DAC對(duì)輸出模擬量的分辨率:當(dāng)DAC的輸入數(shù)字量變化1個(gè)LSB時(shí),所對(duì)應(yīng)的輸出模擬量的變化量。與ADC輸入數(shù)字量的位數(shù)以及滿(mǎn)量程值的大小有關(guān),可按下式計(jì)算:分辨率

=

滿(mǎn)量程值/2n

式中,n是DAC輸入數(shù)字量的二進(jìn)制位數(shù)。例如,假設(shè)滿(mǎn)量程值為5V,則采用8位DAC時(shí),分辨率

=

5V/28

=

19.5mV采用12位DAC時(shí),分辨率

=

5V/212

=

1.22mV

顯然,DAC的位數(shù)越多,其分辨率就越高。所以也常常直接用DAC的位數(shù)來(lái)表示其分辨率。13轉(zhuǎn)換精度用于衡量DAC轉(zhuǎn)換輸出的實(shí)際模擬值與理論輸出值的接近程度。用兩者的絕對(duì)誤差或相對(duì)誤差表示,相應(yīng)地稱(chēng)為絕對(duì)精度和相對(duì)精度。(2)轉(zhuǎn)換精度14絕對(duì)精度(簡(jiǎn)稱(chēng)精度)是指在不超出量程范圍內(nèi),任一輸入數(shù)字量所對(duì)應(yīng)的模擬量實(shí)際輸出值與理論值之間的最大誤差。例如,一個(gè)8位、滿(mǎn)量程值為5V的D/A轉(zhuǎn)換器,在理想情況下,當(dāng)DAC的輸入數(shù)字量變化1個(gè)LSB時(shí),所對(duì)應(yīng)的輸出模擬量的變化量應(yīng)是19.5mV。但實(shí)際情況下,會(huì)因各種原因?qū)е螺敵鲋蛋l(fā)生偏移,假設(shè)這個(gè)偏移值為

±

9.75mV(即19.5mV/2),則稱(chēng)這個(gè)DAC的絕對(duì)精度為

±

(1/2)LSB,或稱(chēng)其最大誤差為1LSB。絕對(duì)精度15相對(duì)精度則是用最大誤差相對(duì)于滿(mǎn)刻度的百分比表示。如上述例子中的相對(duì)精度應(yīng)為19.5mV/5V

=

0.39%。相對(duì)精度16線性度(也稱(chēng)非線性誤差)是實(shí)際轉(zhuǎn)換特性曲線與理想直線特性之間的最大偏差。常以該偏差相對(duì)于滿(mǎn)量程的百分比表示,如

±1%線性度是指實(shí)際輸出值與理論值之差在滿(mǎn)刻度的

±1%以?xún)?nèi)。也可直接用該偏差值表示,一般要求該值不大于

±

1/2LSB。(3)線性度17建立時(shí)間是指從DAC輸入的數(shù)字量發(fā)生變化時(shí)開(kāi)始,到模擬輸出量達(dá)到對(duì)應(yīng)終值±1/2LSB所需要的時(shí)間,是描述D/A轉(zhuǎn)換速率的一個(gè)指標(biāo)。根據(jù)建立時(shí)間的長(zhǎng)短,可以將DAC分成超高速(

1μs

)、高速(10~1μs)、中速(100~10μs)和低速(

100μs)4擋。(4)建立時(shí)間18其他參數(shù)指標(biāo)包括工作溫度、最低功耗等。(5)其他參數(shù)指標(biāo)19常用的8位DAC芯片有DAC0830、DAC0831、DAC0832、DAC0834、DAC0838等。下面以DAC0832為例進(jìn)行介紹。3.常用的D/A轉(zhuǎn)換芯片20分辨率:8位。電流建立時(shí)間:1μs。數(shù)據(jù)輸入方式:雙緩沖、單緩沖或直通方式線性度:

±1/2LSB。邏輯電平輸入與TTL電平兼容。能與所有常用的微處理器直接互連。供電:?jiǎn)我浑娫矗?/p>

+5~

+15V。功耗:20mW。工作溫度:0℃~

+

70℃到

?55℃~

+125℃(在芯片上用不同的后綴加以分檔)。(1)DAC0832的主要性能和技術(shù)參數(shù)21圖10-2DAC0832內(nèi)部結(jié)構(gòu)框圖(2)DAC0832的內(nèi)部結(jié)構(gòu)22采用DIP封裝的DAC0832,共有20條引腳,如圖10-3所示。(3)DAC0832的外部引腳圖10-3DAC0832外部引腳23

DI7~DI0:8位數(shù)字量輸入引腳。

IOUT1、IOUT2:電流模擬量輸出引腳,當(dāng)輸入數(shù)字量全為1時(shí),IOUT1輸出電流最大,IOUT2輸出電流最??;當(dāng)輸入數(shù)字量為全0時(shí),情況相反,IOUT2最大,IOUT1最小。IOUT1

+

IOUT2為一個(gè)常數(shù)DAC0832各引腳的名稱(chēng)、功能

ILE:鎖存允許信號(hào)輸入引腳。:片選信號(hào)輸入引腳,和鎖存允許信號(hào)ILE共同決定是否起作用。:寫(xiě)信號(hào)1輸入引腳,當(dāng)ILE為1且、同時(shí)為0時(shí),與門(mén)M1輸出為1,為0,將輸入數(shù)字量鎖存到輸入寄存器中。24

:寫(xiě)信號(hào)2輸入引腳,當(dāng)與同時(shí)為0時(shí),與門(mén)M3輸出為1,為0,可將輸入DAC寄存器的數(shù)據(jù)輸出到D/A轉(zhuǎn)換器。:數(shù)據(jù)傳送控制信號(hào)輸入引腳,與信號(hào)配合,用于控制DAC寄存器。

Rfb:集成在DAC0832片內(nèi)的外接運(yùn)放反饋電阻引出腳,可以直接接到外接運(yùn)算放大器的輸出端,構(gòu)成負(fù)反饋回路。25

VREF:參考電壓輸入引腳,電壓范圍為

?10V~

+10V。

Vcc:電源輸入引腳,電壓范圍為

+5V~

+15V。AGND、DGND:模擬量接地引腳和數(shù)字量接地引腳。通常可將它們接在一起。26通過(guò)對(duì)DAC0832內(nèi)部的輸入鎖存器和DAC寄存器進(jìn)行適當(dāng)?shù)目刂凭涂梢允笵AC0832工作于直通、單緩沖和雙緩沖3種方式。10.1.2單片機(jī)與DAC0832的接口27當(dāng)DAC0832芯片的片選信號(hào),寫(xiě)信號(hào)、及傳送控制信號(hào)的引腳全部接地,允許輸入鎖存信號(hào)ILE引腳接

+5V時(shí),DAC0832芯片就處于直通工作方式,輸入的數(shù)字量直接進(jìn)入輸入寄存器、DAC寄存器并直達(dá)D/A轉(zhuǎn)換器,進(jìn)行D/A轉(zhuǎn)換。此方式適用于進(jìn)行無(wú)條件數(shù)/模轉(zhuǎn)換的場(chǎng)合。1.直通方式28單緩沖方式是指DAC0832內(nèi)部的兩個(gè)寄存器,一個(gè)處于直通狀態(tài),另一個(gè)受單片機(jī)控制的工作方式;或者是指兩個(gè)寄存器均由單片機(jī)同時(shí)選通的工作方式。如圖10-4(a)、(b)所示。2.單緩沖方式29圖10-4單片機(jī)與DAC0832的單緩沖方式接口電路(a)DAC0832的單緩沖方式接口電路(a)30圖10-4單片機(jī)與DAC0832的單緩沖方式接口電路(b)

DAC0832的單緩沖方式接口電路(b)31在圖10-4(a)、(b)中,DAC0832的地址均為為7FFFH,只要單片機(jī)執(zhí)行如下指令,就可以進(jìn)行D/A轉(zhuǎn)換并輸出。單緩沖方式D/A轉(zhuǎn)換程序:MOV A,#data;待轉(zhuǎn)換數(shù)字量送AMOV DPTR,#7FFFH;P2.7=0,指向DAC0832口地址MOVX @DPTR,A ;待轉(zhuǎn)換數(shù)字量送入DAC0832,

啟動(dòng)D/A轉(zhuǎn)換32VO

=

?

(VREF/28)

×

(D7

·

27

+

D6

·

26

+

D5

·

25

+

D4

·

24

+

D3

·

23

+

D2

·

22

+

D1

·

21

+

D0

·

20)圖10-4的輸出電壓在圖10-4,DAC0832的IOUT2接地,IOUT1接運(yùn)放的反相輸入端,經(jīng)運(yùn)算放大器后,便得到單極性電壓輸出。其大小按前面介紹過(guò)的式子計(jì)算:33下面以利用圖10-4產(chǎn)生鋸齒波、三角波與梯形波為例,說(shuō)明單片機(jī)控制DAC0832在單緩沖方式下的應(yīng)用。DAC0832在單緩沖方式下的應(yīng)用34產(chǎn)生鋸齒波的程序如下:

ORG0100HSATRT:MOVDPTR,#7FFFH ;指向DAC0832 MOVX

@DPTR,A ;啟動(dòng)D/A轉(zhuǎn)換

INC

A ;待轉(zhuǎn)換數(shù)字量加1

SJMP

START

;循環(huán)進(jìn)行D/A轉(zhuǎn)換

END(1)產(chǎn)生鋸齒波圖10-5單片機(jī)通過(guò)DAC0832產(chǎn)生的波形35

ORG 0200HSATRT:CLRA ;數(shù)字量初值

MOV

DPTR,#7FFFH ;指向DAC0832DOWN:MOVX@DPTR,A ;啟動(dòng)D/A轉(zhuǎn)換,形成三角波的下降段

INCA ;待轉(zhuǎn)換數(shù)字量加1

JNZ DOWN ;未完,繼續(xù)

MOV A,#0FEH ;三角波上升段數(shù)字量初值UP: MOVX @DPTR,A ;啟動(dòng)D/A轉(zhuǎn)換,形成三角波的上升段

DEC A ;待轉(zhuǎn)換數(shù)字量減1

JNZ UP ;未完,繼續(xù)

SJMP DOWN ;已完,則循環(huán)

END(2)產(chǎn)生三角波圖10-5單片機(jī)通過(guò)DAC0832產(chǎn)生的波形36

ORG 0300HSATRT:MOV A,#00H ;設(shè)置梯形波上底電平(根據(jù)實(shí)際選擇)

MOV DPTR,#7FFFH ;指向DAC0832 MOVX @DPTR,A ;啟動(dòng)D/A轉(zhuǎn)換

ACALL DELAY ;調(diào)用延時(shí)子程序,形成梯形波上底DOWN:MOVX @DPTR,A ;啟動(dòng)D/A轉(zhuǎn)換,形成梯形波的下降段

INC A ;待轉(zhuǎn)換數(shù)字量加1

JNZ DOWN ;未完,繼續(xù)

ACALL DELAY ;已完,調(diào)用延時(shí)子程序,形成梯形波下底

MOV A,#0FEH ;梯形波上升段數(shù)字量初值UP: MOVX @DPTR,A ;啟動(dòng)D/A轉(zhuǎn)換,形成梯形波的上升段

DEC A ;待轉(zhuǎn)換數(shù)字量減1

JNZ UP ;未完,繼續(xù)

SJMP START ;已完,則循環(huán)DELAY: …… ;延時(shí)時(shí)間根據(jù)實(shí)際要求設(shè)定

RET END(3)產(chǎn)生梯形波圖10-5單片機(jī)通過(guò)DAC0832產(chǎn)生的波形373.雙緩沖方式雙緩沖方式是指DAC0832內(nèi)部的兩個(gè)寄存器均由單片機(jī)分別進(jìn)行選通的工作方式。此方式適用于要求多個(gè)D/A轉(zhuǎn)換同步輸出的情況。下面以一個(gè)兩路同步輸出的D/A轉(zhuǎn)換接口電路為例加以介紹,電路如圖10-6所示。38圖10-6單片機(jī)與DAC0832的雙緩沖方式接口電路單片機(jī)與DAC0832的雙緩沖方式接口電路39圖10-6分析:

DAC0832(1)、DAC0832(2)的內(nèi)部輸入寄存器端口地址分別為DFFFH和BFFFH,單片機(jī)只要對(duì)這兩個(gè)端口進(jìn)行寫(xiě)操作,就可以將待轉(zhuǎn)換的數(shù)字量分時(shí)送入各片DAC0832的輸入寄存器中。

◆由于兩片DAC0832的內(nèi)部DAC寄存器端口地址為7FFFH,對(duì)該端口進(jìn)行寫(xiě)操作,就可以使兩片DAC0832同時(shí)將各自輸入已鎖存在輸入寄存器中的數(shù)據(jù)送入各自的DAC寄存器,并進(jìn)行D/A轉(zhuǎn)換,實(shí)現(xiàn)同步轉(zhuǎn)換輸出。40雙緩沖方式D/A轉(zhuǎn)換程序

ORG 0500HDACSUB:MOVR2,#20 ;計(jì)數(shù)初值

MOV R0,#40H ;指向第一組數(shù)據(jù)首地址

MOV R1,#60H ;指向第二組數(shù)據(jù)首地址LOOP:MOV A,@R0 ;取第一組數(shù)據(jù)

MOVDPTR,#0DFFFH;指向DAC0832(1)輸入寄存器

MOVX @DPTR,A ;第一組數(shù)據(jù)送入DAC0832(1)輸入寄存器

MOV A,@R1 ;取第二組數(shù)據(jù)

MOVDPTR,#0BFFFH ;指向DAC0832(2)輸入寄存器

MOVX @DPTR,A ;第二組數(shù)據(jù)送入DAC0832(2)輸入寄存器

MOV DPTR,#7FFFH ;指向兩片DAC0832的DAC寄存器

MOVX @DPTR,A ;同時(shí)啟動(dòng)兩片DAC的D/A轉(zhuǎn)換,同步輸出

INC R0 ;修改指針

INC R1 DJNZ R2,LOOP ;未完繼續(xù)

RET ;轉(zhuǎn)換完畢,返回

END

假設(shè)需要同步進(jìn)行D/A轉(zhuǎn)換的兩組長(zhǎng)度為20個(gè)字節(jié)的數(shù)據(jù)分別存放在8051片內(nèi)RAM以40H、60H為起始地址的單元中。4110.2單片機(jī)與A/D轉(zhuǎn)換器的接口 10.2.1A/D轉(zhuǎn)換器10.2.2單片機(jī)與ADC0809的接口4210.2.1A/D轉(zhuǎn)換器在單片機(jī)測(cè)控系統(tǒng)中,需要被采集的輸入信息有許多往往是連續(xù)變化的物理量,如溫度、速度、電壓、電流、壓力、流量等,這些連續(xù)變化的物理量稱(chēng)為模擬量。由于單片機(jī)能直接處理的信息是數(shù)字量,所以需要將連續(xù)變化的物理量轉(zhuǎn)換成數(shù)字量,才能輸入到單片機(jī)中進(jìn)行處理。完成這一工作的器件叫做模/數(shù)轉(zhuǎn)換器,簡(jiǎn)稱(chēng)A/D轉(zhuǎn)換器(或ADC)。431.A/D轉(zhuǎn)換器的原理

A/D轉(zhuǎn)換器按工作原理分類(lèi),主要有4種類(lèi)型:逐次逼近式、雙積分式、計(jì)數(shù)比較式和并行式。下面以8位逐次逼近式ADC為例介紹A/D轉(zhuǎn)換器的原理。8位逐次逼近式ADC原理框圖如圖10-7所示。448位逐次逼近式ADC原理框圖圖10-78位逐次逼近式ADC原理框圖458位逐次逼近式ADC工作原理控制電路首先使8位寄存器的D7位置1,其余位清0,此時(shí)該寄存器輸出的數(shù)字量為80H,該值經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬量,輸出VN電壓,這時(shí)VN的值為VIN滿(mǎn)量程值的一半。比較器將VN與待轉(zhuǎn)換的模擬量輸入信號(hào)VIN進(jìn)行比較,若VIN大于等于VN,則比較器輸出為1,通過(guò)控制電路使8位寄存器保留D7

=

1,并使下一位D6

=

1,所得的新值(C0H)再經(jīng)D/A轉(zhuǎn)換器得到新的VN,再與VIN比較,并重復(fù)前述過(guò)程。反之,當(dāng)使8位寄存器的D7

=

1后,經(jīng)比較,若VIN小于VN,則使8位寄存器的D7

=

0、D6

=

1,所形成數(shù)字量40H經(jīng)D/A轉(zhuǎn)換器得到的新的VN再與VIN比較,并重復(fù)前述過(guò)程。以此類(lèi)推,從8位寄存器的D7到D0逐次比較完畢,轉(zhuǎn)換過(guò)程結(jié)束。462.A/D轉(zhuǎn)換器的主要性能指標(biāo)(1)分辨率(2)量化誤差(3)轉(zhuǎn)換精度(4)轉(zhuǎn)換時(shí)間或轉(zhuǎn)換速率(5)其他參數(shù)指標(biāo)47(1)分辨率ADC的分辨率是指ADC輸出的數(shù)字量增加或減少1(1個(gè)LSB)時(shí),所需的輸入模擬量的變化量。ADC分辨率的計(jì)算方法與DAC相同。

分辨率

=

滿(mǎn)量程值/2n式中,n是ADC輸出數(shù)字量的二進(jìn)制位數(shù)。對(duì)于滿(mǎn)量程值為5V的8位ADC,分辨率

=

5V/28

=

19.5mV。48量化誤差是實(shí)際量化曲線與理想量化曲線之間的最大偏差。圖10-8所示的量化誤差為

±1/2(LSB),顯然,ADC的分辨率越高,量化誤差越小。(2)量化誤差圖10-8ADC的轉(zhuǎn)換特性49ADC轉(zhuǎn)換精度一般用絕對(duì)精度來(lái)衡量,是ADC輸出任何數(shù)字量時(shí),所對(duì)應(yīng)的實(shí)際輸入模擬量與理想輸入模擬量之差的最大值。它包括偏移誤差、滿(mǎn)刻度誤差(增益誤差)、線性誤差、量化誤差等綜合誤差,其大小也常用LSB為單位來(lái)表示。(3)轉(zhuǎn)換精度50ADC的轉(zhuǎn)換時(shí)間是指ADC完成一次A/D轉(zhuǎn)換所需的時(shí)間,即從啟動(dòng)A/D轉(zhuǎn)換時(shí)開(kāi)始,到輸出端輸出穩(wěn)定的數(shù)字信號(hào)所需的時(shí)間。轉(zhuǎn)換速率是指ADC在單位時(shí)間內(nèi)能夠完成A/D轉(zhuǎn)換的次數(shù)??梢?jiàn),轉(zhuǎn)換時(shí)間和轉(zhuǎn)換速率互為倒數(shù)。(4)轉(zhuǎn)換時(shí)間或轉(zhuǎn)換速率51其他參數(shù)指標(biāo)包括時(shí)鐘頻率、工作溫度、最低功耗等。(5)其他參數(shù)指標(biāo)523.常用的A/D轉(zhuǎn)換芯片常用的逐次逼近型A/D轉(zhuǎn)換芯片有:8位單通道的ADC0801~ADC08058位8通道的ADC0808/ADC08098位16通道的ADC0816/ADC081712位的AD574……下面以ADC0809為例加以介紹53(1)ADC0809的主要性能和技術(shù)參數(shù)分辨率:8位。轉(zhuǎn)換精度:小于

±

1LSB。

單路

+

5V供電,輸入模擬量電壓范圍為0~

+5V

具有地址譯碼選擇的8路輸入模擬開(kāi)關(guān)??涉i存三態(tài)輸出,與TTL電平兼容。功耗:15mW。

不必進(jìn)行零點(diǎn)和滿(mǎn)量程調(diào)整。時(shí)鐘頻率范圍:10~1280kHz;典型時(shí)鐘頻率為640kHz,轉(zhuǎn)換時(shí)間為100s。

標(biāo)準(zhǔn)封裝或28腳DIP封裝。工作溫度范圍:

?40℃~

+85℃。54(2)ADC0809的內(nèi)部結(jié)構(gòu)圖10-9ADC0809內(nèi)部結(jié)構(gòu)框圖55ADC0809各組成部分的功能地址鎖存與譯碼器:在地址鎖存信號(hào)ALE控制下,對(duì)輸入ADC0809的3位地址(C、B、A)進(jìn)行鎖存、譯碼,通過(guò)譯碼輸出對(duì)8路模擬開(kāi)關(guān)進(jìn)行控制。8路模擬開(kāi)關(guān):用于選擇8路模擬輸入IN7~I(xiàn)N0。當(dāng)3位地址(ADDC、ADDB、ADDA)為000B~111B時(shí),選擇的輸入分別為IN0~I(xiàn)N7。56ADC0809各組成部分的功能8位A/D轉(zhuǎn)換器:用于將被地址鎖存與譯碼器選中的輸入模擬信號(hào)轉(zhuǎn)換為數(shù)字量,轉(zhuǎn)換結(jié)束時(shí),使EOC引腳為高電平,并將數(shù)字量存入三態(tài)輸出鎖存器。三態(tài)輸出鎖存器:用于鎖存A/D轉(zhuǎn)換完成后所得到的數(shù)字量,當(dāng)OE為高電平時(shí),將數(shù)字量從2?1~2?8(與常規(guī)標(biāo)注的D7~D0對(duì)應(yīng))引腳輸出。當(dāng)OE為低電平時(shí),2?1~2?8引腳對(duì)外呈高阻狀態(tài)。57(3)ADC0809的外部引腳采用DIP封裝的ADC0809,共有28條引腳,如圖10-10所示。圖10-10ADC0809的外部引腳58ADC0809的外部引腳名稱(chēng)、功能

IN0~I(xiàn)N7:8路模擬量輸入引腳。

2?1~2?8:8位數(shù)字量輸出引腳。2?1為最高位。ADDC、ADDB、ADDA:3位地址輸入引腳。用于經(jīng)譯碼后,對(duì)輸入的8路模擬量IN0~I(xiàn)N7進(jìn)行8中選1。

ALE:地址鎖存允許信號(hào)輸入引腳。用于將3位地址信號(hào)ADDC、ADDB、ADDA進(jìn)行鎖存,以供譯碼器進(jìn)行譯碼。

CLK:時(shí)鐘信號(hào)輸入引腳。START:?jiǎn)?dòng)A/D轉(zhuǎn)換控制信號(hào)輸入引腳。該脈沖由外部電路送入,脈沖上升沿用于對(duì)ADC0809內(nèi)部的逐次逼近寄存器進(jìn)行復(fù)位,下降沿后ADC0809開(kāi)始進(jìn)行A/D轉(zhuǎn)換。59ADC0809的外部引腳名稱(chēng)、功能

EOC:A/D轉(zhuǎn)換結(jié)束信號(hào)輸出引腳。A/D轉(zhuǎn)換期間EOC為低電平,A/D轉(zhuǎn)換結(jié)束后EOC為高電平。

OE:數(shù)字量輸出允許控制引腳。用于控制輸出鎖存器的三態(tài)門(mén)。當(dāng)OE為高電平時(shí),允許轉(zhuǎn)換結(jié)果從8位數(shù)字量輸出引腳2?1~2?8輸出。

VREF(+)、VREF(?):參考電壓輸入引腳。通常將VREF(+)與VCC相連,VREF(?)接地。

VCC:

+

5V電源輸入引腳。

GND:接地引腳。6010.2.2單片機(jī)與ADC0809的接口1.硬件連接2.應(yīng)用程序611.硬件連接

◆單片機(jī)與ADC0809連接,需要考慮的問(wèn)題:(1)由于ADC0809沒(méi)有片內(nèi)時(shí)鐘,工作時(shí)需要外加時(shí)鐘信號(hào),這可以從單片機(jī)的ALE引腳獲得。(2)ADC0809內(nèi)部有一個(gè)8位三態(tài)輸出鎖存器,因此,ADC0809的數(shù)字量輸出線可以與單片機(jī)的數(shù)據(jù)總線直接連接。(3)ADC0809沒(méi)有片選信號(hào)輸入引腳,因此,需要通過(guò)產(chǎn)生ADC0809的ALE、START信號(hào)和OE信號(hào)來(lái)控制ADC0809工作,前者控制ADC0809鎖存用于選擇模擬量輸入通道的3位地址并啟動(dòng)A/D轉(zhuǎn)換;后者控制ADC0809將轉(zhuǎn)換結(jié)果送給單片機(jī)。62◆單片機(jī)與ADC0809的接口電路圖10-11單片機(jī)與ADC0809的接口電路632.應(yīng)用程序程序要求為:對(duì)圖10-11中的8路模擬量輸入信號(hào)IN0~I(xiàn)N7輪流采集一遍,并將采集到的A/D轉(zhuǎn)換結(jié)果(數(shù)字量)存入單片機(jī)內(nèi)部RAM以50H為起始地址的數(shù)據(jù)區(qū)中。64(1)采用查詢(xún)方式編程

ORG 0100H CLR EA ;關(guān)閉總中斷

LCALL ADC1 ……ADC1:MOV R0,#50H ;指向數(shù)據(jù)區(qū)起始地址

MOV DPTR,#7FF8H ;指向IN0通道,預(yù)置P2.7為0

MOV R2,#08H ;模擬量輸入通道數(shù)送R2LOOP:MOVX @DPTR,A ;送出選擇IN0的地址并啟動(dòng)A/D轉(zhuǎn)換

JBP3.3,$ ;查詢(xún)A/D轉(zhuǎn)換是否結(jié)束,若未結(jié)束則等待

MOVX A,@DPTR ;A/D轉(zhuǎn)換結(jié)束,則讀數(shù)字量至A MOV @R0,A ;存儲(chǔ)數(shù)字量至數(shù)據(jù)區(qū)

INC DPTR ;指向下一個(gè)輸入通道

INC R0 ;指向數(shù)據(jù)區(qū)下一單元

DJNZ R2,LOOP ;8個(gè)通道采集完否?若未完,則轉(zhuǎn)LOOP RET ;采集完畢,返回

END65(2)采用中斷方式編程

;主程序

ORG 0000H LJMP MAIN ORG 0013H ;中斷服務(wù)程序入口

AJMP ADC2 ;轉(zhuǎn)中斷服務(wù)程序

ORG 0200HMAIN: MOV R0,#50H ;指向數(shù)據(jù)區(qū)起始地址

MOV R2,#08H ;模擬量輸入通道數(shù)送R2 SETB IT1 ;置為邊沿觸發(fā)方式

SETB EA ;開(kāi)放中斷

SETB EX1 ;允許中斷

MOV DPTR,#7FF8H ;指向IN0通道,預(yù)置P2.7為0

MOVX @DPTR,A ;送出選擇IN0的地址并啟動(dòng)A/D轉(zhuǎn)換

SJMP $ ;等待A/D轉(zhuǎn)換結(jié)束并發(fā)生中斷66(2)采用中斷方式編程

;中斷服務(wù)程序

ORG 0300HADC2:MOVX A,@DPTR ;讀A/D轉(zhuǎn)換結(jié)果(數(shù)字量)至A MOV @R0,A ;存儲(chǔ)數(shù)字量至數(shù)據(jù)區(qū)

INC R0 ;指向數(shù)據(jù)區(qū)下一單元

INC DPTR ;指向下一個(gè)輸入通道

MOVX @DPTR,A ;送出選擇下一通道的地址并啟動(dòng)A/D轉(zhuǎn)換

DJNZ R2,LOOP ;8個(gè)通道采集完否?若未完,則轉(zhuǎn)LOOP CLR EX1 ;采集完畢,則關(guān)中斷LOOP:RETI ;中斷返回

END

67【項(xiàng)目應(yīng)用】要實(shí)現(xiàn)以上設(shè)想,可按如下步驟進(jìn)行。要求在應(yīng)用項(xiàng)目加進(jìn)一個(gè)溫度傳感器,使應(yīng)用項(xiàng)目除了能按要求自動(dòng)打鈴、播放廣播外,還具有能探測(cè)氣溫的功能。在LED數(shù)碼管上既能顯示實(shí)時(shí)時(shí)間,又能顯示實(shí)時(shí)氣溫,若對(duì)整個(gè)裝置加以適當(dāng)?shù)耐獗硌b飾,便可掛于廳堂,同時(shí)起到告示牌的作用。68(1)選擇一個(gè)溫度傳感器,實(shí)現(xiàn)對(duì)氣溫的實(shí)時(shí)探測(cè),例如,可選用AD590溫度傳感器。AD590產(chǎn)生的電流與溫度成正比,它的工作電壓為4V~30V,檢測(cè)溫度范圍為?55℃~+150℃,具有非常好的線性輸出特性,溫度每增加1℃,其輸出電流增加1A。通過(guò)信號(hào)放大電路可將AD590的輸出進(jìn)行放大并處理成符合ADC輸入要求的信號(hào)?!卷?xiàng)目應(yīng)用】69【項(xiàng)目應(yīng)用】(2)使用前面介紹的ADC器件對(duì)溫度傳感器輸出的模擬量進(jìn)行A/D轉(zhuǎn)換,獲得實(shí)時(shí)氣溫的數(shù)字量。ADC所需的控制信號(hào)可按前面介紹的方法構(gòu)造,模擬量輸入只用一路即可。(3)將應(yīng)用項(xiàng)目中的LED顯示電路中的字位口由8155的A口改為C口,將A口設(shè)置為輸入口,并與ADC數(shù)字量輸出線連接,用于將ADC中的實(shí)時(shí)氣溫?cái)?shù)字量通過(guò)數(shù)據(jù)總線送入單片機(jī),并存到單片機(jī)內(nèi)部RAM的氣溫?cái)?shù)據(jù)區(qū)。70【項(xiàng)目應(yīng)用】(4)編寫(xiě)一個(gè)氣溫采集、顯示子程序,用于采集AD590的輸入模擬量、啟動(dòng)A/D轉(zhuǎn)換、讀入氣溫?cái)?shù)字量并送至LED顯示。(5)對(duì)原來(lái)的應(yīng)用項(xiàng)目源程序進(jìn)行適當(dāng)改寫(xiě),插入氣溫采集、顯示子程序,并在適當(dāng)?shù)奈恢门c時(shí)間顯示子程序輪流調(diào)用,輪換時(shí)加以適當(dāng)延時(shí)即可。

具體的電路和程序省略,感興趣的讀者可按以上思路自行設(shè)計(jì)。7110.3單片機(jī)與繼電器的接口10.3.1繼電器10.3.2單片機(jī)與繼電器的接口7210.3.1繼電器單片機(jī)控制系統(tǒng)總是要輸出一些控制信號(hào)對(duì)外部設(shè)備進(jìn)行各種控制。當(dāng)這些被驅(qū)動(dòng)的設(shè)備屬于高電壓、大電流設(shè)備時(shí),直接用單片機(jī)的I/O口來(lái)驅(qū)動(dòng)是不行的,常用的方法是利用繼電器將單片機(jī)輸出的低壓直流控制轉(zhuǎn)換為高壓直流或交流的控制,以達(dá)到用較小的電流去控制較大電流的目的。下面以電磁繼電器為例加以介紹。731.電磁繼電器的結(jié)構(gòu)和工作原理電磁繼電器是一種利用電磁力來(lái)切換觸點(diǎn)的開(kāi)關(guān)型電子器件,其典型結(jié)構(gòu)如圖10-12所示。符號(hào)如圖10-13所示

圖10-12電磁繼電器的結(jié)構(gòu)圖10-13電磁繼電器的符號(hào)741.電磁繼電器的結(jié)構(gòu)和工作原理電磁繼電器由一個(gè)帶鐵芯的線圈J、銜鐵、簧片、彈簧及若干合金觸點(diǎn)構(gòu)成,在線圈未通電時(shí),觸點(diǎn)1-2閉合,為常閉觸點(diǎn);1-3觸點(diǎn)斷開(kāi),為常開(kāi)觸點(diǎn)。線圈通電后,線圈中流過(guò)電流,從而產(chǎn)生電磁效應(yīng),銜鐵就會(huì)在電磁力的作用下克服返回彈簧的拉力吸向鐵芯,從而帶動(dòng)銜鐵的動(dòng)觸點(diǎn)與常開(kāi)觸點(diǎn)吸合,使1-2斷開(kāi),1-3接通。當(dāng)線圈斷電后,電磁力也隨之消失,銜鐵就會(huì)在彈簧力的作用下返回原來(lái)的位置,使動(dòng)觸點(diǎn)與原來(lái)的靜觸點(diǎn)(常閉觸點(diǎn))吸合。752.電磁繼電器的主要參數(shù)線圈直流電阻:繼電器線圈的直流電阻值。額定工作電壓:繼電器正常工作時(shí),線圈兩端所加的額定電壓。對(duì)于使用直流的電磁繼電器,常用的直流額定電壓有5V、6V、12V、24V、48V等。觸點(diǎn)吸合電壓:使繼電器觸點(diǎn)吸合,線圈應(yīng)加的最低電壓,通常為額定電壓的70%~80%。觸點(diǎn)釋放電壓:使吸合的觸點(diǎn)釋放,線圈所加的最低電壓。通常比吸合電壓低。觸點(diǎn)負(fù)荷:繼電器觸點(diǎn)允許通過(guò)的電流和所加的電壓。即觸點(diǎn)能夠承受的負(fù)載大小。其他參數(shù):額定工作電流、觸點(diǎn)吸合電流、觸點(diǎn)釋放電流、線圈消耗功率等。7610.3.2單片機(jī)與繼電器的接口圖10-14單片機(jī)與小型繼電器的接口電路77單片機(jī)與小型繼電器的接口電路工作原理:當(dāng)單片機(jī)的I/O引腳輸出低電平時(shí),74LS06輸出高電平,驅(qū)動(dòng)管T1導(dǎo)通,繼電器吸動(dòng),引起繼電器的常開(kāi)觸點(diǎn)閉合,將負(fù)載接入高電壓、大電流回路之中。反之,當(dāng)單片機(jī)的I/O引腳輸出高電平時(shí),74LS06輸出低電平,驅(qū)動(dòng)管T1截止,繼電器不吸合,將負(fù)載斷開(kāi)。74LS06為帶OC門(mén)的高壓輸出為六反相驅(qū)動(dòng)器,用以增加單片機(jī)I/O引腳的驅(qū)動(dòng)能力,D1為隔離二極管,T1為繼電器J1的驅(qū)動(dòng)管,D2為保護(hù)二極管,用于防止繼電器斷開(kāi)瞬間引起高壓擊穿驅(qū)動(dòng)管。

7810.4單片機(jī)與光電耦合器件的接口10.4.1光電耦合器10.4.2單片機(jī)與光電耦合器的接口7910.4.1光電耦合器光電耦合器件是將發(fā)光器件(發(fā)光二極管)與受光器件(如光敏三極管)封裝在一起,構(gòu)成電—光—電轉(zhuǎn)換的器件,其內(nèi)部結(jié)構(gòu)如圖10-15所示。圖10-15光電耦合器內(nèi)部結(jié)構(gòu)801.光電耦合器的主要特點(diǎn)(1)輸入回路與輸出回路之間的絕緣電阻很大(1010Ω以上),并能承受2

000V以上高壓,因而輸入與輸出回路之間在電氣上完全隔離。由于輸入、輸出自成系統(tǒng),無(wú)須接地,能有效地避免輸出回路對(duì)輸入回路可能產(chǎn)生的反饋干擾。(2)由于光電耦合器中的發(fā)光二極管以電流方式驅(qū)動(dòng),動(dòng)態(tài)電阻很小,輸入回路中的干擾,如電源電壓波動(dòng)、溫度變化引起的熱噪聲等對(duì)輸出回路影響不大。(3)光電耦合器作為開(kāi)關(guān)使用時(shí),具有使用壽命長(zhǎng)、可靠性高和反應(yīng)速度快等優(yōu)點(diǎn),開(kāi)關(guān)時(shí)間一般為微秒級(jí),最快可達(dá)納秒級(jí)。812.光電耦合器的主要參數(shù)(1)導(dǎo)通電流和截止電流:一般為10mA。(2)輸出端工作電流:是指光耦合器導(dǎo)通時(shí),流過(guò)輸出端受光器件的額定電流。(3)電流傳輸比:為輸出回路的集電極電流與輸入回路發(fā)光二極管的工作電流的比值。該值越大,表示光電耦合器的輸出電流越大。(4)輸出端暗電流:是指光電耦合器處于截止?fàn)顟B(tài)時(shí)輸出端流過(guò)的電流。此值越小越好,以防止輸出端的誤觸發(fā)。(5)輸入、輸出壓降:分別指輸入端的發(fā)光二極管和輸出端受光器件的導(dǎo)通壓降。(6)隔離電壓:表示光電耦合器輸入與輸出回路之間對(duì)電壓的隔離能力。8210.4.2單片機(jī)與光電耦合器的接口1.單片機(jī)與三極管輸出的光電耦合器的接口2.單片機(jī)與雙向光敏晶閘管輸出

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論