單片機原理及應用(第二版) 課件 第5章 單片機系統(tǒng)的擴展及接口技術_第1頁
單片機原理及應用(第二版) 課件 第5章 單片機系統(tǒng)的擴展及接口技術_第2頁
單片機原理及應用(第二版) 課件 第5章 單片機系統(tǒng)的擴展及接口技術_第3頁
單片機原理及應用(第二版) 課件 第5章 單片機系統(tǒng)的擴展及接口技術_第4頁
單片機原理及應用(第二版) 課件 第5章 單片機系統(tǒng)的擴展及接口技術_第5頁
已閱讀5頁,還剩154頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第5章單片機系統(tǒng)的擴展

及接口技術5.1系統(tǒng)擴展概述5.2存儲器的擴展5.3I/O接口技術概述5.4可編程并行I/O接口芯片8255A5.5A/D轉換器接口5.6D/A轉換器接口5.7應用舉例習題5

5.1系統(tǒng)擴展概述5.1.1最小應用系統(tǒng)單片機系統(tǒng)的擴展是以最小系統(tǒng)為基礎的,故應首先熟悉最小系統(tǒng)的結構。所謂最小系統(tǒng),也稱為最小應用系統(tǒng),是指一個真正可用的單片機最小配置系統(tǒng)。實際上,內部帶有程序存儲器的AT89C51或AT89S51等單片機本身就是一個最小應用系統(tǒng),許多實際應用系統(tǒng)就是用這種成本低和體積小的單片機結構實現(xiàn)高性能控制的。對于內部無程序存儲器的芯片來說,則要用外擴程序存儲器的方法才能構成一個最小應用系統(tǒng)。

圖5.1單片機最小應用系統(tǒng)

該系統(tǒng)的特點如下:

(1)系統(tǒng)有大量的I/O線可供用戶使用:P0、P1、P2、P3四個口都可以作為I/O口使用。

(2)內部存儲器的容量有限,只有128B的RAM和4KB的程序存儲器。

(3)應用系統(tǒng)的開發(fā)具有特殊性,由于應用系統(tǒng)的P0口、P2口在開發(fā)時需要作為數(shù)據和地址總線,因此這兩個口上的硬件調試只能用模擬的方法進行。

5.1.2系統(tǒng)擴展的內容與方法

1.單片機的三總線結構

當單片機最小系統(tǒng)不能滿足系統(tǒng)功能的要求時,就需要進行擴展。為了使單片機能方便地與各種擴展芯片連接,常將單片機的外部連線轉換為一般的微型計算機三總線結構形式。對于AT89S51單片機,其三總線結構按照下列方式構成。

圖5.2為AT89S51單片機的三總線結構框圖。這樣一來,擴展芯片與主機的連接方法就同一般三總線結構的微型計算機一樣了。對于MCS-51系列及其兼容單片機而言,各大公司為其生產了大量的配套外圍芯片,使其系統(tǒng)的擴展相當方便。

圖5.2AT89S51單片機的三總線結構框圖

2.系統(tǒng)擴展的內容與方法

系統(tǒng)擴展一般有以下幾方面的內容:

(1)外部程序存儲器的擴展。

(2)外部數(shù)據存儲器的擴展。

(3)輸入/輸出接口的擴展。

(4)管理功能器件(如定時/計數(shù)器、鍵盤/顯示器、中斷優(yōu)先級編碼器等)的擴展。

單片機系統(tǒng)通??墒褂孟铝衅骷M行擴展。

(1)使用TTL中、小規(guī)模集成電路進行擴展。

(2)采用IntelMCS-80/85微處理器外圍芯片來擴展。

(3)采用為MCS-48系列單片機設計的一些外圍芯片來擴展。

(4)采用與MCS-80/85外圍芯片兼容的其他一些通用標準芯片來擴展。

5.1.3常用的擴展器件簡介

1.8D鎖存器74LS373

74LS373是一種帶三態(tài)門的8D鎖存器,采用20腳DIP封裝,其引腳排列如圖5.3所示。

圖5.374LS373的引腳排列圖

2.總線驅動器74LS244、74LS245

總線驅動器74LS244和74LS245常用作三態(tài)數(shù)據緩沖器,其引腳排列如圖5.4所示。

圖5.4總線驅動器的引腳排列圖

3.3-8譯碼器74LS138

譯碼電路通常采用譯碼芯片,如74LS139(雙2-4譯碼器)、74LS138(3-8譯碼器)及74LS154(4-16譯碼器)等,其中以74LS138最為常用。74LS138的引腳排列如圖5.5所示。圖5.574LS138的引腳排列圖

5.2存儲器的擴展

5.2.1存儲器擴展概述MCS-51及其兼容單片機的地址總線寬度為16位,因此最大可尋址的外部存儲器空間為64KB,地址范圍為0000H~0FFFFH。AT89S51單片機內部具有4KB程序存儲器,當程序大小超過4KB時,就需要進行程序存儲器的擴展。另外,其片內數(shù)據存儲器空間只有128B,如果片內的數(shù)據存儲器不夠用,則需進行數(shù)據存儲器的擴展。

存儲器芯片的選擇有兩種方法:線選法和譯碼法。

1.線選法

