《單片機(jī)原理、接口技術(shù)及應(yīng)用》課件第9章_第1頁(yè)
《單片機(jī)原理、接口技術(shù)及應(yīng)用》課件第9章_第2頁(yè)
《單片機(jī)原理、接口技術(shù)及應(yīng)用》課件第9章_第3頁(yè)
《單片機(jī)原理、接口技術(shù)及應(yīng)用》課件第9章_第4頁(yè)
《單片機(jī)原理、接口技術(shù)及應(yīng)用》課件第9章_第5頁(yè)
已閱讀5頁(yè),還剩203頁(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)介

9.1接口技術(shù)概述

9.2并行I/O接口技術(shù)與應(yīng)用

9.3可編程并行I/O接口芯片8155

9.4數(shù)碼顯示器及鍵盤(pán)接口

9.5D/A轉(zhuǎn)換與D/A轉(zhuǎn)換器

9.6A/D轉(zhuǎn)換與A/D轉(zhuǎn)換器

習(xí)題與思考題

第9章MCS-51單片機(jī)的接口技術(shù)及應(yīng)用9.1接口技術(shù)概述單片機(jī)為什么需要I/O接口電路呢?這是由于存儲(chǔ)器是半導(dǎo)體電路,與CPU具有相同的電路形式,數(shù)據(jù)信號(hào)也是相同的(電平信號(hào)),能相互兼容直接使用,因此存儲(chǔ)器與CPU之間采用同步定時(shí)工作方式。它們之間只要在時(shí)序關(guān)系上能相互滿(mǎn)足就可以正常工作。存儲(chǔ)器與CPU之間的連接相當(dāng)簡(jiǎn)單,除地址線、數(shù)據(jù)線之外,就是讀或?qū)戇x通信號(hào),實(shí)現(xiàn)起來(lái)非常方便。而CPU和外部設(shè)備之間的數(shù)據(jù)傳送卻十分復(fù)雜,它們之間存在著下述幾個(gè)要解決的問(wèn)題。

1.接口的作用

◆高速CPU與工作速度快慢差異很大的外部設(shè)備的矛盾。

◆外部設(shè)備的數(shù)據(jù)信號(hào)是多種多樣的。

◆外部設(shè)備種類(lèi)繁多。

◆外設(shè)的數(shù)據(jù)傳送有近距離的,也有遠(yuǎn)距離的。單片機(jī)系統(tǒng)必須在CPU和外設(shè)之間有一個(gè)接口電路,通過(guò)接口電路對(duì)CPU與外設(shè)之間的數(shù)據(jù)傳送進(jìn)行協(xié)調(diào)。在數(shù)據(jù)的I/O傳送中,接口電路主要有如下幾項(xiàng)功能:

(1)速度協(xié)調(diào)。由于速度上的差異,使得數(shù)據(jù)的I/O傳送只能以異步方式進(jìn)行,即只能在確認(rèn)外設(shè)已為數(shù)據(jù)傳送做好準(zhǔn)備的前提下才能進(jìn)行I/O操作。

(2)三態(tài)緩沖。數(shù)據(jù)輸入時(shí),輸入設(shè)備向CPU傳送的數(shù)據(jù)也要通過(guò)數(shù)據(jù)總線,為了維護(hù)數(shù)據(jù)總線上數(shù)據(jù)傳送的秩序,只允許當(dāng)前時(shí)刻正在進(jìn)行數(shù)據(jù)傳送的數(shù)據(jù)源使用數(shù)據(jù)總線,其他數(shù)據(jù)源都必須與數(shù)據(jù)總線處于隔離狀態(tài)。為此,要求接口電路具備三態(tài)緩沖功能。

(3)數(shù)據(jù)轉(zhuǎn)換。有些外部設(shè)備需要使用接口電路進(jìn)行數(shù)據(jù)信號(hào)的轉(zhuǎn)換。其中包括模/數(shù)轉(zhuǎn)換、數(shù)/模轉(zhuǎn)換、串/并轉(zhuǎn)換和并/串轉(zhuǎn)換等。

由于外設(shè)之間在數(shù)據(jù)傳送時(shí),其功能主要是通過(guò)接口電路實(shí)現(xiàn)的。接口電路中一般包含三部分:①數(shù)據(jù)寄存器,用來(lái)保存輸入、輸出數(shù)據(jù);②狀態(tài)寄存器,用來(lái)保存外設(shè)的狀態(tài)信息;③命令寄存器,用以保存來(lái)自CPU的有關(guān)數(shù)據(jù)傳送的控制命令。由于在數(shù)據(jù)的傳送中,CPU需要對(duì)這些寄存器的狀態(tài)口和保存命令的命令口尋址等,我們通常把接口電路中這些已編址并能進(jìn)行讀或?qū)懖僮鞯募拇嫫鞣Q(chēng)為端口(port),或簡(jiǎn)稱(chēng)口。因此,一個(gè)接口電路就對(duì)應(yīng)著多個(gè)端口地址。輸入、輸出的數(shù)據(jù)都要通過(guò)系統(tǒng)的數(shù)據(jù)總線進(jìn)行傳送,為了正確地進(jìn)行數(shù)據(jù)的傳送,就必須解決數(shù)據(jù)總線的隔離問(wèn)題。對(duì)于輸出設(shè)備的接口電路,要提供鎖存器,當(dāng)允許接收輸出數(shù)據(jù)時(shí)鎖存器打開(kāi),否則關(guān)閉。而對(duì)于輸入設(shè)備的接口電路,要使用三態(tài)緩沖電路或集電極開(kāi)路門(mén)。

2.接口編址方式

一個(gè)接口電路中有多個(gè)端口,這些端口都占用地址空間,系統(tǒng)要對(duì)這些端口編址才能訪問(wèn)。對(duì)端口編址是為I/O操作而進(jìn)行的,因此也稱(chēng)為I/O編址。常用的I/O編址有獨(dú)立編址方式和統(tǒng)一編址方式。

獨(dú)立編址方式的優(yōu)點(diǎn)是I/O地址空間和存儲(chǔ)器地址空間相互獨(dú)立,但需要專(zhuān)門(mén)設(shè)置一套I/O指令和控制信號(hào),從而增加了系統(tǒng)的開(kāi)銷(xiāo)。統(tǒng)一編址方式就是把系統(tǒng)中的I/O和存儲(chǔ)器統(tǒng)一進(jìn)行編址。在這種編址方式中,把接口中的寄存器(端口)與存儲(chǔ)器中的存儲(chǔ)單元同等對(duì)待。為此也把這種編址稱(chēng)之為存儲(chǔ)器映像(Memorymapped)編址。80C51使用統(tǒng)一編址方式,因此在接口電路中的I/O編址也采用16位地址,和存儲(chǔ)單元的地址長(zhǎng)度一樣。

3.CPU與外部設(shè)備交換信息的方式