所謂線選法,就是直接以系統(tǒng)的地址線作為存儲器芯片的片選信號,為此只需把用到的地址線與存儲器芯片的片選端直接相連即可。線選法編址的優(yōu)點是簡單明了,不需要另外增加譯碼電路,成本低。但其缺點是浪費了大量的存儲空間,因此只適用于存儲容量不需要很大的小規(guī)模單片機系統(tǒng)。

2.譯碼法

所謂譯碼法,就是使用地址譯碼器對系統(tǒng)的片外地址進行譯碼,以其譯碼輸出作為存儲器芯片的片選信號。這種方法能有效地利用存儲空間,適用于大容量多芯片存儲器的

擴展。

譯碼法又有兩種,即完全譯碼法和部分譯碼法。

(1)完全譯碼。地址譯碼器使用了全部地址線,地址與存儲單元一一對應,一個存儲單元只占用一個地址。

(2)部分譯碼。地址譯碼器僅使用了部分地址線,地址與存儲單元不是一一對應的,而是一個存儲單元占用多個地址。如未使用的地址線數(shù)為n,則一個存儲單元將占用2n個

地址。

在設計存儲器擴展連接或分析擴展連接電路以確定存儲器芯片的地址范圍時,常采用地址譯碼關系圖,即一種用簡單的符號來表示全部地址譯碼關系的示意圖,如圖5.6所示。假定某存儲器芯片進行擴展連接時具有如圖5.6所示的譯碼地址線狀態(tài),我們以此為例來分析其擴展的地址范圍。圖5.6地址譯碼關系圖

3.擴展存儲器所需芯片數(shù)目的確定

若所選存儲器芯片字長與單片機字長一致,則只需擴展容量。所需芯片數(shù)目按下式確定:

若所選存儲器芯片字長與單片機字長不一致,則不僅需進行容量擴展,還需進行字長擴展。所需芯片數(shù)目按下式確定:

5.2.2程序存儲器的擴展

在單片機應用系統(tǒng)的擴展中,經常要進行ROM的擴展。其擴展方法較為簡單,這是由單片機優(yōu)良的擴展性能決定的。單片機的地址總線為16位,擴展的片外ROM最大容量為64KB,地址為0000H~0FFFFH。擴展的片外RAM的最大容量也為64KB,地址也為0000H~0FFFFH。

在單片機應用系統(tǒng)中,片外ROM和RAM共享數(shù)據總線和地址總線。片外ROM的操作時序如圖5.7所示。圖5.7片外ROM的操作時序

單片機系統(tǒng)片外ROM擴展通常使用EPROM芯片。常用的EPROM芯片有2732、2764、27128、27256、27512等。它們的容量和引腳都有所區(qū)別,但用法類似。這幾種EPROM芯片的引腳定義如圖5.8所示。

圖5.8幾種EPROM芯片的引腳定義

例5.1要求用2764芯片來擴展AT89S51的片外程序存儲器空間,采用完全譯碼法,分配的地址范圍為0000H~3FFFH。

解本例采用完全譯碼法,即所有地址線全部連接,每個單元只占用一個地址。

①確定片數(shù)。題目要求的地址范圍為16KB,而一片2764的地址容量為8KB,顯然需要兩片2764。

也可按照5.2.1節(jié)所述的公式計算:

②分配地址范圍。根據①的分析,兩片2764應平均分擔16KB的地址,每片8KB,故第1片2764所占用的地址范圍為0000H~1FFFH;第2片2764所占用的地址范圍為2000H~3FFFH。

③畫出地址譯碼關系圖。

第1片:

第2片:

圖中打“×”部分為片內譯碼(與單片機地址線對應相連)。對于2764來說有13位,其地址變化范圍為從全“0”變到全“1”,其余部分為片外譯碼(由單片機剩余的高位地址線與譯碼器輸入相連)。

④設計片外譯碼電路。

⑤畫出存儲器擴展連接圖(采用地址譯碼器的擴展存儲器如圖5.9所示)。

圖5.9中,74LS138只用了兩個譯碼輸出端,未用的輸出端可以保留,以便于今后系統(tǒng)升級使用。

圖5.9采用地址譯碼器的擴展存儲器連接圖

5.2.3數(shù)據存儲器的擴展

CPU對擴展的片外RAM進行讀和寫的操作時序如圖5.10和圖5.11所示。圖5.10片外RAM讀時序圖5.11片外RAM寫時序

圖5.12幾種RAM芯片的引腳定義

用6264擴展8KB的RAM的電路圖如圖5.13所示。圖5.136264的擴展電路

5.3I/O接口技術概述

5.3.1I/O接口電路的作用一個完整的計算機系統(tǒng)除了CPU、存儲器外,還必須有外部設備。計算機系統(tǒng)中共有兩類數(shù)據傳送操作:一類是CPU和存儲器之間的數(shù)據讀/寫操作;另一類則是CPU和外部設備之間的數(shù)據輸入/輸出(I/O)操作。CPU和存儲器之間的數(shù)據讀/寫操作在上文中已述及,這里不再贅述。此處討論CPU和外部設備之間的I/O操作。

I/O接口的功能主要有以下幾點。

1.對單片機輸出的數(shù)據鎖存

就對數(shù)據的處理速度來講,單片機往往要比I/O設備快得多。

2.對輸入設備的三態(tài)緩沖