在計(jì)算機(jī)的操作中,最基本和最頻繁的操作是數(shù)據(jù)傳送,在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)據(jù)主要在CPU、內(nèi)存和I/O接口之間傳送。它們之間所采用的傳送方式主要有:無(wú)條件傳送方式、查詢(xún)傳送方式、中斷傳送方式和DMA方式。9.2并行I/O接口技術(shù)與應(yīng)用計(jì)算機(jī)的I/O接口技術(shù)主要分為兩種:并行I/O接口和串行I/O接口。在數(shù)據(jù)傳輸時(shí),如果一個(gè)數(shù)據(jù)編碼字符的每一位不是同時(shí)發(fā)送,而是按一定順序,一位接著一位在信道中被發(fā)送和接收,則將這種傳送方式稱(chēng)為串行傳送方式。串行傳送方式的物理信道為串行I/O接口。串行I/O接口的特點(diǎn)是成本低,但速度慢。在數(shù)據(jù)傳輸時(shí),如果一個(gè)數(shù)據(jù)編碼字符的每一位都同時(shí)發(fā)送、并排傳輸,又同時(shí)被接收,則將這種傳送方式稱(chēng)為并行傳送方式。并行傳送方式要求物理信道為并行I/O接口。并行I/O接口的特點(diǎn)是傳送速度快、效率高,但由于需要的傳送數(shù)據(jù)線多,因而傳輸成本高。并行數(shù)據(jù)傳輸?shù)木嚯x通常小于30cm。計(jì)算機(jī)內(nèi)部的數(shù)據(jù)都是按并行傳送的方式傳送的。本章主要討論并行I/O接口技術(shù)。

MCS-51系列單片機(jī)具有四個(gè)8位雙向口,都具有數(shù)據(jù)I/O操作功能(由于80C51采用統(tǒng)一編址方式,因此沒(méi)有專(zhuān)門(mén)的I/O指令)。四個(gè)I/O口均屬于內(nèi)部的SFR,訪問(wèn)I/O接口如同訪問(wèn)存儲(chǔ)器單元一樣。

使用單片微機(jī)本身的I/O口,能完成一些簡(jiǎn)單的數(shù)據(jù)I/O應(yīng)用,例如執(zhí)行指令:

MOV P1,#7FH

執(zhí)行結(jié)果為:P1.7引腳輸出低電平,其余7個(gè)引腳都輸出高電平。圖9-1簡(jiǎn)單的I/O擴(kuò)展電路9.2.2可編程I/O接口擴(kuò)展

在單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)本身的資源如I/O口、定時(shí)器/計(jì)數(shù)器、串行口等往往不能滿(mǎn)足要求,因此需要在單片機(jī)上擴(kuò)展其他外圍接口芯片。

為了簡(jiǎn)化系統(tǒng)設(shè)計(jì),提高微機(jī)系統(tǒng)的可靠性,近年來(lái),外圍接口電路已向組合化方向發(fā)展,發(fā)展為接口電路芯片組。由于MCS-51系列單片機(jī)的外部RAM和I/O口是統(tǒng)一編址的,用戶(hù)可以把單片機(jī)64?KB的RAM空間的一部分作為擴(kuò)展I/O口的地址空間。這樣,單片機(jī)就可以像訪問(wèn)外部RAM那樣訪問(wèn)外部接口芯片,對(duì)其進(jìn)行讀/寫(xiě)操作。Intel公司為配合該公司的處理器芯片,開(kāi)發(fā)了大量外圍接口芯片。其中有一些可以與MCS-51單片機(jī)直接連接,常用的接口芯片有8255(可編程并行接口)、8259(可編程中斷控制器)、8279(可編程鍵盤(pán)/顯示器接口)、8155/8156(帶有I/O口、定時(shí)器和靜態(tài)RAM的可編程并行接口)、8253(可編程通用定時(shí)器/計(jì)數(shù)器)、8251(通用可編程通信接口)、8243(輸入/輸出擴(kuò)展器)等。9.3可編程并行I/O接口芯片8155

8155芯片內(nèi)具有256?B的RAM,兩個(gè)8位、一個(gè)6位的可編程并行I/O接口和一個(gè)14位的計(jì)數(shù)器,與MCS-51單片機(jī)接口簡(jiǎn)單,是單片機(jī)應(yīng)用系統(tǒng)中廣泛使用的芯片。9.3.18155的結(jié)構(gòu)圖9-2(a)為8155的內(nèi)部結(jié)構(gòu),按照器件的功能,8155可由下列三部分組成:

(1)隨機(jī)存儲(chǔ)器部分:容量為256?×?8位的靜態(tài)RAM。圖9-28155的內(nèi)部結(jié)構(gòu)及引腳9.3.48155的I/O端口工作原理

8155的三組I/O端口電路的工作方式均由可編程的命令寄存器的內(nèi)容所規(guī)定,而其狀態(tài)可由讀出狀態(tài)寄存器的內(nèi)容而獲得。上面已經(jīng)敘述,8155的命令寄存器和狀態(tài)寄存器分別為各自獨(dú)立的8位寄存器。在8155的器件內(nèi)部,從邏輯上來(lái)說(shuō),是只允許寫(xiě)入命令寄存器和讀出狀態(tài)寄存器內(nèi)容的。而實(shí)際上,讀命令寄存器內(nèi)容及寫(xiě)入狀態(tài)寄存器的操作是既不允許也不可能實(shí)現(xiàn)的。因此完全可將命令寄存器和狀態(tài)寄存器的地址合用一個(gè)通道地址,以減少器件占用的通道地址,同時(shí)將兩個(gè)寄存器簡(jiǎn)稱(chēng)為命令/狀態(tài)寄存器。

1)?8155的命令字格式

8155命令寄存器的定義如下:①TM1,TM2:定時(shí)器/計(jì)數(shù)器工作方式。00—方式1;01—方式2;10—方式3;11—方式4。見(jiàn)表9-2。

2)?8155的狀態(tài)字格式

狀態(tài)寄存器為8位,各位均可鎖存,其中最高位為任意位,低6位用于指定接口的狀態(tài),另一位用來(lái)指示定時(shí)器/計(jì)數(shù)器的狀態(tài)。

通過(guò)讀命令/狀態(tài)寄存器的操作(即用指令系統(tǒng)的輸入指令),可讀出狀態(tài)寄存器的內(nèi)容。8155的狀態(tài)字格式如下:

3)?8155的端口電路

8155器件的I/O部件由五個(gè)寄存器組成:

(1)兩個(gè)命令/狀態(tài)寄存器(C/S):其地址為xxxxx000。如前所述,當(dāng)寫(xiě)操作期間選中命令/狀態(tài)寄存器時(shí),就把一個(gè)命令按命令字格式寫(xiě)入命令寄存器中,并且命令寄存器的狀態(tài)信息不能通過(guò)其引腳來(lái)讀取;當(dāng)讀操作期間選中命令/狀態(tài)寄存器時(shí),將I/O端口和定時(shí)器的狀態(tài)信息讀出。

(2)兩個(gè)寄存器為PA和PB:根據(jù)命令/狀態(tài)寄存器的內(nèi)容,分別對(duì)PA0~PA7和PB0~PB7編程,使相應(yīng)的I/O電路處于基本的輸入或輸出方式,或選通方式。

(3)PC:該寄存器僅6位,可以對(duì)I/O端口電路PC0~PC5進(jìn)行編程,或?qū)γ罴拇嫫髅钭值牡?,3位(PCⅠ和PCⅡ)作適當(dāng)編程,使其生成PA和PB的控制信號(hào),詳見(jiàn)表9-3。

4)?8155的定時(shí)器