單片機系統(tǒng)的數(shù)據總線是雙向總線,是所有I/O設備分時復用的。

3.信號轉換

由于I/O設備的多樣性,必須利用I/O接口實現(xiàn)單片機與I/O設備間信號類型(模擬或數(shù)字、電流或電壓)、信號電平(高或低、正或負)、信號格式(并行或串行)等的轉換。

4.時序協(xié)調

單片機輸入數(shù)據時,只有在確知輸入設備已向I/O接口提供了有效的數(shù)據后,才能進行讀操作。

5.3.2接口與端口

“接口”的英文是“Interface”,具有界面、相互聯(lián)系等含義。接口這個術語在計算機領域中應用十分廣泛。本章所述的接口則特指計算機與外設之間在數(shù)據傳送方面的聯(lián)系。其功能主要通過電路來實現(xiàn),因此也稱為接口電路,簡稱接口。

了實現(xiàn)接口電路在數(shù)據I/O傳送中的界面功能,在接口電路中應該包含數(shù)據寄存器、狀態(tài)寄存器和命令寄存器,以保存輸入/輸出數(shù)據、狀態(tài)信息和來自CPU的有關數(shù)據傳送的控制命令。由于在數(shù)據的I/O傳送中,CPU需要對這些寄存器進行讀/寫操作,因此這些寄存器都是可讀/寫的編址寄存器,對它們像存儲單元一樣進行編址。我們通常把接口電路中這些已編址并能進行讀或寫操作的寄存器稱為端口(Port),簡稱口。

5.3.3I/O的編址方式

1.獨立編址方式

所謂獨立編址,就是把I/O和存儲器分開進行編址。

獨立編址方式的優(yōu)點是不占用存儲器的地址空間,不會減少內存的實際容量;

缺點是需用專門的I/O指令和控制信號,從而增加了系統(tǒng)的軟、硬件復雜性。

2.統(tǒng)一編址方式

統(tǒng)一編址就是把系統(tǒng)中的I/O和存儲器統(tǒng)一進行編址。在這種編址方式中,把端口當作存儲單元來對待,也就是讓端口占用存儲器單元地址。這種編址又稱為存儲器映像(MemoryMapped)編址方式。采用這種編址方式的計算機只有一個統(tǒng)一的地址空間,這個空間既供存儲器編址使用,也供I/O編址使用。

統(tǒng)一編址方式的優(yōu)點是不需要專門的I/O指令,可直接使用存儲器指令進行I/O操作,不但簡單方便、功能強,而且I/O地址范圍不受限制。

其缺點是端口地址占用了一部分存儲器地址空間,使存儲器的有效容量減少。另外,16位的端口地址會使地址譯碼變得復雜,尋址指令長且執(zhí)行速度慢。

5.3.4I/O的傳送方式

1.無條件傳送方式

無條件傳送也稱為同步程序傳送,類似于CPU和存儲器之間的數(shù)據傳送。無條件傳送方式適用于以下兩類外設的輸入/輸出:

(1)外設的工作速度非??欤阋院虲PU同步工作。

(2)具有不變的或變化緩慢的數(shù)據信號的外設。

2.查詢傳送方式

查詢傳送又稱為條件傳送,即數(shù)據的傳送是有條件的。單片機在執(zhí)行輸入/輸出指令前,首先要檢測I/O接口的狀態(tài)及端口的狀態(tài),以了解外設是否已為數(shù)據輸入/輸出做好了準備。只有在確認外設已“準備就緒”的情況下,CPU才能執(zhí)行數(shù)據輸入/輸出操作。通常把通過程序對外設狀態(tài)的檢測稱之為“查詢”,所以這種方式又稱為程序查詢方式。查詢傳送方式與前述無條件的同步傳送不同,是有條件的異步傳送。

3.中斷傳送方式

由于在查詢傳送方式中,CPU主動要求傳送數(shù)據,而它又不能控制外設的工作速度,因此只能用等待的方法來解決CPU和外設工作速度的匹配問題。而在一般的控制系統(tǒng)中,往往有大量的I/O設備,有些I/O設備還要求單片機為它們進行實時服務。如果采用查詢傳送方式,除浪費等待時間外,還很難及時地響應I/O設備的請求。這時,可以采用中斷傳送方式。

4.直接存儲器存取(DMA)方式

利用中斷傳送方式,雖然可以提高單片機的工作效率,但它仍需由單片機通過執(zhí)行程序來傳送數(shù)據,并在處理中斷時,還要進行“保護現(xiàn)場”和“恢復現(xiàn)場”等操作,而這些操作與數(shù)據傳送沒有直接的關系,卻依然要占用一定的時間,這對于高速外設以及成組數(shù)據交換的場合還是顯得較慢。

5.4可編程并行I/O接口芯片8255A

可供單片機進行I/O擴展的接口芯片很多,但按其所能實現(xiàn)的擴展功能又可分為兩類:一類是只能實現(xiàn)簡單擴展的中、小規(guī)模集成電路芯片;另一類則是能實現(xiàn)可編程I/O擴展的可編程接口芯片。