8155的定時(shí)器是一個(gè)14位的減法計(jì)數(shù)器,它能對(duì)輸入定時(shí)器的脈沖進(jìn)行計(jì)數(shù),在達(dá)到最后計(jì)數(shù)值時(shí),有一個(gè)矩形波或脈沖輸出。

為了對(duì)定時(shí)器進(jìn)行程序控制,首先裝入計(jì)數(shù)長(zhǎng)度。由于計(jì)數(shù)長(zhǎng)度為14位(第0~13位),而每次裝入的長(zhǎng)度只能是8位,所以必須分兩次裝入。裝入計(jì)數(shù)長(zhǎng)度寄存器的值為2H~3FFFH,第14~15位用來(lái)規(guī)定定時(shí)器的輸出方式。定時(shí)器格式如下:最高兩位(M2,M1)定義的定時(shí)器方式如表9-4所示。

應(yīng)該注意,當(dāng)8155復(fù)位時(shí),8155計(jì)數(shù)器停止計(jì)數(shù)。圖9-38051與8155接口電路圖

PA口定義為基本輸入方式,PB口定義為基本輸出方式,定時(shí)器作為方波發(fā)生器,對(duì)8051的晶振頻率進(jìn)行24分頻(但需注意,8155的最高計(jì)數(shù)頻率約4?MHz),則8155I/O口初始化程序如下:在同時(shí)需要擴(kuò)展RAM和I/O口及計(jì)數(shù)器的MCS-51應(yīng)用系統(tǒng)中,選用8155是特別經(jīng)濟(jì)的。8155的RAM可以作為數(shù)據(jù)緩沖器,I/O口可以外接打印機(jī)、A/D、D/A、鍵盤(pán)等控制信號(hào)的輸入/輸出,定時(shí)器可以作為分頻器或定時(shí)器。9.4數(shù)碼顯示器及鍵盤(pán)接口顯示器是最常用的輸出設(shè)備,特別是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD),由于結(jié)構(gòu)簡(jiǎn)單、價(jià)格低廉和接口容易,在單片機(jī)系統(tǒng)中得到大量應(yīng)用。下面主要介紹發(fā)光二極管顯示器(LED)與8051的接口設(shè)計(jì)和相應(yīng)的程序設(shè)計(jì)。9.4.1LED顯示器結(jié)構(gòu)與原理

發(fā)光二極管顯示器是單片機(jī)應(yīng)用產(chǎn)品中常用的輸出設(shè)備。它是由若干個(gè)發(fā)光二極管組成顯示的字段,當(dāng)二極管導(dǎo)通時(shí)相應(yīng)的一個(gè)點(diǎn)或一個(gè)筆劃發(fā)光,就能顯示出各種字符。常用的七段LED顯示器的結(jié)構(gòu)如圖9-4所示。LED數(shù)碼顯示器有兩種結(jié)構(gòu):將所有發(fā)光二極管的陽(yáng)極連在一起,稱(chēng)為共陽(yáng)接法,公共端COM接高電平,當(dāng)某個(gè)字段的陰極接低電平時(shí),對(duì)應(yīng)的字段就點(diǎn)亮;將所有發(fā)光二極管的陰極連在一起,稱(chēng)為共陰接法,公共端COM接低電平,當(dāng)某個(gè)字段的陽(yáng)極接高電平時(shí),對(duì)應(yīng)的字段就點(diǎn)亮。每段所需電流一般為5~15?mA,實(shí)際電流視具體的LED數(shù)碼顯示器而定。下面介紹使用譯碼器或軟件譯碼的一些接口電路。圖9-4七段LED數(shù)碼顯示器的引腳符號(hào)和結(jié)構(gòu)點(diǎn)亮LED顯示器有靜態(tài)和動(dòng)態(tài)兩種方法。所謂靜態(tài)顯示,就是顯示某一字符時(shí),相應(yīng)的發(fā)光二極管亮?xí)r有恒定的電流流過(guò),這種方法,每一顯示位都需要一個(gè)8位的輸出口控制,占用的硬件較多,一般僅用于顯示位數(shù)較少的場(chǎng)合。動(dòng)態(tài)顯示就是一位一位地輪流點(diǎn)亮各位顯示器,對(duì)每一位顯示器而言,每隔一段時(shí)間點(diǎn)亮一次。動(dòng)態(tài)顯示器因其硬件成本較低而得到廣泛的應(yīng)用。

為了顯示字符和數(shù)字,要為L(zhǎng)ED顯示器提供顯示段碼(或稱(chēng)字形代碼),組成一個(gè)“8”字形的7段,再加上一個(gè)小數(shù)點(diǎn)位,共計(jì)8段,因此提供LED顯示器的顯示段碼為1個(gè)字節(jié)。各段碼的對(duì)應(yīng)關(guān)系如表9-5所示。用LED顯示器顯示十六進(jìn)制數(shù)和空白及P的顯示段碼如表9-6所示。從LED顯示器的顯示原理可知,為了顯示字母和數(shù)字,最終必須轉(zhuǎn)換成相應(yīng)段碼。這種轉(zhuǎn)換可以通過(guò)硬件譯碼器或軟件進(jìn)行譯碼實(shí)現(xiàn)。

1.動(dòng)態(tài)LED顯示器接口電路

動(dòng)態(tài)顯示接口電路把每一個(gè)顯示器的8個(gè)筆畫(huà)字段(a~g和dp)的同名端連在一起,而每一個(gè)顯示器的公共極(COM)各自獨(dú)立接受I/O線控制。CPU向字段輸出端口輸出字型碼時(shí),所有顯示器接受相同的字型碼,但究竟是哪一位則由I/O線決定。動(dòng)態(tài)掃描用分時(shí)的方法輪流控制每個(gè)顯示器的COM端,使每個(gè)顯示器輪流點(diǎn)亮。在輪流點(diǎn)亮過(guò)程中,每位顯示器的點(diǎn)亮?xí)r間極為短暫,但由于人的視覺(jué)暫留及發(fā)光二極管的余輝效應(yīng),給人的印象就是一組穩(wěn)定的顯示數(shù)據(jù)。顯示器的亮度跟導(dǎo)通的電流有關(guān),也和點(diǎn)亮的時(shí)間與間隔的比例有關(guān)。圖9-5為6位共陰顯示器和8155的接口電路。8155的A口作為位掃描口,B口作為段數(shù)據(jù)口??紤]驅(qū)動(dòng)LED顯示器所需電流,位掃描口需加反相驅(qū)動(dòng)器75452,以提供足夠的驅(qū)動(dòng)電流,然后接各數(shù)碼顯示器的公共端。同理,段數(shù)據(jù)口也需加同相驅(qū)動(dòng)器7407再接到數(shù)碼顯示器的各段。圖9-56位動(dòng)態(tài)顯示器接口

【例9-2】在8051的內(nèi)部RAM中設(shè)置6個(gè)顯示緩沖單元79H~7EH,分別存放6位顯示器(見(jiàn)圖9-5)的顯示數(shù)據(jù)。8155的A口掃描輸出1位高電平,反相后為低電平輸出到數(shù)碼顯示器的公共端(共陰極),8155的B口輸出相應(yīng)位的顯示數(shù)據(jù)的段碼,使某一位顯示出一個(gè)欲顯示的字符,其他位由于公共端接高電平而不能點(diǎn)亮,依次地改變A口輸出的高電平位,B口輸出對(duì)應(yīng)位的段碼,6位顯示器就能顯示出緩沖器中顯示數(shù)據(jù)所確定的字符。顯示程序流程圖如圖9-6所示。圖9-6動(dòng)態(tài)顯示子程序流程圖

2.靜態(tài)LED顯示器接口電路

靜態(tài)LED顯示就是顯示驅(qū)動(dòng)電路具有輸出鎖存功能,單片機(jī)將要顯示的數(shù)據(jù)送出后就不再控制LED,直到下一次顯示時(shí)再傳送一次新的數(shù)據(jù)。只要當(dāng)前顯示的數(shù)據(jù)沒(méi)有變化,就無(wú)須理睬數(shù)碼顯示管。靜態(tài)顯示的數(shù)據(jù)穩(wěn)定,占用的CPU時(shí)間少。靜態(tài)顯示中,每一個(gè)顯示器都要占用單獨(dú)具有鎖存功能的I/O口,該接口用于筆畫(huà)段字型段碼。這樣,單片機(jī)只要把顯示的字型數(shù)據(jù)段碼發(fā)送到接口電路,該字段就可以顯示要發(fā)送的字型。要顯示新的數(shù)據(jù)時(shí),單片機(jī)再發(fā)送新的段碼。

由于靜態(tài)LED顯示每一位LED都有8位段碼,需8位I/O口,占用口線太多,在此就不再介紹了。9.4.2鍵盤(pán)接口

鍵盤(pán)是由若干個(gè)按鍵組成的開(kāi)關(guān)矩陣,它是一種廉價(jià)的輸入設(shè)備。一個(gè)鍵盤(pán)通常包括有數(shù)字鍵(0~9)、字母鍵(A~Z)以及一些功能鍵。操作人員可以通過(guò)鍵盤(pán)向計(jì)算機(jī)輸入數(shù)據(jù),地址、指令或其他控制命令,實(shí)現(xiàn)人—機(jī)對(duì)話。

用于計(jì)算機(jī)系統(tǒng)的鍵盤(pán)按其結(jié)構(gòu)形式可分為兩類(lèi):一類(lèi)是編碼鍵盤(pán),即鍵盤(pán)上閉合鍵的識(shí)別由專(zhuān)用的硬件來(lái)實(shí)現(xiàn);另一類(lèi)是非編碼鍵盤(pán),即鍵盤(pán)上閉合鍵的識(shí)別由軟件來(lái)識(shí)別。單片機(jī)系統(tǒng)中普遍使用非編碼鍵盤(pán),鍵盤(pán)接口應(yīng)具備以下功能:

◆鍵掃描功能,即檢測(cè)是否有鍵按下;

◆產(chǎn)生相應(yīng)的鍵代碼(鍵值);

◆消除按鍵抖動(dòng)及多鍵按下。圖9-8鍵閉合時(shí)列線電壓波形非編碼鍵盤(pán)識(shí)別按鍵的方法有兩種:一是行掃描法,二是線反轉(zhuǎn)法。

(1)行掃描法。該方法是通過(guò)行線發(fā)出低電平信號(hào),如果該行線所連接的鍵沒(méi)有按下,則列線所接的端口得到的全是“1”信號(hào);如果有鍵按下,則得到非全“1”信號(hào)。為防止雙鍵或多鍵同時(shí)按下,再?gòu)牡?行一直掃描到最一行,若發(fā)現(xiàn)僅有一個(gè)“1”,則為有效鍵;否則全部作廢。找到有效的閉合鍵后,讀入相應(yīng)的鍵值轉(zhuǎn)到對(duì)應(yīng)的處理程序。

(2)線反轉(zhuǎn)法。該方法也是識(shí)別閉合鍵的一種常用方法,它比行掃描法速度快,但在硬件上要求行線與列線外接上拉電阻。該法先將行線作為輸出線,列線作為輸入線,行線輸出全“0”,讀入列線的值,然后將行線和列線的輸入、輸出關(guān)系互換,并且將剛才讀到的列線值從列線所接的端口輸出,再讀取行線的輸入值。因此,閉合鍵所在行線上的值必為0。這樣,當(dāng)一個(gè)鍵被按下時(shí),必定可讀到一對(duì)唯一的行列值。圖9-98051經(jīng)8155A擴(kuò)展鍵盤(pán)顯示器接口

(4)使CPU對(duì)鍵的一次閉合僅做一次處理。采用的方法為等待閉合鍵釋放以后再做處理。LED顯示程序的流程如圖9-6所示,主程序流程圖如圖9-10所示。圖9-10主程序流程圖這里采用顯示子程序作為延時(shí)子程序,其優(yōu)點(diǎn)是在進(jìn)入鍵輸入程序后,顯示器始終是亮的。在鍵輸入程序中,調(diào)用顯示程序DISUP一次需用6?ms。DIGL為8001H,即A口的地址,DISM為顯示器占有數(shù)據(jù)存儲(chǔ)單元首地址。9.4.4其他常用可編程接口芯片

8279是Intel公司生產(chǎn)的通用可編程鍵盤(pán)和顯示器I/O接口器件。由于它本身可提供掃描信號(hào),因而可代替微處理器完成鍵盤(pán)和顯示器的控制,從而減輕了主機(jī)的負(fù)擔(dān)。

1.8279主要特性

8279接口的主要特性如下:

(1)與MCS-85、MCS-48、MCS-51等微處理器連接方便。

(2)能同時(shí)執(zhí)行鍵盤(pán)與顯示器操作。

(3)掃描式鍵盤(pán)工作方式。

(4)有8個(gè)鍵盤(pán)FIFO(先入先出)存儲(chǔ)器。

(5)帶觸點(diǎn)去抖動(dòng)的二鍵鎖定或N鍵巡回功能。

(6)兩個(gè)8位或16位的數(shù)字顯示器。

(7)可左/右輸入的16?B顯示用RAM。

(8)由鍵盤(pán)輸入產(chǎn)生中斷信號(hào)。

(9)掃描式傳感器工作方式。

(10)用選通方式送入輸入信號(hào)。

(11)單個(gè)16字符顯示器。

(12)工作方式可由CPU編程。

(13)可編程掃描定時(shí)。圖9-118031與8279的接口框圖9.5D/A轉(zhuǎn)換與D/A轉(zhuǎn)換器

D/A轉(zhuǎn)換器(DigittoAnalogConverter)是將數(shù)字量轉(zhuǎn)換成模擬量的器件,通常用DAC表示,它可將數(shù)字量轉(zhuǎn)換成與之成正比的模擬量,因此被廣泛應(yīng)用于過(guò)程控制中。9.5.1D/A轉(zhuǎn)換原理

D/A轉(zhuǎn)換的基本原理是把數(shù)字量的每一位代碼按權(quán)大小轉(zhuǎn)換成模擬分量,然后根據(jù)疊加原理將各代碼對(duì)應(yīng)的模擬輸出分量相加。實(shí)現(xiàn)D/A轉(zhuǎn)換,常用權(quán)電阻網(wǎng)絡(luò)和T形電阻網(wǎng)絡(luò)兩種方法。圖9-12權(quán)電阻D/A轉(zhuǎn)換原理圖圖9-13T形電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器原理圖