簡單I/O擴展可利用74LS系列集成電路按照“輸出鎖存,輸入三態(tài)”的原則構成,如5.1.3節(jié)中所述的74LS244/245可用于實現(xiàn)簡單輸入接口的擴展,利用74LS377(具有使能控制端的8D鎖存器)可實現(xiàn)簡單輸出接口的擴展。本節(jié)將重點講述能實現(xiàn)可編程I/O擴展的并行接口芯片。這些芯片功能較強,其最大的特點在于工作方式的確定和改變是用程序實現(xiàn)的,因此稱之為可編程接口芯片。

在單片機I/O擴展中常用的可編程接口芯片有可編程通用并行接口芯片8255A、帶RAM和定時/計數(shù)器的可編程并行接口芯片8155等。

5.4.18255A的內部結構與引腳

1.8255A的內部結構

8255A的內部結構框圖如圖5.14所示。

圖5.148255A的內部結構框圖

8255A由以下幾部分組成:

(1)數(shù)據端口A、B、C。8255A有三個8位數(shù)據端口,即端口A、端口B和端口C。編程人員可以通過軟件將它們分別作為輸入端口或輸出端口,這三個端口在不同的工作方式下有不同的功能及特點,如表5.1所示。

(2)?A組和B組控制電路。這是兩組根據CPU的命令字控制8255A工作方式的電路。它們的控制寄存器先接收CPU送出的命令字,然后根據命令字分別決定兩組的工作方式,也可根據CPU的命令字對端口C的每一位實現(xiàn)按位“復位”或“置位”。其中:

?A組控制電路控制端口A和端口C的上半部(PC7~PC4)。

?B組控制電路控制端口B和端口C的下半部(PC3~PC0)。

(3)數(shù)據總線緩沖器。這是一個三態(tài)雙向的8位數(shù)據緩沖器,可直接與系統(tǒng)的數(shù)據總線相連,以實現(xiàn)CPU和8255A之間的數(shù)據、控制字和狀態(tài)信息等的傳送。

(4)讀/寫控制邏輯。讀/寫控制邏輯電路負責管理8255A的數(shù)據傳輸過程。

2.8255A的芯片引腳

8255A的引腳圖如圖5.15所示。除電源(+5V)和地外,其他信號可以分為兩組:

(1)與外設相連接的引腳。

?PA7~PA0:A口數(shù)據線。

?PB7~PB0:B口數(shù)據線。

?PC7~PC0:C口數(shù)據線。

5.4.28255A的工作方式

1.方式0(基本輸入/輸出方式)

這種工作方式不需要任何選通信號,A口、B口及C口的高4位和低4位都可以設定為輸入或輸出。作為輸出口時,輸出的數(shù)據均被鎖存;作為輸入口時,A口的數(shù)據能鎖存,B口和C口的數(shù)據不能鎖存。

2.方式1(選通輸入/輸出方式)

在這種工作方式下,A口可由編程設定為輸入口或輸出口,C口的三位用來作為輸入/輸出操作的控制和同步信號;B口同樣可由編程設定為輸入口或輸出口,C口的另三位用來作為輸入/輸出操作的控制和同步信號。在方式1下,A口和B口的輸入/輸出數(shù)據都能被鎖存。

為了便于闡述問題,我們以A口、B口均為輸入或均為輸出加以說明。

1)方式1下A口、B口均為輸入

在方式1下,A口和B口均工作在輸入狀態(tài)時,需利用C口的6條線作為控制和狀態(tài)信號線,方式1下的信號定義如圖5.16(a)所示。

圖5.16方式1下的信號定義

圖5.17方式1下的輸入時序

2)方式1下A口、B口均為輸出

與輸入時一樣,也要利用C口的6根信號線,其定義如圖5.16(b)所示。用于輸出的聯(lián)絡信號有:

圖5.18方式1下的輸出時序

3.方式2(雙向數(shù)據傳送方式)

8255A只有A口具有這種雙向輸入/輸出工作方式,實際上是在方式1下A口輸入/輸出的結合。在這種方式下,A口為8位雙向傳輸口,C口的PC7~PC3用來作為輸入/輸出的同步控制信號。當A口工作于方式2下時,B口和PC2~PC0只能編程為方式0或者方式1工作,而C口剩下的3條線可作為輸入或輸出線使用或用作B口在方式1下工作時的控制線。

當A口工作于方式2時,方式2下的信號定義如圖5.19所示(其中的控制信號與前述相同)。圖5.19方式2下的信號定義

在方式2下,其輸入/輸出的操作時序如圖5.20所示。圖5.20方式2下的時序

5.4.38255A的控制字及初始化

1.工作方式控制字

工作方式控制字用于確定各口的工作方式及數(shù)據的傳送方向,8255A工作方式控制字如圖5.21所示。圖5.218255A工作方式控制字

說明如下:

(1)?A口有三種工作方式,而B口只有兩種工作方式。

(2)?A組包括A口與C口的高4位,B組包括B口與C口的低4位。

(3)在方式1或方式2下,將C口定義為輸入或輸出不影響作為聯(lián)絡線使用的C口各位的功能。

(4)最高位(D7)是標志位,其值固定為1,用于表明本字節(jié)是方式控制字。

2.C口置位/復位控制字

在一些應用情況下,C口用來定義控制信號和狀態(tài)信號,因此C口的每一位都可以進行置位或復位。對C口各位的置位或復位是由置位/復位控制字進行控制的。C口置位/復位控制字如圖5.22所示。圖5.22C口置位/復位控制字