(3)線性誤差。D/A的實(shí)際轉(zhuǎn)換特性(各數(shù)字輸入值所對(duì)應(yīng)的各模擬輸出值之間的連線)與理想的轉(zhuǎn)換特性(始、終點(diǎn)連線)之間是有偏差的,這個(gè)偏差就是D/A的線性誤差,即兩個(gè)相鄰的數(shù)字碼所對(duì)應(yīng)的模擬輸出值(之差)與一個(gè)LSB所對(duì)應(yīng)的模擬值之差,常以LSB的分?jǐn)?shù)形式表示。

4.D/A轉(zhuǎn)換器的分類(lèi)

(1)按輸出形式分類(lèi)。按輸出形式可將D/A轉(zhuǎn)換器分為電壓輸出型和電流輸出型兩種。電壓輸出型D/A轉(zhuǎn)換器可以直接從電阻陣列輸出電壓,直接輸出電壓的器件僅用于高阻抗負(fù)載,由于無(wú)輸出放大器部分的延遲,常作為高速D/A轉(zhuǎn)換器使用。電流輸出型D/A轉(zhuǎn)換器輸出的電流很少被直接利用,一般經(jīng)電流—電壓轉(zhuǎn)換電路將電流輸出轉(zhuǎn)換成電壓輸出,常用的轉(zhuǎn)換方法有兩種:一種是直接連接負(fù)載電阻實(shí)現(xiàn),另一種是通過(guò)運(yùn)算放大器實(shí)現(xiàn),其中后者較常用。

(2)按是否含有鎖存器分類(lèi)。D/A轉(zhuǎn)換器實(shí)現(xiàn)轉(zhuǎn)換需要一定的時(shí)間,在轉(zhuǎn)換時(shí)間內(nèi),D/A轉(zhuǎn)換器輸入端的數(shù)字量應(yīng)保持穩(wěn)定,為此應(yīng)當(dāng)在D/A轉(zhuǎn)換器數(shù)字量輸入端的前面設(shè)置鎖存器,以提供數(shù)據(jù)鎖存功能。根據(jù)轉(zhuǎn)換器芯片內(nèi)是否帶有鎖存器,可將D/A轉(zhuǎn)換器分為內(nèi)部無(wú)鎖存器和內(nèi)部有鎖存器兩類(lèi)。

(3)按輸入數(shù)字量方式分類(lèi)。根據(jù)與處理器相連的總線類(lèi)型,可將D/A轉(zhuǎn)換器分為并行總線D/A轉(zhuǎn)換器和串行總線D/A轉(zhuǎn)換器兩種。串行D/A轉(zhuǎn)換器可以通過(guò)I2C總線、SPI總線等串行總線接收來(lái)自于處理器的數(shù)據(jù),并行D/A轉(zhuǎn)換器則通過(guò)并行總線接收來(lái)自于處理器的數(shù)據(jù)。9.5.2并行D/A轉(zhuǎn)換器的接口與應(yīng)用

由于使用的情況不同,DAC的位數(shù)、精度及價(jià)格要求也不相同。美國(guó)AD公司、Motorola公司、半導(dǎo)體公司、無(wú)線電公司等均生產(chǎn)D/A轉(zhuǎn)換器。D/A轉(zhuǎn)換器的位數(shù)有8位、10位、12位、16位等。下面以典型的8位D/A轉(zhuǎn)換器DAC0832為例,介紹D/A轉(zhuǎn)換器的接口。

1.DAC0832的特點(diǎn)及結(jié)構(gòu)

1)?DAC0832的特點(diǎn)

DAC0832是NS公司生產(chǎn)的DAC0830系列(DAC0830/32)產(chǎn)品中的一種,該系列芯片具有以下特點(diǎn):

(1)?8位并行D/A轉(zhuǎn)換。

(2)片內(nèi)二級(jí)數(shù)據(jù)鎖存,提供數(shù)據(jù)輸入雙緩沖、單緩沖和直通三種工作方式。

(3)電流輸出型芯片,通過(guò)外接一個(gè)運(yùn)算放大器,可以很方便地提供電壓輸出。

(4)?DIP20封裝,單電源(+5~+15?V,典型值為?+5?V),與MCS-51連接方便。

2)?DAC0832結(jié)構(gòu)與引腳

DAC0832的內(nèi)部結(jié)構(gòu)框圖如圖9-14所示。由圖可見(jiàn),DAC0832主要由兩個(gè)8位寄存器與一個(gè)D/A轉(zhuǎn)換器組成。這種結(jié)構(gòu)使輸入的數(shù)據(jù)能夠有兩次緩沖,因而在操作上十分方便、靈活。DAC0832的引腳功能如表9-7所示。圖9-14DAC0832內(nèi)部結(jié)構(gòu)框圖圖9-15DAC0832單極性輸出圖9-16DAC0832雙極性輸出這一對(duì)應(yīng)關(guān)系如表9-8所示。

3)轉(zhuǎn)換控制方式

(1)單緩沖方式接口。

單緩沖方式是指DAC0832內(nèi)部的兩個(gè)數(shù)據(jù)緩沖器有一個(gè)處于直通方式,另一個(gè)處于受單片機(jī)控制的方式。在應(yīng)用系統(tǒng)中,如果只有一路D/A轉(zhuǎn)換,或者有多路D/A轉(zhuǎn)換,但不要求同步輸出時(shí),可以采用單緩沖器方式接口,如圖9-17所示。圖9-17DAC0832單緩沖方式下的接口電路執(zhí)行下列幾條指令就可以完成一次D/A轉(zhuǎn)換:

MOVDPTR,#7FFFH

;?#7FFFH為DAC0832端口地址

MOVA,#DATA

;待轉(zhuǎn)換的數(shù)字量DATA送累加器A

MOVX@DPTR,A

;數(shù)字量送DAC0832,當(dāng)有效時(shí)完成D/A輸入和轉(zhuǎn)換

【例9-5】利用如圖9-17所示電路,使用DAC0832作波形發(fā)生器分別產(chǎn)生三角波和矩形波。解:在圖9-17中,放大器LM358的輸出端VOUT直接反饋到RFB,所以該電路只能產(chǎn)生單極性的模擬電壓。產(chǎn)生三角波的子程序如下:數(shù)字量從0開(kāi)始逐次加1,模擬量與之成正比,當(dāng)(A)?=?00H時(shí),則逐次減1,減至(A)?=?0后,再?gòu)?開(kāi)始加1,如此循環(huán)重復(fù)上述過(guò)程,輸出就是一個(gè)三角波,每個(gè)三角波的輸出周期點(diǎn)數(shù)為512,其中,上升邊256點(diǎn),下降邊256點(diǎn)。如果需要延長(zhǎng)三角波的周期,可以在每條MOVX指令之后插入NOP指令來(lái)實(shí)現(xiàn)。三角波程序運(yùn)行結(jié)果如圖9-18(a)所示。圖9-18D/A轉(zhuǎn)換的兩種波形當(dāng)DAC0832輸入數(shù)字量DATA1時(shí),輸出模擬量上限;當(dāng)DAC0832輸入數(shù)字量DATA2時(shí),輸出模擬量下限。DELYH與DELYL之和為矩形波的周期。矩形波程序運(yùn)行結(jié)果如圖9-18(b)所示。讀者可以在上述程序的基礎(chǔ)上修改實(shí)現(xiàn)鋸齒波、方波等波形的輸出。

(2)雙緩沖方式。