3.8255A的初始化編程

對任何可編程的接口芯片,在使用前都必須對其進行初始化。8255A的初始化就是向控制字寄存器寫入工作方式控制字和C口置位/復位控制字。這兩個控制字可按同一個地址寫入且不受先后順序限制。由于兩個控制字標志位的狀態(tài)不同,因此8255A能加以區(qū)分。

5.4.48255A與系統(tǒng)的連接方法

由于8255A是Intel公司專為其主機配套設計制造的標準化外圍接口芯片,因此,它與MCS-51及其兼容單片機的連接比較簡單方便。

單片機擴展的I/O接口均與片外RAM統(tǒng)一編址。由于單片機系統(tǒng)片外RAM的實際容量一般均不太大,遠遠達不到64KB的范圍,因此I/O接口芯片大多采用部分譯碼法或線選法。這種方法雖然要浪費大量的地址號,但譯碼電路比較簡單。8255A與單片機的連接如圖5.23所示。圖5.238255A與單片機的連接

5.5A/D轉換器接口

5.5.1A/D轉換器概述A/D轉換器用以實現(xiàn)模擬量向數(shù)字量的轉換。在設計A/D轉換器與單片機接口之前,往往要根據A/D轉換器的原理及技術指標選擇A/D轉換器。常用的A/D轉換器按轉換原理有計數(shù)式、雙積分式、逐次逼近式及并行式等。

例如,當滿量程電壓為5V時,采用10位A/D轉換器的量化間隔、絕對量化誤差、相對量化誤差分別為

5.5.2ADC0809及其與系統(tǒng)的連接

A/D轉換器(ADC)與單片機接口具有硬、軟件相依性。一般來說,A/D轉換器與單片機的接口主要考慮的是數(shù)字量輸出線的連接、ADC啟動方式、轉換結束信號處理方法以及時鐘的連接等。

A/D轉換器數(shù)字量輸出線與單片機的連接方法與其內部結構有關。對于內部帶有三態(tài)鎖存數(shù)據輸出緩沖器的ADC(如ADC0809、AD574等),可直接與單片機相連。對于內部不帶鎖存器的ADC,一般通過鎖存器或并行I/O接口與單片機相連。

A/D轉換器的另一個重要連接信號是時鐘,其頻率是決定芯片轉換速度的基準。整個A/D轉換過程都是在時鐘的作用下完成的。A/D轉換時鐘的提供方法有兩種:一種是由芯片內部提供(如AD574),一般不允許外加電路;另一種是由外部提供,有的用單獨的振蕩電路產生,更多的則把單片機輸出時鐘經分頻后,送到A/D轉換器的相應時鐘端。這里只介紹ADC0809與單片機的接口方法。

1.ADC0809芯片簡介

ADC0809是8位逐次比較式A/D轉換芯片,具有8路模擬量輸入通道,ADC0809芯片的內部邏輯結構與引腳如圖5.24所示。圖5.24ADC0809芯片的內部邏輯結構與引腳

圖5.24中,8路模擬開關可選通8個模擬量,允許8路模擬量分時輸入,并共用一個A/D轉換器進行轉換。地址鎖存與譯碼電路完成對A、B、C三個地址位進行鎖存和譯碼的功能,其譯碼輸出用于通道選擇,如表5.3所示。8位A/D轉換器為逐次逼近式,由控制與時序電路、逐次逼近寄存器、樹狀開關及256個電阻梯形網絡等組成。三態(tài)輸出鎖存器用于存放和輸出轉換得到的數(shù)字量。

ADC0809芯片為28引腳雙列直插式封裝,其引腳簡介如下:

?IN7~IN0:模擬量輸入通道。ADC0809對輸入模擬量的主要要求有:信號單極性、電壓范圍為0~5V。如輸入信號幅度過小還需進行放大。另外,輸入模擬量在A/D轉換過程中其值不應變化,如輸入模擬量變化速度較快,則在輸入前應增加采樣保持器電路。

?ADDA、ADDB、ADDC:模擬通道地址線。這三根線用于對模擬通道進行選擇,如表5.3所示。ADDA為低地址,ADDC為高地址。

?

ALE:地址鎖存信號。對應于ALE上跳沿時,ADDA、ADDB、ADDC地址狀態(tài)送入地址鎖存器中。

?START:轉換啟動信號。在START信號上跳沿時,所有內部寄存器清0;在START下跳沿時,開始進行A/D轉換。在A/D轉換期間,START信號應保持低電平。

?D7~D0:數(shù)據輸出線。該數(shù)據輸出線為三態(tài)緩沖形式,可以與單片機的數(shù)據總線直接相連。

?OE:輸出允許信號。它用于控制三態(tài)輸出鎖存器向單片機輸出轉換后的數(shù)據。OE=0時輸出數(shù)據線呈高阻狀態(tài);OE=1時允許輸出。

?CLK:時鐘信號。ADC0809的內部沒有時鐘電路,所需時鐘信號由外界提供,通常使用500kHz的時鐘信號。

?EOC:轉換結束狀態(tài)信號。當EOC=0時,表示正在進行轉換;當EOC=1時,表示轉換結束。實際使用中,該信號既可作為查詢的狀態(tài)標志,也可作為中斷請求信號。

?VCC:+5V電源。

?VREF:參考電壓。參考電壓作為逐次逼近的基準,并用來與輸入的模擬信號進行比較。其典型值為+5V(VREF(+)=+5V、VREF(-)=0V)。

2.ADC0809與單片機的接口

電路的連接主要考慮兩個問題:一是8路模擬信號的通道選擇;二是A/D轉換完成后轉換數(shù)據的傳送。典型的ADC0809與單片機的連接如圖5.25所示。

圖5.25ADC0809與單片機的連接

1)?8路模擬通道的選擇

圖5.25中,ADC0809的轉換時鐘由單片機的ALE提供。因ADC0809的典型轉換頻率在640kHz以下,ALE信號頻率與晶振頻率有關,如果晶振頻率為12MHz,則ALE的頻率為2MHz,所以ADC0809的時鐘端CLK與單片機的ALE相連時,要考慮分頻。

從圖5.25中可以看到,ALE信號與START(ST)信號連在一起,這樣連接可以在信號的前沿寫入地址信號,在其后沿便啟動轉換。ADC0809相關信號時序如圖5.26所示。圖5.26ADC0809相關信號時序

2)轉換數(shù)據的傳送

A/D轉換后得到的數(shù)據為數(shù)字量,這些數(shù)據應傳送給單片機進行處理。數(shù)據傳送的關鍵問題是如何確認A/D轉換的完成,因為只有確認數(shù)據轉換完成后,才能進行傳送。通??刹捎孟率鋈N方式。

(1)定時傳送方式。

(2)查詢方式。

(3)中斷方式。

這里需要說明的是,ADC0809的三個地址端ADDA、ADDB、ADDC既可以如前所述與地址線相連,也可與數(shù)據線相連,例如與D0~D2相連,ADC0809與系統(tǒng)的另一種連接方法如圖5.27所示。這時啟動A/D轉換的指令與上述類似,只不過A的內容不能為任意值,而必須和所選輸入通道號IN0~IN7相一致。

圖5.27ADC0809與系統(tǒng)的另一種連接方法

5.6D/A轉換器接口

5.6.1D/A轉換器的技術指標D/A轉換器(DAC)是單片機應用系統(tǒng)與外部模擬對象之間的一種重要控制接口。單片機輸出的數(shù)字信號必須經D/A轉換器,變換為模擬信號后,才能對控制對象進行控制。這就涉及D/A轉換接口的問題。

1.分辨率

分辨率是指輸入數(shù)字量的最低有效位(LSB)發(fā)生變化時,所對應的輸出模擬量(常為電壓)的變化量。分辨率是D/A轉換器對輸入量變化敏感程度的描述,與輸入數(shù)字量的位數(shù)有關。對于線性D/A轉換器來說,如果其輸入數(shù)字量的位數(shù)為n,則其分辨率Δ可表示為

2.線性度

線性度(也稱非線性誤差)是實際轉換特性曲線與理想的直線特性之間的最大偏差。通常以相對于滿刻度的百分數(shù)來表示。如某D/A轉換器的線性度為±1%,說明其實際輸出值與理論值之差在滿刻度的±1%以內。

3.絕對精度與相對精度

絕對精度(簡稱精度)是指在整個刻度范圍內,任一輸入數(shù)碼所對應的模擬量實際的輸出值與理論值之間的最大誤差。絕對精度是由DAC的增益誤差(當輸入數(shù)碼為全1時,實際輸出值與理想輸出值之差)、零點誤差(數(shù)碼輸入為全0時DAC的非零輸出值)、非線性誤差和噪聲等引起的。絕對精度(即最大誤差)應小于1個LSB。

4.建立時間

建立時間是指輸入的數(shù)字量發(fā)生滿刻度變化時,輸出模擬信號達到滿刻度值的±1/2個LSB所需的時間。這是描述DAC轉換速率的一個動態(tài)指標。電流輸出型DAC的建立時間短,電壓輸出型DAC的建立時間主要決定于運算放大器的響應時間。根據建立時間的長短,可以將DAC分成超高速(小于1μs)、高速(10~1μs)、中速(100~10μs)和低速(大于等于100μs)等。

5.6.2DAC0832及其與系統(tǒng)的連接

1.DAC0832芯片簡介

DAC0832是一個典型的8位D/A轉換器,采用單電源供電,電源電壓在+5~+15V范圍內均可正常工作?;鶞孰妷旱姆秶鸀椤?0V。電流輸出時其電流建立時間約為1μs,當需要轉換為電壓輸出時,可外接運算放大器。CMOS工藝為低功耗設計,功耗約為20mW。

DAC0832由一個8位輸入寄存器、一個8位DAC寄存器和一個8位D/A轉換器及邏輯控制電路組成。DAC0832內部結構框圖如圖5.28所示。

圖5.28DAC0832內部結構框圖

DAC0832為電流輸出形式,其兩個輸出端電流的關系為

IOUT1?+?IOUT2?=?常數(shù)

為了得到電壓輸出,可在電流輸出端接一個運算放大器,如圖5.29所示。在DAC0832內部已有反饋電阻RFB,其阻值為15kΩ。若需加大阻值,則可外接反饋電阻。