對(duì)于多路D/A轉(zhuǎn)換,若要求同步進(jìn)行D/A轉(zhuǎn)換輸出時(shí),則必須采用雙緩沖方式,在此工作方式下,數(shù)字量的輸入鎖存和D/A轉(zhuǎn)換輸出是分兩步完成的。

【例9-6】假設(shè)某一分時(shí)控制系統(tǒng)由一臺(tái)單片機(jī)控制并行的兩臺(tái)設(shè)備,連接電路如圖9-19所示,兩臺(tái)設(shè)備的模擬控制信號(hào)分別由兩片DAC0832輸出,要求兩片DAC0832同步輸出。圖9-19DAC0832雙緩沖連接電路圖解如圖9-19所示,利用DAC0832雙緩沖的原理,對(duì)不同端口地址的訪問(wèn)具有不同的操作功能,具體功能如表9-9所示。實(shí)現(xiàn)同步輸出的操作步驟如下:

(1)將1#?待轉(zhuǎn)換數(shù)據(jù)由數(shù)據(jù)總線送到DAC0832的第一級(jí)鎖存(寫(xiě)3FFFH口)。

(2)將0#?待轉(zhuǎn)換數(shù)據(jù)由數(shù)據(jù)總線送到DAC0832的第一級(jí)鎖存(寫(xiě)1FFFH口)。

(3)將1#、0#?DAC0832的第一級(jí)鎖存器中的數(shù)據(jù)送到各自的第二級(jí)鎖存,同時(shí)開(kāi)始D/A(寫(xiě)5FFFH)轉(zhuǎn)換,周而復(fù)始。上述步驟可以簡(jiǎn)單地理解為:前兩步是在準(zhǔn)備,并未開(kāi)始轉(zhuǎn)換,等到所有數(shù)據(jù)準(zhǔn)備好之后處理器才發(fā)出統(tǒng)一的指令,“同時(shí)”開(kāi)始各自的8位D/A轉(zhuǎn)換。程序如下:9.5.3串行D/A轉(zhuǎn)換器TLC5617

1.TLC5617簡(jiǎn)介

TLC5617是美國(guó)TI公司生產(chǎn)的帶有緩沖基準(zhǔn)輸入(高阻抗)的雙路10位電壓輸出數(shù)/模轉(zhuǎn)換器(DAC)。該DAC輸出電壓范圍為基準(zhǔn)電壓的兩倍,且其輸出是單調(diào)變化的。該器件使用簡(jiǎn)單,用?+5?V單電源工作,并包含上電復(fù)位功能以確??芍貜?fù)啟動(dòng)。

通過(guò)CMOS兼容的3線串行總線可對(duì)TLC5617實(shí)現(xiàn)數(shù)字控制。器件接收用于編程的16位字產(chǎn)生模擬輸出。數(shù)字輸入端的特點(diǎn)是帶有斯密特(Schmitt)觸發(fā)器,它具有高的噪聲抑制能力。數(shù)字通信協(xié)議包括SPI、QSPI和Microwire標(biāo)準(zhǔn)。

TLC5617功耗低(慢速方式為3?mW,快速方式為8

mW),采用8引腳小型封裝,因此可用于移動(dòng)電話、測(cè)試儀表以及自動(dòng)測(cè)試控制系統(tǒng)等領(lǐng)域。TLC5617芯片的引腳如表9-10所示。

TLC5617內(nèi)部結(jié)構(gòu)如圖9-20所示。圖9-20TLC5617內(nèi)部結(jié)構(gòu)

2.?TLC5617的工作原理

TLC5617的輸入數(shù)據(jù)格式如下:其中,器件接收的16位字中前4位用于產(chǎn)生數(shù)據(jù)傳送模式,中間10位產(chǎn)生模擬輸出,兩個(gè)額外的位(次LSB)可以不關(guān)心。

TLC5617具有三種數(shù)據(jù)傳送方式,可由編程位的D15~D12控制選擇,如表9-11所示。圖9-21TLC5617的時(shí)序圖

3.TLC5617與MCS-51的硬件連接

圖9-22所示為T(mén)LC5617與8051的硬件連接電路。圖中,P1.7接

,作為片選信號(hào)控制線;P1.6接SCLK,作為時(shí)鐘信號(hào)控制線;P1.5接DIN,作為數(shù)據(jù)輸入線。當(dāng)片選信號(hào)為低電平時(shí),TLC5617最先接收的是最高位數(shù)據(jù),而8051單片機(jī)最先發(fā)送的是最低位數(shù)據(jù),因此單片機(jī)在發(fā)送數(shù)據(jù)之前必須將各位數(shù)據(jù)的順序顛倒一下。16位數(shù)據(jù)可分兩次發(fā)送,先發(fā)送高字節(jié),后發(fā)送低字節(jié)。最先發(fā)送的D12~D15位為可編程控制位,用以確定數(shù)據(jù)的傳送方式。然后在片選信號(hào)的上升沿把數(shù)據(jù)送到DAC寄存器以開(kāi)始D/A轉(zhuǎn)換。因D/A轉(zhuǎn)換需要一定的時(shí)間,所以在進(jìn)行下一次轉(zhuǎn)換前一般需要延時(shí),以確保輸出結(jié)果的正確性。

【例9-7】參照?qǐng)D9-22編寫(xiě)利用TLC5617進(jìn)行D/A轉(zhuǎn)換的程序。在對(duì)電路進(jìn)行軟件編程時(shí),應(yīng)預(yù)先將4個(gè)編程位存放于R0寄存器所指的單元,然后將要輸入的10位數(shù)中的高4位存于R1寄存器中,而將其低6位與2個(gè)填充位存于R2寄存器中,R3寄存器用于存放循環(huán)次數(shù),R4寄存器存放時(shí)間常數(shù)。圖9-22TLC5617與MCS-51應(yīng)用接口9.6A/D轉(zhuǎn)換與A/D轉(zhuǎn)換器

A/D轉(zhuǎn)換器(AnalogtoDigitConverter)是一種將模擬量轉(zhuǎn)換為與之成比例的數(shù)字量的器件,常用ADC表示。隨著超大規(guī)模集成電路技術(shù)的飛速發(fā)展,A/D轉(zhuǎn)換器新的設(shè)計(jì)思想和制造技術(shù)層出不窮,為滿(mǎn)足各種不同的檢測(cè)及控制任務(wù)的需要,各種類(lèi)型的A/D轉(zhuǎn)換器芯片也應(yīng)運(yùn)而生。9.6.1A/D轉(zhuǎn)換原理

A/D轉(zhuǎn)換是把模擬量信號(hào)轉(zhuǎn)化成與其大小成正比的數(shù)字量信號(hào)。A/D轉(zhuǎn)換電路的種類(lèi)很多。根據(jù)轉(zhuǎn)換原理,目前常用的A/D轉(zhuǎn)換電路的轉(zhuǎn)換方式主要有逐次逼近式和雙積分式。

1.逐次逼近式轉(zhuǎn)換原理

逐次逼近式轉(zhuǎn)換的基本原理是用一個(gè)計(jì)量單位使連續(xù)量整量化(簡(jiǎn)稱(chēng)量化),即用計(jì)量單位與連續(xù)量比較,把連續(xù)量變?yōu)橛?jì)量單位的整數(shù)倍,略去小于計(jì)量單位的連續(xù)量部分,得到的整數(shù)量即數(shù)字量。顯然,計(jì)量單位越小,量化的誤差也越小。