DAC0832為20腳雙列直插封裝,其引腳排列如圖5.30所示。

圖5.29DAC0832電壓輸出電路圖5.30DAC0832引腳排列

2.DAC0832與單片機的接口

DAC0832可以通過三種方式與單片機相連,即直通方式、單緩沖方式及雙緩沖方式。

1)直通方式

2)單緩沖方式

所謂單緩沖方式,就是使DAC0832的兩個寄存器中有一個處于直通方式,而另一個處于受控的鎖存方式,當然也可以使兩個寄存器同時選通及鎖存。因此,單緩沖方式有三種不同的連接方法,DAC0832的三種單緩沖連接方法如圖5.31所示。圖5.31DAC0832的三種單緩沖連接方法

3)雙緩沖方式

所謂雙緩沖方式,就是把DAC0832的兩個鎖存器都接成受控鎖存方式。由于芯片中有兩個數(shù)據寄存器,這樣就可以將8位輸入數(shù)據先保存在“輸入寄存器”中,當需要D/A轉換時,再將此數(shù)據從輸入寄存器送至“DAC寄存器”中鎖存,并進行D/A轉換輸出。采用這種方式,可以克服在輸入數(shù)據更新期間輸出模擬量隨之出現(xiàn)的不穩(wěn)定。這時,可以在上一次模擬量輸出的同時,將下一次要轉換的數(shù)據事先存入“輸入寄存器”中,一方面克服了不穩(wěn)定現(xiàn)象,另一方面提高了數(shù)據的轉換速度。用這種方式還可以同時更新多個D/A轉換器的輸出。DAC0832的雙緩沖連接方式如圖5.32所示,圖中給出了采用線選法,利用兩位地址碼進行兩次輸出操作完成數(shù)據的傳送及轉換的雙緩沖方式。

圖5.32DAC0832的雙緩沖連接方式

由于兩個鎖存器分別占據兩個地址,因此在程序中需要使用兩條傳送指令,才能完成一個數(shù)字量的模擬轉換。假設輸入寄存器地址為0FEFFH,DAC寄存器地址為0FDFFH,則完成一次D/A轉換的程序段可如下編制:

5.7應用舉例5.7.18255A應用舉例8255A在單片機控制系統(tǒng)中得到了廣泛的應用,現(xiàn)舉例加以說明。

例5.2要求通過8255A的PC5端向外輸出一個正脈沖信號,已知8255A的C口和控制口的地址分別為0002H和0003H。解若要從PC5端輸出一個正脈沖信號,可通過對PC5位的置位和復位控制來實現(xiàn)。由于每送一個控制字,只能對一位作一次置位或復位操作,因而產生一個正脈沖要對PC5位先送置位控制字,經過一定延時后(延時時間視脈寬而定),再送復位控制字即能實現(xiàn)。

例5.3完成8255A作為連接打印機的接口電路的程序編制。

解8255A連接打印機的接口電路如圖5.33所示。圖5.338255A連接打印機的接口電路

5.7.2A/D應用舉例

例5.4設有一個8路模擬量輸入的巡回檢測系統(tǒng),使用中斷方式采集數(shù)據,每次中斷依次采集8路輸入,并將轉換結果對應存放在外部RAM的30H~37H單元中。采集完一遍以后即停止采集。

解硬件電路可采用前述圖5.25,其數(shù)據采樣的初始化程序和中斷服務程序如下。

5.7.3D/A應用舉例

D/A轉換器可以應用在許多場合,例如控制伺服電機或其他執(zhí)行機構,也可以很方便地產生各種輸出波形,如矩形波、三角波、階梯波、鋸齒波、梯形波、正弦波及余弦波等。這里介紹利用D/A轉換器來產生波形的方法。

例5.5產生階梯波。

解階梯波是在一定的時間范圍內每隔一段時間,輸出幅度遞增一個恒定值的波形。如每隔1ms輸出幅度增長一個定值,經10ms后重新循環(huán)。用DAC0832在單緩沖方式下可以輸出這樣的波形(單緩沖方式的連接方法可參考前述圖5.31),這里假定DAC0832地址為7FFFH。系統(tǒng)中所需的1ms延時可以通過延時程序獲得,也可以通過單片機內的定時器來定時。

例5.6同步波形輸出——同時輸出X和Y波形到示波器。

解在應用系統(tǒng)中,如果需要同時輸出幾路模擬信號,這時D/A轉換器就必須采用雙緩沖工作方式,兩路DAC0832與單片機的接口電路如圖5.34所示。

圖5.34兩路DAC0832與單片機的接口電路

上述例子僅說明了單片機如何通過D/A轉換器產生模擬波形。用這種方法產生信號波形時,由于受單片機本身工作速度的限制(12MHz晶振頻率時,機器周期為1μs),輸出頻率不可能太高。另一方面,為了有一定的顯示質量,在信號的一個周期內取樣點也不可能太少,這就進一步限制了信號的頻率。但是,用單片機產生波形比較靈活,特別是可以產生各種不規(guī)則的波形,因此在一些要求不高的場合還存在著一定的應用。

5.7.4集成溫度傳感器及其應用舉例

1.DS18B20簡介