可見(jiàn),逐次逼近式的轉(zhuǎn)換原理即“逐位比較”。圖9-23為一個(gè)N位逐次逼近式A/D轉(zhuǎn)換器原理圖。圖9-23逐次逼近式A/D轉(zhuǎn)換原理圖逐次逼近A/D轉(zhuǎn)換器在精度、速度和價(jià)格上均比較適中,它是最常用的A/D轉(zhuǎn)換器件。常用的逐次逼近式A/D器件有ADC0809、AD574A等。

2.雙積分轉(zhuǎn)換原理

雙積分A/D轉(zhuǎn)換采用了間接測(cè)量原理,即將被測(cè)電壓值UX轉(zhuǎn)換成時(shí)間常數(shù),通過(guò)測(cè)量時(shí)間常數(shù)得到未知電壓值。雙積分A/D轉(zhuǎn)換器原理圖如圖9-24(a)所示,它由電子開(kāi)關(guān)、積分器、比較器、計(jì)數(shù)器、邏輯控制門(mén)等部件組成。圖9-24雙積分A/D轉(zhuǎn)換器原理

2)轉(zhuǎn)換速率與轉(zhuǎn)換時(shí)間

轉(zhuǎn)換速率是指完成一次從模擬量到數(shù)字量轉(zhuǎn)換所需時(shí)間的倒數(shù),即每秒鐘轉(zhuǎn)換的次數(shù)。完成一次A/D轉(zhuǎn)換所需的時(shí)間(包括穩(wěn)定時(shí)間)稱(chēng)為轉(zhuǎn)換時(shí)間。

3)量化誤差

量化誤差是由于A/D轉(zhuǎn)換器的有限分辨率而引起的誤差,即有限分辨率A/D的階梯狀轉(zhuǎn)移特性曲線與理想無(wú)限分辨率A/D的轉(zhuǎn)移特性曲線(直線)之間的最大偏差。量化誤差通常是1個(gè)或半個(gè)最小數(shù)字量的模擬變化量,表示為1?LSB或LSB。

4)線性度

線性度指實(shí)際A/D轉(zhuǎn)換器的轉(zhuǎn)移函數(shù)與理想直線的最大偏差。線性度不包括量化誤差、偏移誤差(輸入信號(hào)為零時(shí),輸出信號(hào)不為零的值)和滿(mǎn)刻度誤差(滿(mǎn)刻度輸出時(shí),對(duì)應(yīng)的輸入信號(hào)與理想輸入信號(hào)值之差)三種誤差。

5)量程

量程是指A/D能夠轉(zhuǎn)換的電壓范圍,如0~5?V,-10~+10?V等。

6)其他指標(biāo)

除以上性能指標(biāo)外,A/D轉(zhuǎn)換器還有內(nèi)部/外部電壓基準(zhǔn)、失調(diào)(零點(diǎn))溫度系數(shù)、增益溫度系數(shù),以及電源電壓變化抑制比等性能指標(biāo)。

4.?A/D轉(zhuǎn)換器的分類(lèi)

1)根據(jù)A/D轉(zhuǎn)換器的原理分類(lèi)

根據(jù)A/D轉(zhuǎn)換器的原理可將A/D轉(zhuǎn)換器分成兩大類(lèi):直接型和間接型。直接型A/D轉(zhuǎn)換器的輸入模擬電壓被直接轉(zhuǎn)換成數(shù)字代碼,不經(jīng)任何中間變量;在間接型A/D轉(zhuǎn)換器中,首先把輸入的模擬電壓轉(zhuǎn)換成某種中間變量(時(shí)間、頻率、脈沖寬度等),然后再把這個(gè)中間變量轉(zhuǎn)換為數(shù)字代碼輸出。

2)根據(jù)輸出數(shù)字量的方式分類(lèi)

根據(jù)輸出數(shù)字量的方式,A/D轉(zhuǎn)換器可以分為并行輸出轉(zhuǎn)換器和串行輸出轉(zhuǎn)換器兩種。并行ADC的特點(diǎn)是占用較多的數(shù)據(jù)線,但轉(zhuǎn)換速度快,在轉(zhuǎn)換位數(shù)較少時(shí),有較高的性?xún)r(jià)比。串行ADC的特點(diǎn)是占用的數(shù)據(jù)線少,轉(zhuǎn)換后的數(shù)據(jù)逐位輸出,輸出速度較慢。

3)根據(jù)輸出數(shù)字量表示形式分類(lèi)

根據(jù)輸出數(shù)字量表示形式,A/D轉(zhuǎn)換器可分為二進(jìn)制輸出格式和BCD碼輸出格式。BCD碼輸出采用分時(shí)輸出萬(wàn)位、千位、百位、十位、個(gè)位的方法,可以很方便地驅(qū)動(dòng)LCD顯示。二進(jìn)制輸出格式一般要將轉(zhuǎn)換數(shù)據(jù)送單片機(jī)處理后使用。9.6.2并行A/D轉(zhuǎn)換器的接口與應(yīng)用

1.逐次逼近式A/D轉(zhuǎn)換器(SAR)

由上節(jié)可知,N位逐次逼近型A/D轉(zhuǎn)換器最多只需N次D/A轉(zhuǎn)換和比較判斷,就可以完成A/D轉(zhuǎn)換。因此,逐次逼近型A/D轉(zhuǎn)換器的速度很快。本小節(jié)以典型的8位逐次逼近式A/D轉(zhuǎn)換器ADC0809為例進(jìn)行介紹。

1)?ADC0809的特點(diǎn)

ADC0809是美國(guó)國(guó)家半導(dǎo)體(NationalSemiconductor,NS)公司生產(chǎn)的逐次逼近型A/D轉(zhuǎn)換器,它具有以下特點(diǎn):

(1)分辨率為8位。

(2)轉(zhuǎn)換時(shí)間為100?μs(當(dāng)外部時(shí)鐘輸入頻率fc?=?640?kHz時(shí))。

(3)采用單一電源?+5?V供電,量程為0~5?V。

(4)帶有鎖存控制邏輯的8通道多路轉(zhuǎn)換開(kāi)關(guān),便于選擇8路中的任一路進(jìn)行轉(zhuǎn)換。

(5)使用5?V或采用經(jīng)調(diào)整模擬間距的電壓基準(zhǔn)工作。

(6)帶鎖存器的三態(tài)數(shù)據(jù)輸出。

A/D轉(zhuǎn)換結(jié)果通過(guò)三態(tài)輸出鎖存器輸出,允許直接與系統(tǒng)數(shù)據(jù)總線相連。OE為輸出允許信號(hào),可與系統(tǒng)讀信號(hào)相連。EOC為轉(zhuǎn)換結(jié)束信號(hào),表示一次A/D轉(zhuǎn)換已完成,可以作為中斷請(qǐng)求信號(hào),也可被程序查詢(xún)以檢測(cè)轉(zhuǎn)換是否結(jié)束。圖9-25ADC0809結(jié)構(gòu)框圖

3)?ADC0809引腳功能

ADC0809為DIP28封裝,芯片引腳功能如表9-12所示。

4)?ADC0809的操作時(shí)序