DS18B20是美國Dallas公司生產的最新的單線數(shù)字溫度傳感器,支持“1-Wire”接口。1-Wire是一種簡單的信號交換方式,它是指在主機與外圍器件之間通過一條線路進行雙向通信。多個1-Wire總線器件可以直接掛接在一條總線上,使用戶可輕松地組建傳感器網絡?,F(xiàn)場溫度直接以1-Wire的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的現(xiàn)場溫度測量。

1)?DS18B20的主要特性

DS18B20的主要特性如下所述:

(1)單線接口,即僅需一根接口線與單片機連接。

(2)每個器件的內部存儲器中存儲有該器件唯一的64位序列號。

(3)無需外圍元件即可實現(xiàn)溫度測量。

(4)可通過數(shù)據線供電,工作電壓范圍為3.0~5.5V。

(5)測溫范圍為-55℃~+125℃,在-10℃~+85℃范圍內精度為±0.5℃。

(6)用戶可以選擇9~12位的分辨率,其中9位分辨率轉換時間為93.75ms,12位分辨率轉換時間為750ms。

(7)用戶可自行設定溫度報警的上、下限,其值在斷電后仍可保存,利用報警搜索命令可識別超限報警的器件。

2)?DS18B20的引腳及功能

DS18B20的引腳排列如圖5.35所示,各引腳功能如下:

?GND:地。

?DQ:數(shù)據輸入/輸出引腳,為開漏單總線接口引腳,當被用在寄生電源下時,也可以向器件提供電源。

?VDD:可選擇的電源引腳。當工作于寄生電源時,此引腳必須接地。圖5.35DS18B20的引腳排列

3)?DS18B20的工作原理

DS18B20的內部結構框圖如圖5.36所示。圖5.36DS18B20的內部結構框圖

DS18B20高速緩沖寄存器包含了9個連續(xù)字節(jié),DS18B20內部E2PROM與高速寄存器的映射關系如圖5.37所示。第1字節(jié)的內容是溫度的低8位;第2字節(jié)是溫度的高8位;第3、4字節(jié)是溫度設定上限TH和下限TL的易失性拷貝,第5字節(jié)是配置寄存器的易失性拷貝,這3個字節(jié)的內容在每次上電復位時被刷新;第6、7、8字節(jié)用于內部計算;第9字節(jié)是冗余校驗字節(jié)。

圖5.37DS18B20內部E2PROM與高速寄存器的映射關系

配置寄存器的結構框圖如圖5.38所示。低5位固定為1,TM是測試模式位,用于設置DS18B20在工作模式還是測試模式,該位出廠時被設置為0,用戶一般不要去改動。R1和R0用來設置分辨率,如表5.4所示。圖5.38配置寄存器的結構框圖

DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉換為例:用16位符號擴展的二進制補碼形式提供,以0.0625℃/LSB形式表達,DS18B20溫度傳感器的數(shù)據格式如圖5.39所示。圖5.39DS18B20溫度傳感器的數(shù)據格式

2.DS18B20的應用示例

DS18B20的1-Wire總線可以很方便地與單片機進行連接,只需將其DQ端與單片機的一條I/O線相接即可,且多個DS18B20可以同時掛接在同一根總線上,多個DS18B20與單片機的連接如圖5.40所示。

圖5.40多個DS18B20與單片機的連接

三片DS18B20都接到單片機的一個I/O口時,注意上拉電阻不能太大,否則DS18B20可能工作不正常。當DS18B20工作于寄生供電方式時,為保證提供足夠的工作電流,可用一個MOSFET管來完成對總線的上拉,DS18B20溫度轉換期間的強上拉供電如圖5.41所示。圖5.41DS18B20溫度轉換期間的強上拉供電

5.7.5液晶顯示模塊及其應用舉例

液晶顯示器(LCD)是近年來飛速發(fā)展的一種顯示器件。LCD通常都是作為一個整體模塊用于設備中的,這是因為液晶器件的特殊性以及連接和裝配需要專用的工具,且操作技術的難度較大等原因。生產廠家將液晶顯示屏幕、連接件、驅動電路的PCB電路板、背光燈(視型號而定)等元器件封裝在一起,只留有背光燈插頭(視型號而定)和驅動信號輸入插座,這種組件被稱為液晶顯示模塊。

1.LCD1602簡介

LCD1602是一種字符式液晶顯示模塊,它可以顯示兩行,每行16個字符,相當于32個LED數(shù)碼管,而且比數(shù)碼管顯示的信息還要豐富。LCD1602采用單一?+5V電源供電,外圍電路配置簡單,價格便宜,具有較高的性價比。LCD1602的引腳排列如圖5.42所示圖5.42LCD1602的引腳排列

LCD1602有11個控制指令,其功能如表5.5所示。

其中,常用的命令格式及其功能簡介如下。

(3)光標、畫面位移:

(4)功能設置:

2.LCD1602應用示例

LCD1602與單片機連接的典型電路如圖5.43所示。圖5.43LCD1602與單片機連接的典型電路

習題5

1.什么是單片機最小應用系統(tǒng)?2.MCS-51系列單片機如何訪問外部ROM及外部RAM?3.試說明存儲器的容量與芯片的地址線和數(shù)據線之間的關系。4.當單片機應用系統(tǒng)中數(shù)據存儲器RAM地址和程序存儲器

溫馨提示

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

評論

0/150

提交評論