ADC0809的操作時(shí)序如圖9-26所示。圖9-26ADC0809的操作時(shí)序從時(shí)序圖中可以看出,地址鎖存信號(hào)ALE在上升沿將三位通道地址鎖存,相應(yīng)通道的模擬量經(jīng)多路模擬開(kāi)關(guān)送到A/D轉(zhuǎn)換器。啟動(dòng)信號(hào)START上升沿復(fù)位內(nèi)部電路,START信號(hào)的下降沿啟動(dòng)A/D轉(zhuǎn)換器,此時(shí)轉(zhuǎn)換結(jié)束信號(hào)EOC呈低電平狀態(tài),由于逐位逼近需要一定過(guò)程,所以,在此期間模擬輸入員應(yīng)維持不變,比較器要一次次地進(jìn)行比較,直到轉(zhuǎn)換結(jié)束。當(dāng)轉(zhuǎn)換完成后,轉(zhuǎn)換結(jié)束信號(hào)EOC變?yōu)楦唠娖?,若CPU發(fā)出輸出允許信號(hào)OE(高電平),則可讀出數(shù)據(jù)。ADC0809具有較高的轉(zhuǎn)換速度和精度,受溫度影響小,且?guī)в?路模擬開(kāi)關(guān),因此,用在測(cè)控系統(tǒng)中是比較理想的器件。

【例9-8】ADC0809與MCS-51的硬件連接如圖9-27所示。要求進(jìn)行8路A/D轉(zhuǎn)換,將IN0~I(xiàn)N7轉(zhuǎn)換結(jié)果分別存入片內(nèi)RAM的60H~67H地址單元中。圖9-27ADC0809典型應(yīng)用

2.雙積分型A/D轉(zhuǎn)換器

雙積分型A/D轉(zhuǎn)換器的轉(zhuǎn)換速度普遍不高(通常每秒轉(zhuǎn)換幾次到幾百次〕,但是雙積分型A/D轉(zhuǎn)換器具有轉(zhuǎn)換精度高、廉價(jià)、抗干擾能力強(qiáng)等優(yōu)點(diǎn),在速度要求不很高的實(shí)際工程中廣泛使用。常用的雙積分型A/D轉(zhuǎn)換器有MC14433,ICL7106,ICL713,AD7555等芯片。這里以典型的MC14433A/D轉(zhuǎn)換器為例進(jìn)行介紹。

1)?MC14433特點(diǎn)

(1)?3位雙積分型A/D轉(zhuǎn)換器。

(2)外部基準(zhǔn)電壓輸入:200?mV或2?V。

(3)自動(dòng)調(diào)零。

(4)量程有199.9?mV或1.999?V兩種(由外部基準(zhǔn)電壓UREF決定)。

(5)轉(zhuǎn)換速度為1~10次/秒,速度較慢。

2)?MC14433引腳功能

MC14433為DIP24封裝,芯片引腳功能如表9-13所示。

3)?MC14433選通時(shí)序

如圖9-28所示。EOC輸出1/2個(gè)CLK周期正脈沖表示轉(zhuǎn)換結(jié)束,依次為DS1、DS2、DS3,DS4有效。在DS1有效期間,從Q3~Q0端讀出的數(shù)據(jù)是千位數(shù),在DS2有效期間讀出的數(shù)據(jù)為百位數(shù),依此類(lèi)推,周而復(fù)始。圖9-28MC14433選通脈沖時(shí)序圖

4)接口與編程

【例9-9】?MC14433與MCS-51的連接如圖9-29所示,采用中斷方式(下降沿觸發(fā))進(jìn)行8路A/D轉(zhuǎn)換的數(shù)據(jù)采集,第0路通道結(jié)果存儲(chǔ)格式如表9-15所示。圖9-29MC14433與MCS-51連接電路圖9.6.3串行A/D轉(zhuǎn)換器TLC1543及應(yīng)用

隨著芯片集成度和工藝水平的提高,串行A/D(尤其是高精度串行A/D)轉(zhuǎn)換芯片正在被廣泛地采用。串行A/D轉(zhuǎn)換芯片以其引腳數(shù)少,集成度高(基本上無(wú)須外接其他器件),價(jià)格低,易于數(shù)字隔離,易于芯片升級(jí)以及廉價(jià)等一系列優(yōu)點(diǎn),正逐步取代并行A/D轉(zhuǎn)換芯片,其代價(jià)僅僅是速度略微降低(主要是數(shù)據(jù)串行逐位傳送的速度,而非轉(zhuǎn)換速度)。

串行A/D轉(zhuǎn)換器的生產(chǎn)廠商很多,著名的廠商有ADI、NS、TI等。由于串行A/D轉(zhuǎn)換器的基本功能相似,本小節(jié)以TI公司的TLC1543為例介紹。

1.?TLC1543芯片引腳及功能

TLC1543是美國(guó)TI公司生產(chǎn)的一種串行A/D轉(zhuǎn)換器,它具有輸入通道多、轉(zhuǎn)換精度高、傳輸速度快、使用靈活和價(jià)格低廉等優(yōu)點(diǎn),是一種高性?xún)r(jià)比的A/D轉(zhuǎn)換器。

1)?TLC1543內(nèi)部結(jié)構(gòu)

TLC1543內(nèi)部結(jié)構(gòu)如圖9-30所示。片內(nèi)包括10位A/D轉(zhuǎn)換器、輸入地址寄存器、10選1驅(qū)動(dòng)器、采樣/保持器、輸出數(shù)據(jù)寄存器和自測(cè)參考等。圖9-30TLC1543內(nèi)部結(jié)構(gòu)

2)?TLC1543芯片引腳

TLC1543芯片引腳功能如表9-16所示。同時(shí),串口也從DATAOUT端接收前一次轉(zhuǎn)換的結(jié)果。它以MSB前導(dǎo)方式從DATAOUT輸出,但MSB出現(xiàn)在DATAOUT端的時(shí)刻取決于串行接口時(shí)序。TLC1543可以用6種基本的串行接口時(shí)序方式,這些方式取決于I/OCLOCK的速度與的狀態(tài)。

所用串行時(shí)鐘脈沖的數(shù)目也取決于工作的方式,從10個(gè)到16個(gè)不等,但要開(kāi)始進(jìn)行轉(zhuǎn)換,至少需要10個(gè)時(shí)鐘脈沖。在第10個(gè)時(shí)鐘的下降沿EOC輸出變低,而當(dāng)轉(zhuǎn)換完成時(shí)回到邏輯高電平。需要說(shuō)明的是:如果I/OCLOCK的傳送多于10個(gè)時(shí)鐘,在第10個(gè)時(shí)鐘的下降沿,內(nèi)部邏輯也將DATAOUT變低,以保持剩下的各位的值是零。

(2)轉(zhuǎn)換周期。

如前所述,轉(zhuǎn)換開(kāi)始于第4個(gè)I/OCLOCK的下降沿之后,片內(nèi)轉(zhuǎn)換器對(duì)采樣值進(jìn)行逐次逼近式A/D轉(zhuǎn)換,其工作由I/OCLOCK同步了的內(nèi)部時(shí)鐘控制。轉(zhuǎn)換結(jié)果鎖存在輸出數(shù)據(jù)寄存器中,等待下一個(gè)I/OCLOCK周期的輸出。

2.接口與編程

TLC1543與MCS-51的連接電路如圖9-32所示。TLC1543和微處理器

溫馨提示

  • 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)論