




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、9:131第第第第第第9 9 9章章章章章章 80C5180C5180C51單片機(jī)系統(tǒng)擴(kuò)展技術(shù)單片機(jī)系統(tǒng)擴(kuò)展技術(shù)單片機(jī)系統(tǒng)擴(kuò)展技術(shù)單片機(jī)系統(tǒng)擴(kuò)展技術(shù)單片機(jī)系統(tǒng)擴(kuò)展技術(shù)單片機(jī)系統(tǒng)擴(kuò)展技術(shù) 9:132內(nèi)容內(nèi)容單片機(jī)系統(tǒng)擴(kuò)展概述單片機(jī)系統(tǒng)擴(kuò)展概述9.1數(shù)據(jù)存儲(chǔ)器的擴(kuò)展數(shù)據(jù)存儲(chǔ)器的擴(kuò)展9.2并行并行I/O口的擴(kuò)展口的擴(kuò)展 9.3鍵盤接口技術(shù)鍵盤接口技術(shù)9.4LCD液晶顯示器與單片機(jī)的接口液晶顯示器與單片機(jī)的接口 9.59:133 單片微機(jī),在一片芯片上集成了計(jì)算機(jī)的基本功單片微機(jī),在一片芯片上集成了計(jì)算機(jī)的基本功能部件,理應(yīng)獨(dú)立作為計(jì)算機(jī)使用,更好地發(fā)揮其體能部件,理應(yīng)獨(dú)立作為計(jì)算機(jī)使用,更好地發(fā)揮其
2、體積小、重量輕、價(jià)格低、耗電少的優(yōu)點(diǎn)。然而,在組積小、重量輕、價(jià)格低、耗電少的優(yōu)點(diǎn)。然而,在組成計(jì)算機(jī)系統(tǒng)時(shí),成計(jì)算機(jī)系統(tǒng)時(shí),有時(shí)在使用過程中會(huì)嫌單片機(jī)本身有時(shí)在使用過程中會(huì)嫌單片機(jī)本身的功能部件容量還不夠,的功能部件容量還不夠,這就需要予以擴(kuò)展。這就需要予以擴(kuò)展。 9.1 單片機(jī)系統(tǒng)擴(kuò)展概述單片機(jī)系統(tǒng)擴(kuò)展概述9:134復(fù)習(xí):最小應(yīng)用系統(tǒng)復(fù)習(xí):最小應(yīng)用系統(tǒng) 1. 片內(nèi)帶程序存儲(chǔ)器的單片機(jī)的最小應(yīng)用系統(tǒng)片內(nèi)帶程序存儲(chǔ)器的單片機(jī)的最小應(yīng)用系統(tǒng) (1)8051、 8751、8052本身,本身, (2)時(shí)鐘電路,時(shí)鐘電路, (3)復(fù)位電路即可構(gòu)成最小應(yīng)用系統(tǒng)。復(fù)位電路即可構(gòu)成最小應(yīng)用系統(tǒng)。 接高電平,
3、系統(tǒng)就可以工作。如下頁圖所示。該系統(tǒng)接高電平,系統(tǒng)就可以工作。如下頁圖所示。該系統(tǒng)的特點(diǎn)如下的特點(diǎn)如下: (1) 系統(tǒng)有大量的系統(tǒng)有大量的I/O線可供用戶使用線可供用戶使用: P0、 P1、 P2、 P3四個(gè)口都可以作為四個(gè)口都可以作為I/O口使用??谑褂谩?(2) 內(nèi)部存儲(chǔ)器的容量有限,只有內(nèi)部存儲(chǔ)器的容量有限,只有128B的的RAM和和4 KB的程序存儲(chǔ)器。的程序存儲(chǔ)器。EA9:1358051/8751最小應(yīng)用系統(tǒng)最小應(yīng)用系統(tǒng)9:136 2. 片內(nèi)無程序存儲(chǔ)器的單片機(jī)的最小應(yīng)用系統(tǒng)片內(nèi)無程序存儲(chǔ)器的單片機(jī)的最小應(yīng)用系統(tǒng) (1)8031、 8032本身,本身, (2)時(shí)鐘電路,時(shí)鐘電路, (
4、3)復(fù)位電路復(fù)位電路 (4)片外存儲(chǔ)器芯片片外存儲(chǔ)器芯片 (5)地址鎖存器地址鎖存器 構(gòu)成最小應(yīng)用系統(tǒng)構(gòu)成最小應(yīng)用系統(tǒng)。 EAPSEN 接低電平,接低電平, ALE接地址鎖存器,接地址鎖存器, 接存接存儲(chǔ)器的輸出允許端。儲(chǔ)器的輸出允許端。9:1378031最小應(yīng)用系統(tǒng)最小應(yīng)用系統(tǒng)PSENOE9:138 擴(kuò)展一般有以下幾方面的內(nèi)容擴(kuò)展一般有以下幾方面的內(nèi)容: 外部程序存儲(chǔ)器的擴(kuò)展外部程序存儲(chǔ)器的擴(kuò)展; 外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展外部數(shù)據(jù)存儲(chǔ)器的擴(kuò)展; 輸入輸入/輸出接口的擴(kuò)展輸出接口的擴(kuò)展; 管理功能器件的擴(kuò)展管理功能器件的擴(kuò)展(如定時(shí)如定時(shí)/計(jì)數(shù)器、計(jì)數(shù)器、 鍵盤鍵盤/顯顯示器、示器、 中斷控制器等
5、中斷控制器等)。 擴(kuò)展的基本方法擴(kuò)展的基本方法: 使用使用TTL中小規(guī)模集成電路進(jìn)行擴(kuò)展。中小規(guī)模集成電路進(jìn)行擴(kuò)展。 9.1.1 單片機(jī)系統(tǒng)擴(kuò)展資源分類單片機(jī)系統(tǒng)擴(kuò)展資源分類9:1399.1.2 單片機(jī)系統(tǒng)擴(kuò)展結(jié)構(gòu)單片機(jī)系統(tǒng)擴(kuò)展結(jié)構(gòu) 80C51單片機(jī)系統(tǒng)擴(kuò)展采用三總線結(jié)構(gòu),即地址總線、數(shù)據(jù)單片機(jī)系統(tǒng)擴(kuò)展采用三總線結(jié)構(gòu),即地址總線、數(shù)據(jù)總線和控制總線。總線和控制總線。AT89C51單片機(jī)擴(kuò)展時(shí)系統(tǒng)總線結(jié)構(gòu)圖如圖單片機(jī)擴(kuò)展時(shí)系統(tǒng)總線結(jié)構(gòu)圖如圖9-1所示。所示。9:1310 系統(tǒng)擴(kuò)展的首要問題系統(tǒng)擴(kuò)展的首要問題: 構(gòu)造系統(tǒng)總線,然后再往系統(tǒng)總線上構(gòu)造系統(tǒng)總線,然后再往系統(tǒng)總線上“掛掛”存儲(chǔ)器芯片或存
6、儲(chǔ)器芯片或I/O接口芯片,接口芯片,“掛掛”存儲(chǔ)器芯片就是存儲(chǔ)器擴(kuò)展,存儲(chǔ)器芯片就是存儲(chǔ)器擴(kuò)展,“掛掛”I/O接口芯片就是接口芯片就是I/O擴(kuò)展。擴(kuò)展。 80C51由于受引腳數(shù)目的限制,數(shù)據(jù)線和低由于受引腳數(shù)目的限制,數(shù)據(jù)線和低8位地址線復(fù)用。位地址線復(fù)用。 為了將它們分離出來,需要為了將它們分離出來,需要外加地址鎖存器外加地址鎖存器,從而構(gòu)成與,從而構(gòu)成與一般一般CPU相類似的片外三總線,見圖相類似的片外三總線,見圖9-1。 9:1311 地址總線地址總線(AB): 由由P2口提供高口提供高8位地址線位地址線, 此口具有輸出鎖存此口具有輸出鎖存的功能的功能, 能保留地址信息。能保留地址信息。
7、 由由P0口提供低口提供低8位地址線。位地址線。 數(shù)據(jù)總線數(shù)據(jù)總線(DB): 由由P0口提供??谔峁?。 此口是雙向、此口是雙向、 輸入三態(tài)控制的輸入三態(tài)控制的8位通道口。位通道口。 控制總線控制總線(CB): 擴(kuò)展系統(tǒng)時(shí)常用的控制信號(hào)為擴(kuò)展系統(tǒng)時(shí)常用的控制信號(hào)為: ALE地址鎖存信號(hào)地址鎖存信號(hào), 用以實(shí)現(xiàn)對(duì)低用以實(shí)現(xiàn)對(duì)低8位地址的鎖存。位地址的鎖存。 片外程序存儲(chǔ)器取指信號(hào)。片外程序存儲(chǔ)器取指信號(hào)。 片外數(shù)據(jù)存儲(chǔ)器讀信號(hào)。片外數(shù)據(jù)存儲(chǔ)器讀信號(hào)。 片外數(shù)據(jù)存儲(chǔ)器寫信號(hào)。片外數(shù)據(jù)存儲(chǔ)器寫信號(hào)。 PSENRDWR9:1312 地址鎖存器一般采用地址鎖存器一般采用74LS373,采用采用74LS37
8、3的地址總線的的地址總線的擴(kuò)展電路如下圖擴(kuò)展電路如下圖9:13139.2 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展數(shù)據(jù)存儲(chǔ)器的擴(kuò)展 目前大多數(shù)單片機(jī)都含有大容量目前大多數(shù)單片機(jī)都含有大容量Flash EEPROM,其存儲(chǔ),其存儲(chǔ)單元數(shù)量都達(dá)到了單元數(shù)量都達(dá)到了64KB,能滿足絕大多數(shù)用戶程序存儲(chǔ)的需,能滿足絕大多數(shù)用戶程序存儲(chǔ)的需要,故很少再進(jìn)行片外程序存儲(chǔ)器的擴(kuò)展。但單片機(jī)的內(nèi)部數(shù)要,故很少再進(jìn)行片外程序存儲(chǔ)器的擴(kuò)展。但單片機(jī)的內(nèi)部數(shù)據(jù)存儲(chǔ)器容量較小,其中一些已作為工作寄存器、堆棧和數(shù)據(jù)據(jù)存儲(chǔ)器容量較小,其中一些已作為工作寄存器、堆棧和數(shù)據(jù)緩沖器使用,當(dāng)控制系統(tǒng)需要暫存的數(shù)據(jù)量較大時(shí),片內(nèi)緩沖器使用,當(dāng)控制系統(tǒng)需要
9、暫存的數(shù)據(jù)量較大時(shí),片內(nèi)RAM常常不夠用,常需進(jìn)行數(shù)據(jù)存儲(chǔ)器的擴(kuò)展。常常不夠用,常需進(jìn)行數(shù)據(jù)存儲(chǔ)器的擴(kuò)展。 若要擴(kuò)展片外程序存儲(chǔ)器,方法與數(shù)據(jù)存儲(chǔ)器擴(kuò)展相類似,若要擴(kuò)展片外程序存儲(chǔ)器,方法與數(shù)據(jù)存儲(chǔ)器擴(kuò)展相類似,不同之處僅在于控制信號(hào)的接法不一樣,擴(kuò)展數(shù)據(jù)存儲(chǔ)器用單不同之處僅在于控制信號(hào)的接法不一樣,擴(kuò)展數(shù)據(jù)存儲(chǔ)器用單片機(jī)的片機(jī)的RD和和WR信號(hào)直接與數(shù)據(jù)存儲(chǔ)器的信號(hào)直接與數(shù)據(jù)存儲(chǔ)器的OE 端和端和WE端相連,端相連,發(fā)送讀、寫控制信號(hào),擴(kuò)展程序存儲(chǔ)器則用單片機(jī)的發(fā)送讀、寫控制信號(hào),擴(kuò)展程序存儲(chǔ)器則用單片機(jī)的PSEN信信號(hào)與程序存儲(chǔ)器的號(hào)與程序存儲(chǔ)器的OE端相連,發(fā)送讀控制信號(hào)。此處只介紹端相
10、連,發(fā)送讀控制信號(hào)。此處只介紹數(shù)據(jù)存儲(chǔ)器的擴(kuò)展。數(shù)據(jù)存儲(chǔ)器的擴(kuò)展。9:13149.2.1 數(shù)據(jù)存儲(chǔ)器芯片數(shù)據(jù)存儲(chǔ)器芯片 典型型號(hào)有典型型號(hào)有:6116、6264、62128、62256。+5V電源供電,電源供電,雙列直插,雙列直插,6116為為24引腳封裝,引腳封裝,6264、62128、62256為為28引腳封裝。引腳封裝。 6116:2KB62128:16KB6264:8KB62256:32KB9:13159:13169.2.2 地址鎖存器芯片地址鎖存器芯片 74LS373的結(jié)構(gòu)及引腳的結(jié)構(gòu)及引腳1. 鎖存器鎖存器74LS3739:1317 2. 鎖存器鎖存器8282 功能及內(nèi)部結(jié)構(gòu)與功能
11、及內(nèi)部結(jié)構(gòu)與74LS373完全一樣,只是其引腳的排列與完全一樣,只是其引腳的排列與74LS373不同不同 ,8282的引腳如下圖。的引腳如下圖。 9:1318引腳的排列為繪制印刷引腳的排列為繪制印刷電路板時(shí)的布線提供了方便。電路板時(shí)的布線提供了方便。9:13193. 鎖存器鎖存器74LS573 輸入的輸入的D端和輸出的端和輸出的Q端也是依次排在芯片的兩側(cè),與鎖存端也是依次排在芯片的兩側(cè),與鎖存器器8282一樣,一樣,為繪制印刷電路板時(shí)的布線提供了方便。為繪制印刷電路板時(shí)的布線提供了方便。9:13209.2.3 數(shù)據(jù)存儲(chǔ)器的擴(kuò)展電路數(shù)據(jù)存儲(chǔ)器的擴(kuò)展電路 存儲(chǔ)芯片存儲(chǔ)芯片 地址線低地址線低8位位A
12、7-A0地址線高地址線高(n-8)位位An-1-A8數(shù)據(jù)線數(shù)據(jù)線D7-D0片選信號(hào)片選信號(hào)CE 讀允許讀允許OE、寫允許、寫允許WE接地接地需要考慮與需要考慮與80C51相連的存儲(chǔ)芯片引腳:相連的存儲(chǔ)芯片引腳:80C51 CPU(1)地址總線地址總線P0.0-P0.7(2)地址總線地址總線P2.0-P2.n-9(3)數(shù)據(jù)總線的數(shù)據(jù)總線的P0.0-P0.7(4) EA 接接+5V(5)(6) ALE74LS37374LS373G端端RDWR9:1321圖圖9-7 AT89C51外擴(kuò)一片外擴(kuò)一片6264的電路連接的電路連接例例9-1 對(duì)對(duì)AT89C51單片機(jī)外擴(kuò)一片單片機(jī)外擴(kuò)一片8kB的的RAM
13、6264芯片。芯片。解:擴(kuò)展的電路連接如圖解:擴(kuò)展的電路連接如圖9-7所示。由于只有一片存儲(chǔ)器芯片,所以將所示。由于只有一片存儲(chǔ)器芯片,所以將6264的片選直接接的片選直接接地。地。 6264芯片中存儲(chǔ)單元的地址變化范圍為:芯片中存儲(chǔ)單元的地址變化范圍為:xxx0 0000 0000 0000Bxxx1 1111 1111 1111B,即單片機(jī)地址線的,即單片機(jī)地址線的P2.4P2.0與與P0.7P0.0發(fā)出的信號(hào)可以從全發(fā)出的信號(hào)可以從全0變化到全變化到全1,P2.7P2.5因?yàn)闆]有與因?yàn)闆]有與6264相連,所以狀態(tài)任意。如果將任意狀態(tài)相連,所以狀態(tài)任意。如果將任意狀態(tài)x都看成都看成0,則,
14、則6264的地址范圍為:的地址范圍為:0000 0000 0000 0000B0001 1111 1111 1111B,即,即0000H1FFFH。9:13229.2.4存儲(chǔ)器的編址存儲(chǔ)器的編址 存儲(chǔ)器擴(kuò)展的核心問題是存儲(chǔ)器的存儲(chǔ)器擴(kuò)展的核心問題是存儲(chǔ)器的編址問題編址問題。 所謂編址,就是利用單片機(jī)系統(tǒng)提供的地址總線,通過適所謂編址,就是利用單片機(jī)系統(tǒng)提供的地址總線,通過適當(dāng)?shù)倪B接,使系統(tǒng)中每一個(gè)外擴(kuò)芯片的每一個(gè)單元都有一個(gè)當(dāng)?shù)倪B接,使系統(tǒng)中每一個(gè)外擴(kuò)芯片的每一個(gè)單元都有一個(gè)唯一的地址,以便保證同一時(shí)刻只能有一個(gè)外設(shè)使用數(shù)據(jù)總唯一的地址,以便保證同一時(shí)刻只能有一個(gè)外設(shè)使用數(shù)據(jù)總線與線與CPU交
15、換數(shù)據(jù),保證系統(tǒng)有條不紊地工作。交換數(shù)據(jù),保證系統(tǒng)有條不紊地工作。 存儲(chǔ)器芯片內(nèi)部有多個(gè)可尋址單元,因此編址涉及兩方面存儲(chǔ)器芯片內(nèi)部有多個(gè)可尋址單元,因此編址涉及兩方面問題:問題:一個(gè)是片內(nèi)單元的編址,稱為片內(nèi)尋址,一個(gè)是片內(nèi)單元的編址,稱為片內(nèi)尋址,由芯片內(nèi)部由芯片內(nèi)部的地址譯碼電路完成,只需將存儲(chǔ)器芯片自身的地址線與單的地址譯碼電路完成,只需將存儲(chǔ)器芯片自身的地址線與單片機(jī)的地址線按位號(hào)對(duì)應(yīng)相連;片機(jī)的地址線按位號(hào)對(duì)應(yīng)相連;另一個(gè)是存儲(chǔ)器芯片的片選另一個(gè)是存儲(chǔ)器芯片的片選/使能信號(hào)產(chǎn)生問題,稱為芯片尋址,使能信號(hào)產(chǎn)生問題,稱為芯片尋址,由單片機(jī)剩余的地址線由單片機(jī)剩余的地址線通過片外譯碼電
16、路完成。通過片外譯碼電路完成。 編址技術(shù)就是研究系統(tǒng)地址空間的分配問題,即如何產(chǎn)生編址技術(shù)就是研究系統(tǒng)地址空間的分配問題,即如何產(chǎn)生芯片片選芯片片選/使能信號(hào)的問題。使能信號(hào)的問題。存儲(chǔ)器存在編址問題,本章后面存儲(chǔ)器存在編址問題,本章后面所講的各種外擴(kuò)芯片也都存在編址問題。所講的各種外擴(kuò)芯片也都存在編址問題。9:1323 通常,產(chǎn)生外擴(kuò)芯片片選信號(hào)的方法有通常,產(chǎn)生外擴(kuò)芯片片選信號(hào)的方法有2種:種:線選法和譯碼法。線選法和譯碼法。1. 線選法線選法 線選法線選法是指直接將單片機(jī)高位地址線作為外擴(kuò)芯片的片選是指直接將單片機(jī)高位地址線作為外擴(kuò)芯片的片選信號(hào),即把單片機(jī)選定的高位地址線與外擴(kuò)芯片的片
17、選信號(hào),即把單片機(jī)選定的高位地址線與外擴(kuò)芯片的片選/使能使能端端(或或)直接連接。直接連接。 例例9-2 設(shè)計(jì)兩片設(shè)計(jì)兩片RAM 6264芯片與芯片與AT89C51單片機(jī)的連接電單片機(jī)的連接電路,兩片路,兩片6264芯片的片選信號(hào)采用線選法產(chǎn)生,計(jì)算存儲(chǔ)器芯片的片選信號(hào)采用線選法產(chǎn)生,計(jì)算存儲(chǔ)器的地址范圍。的地址范圍。 解:解:6264地址線有地址線有13條條(A12A0),因此低位地址線為,因此低位地址線為A12A0,高位地址線為,高位地址線為A15A13。片內(nèi)地址范圍均為。片內(nèi)地址范圍均為0000H1FFFH。6264(1)的片選線接的片選線接P2.5,6264(2)的片選線的片選線接接P
18、2.6,單片機(jī)與存儲(chǔ)器的連接電路如圖,單片機(jī)與存儲(chǔ)器的連接電路如圖9-8所示。所示。 9:1324圖圖9-8 采用線選法擴(kuò)展兩片采用線選法擴(kuò)展兩片6264的電路連接的電路連接 芯片的地址計(jì)算過程及地址范圍芯片的地址計(jì)算過程及地址范圍 :9:1325 高位未用的地址線高位未用的地址線P2.7取為取為1,實(shí)際上也可以為,實(shí)際上也可以為0。當(dāng)。當(dāng)P2.7為為0時(shí),時(shí),6264(1)的地址范圍為的地址范圍為4000H5FFFH;6264(2)的地的地址范圍為址范圍為2000H3FFFH; 可見,芯片上的一個(gè)單元可以有多個(gè)地址,即地址不唯可見,芯片上的一個(gè)單元可以有多個(gè)地址,即地址不唯一,通常稱為地址重
19、疊。原因是因?yàn)橛械母呶痪€沒有參與片一,通常稱為地址重疊。原因是因?yàn)橛械母呶痪€沒有參與片選信號(hào)的產(chǎn)生,可以是選信號(hào)的產(chǎn)生,可以是1也可以是也可以是0。 由例由例9-2可知,可知,線選法的特點(diǎn)是電路簡單,不需外加地址線選法的特點(diǎn)是電路簡單,不需外加地址譯碼電路;譯碼電路;但芯片占用的存儲(chǔ)空間不緊湊,尋址范圍不唯一,但芯片占用的存儲(chǔ)空間不緊湊,尋址范圍不唯一,且地址空間利用率低,可擴(kuò)展的芯片個(gè)數(shù)少。適用于小規(guī)模且地址空間利用率低,可擴(kuò)展的芯片個(gè)數(shù)少。適用于小規(guī)模單片機(jī)應(yīng)用系統(tǒng)的簡單擴(kuò)展。單片機(jī)應(yīng)用系統(tǒng)的簡單擴(kuò)展。9:1326 2. 譯碼法譯碼法 譯碼法是利用片外譯碼電路對(duì)系統(tǒng)高位地址線進(jìn)行譯碼,譯碼
20、法是利用片外譯碼電路對(duì)系統(tǒng)高位地址線進(jìn)行譯碼,產(chǎn)生外圍芯片的片選信號(hào),低位地址線仍用于片內(nèi)尋址。其產(chǎn)生外圍芯片的片選信號(hào),低位地址線仍用于片內(nèi)尋址。其中,當(dāng)所有高位地址線都參與譯碼時(shí)稱為全譯碼法,只有部中,當(dāng)所有高位地址線都參與譯碼時(shí)稱為全譯碼法,只有部分高位地址線參與譯碼時(shí)稱為部分譯碼法。分高位地址線參與譯碼時(shí)稱為部分譯碼法。 譯碼電路可用專用的譯碼器芯片實(shí)現(xiàn),單片機(jī)應(yīng)用系統(tǒng)常譯碼電路可用專用的譯碼器芯片實(shí)現(xiàn),單片機(jī)應(yīng)用系統(tǒng)常用的譯碼器有以下用的譯碼器有以下3種:種: 2-4譯碼器譯碼器(如雙如雙2-4譯碼器譯碼器74LS139),可對(duì),可對(duì)2位高位地址進(jìn)位高位地址進(jìn)行譯碼,產(chǎn)生行譯碼,產(chǎn)生
21、4個(gè)片選信號(hào),最多可外接個(gè)片選信號(hào),最多可外接4個(gè)芯片。個(gè)芯片。 3-8譯碼器譯碼器(如如74LS138),可對(duì),可對(duì)3位高位地址進(jìn)行譯碼,產(chǎn)位高位地址進(jìn)行譯碼,產(chǎn)生生8個(gè)片選信號(hào),最多可外接個(gè)片選信號(hào),最多可外接8個(gè)芯片。個(gè)芯片。 4-16譯碼器譯碼器(如如74LS154),可對(duì),可對(duì)4位高位地址進(jìn)行譯碼,產(chǎn)位高位地址進(jìn)行譯碼,產(chǎn)生生16個(gè)片選信號(hào),最多可外接個(gè)片選信號(hào),最多可外接16個(gè)芯片。個(gè)芯片。 譯碼法的地址計(jì)算方法同線選法類似,不同之處在于片外譯碼法的地址計(jì)算方法同線選法類似,不同之處在于片外地址的形成與譯碼電路有關(guān),需要進(jìn)行簡單計(jì)算。地址的形成與譯碼電路有關(guān),需要進(jìn)行簡單計(jì)算。 9
22、:1327例例9-3 在在AT89C51單片機(jī)外擴(kuò)單片機(jī)外擴(kuò)4片片6264芯片,設(shè)計(jì)單片機(jī)與存儲(chǔ)芯片,設(shè)計(jì)單片機(jī)與存儲(chǔ)器的連接電路,要求器的連接電路,要求6264芯片的片選信號(hào)采用譯碼法產(chǎn)生,芯片的片選信號(hào)采用譯碼法產(chǎn)生,計(jì)算存儲(chǔ)器的地址范圍。計(jì)算存儲(chǔ)器的地址范圍。解:解:4片片6264的地址線均有的地址線均有13條,因此低位地址線為條,因此低位地址線為A12A0,高位地址線,高位地址線為為A15A13。4個(gè)芯片的片選線采用個(gè)芯片的片選線采用3-8譯碼器譯碼后獲得,電路連接如譯碼器譯碼后獲得,電路連接如圖圖9-10所示。所示。9:13289:1329 由于高位地址線全部參與產(chǎn)生片選信號(hào),因此芯
23、片上的單元由于高位地址線全部參與產(chǎn)生片選信號(hào),因此芯片上的單元與地址一一對(duì)應(yīng),地址不重疊,且與地址一一對(duì)應(yīng),地址不重疊,且4個(gè)芯片的地址連續(xù)。個(gè)芯片的地址連續(xù)。 本題也可以利用本題也可以利用2-4譯碼器實(shí)現(xiàn),這樣只有譯碼器實(shí)現(xiàn),這樣只有2條高位地址線參條高位地址線參與譯碼,為部分譯碼法。由于剩余的一條地址線可與譯碼,為部分譯碼法。由于剩余的一條地址線可0可可1,因,因此也會(huì)出現(xiàn)地址重疊現(xiàn)象。此也會(huì)出現(xiàn)地址重疊現(xiàn)象。 由例由例9-3可知,譯碼法的特點(diǎn)是對(duì)系統(tǒng)地址空間的利用率高,可知,譯碼法的特點(diǎn)是對(duì)系統(tǒng)地址空間的利用率高,各芯片的地址連續(xù),特別是全譯碼法,每個(gè)芯片上每個(gè)單元各芯片的地址連續(xù),特別
24、是全譯碼法,每個(gè)芯片上每個(gè)單元只有一個(gè)唯一的系統(tǒng)地址,不存在地址重疊現(xiàn)象,利用相同只有一個(gè)唯一的系統(tǒng)地址,不存在地址重疊現(xiàn)象,利用相同位數(shù)的高位地址線,全譯碼法產(chǎn)生的片選信號(hào)線比線選法多,位數(shù)的高位地址線,全譯碼法產(chǎn)生的片選信號(hào)線比線選法多,可擴(kuò)展更多的外圍芯片。部分譯碼法雖然存在地址重疊現(xiàn)象,可擴(kuò)展更多的外圍芯片。部分譯碼法雖然存在地址重疊現(xiàn)象,但譯碼電路更簡單。譯碼法適用于較復(fù)雜的單片機(jī)系統(tǒng)的擴(kuò)但譯碼電路更簡單。譯碼法適用于較復(fù)雜的單片機(jī)系統(tǒng)的擴(kuò)展。展。9:13309.3 并行并行I/O接口的擴(kuò)展接口的擴(kuò)展 單片機(jī)系統(tǒng)內(nèi)部具有單片機(jī)系統(tǒng)內(nèi)部具有4個(gè)個(gè)8位并行位并行I/O口口,均可用于雙向并
25、行,均可用于雙向并行I/O接口,與外部設(shè)備相連。接口,與外部設(shè)備相連。 但在實(shí)際應(yīng)用中,只有在單片機(jī)的最小應(yīng)用系統(tǒng)下,這但在實(shí)際應(yīng)用中,只有在單片機(jī)的最小應(yīng)用系統(tǒng)下,這4個(gè)個(gè)I/O口才作為通用口才作為通用I/O口使用。在系統(tǒng)進(jìn)行外部擴(kuò)展時(shí),口使用。在系統(tǒng)進(jìn)行外部擴(kuò)展時(shí),P0口作口作為數(shù)據(jù)總線和低為數(shù)據(jù)總線和低8位地址總線,位地址總線,P2口作為高口作為高8位地址總線,位地址總線,P3口用于第二功能提供部分控制總線,因此用戶只能使用口用于第二功能提供部分控制總線,因此用戶只能使用P1口,口,這在外設(shè)較多的情況往往不夠用,這在外設(shè)較多的情況往往不夠用,必須進(jìn)行并行必須進(jìn)行并行I/O口的擴(kuò)展??诘臄U(kuò)
26、展。 9:13319.3.1 并行并行I/O口擴(kuò)展概述口擴(kuò)展概述1. 并行并行I/O口的擴(kuò)展方法口的擴(kuò)展方法(1) 并行總線擴(kuò)展并行總線擴(kuò)展 將待擴(kuò)展的將待擴(kuò)展的I/O接口芯片的數(shù)據(jù)線與單片機(jī)的數(shù)據(jù)總線(接口芯片的數(shù)據(jù)線與單片機(jī)的數(shù)據(jù)總線(P0口)并口)并接,需要一根片選信號(hào)線,并分時(shí)占用接,需要一根片選信號(hào)線,并分時(shí)占用P0口。口。 特點(diǎn):特點(diǎn):由于不影響其他芯片的連接與操作,也不給單片機(jī)硬件帶來由于不影響其他芯片的連接與操作,也不給單片機(jī)硬件帶來額外開支,因此在應(yīng)用系統(tǒng)的并行額外開支,因此在應(yīng)用系統(tǒng)的并行I/O口擴(kuò)展中被廣泛采用??跀U(kuò)展中被廣泛采用。 (2) 串行口擴(kuò)展方法串行口擴(kuò)展方法
27、單片機(jī)串行口的工作方式單片機(jī)串行口的工作方式0為移位寄存器方式,對(duì)于不使用串行口為移位寄存器方式,對(duì)于不使用串行口的單片機(jī)應(yīng)用系統(tǒng),可在串行口外接一串入的單片機(jī)應(yīng)用系統(tǒng),可在串行口外接一串入/并出移位寄存器以實(shí)現(xiàn)并并出移位寄存器以實(shí)現(xiàn)并行行I/O口的擴(kuò)展。通過移位寄存器的級(jí)聯(lián),還可擴(kuò)展大量的并行口的擴(kuò)展。通過移位寄存器的級(jí)聯(lián),還可擴(kuò)展大量的并行I/O口口線。線。特點(diǎn):特點(diǎn):這種擴(kuò)展方法數(shù)據(jù)傳輸速度較慢。這種擴(kuò)展方法數(shù)據(jù)傳輸速度較慢。9:13322. I/O口的編址方式口的編址方式I/O接口中的端口接口中的端口 :指存放地址、數(shù)據(jù)、控制信息的寄存器:指存放地址、數(shù)據(jù)、控制信息的寄存器 I/O端口
28、的編址方式有獨(dú)立編址和統(tǒng)一編址端口的編址方式有獨(dú)立編址和統(tǒng)一編址 (1) 獨(dú)立編址方式獨(dú)立編址方式 獨(dú)立編址是指獨(dú)立編址是指I/O端口的地址空間與存儲(chǔ)器地址空間相互獨(dú)立,完端口的地址空間與存儲(chǔ)器地址空間相互獨(dú)立,完全分開。全分開。 優(yōu)點(diǎn)是有專門的輸入優(yōu)點(diǎn)是有專門的輸入/輸出指令,程序清晰;存儲(chǔ)器和輸出指令,程序清晰;存儲(chǔ)器和I/O端口的控端口的控制結(jié)構(gòu)相互獨(dú)立。缺點(diǎn)是要求制結(jié)構(gòu)相互獨(dú)立。缺點(diǎn)是要求CPU設(shè)置專門的引腳信號(hào);設(shè)置專門的引腳信號(hào);I/O指令的指令的功能不豐富,程序設(shè)計(jì)的靈活性差。功能不豐富,程序設(shè)計(jì)的靈活性差。 80 x86系列的系列的CPU采用此種編址方式。采用此種編址方式。(2
29、) 統(tǒng)一編址方式統(tǒng)一編址方式 統(tǒng)一編址是指統(tǒng)一編址是指I/O端口與數(shù)據(jù)存儲(chǔ)器共用一個(gè)地址空間。其優(yōu)點(diǎn)是端口與數(shù)據(jù)存儲(chǔ)器共用一個(gè)地址空間。其優(yōu)點(diǎn)是不需要專門的輸入不需要專門的輸入/輸出指令,編程靈活;輸出指令,編程靈活;I/O端口的數(shù)目不受限制。端口的數(shù)目不受限制。缺點(diǎn)是占去數(shù)據(jù)存儲(chǔ)器地址空間,使存儲(chǔ)器可尋址空間減小。缺點(diǎn)是占去數(shù)據(jù)存儲(chǔ)器地址空間,使存儲(chǔ)器可尋址空間減小。 80C51單片機(jī)采用此種編址方式。單片機(jī)采用此種編址方式。9:1333 80C51單片機(jī)的單片機(jī)的I/O端口與外部數(shù)據(jù)存儲(chǔ)單元使用共同的端口與外部數(shù)據(jù)存儲(chǔ)單元使用共同的地址空間,地址空間,范圍是范圍是0000HFFFFH。 不
30、需要專門的輸入輸出指令,不需要專門的輸入輸出指令,單片機(jī)對(duì)擴(kuò)展單片機(jī)對(duì)擴(kuò)展I/O端口的訪端口的訪問方法同訪問外部問方法同訪問外部RAM一樣,用匯編語言編程時(shí)使用的指一樣,用匯編語言編程時(shí)使用的指令相同,如果用令相同,如果用C51編程,數(shù)據(jù)類型應(yīng)定義為編程,數(shù)據(jù)類型應(yīng)定義為xdata或或pdata。9:13349.3.2 簡單并行簡單并行I/O口的擴(kuò)展口的擴(kuò)展要求:要求:作為輸入接口的芯片應(yīng)具有三態(tài)特性;作為輸入接口的芯片應(yīng)具有三態(tài)特性;作為輸出接口的芯片應(yīng)具有鎖存功能。作為輸出接口的芯片應(yīng)具有鎖存功能。 擴(kuò)展方法特點(diǎn):擴(kuò)展方法特點(diǎn):電路結(jié)構(gòu)簡單,成本低,傳送控制方式簡電路結(jié)構(gòu)簡單,成本低,傳送
31、控制方式簡單,配置靈活使用方便,但電路連接后,功能難以改變。因此單,配置靈活使用方便,但電路連接后,功能難以改變。因此適用于擴(kuò)展單個(gè)適用于擴(kuò)展單個(gè)8位的輸入位的輸入/輸出口輸出口 選用選用TTL或或CMOS電路的三態(tài)緩沖器、寄存器或數(shù)據(jù)鎖存器等芯片作為電路的三態(tài)緩沖器、寄存器或數(shù)據(jù)鎖存器等芯片作為I/O口擴(kuò)口擴(kuò)展芯片。展芯片。 這些電路具有數(shù)據(jù)緩沖或鎖存功能,但自身只有數(shù)據(jù)的輸入或輸出、選通端或這些電路具有數(shù)據(jù)緩沖或鎖存功能,但自身只有數(shù)據(jù)的輸入或輸出、選通端或時(shí)鐘信號(hào)端,沒有地址線和讀時(shí)鐘信號(hào)端,沒有地址線和讀/寫控制線,故在進(jìn)行擴(kuò)展時(shí)往往需要將地址線和讀寫控制線,故在進(jìn)行擴(kuò)展時(shí)往往需要將地
32、址線和讀/寫等控制線經(jīng)邏輯組合后再輸出至選通端或時(shí)鐘信號(hào)端。寫等控制線經(jīng)邏輯組合后再輸出至選通端或時(shí)鐘信號(hào)端。 編址通常采用的是編址通常采用的是線選法,線選法,芯片地址由使用的地址線決定,往往有重疊。芯片地址由使用的地址線決定,往往有重疊。9:1335常使用緩沖器作為輸入接口芯片,經(jīng)常使用的芯片有:常使用緩沖器作為輸入接口芯片,經(jīng)常使用的芯片有:1. 74HC244/74LS244正相三態(tài)緩沖器正相三態(tài)緩沖器(單向驅(qū)動(dòng)單向驅(qū)動(dòng))。2. 74HC240/74LS240反相三態(tài)緩沖器。反相三態(tài)緩沖器。3. 74HC245/74LS2458總線接收器總線接收器(雙向驅(qū)動(dòng)雙向驅(qū)動(dòng))。常使用寄存器、鎖存
33、器作為輸出接口芯片,常用芯片:常使用寄存器、鎖存器作為輸出接口芯片,常用芯片:1. 74HC273/74LS2738D觸發(fā)器觸發(fā)器(共時(shí)鐘,帶清除共時(shí)鐘,帶清除)。2. 74HC373/74LS3738D鎖存器鎖存器/觸發(fā)器觸發(fā)器(三態(tài)輸出三態(tài)輸出)。3. 74HC374/74LS3748D觸發(fā)器觸發(fā)器(三態(tài)輸出三態(tài)輸出)。4. 74HC377/74LS3778D鎖存器。鎖存器。9:1336圖圖9-13 74LS244引腳圖和功能表引腳圖和功能表9:1337例例9-4 AT89C51單片機(jī)利用單片機(jī)利用74HC373和和74HC244進(jìn)行擴(kuò)展的進(jìn)行擴(kuò)展的開關(guān)與指示燈接口電路如圖開關(guān)與指示燈接口
34、電路如圖9-14所示,編寫程序?qū)崿F(xiàn)當(dāng)開關(guān)所示,編寫程序?qū)崿F(xiàn)當(dāng)開關(guān)DSW1打在打在“ON”位置時(shí)對(duì)應(yīng)的位置時(shí)對(duì)應(yīng)的LED亮,打在亮,打在“OFF”位置位置時(shí)對(duì)應(yīng)的時(shí)對(duì)應(yīng)的LED暗,即用暗,即用LED指示開關(guān)的狀態(tài)。指示開關(guān)的狀態(tài)。圖圖9-14 例例9-4proteus仿真電路仿真電路解:分析:解:分析:74HC373和和74HC244分別作為輸出接口和輸入接口。分別作為輸出接口和輸入接口。P2.0與與RD相或后作相或后作為為74HC244的片選信號(hào),與的片選信號(hào),與WR相或后作為相或后作為74HC373的片選信號(hào)。的片選信號(hào)。74HC373和和74HC244芯片的地址計(jì)算如圖芯片的地址計(jì)算如圖9
35、-15所示,兩個(gè)芯片的地址相同,但是所示,兩個(gè)芯片的地址相同,但是74HC244只有只有讀操作讀操作(RD=0,WR=1),而,而74HC373只有寫操作只有寫操作(RD=1,WR=0),因此依然可以使,因此依然可以使用用P0口與口與CPU交換數(shù)據(jù)而不會(huì)產(chǎn)生沖突。交換數(shù)據(jù)而不會(huì)產(chǎn)生沖突。當(dāng)開關(guān)打在當(dāng)開關(guān)打在“ON”位置時(shí),從位置時(shí),從74HC244讀入的對(duì)應(yīng)位為讀入的對(duì)應(yīng)位為0,通過,通過74HC373輸出時(shí),輸出時(shí),剛好使對(duì)應(yīng)的剛好使對(duì)應(yīng)的LED點(diǎn)亮。點(diǎn)亮。圖圖9-15 74HC373和和74HC244芯片的地址計(jì)算芯片的地址計(jì)算9:1338程序設(shè)計(jì)如下:程序設(shè)計(jì)如下:#include #i
36、nclude #define uchar unsigned char#define HC373 XBYTE0 xFEFF/ 74HC373的地的地址為址為0 xFEFF#define HC244 XBYTE0 xFEFF / 74HC244的地的地址為址為0 xFEFFuchar status;void main() while(1) status=HC244;/從從74HC245輸入數(shù)據(jù)輸入數(shù)據(jù) HC373=status; /從從74HC373輸出數(shù)據(jù)輸出數(shù)據(jù) 9:13399.3.3 可編程并行可編程并行I/O口的擴(kuò)展口的擴(kuò)展 采用采用TTL或或CMOS電路擴(kuò)展的電路擴(kuò)展的I/O口,只能用于
37、對(duì)輸入口,只能用于對(duì)輸入/ 輸輸出要求較為簡單的系統(tǒng)中,當(dāng)單片機(jī)應(yīng)用系統(tǒng)中需要較為復(fù)雜出要求較為簡單的系統(tǒng)中,當(dāng)單片機(jī)應(yīng)用系統(tǒng)中需要較為復(fù)雜的的I/O接口時(shí),應(yīng)選用通用可編程的接口時(shí),應(yīng)選用通用可編程的I/O接口芯片來擴(kuò)展。接口芯片來擴(kuò)展。 可編程可編程I/O接口芯片接口芯片的工作方式和功能的工作方式和功能均可通過軟件編程均可通過軟件編程設(shè)設(shè)定,使用靈活,既可作為輸入口使用,又可作為輸出口使用,定,使用靈活,既可作為輸入口使用,又可作為輸出口使用,適應(yīng)多種功能需求,應(yīng)用非常廣泛。適應(yīng)多種功能需求,應(yīng)用非常廣泛。 9:13401. 8255A的內(nèi)部結(jié)構(gòu)和功能的內(nèi)部結(jié)構(gòu)和功能(1) 與外設(shè)相關(guān)的外
38、部接口與外設(shè)相關(guān)的外部接口 它包含它包含3個(gè)個(gè)8位的可編程雙向位的可編程雙向I/O接口,分別稱為接口,分別稱為A口、口、B口、口、C口???。 外設(shè)通過這些端口與單片機(jī)外設(shè)通過這些端口與單片機(jī)交換信息。交換信息。 A口口具有一個(gè)具有一個(gè)8位數(shù)據(jù)輸出鎖位數(shù)據(jù)輸出鎖存存/緩沖器和一個(gè)緩沖器和一個(gè)8位輸入鎖存器,位輸入鎖存器,是最靈活的輸入是最靈活的輸入/輸出寄存器,輸出寄存器,它可以編程為輸入它可以編程為輸入/輸出或雙向輸出或雙向寄存器;寄存器; B口口具有一個(gè)具有一個(gè)8位數(shù)據(jù)輸出鎖位數(shù)據(jù)輸出鎖存存/緩沖器和一個(gè)緩沖器和一個(gè)8位輸入緩沖器位輸入緩沖器(但不鎖存但不鎖存),它可以編程為輸入,它可以編程
39、為輸入/輸出寄存器,但不能雙向輸入輸出寄存器,但不能雙向輸入/輸出;輸出; C口口具有一個(gè)具有一個(gè)8位數(shù)據(jù)輸出鎖位數(shù)據(jù)輸出鎖存存/緩沖器和一個(gè)緩沖器和一個(gè)8位輸入緩沖器位輸入緩沖器(但不鎖存但不鎖存)。 (2) 與內(nèi)部工作方式相關(guān)與內(nèi)部工作方式相關(guān)的內(nèi)部控制邏輯的內(nèi)部控制邏輯 它包含有兩組控制電路,它包含有兩組控制電路,稱為稱為A組和組和B組的控制電路,組的控制電路,其內(nèi)設(shè)有控制寄存器,控制其內(nèi)設(shè)有控制寄存器,控制寄存器的內(nèi)容由單片機(jī)寫入,寄存器的內(nèi)容由單片機(jī)寫入,它決定了它決定了8255A的工作方式。的工作方式。(3) 與單片機(jī)有關(guān)的與單片機(jī)有關(guān)的CPU接口接口 包括數(shù)據(jù)總線緩沖器和讀包括數(shù)
40、據(jù)總線緩沖器和讀/寫控制邏輯,這是任何一個(gè)寫控制邏輯,這是任何一個(gè)可編程接口芯片都具有的組可編程接口芯片都具有的組成部分。成部分。 數(shù)據(jù)總線緩沖器是數(shù)據(jù)總線緩沖器是8255A與系統(tǒng)總線連接的通道,它與系統(tǒng)總線連接的通道,它可以輸入或輸出各種數(shù)據(jù),可以輸入或輸出各種數(shù)據(jù),如外設(shè)送給單片機(jī)的信息、如外設(shè)送給單片機(jī)的信息、單片機(jī)送給單片機(jī)送給8255A的命令和的命令和單片機(jī)送給外設(shè)的信息等。單片機(jī)送給外設(shè)的信息等。 讀讀/寫控制邏輯電路寫控制邏輯電路負(fù)責(zé)管負(fù)責(zé)管理理8255A的數(shù)據(jù)傳輸過程,的數(shù)據(jù)傳輸過程,它接收片選信號(hào)及系統(tǒng)讀信它接收片選信號(hào)及系統(tǒng)讀信號(hào)、寫信號(hào)、復(fù)位信號(hào)號(hào)、寫信號(hào)、復(fù)位信號(hào)RES
41、ET、口地址選擇信號(hào)、口地址選擇信號(hào)(一般用地址線的最低位一般用地址線的最低位A1和和A0),用于控制對(duì),用于控制對(duì)8255A內(nèi)內(nèi)部的四個(gè)寄存器進(jìn)行讀部的四個(gè)寄存器進(jìn)行讀/寫操寫操作。作。9:1341(1) 面向面向CPU的引腳信號(hào)及功能的引腳信號(hào)及功能D0D7:8位雙向三態(tài)數(shù)據(jù)線,位雙向三態(tài)數(shù)據(jù)線,可以與系統(tǒng)數(shù)據(jù)總線直可以與系統(tǒng)數(shù)據(jù)總線直接相連,用于在接相連,用于在CPU與與8255A之間傳送數(shù)據(jù)信息、控制之間傳送數(shù)據(jù)信息、控制信息及狀態(tài)信息。信息及狀態(tài)信息。RESET:復(fù)位信號(hào),:復(fù)位信號(hào),高電平有效,輸入,用來清除高電平有效,輸入,用來清除8255A的內(nèi)部寄存器,并置的內(nèi)部寄存器,并置A
42、口、口、B口、口、C口均為輸入方口均為輸入方式。注意:式。注意:8255A工作之前,硬件上必須先復(fù)位,使工作之前,硬件上必須先復(fù)位,使8255A內(nèi)部的各個(gè)部件處于待命狀態(tài)。內(nèi)部的各個(gè)部件處于待命狀態(tài)。CS:片選,:片選,輸入,低電平有效,用來決定芯片是否被選輸入,低電平有效,用來決定芯片是否被選中。只有該信號(hào)有效時(shí),才允許中。只有該信號(hào)有效時(shí),才允許CPU與與8255A交換信息。交換信息。RD:讀信號(hào),:讀信號(hào),輸入,低電平有效,當(dāng)有效且為低電平時(shí),輸入,低電平有效,當(dāng)有效且為低電平時(shí),將被選中的端口數(shù)據(jù)或狀態(tài)信息送至數(shù)據(jù)總線。將被選中的端口數(shù)據(jù)或狀態(tài)信息送至數(shù)據(jù)總線。WR:寫信號(hào),:寫信號(hào),
43、輸入,低電平有效,當(dāng)有效且為低電平時(shí),輸入,低電平有效,當(dāng)有效且為低電平時(shí),CPU將數(shù)據(jù)線上的數(shù)據(jù)或控制信息寫入被選中的端口。將數(shù)據(jù)線上的數(shù)據(jù)或控制信息寫入被選中的端口。A1、A0:內(nèi)部口地址選擇信號(hào),:內(nèi)部口地址選擇信號(hào),輸入。這兩個(gè)引腳上的輸入。這兩個(gè)引腳上的信號(hào)組合決定對(duì)信號(hào)組合決定對(duì)8255A內(nèi)部的哪一個(gè)口或寄存器進(jìn)行操作。內(nèi)部的哪一個(gè)口或寄存器進(jìn)行操作。8255A內(nèi)部共有內(nèi)部共有4個(gè)端口:端口個(gè)端口:端口A、端口、端口B、端口、端口C和控制和控制口。引腳口。引腳Al、A0與、組合,可用來選中端口,并對(duì)其與、組合,可用來選中端口,并對(duì)其進(jìn)行讀或?qū)懖僮鳎M(jìn)行讀或?qū)懖僮鳎?255A的操作功
44、能如表的操作功能如表9-3所示。所示。9:1342圖圖9-17 8255A的引腳圖的引腳圖 (2) 面向外設(shè)的引腳信號(hào)及功能面向外設(shè)的引腳信號(hào)及功能PA0PA7:A口數(shù)據(jù)信號(hào),用來連接外設(shè)??跀?shù)據(jù)信號(hào),用來連接外設(shè)。PB0PB7:B口數(shù)據(jù)信號(hào),用來連接外設(shè)。口數(shù)據(jù)信號(hào),用來連接外設(shè)。PC0PC7:C口數(shù)據(jù)信號(hào),其作用由軟件設(shè)定,口數(shù)據(jù)信號(hào),其作用由軟件設(shè)定,可連接外設(shè),在可連接外設(shè),在CPU與外設(shè)之間傳送數(shù)據(jù);也可與外設(shè)之間傳送數(shù)據(jù);也可以作為以作為A口或口或B口輸入口輸入/輸出操作的聯(lián)絡(luò)線和控制線。輸出操作的聯(lián)絡(luò)線和控制線。9:13433. 8255A與單片機(jī)的接口電路與單片機(jī)的接口電路單片
45、機(jī)與單片機(jī)與8255A的連接就是的連接就是3組總線的連接。組總線的連接。 (1) 數(shù)據(jù)總線的連接數(shù)據(jù)總線的連接將將8255A的的8根數(shù)據(jù)總線根數(shù)據(jù)總線D0D7與與AT89C52的的P0.0P0.7相連。相連。(2) 地址總線的連接地址總線的連接將將8255A的地址線的地址線A0、A1通過通過74HC573鎖存器與鎖存器與AT89C52的的P0.0、P0.1連接。連接。Al、A0取值取值0011,分,分別對(duì)應(yīng)選擇別對(duì)應(yīng)選擇A、B、C口與控制寄存口與控制寄存器。器。(3) 控制總線的連接控制總線的連接8255A的片選信號(hào)由單片機(jī)的片選信號(hào)由單片機(jī)P2.5P2.7經(jīng)經(jīng)74HC138譯碼器的譯碼器的Y
46、7產(chǎn)生。產(chǎn)生。若要選中若要選中8255A,則,則Y7必須有效,必須有效,此時(shí)此時(shí)P2.7P2.6P2.5=111。 9:13449:13454. 8255的工作方式的工作方式8255A有三種工作方式:有三種工作方式:方式方式0:基本輸入輸出;基本輸入輸出; 方式方式1:選通輸入輸出;選通輸入輸出; 方式方式2:雙向傳送(僅雙向傳送(僅A口有)。口有)。9:1346A. 具有兩個(gè)具有兩個(gè)8位端口(位端口(A、B)和兩個(gè))和兩個(gè)4位端口(位端口(C的上半部分的上半部分和下半部分)。和下半部分)。B. 任一個(gè)端口都可以設(shè)定為輸入或輸出,各端口的輸入、任一個(gè)端口都可以設(shè)定為輸入或輸出,各端口的輸入、輸
47、出可構(gòu)成輸出可構(gòu)成16種組合。種組合。C. 數(shù)據(jù)輸出鎖存,輸入不鎖存。數(shù)據(jù)輸出鎖存,輸入不鎖存。(1) 方式方式0 基本輸入輸出基本輸入輸出功能:功能:應(yīng)用場合:應(yīng)用場合:A. 無條件傳送;無條件傳送;B. 查詢式傳送。查詢式傳送。 在利用查詢傳送方式傳送數(shù)據(jù)時(shí),可用在利用查詢傳送方式傳送數(shù)據(jù)時(shí),可用A口、口、B口、口、C口這口這三個(gè)口的任一位充當(dāng)查詢信號(hào),其余三個(gè)口的任一位充當(dāng)查詢信號(hào),其余I/O口仍作為獨(dú)立的端口仍作為獨(dú)立的端口和外設(shè)相連??诤屯庠O(shè)相連。 9:1347(2) 方式方式1 選通輸入選通輸入/輸出工作方式輸出工作方式三個(gè)端口分為三個(gè)端口分為A、B兩組。兩組。A、B口仍作為兩個(gè)獨(dú)
48、立的口仍作為兩個(gè)獨(dú)立的8位位I/O數(shù)據(jù)通道,數(shù)據(jù)通道,可單獨(dú)連接外設(shè),通過編程設(shè)置它們?yōu)檩斎牖蜉敵?,可單?dú)連接外設(shè),通過編程設(shè)置它們?yōu)檩斎牖蜉敵?,C口則要由六位口則要由六位(分分成兩個(gè)成兩個(gè)3位位)分別作為分別作為A口和口和B口的應(yīng)答信號(hào)線,其余兩位分別仍可工作在口的應(yīng)答信號(hào)線,其余兩位分別仍可工作在方式方式0。 A. 方式方式1輸入輸入 控制聯(lián)絡(luò)信號(hào)如下頁圖所示,控制聯(lián)絡(luò)信號(hào)如下頁圖所示,STB與與IBF構(gòu)成了一對(duì)應(yīng)答聯(lián)構(gòu)成了一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào)。絡(luò)信號(hào)。9:1348 方式方式1輸入輸入9:1349INTR (Interrupt request) :中斷請(qǐng)求信號(hào),高電平有效。中斷請(qǐng)求信號(hào),高電平
49、有效。由由8255A輸出,向單片機(jī)發(fā)中斷請(qǐng)求。輸出,向單片機(jī)發(fā)中斷請(qǐng)求。INTEA (Interrupt Enable):A口中斷允許,由口中斷允許,由PC4控制,控制, INTE B:B口中斷允許,由口中斷允許,由PC2控制??刂?。STB (Strobe):選通輸入,是由外設(shè)送來的輸入信號(hào)。當(dāng)其為選通輸入,是由外設(shè)送來的輸入信號(hào)。當(dāng)其為低時(shí),將外設(shè)數(shù)據(jù)輸入低時(shí),將外設(shè)數(shù)據(jù)輸入8255A。IBF (Input Buffer Full) :輸入緩沖器滿,高電平有效。表示輸入緩沖器滿,高電平有效。表示數(shù)據(jù)已送入數(shù)據(jù)已送入 8255A的輸入鎖存器,它由的輸入鎖存器,它由STB信號(hào)的下降沿置信號(hào)的下降
50、沿置 位,由位,由RD信號(hào)的上升沿使其復(fù)位。信號(hào)的上升沿使其復(fù)位。9:1350B. 方式方式1輸出輸出 如下頁圖所示。如下頁圖所示。OBF與與ACK構(gòu)成了一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào)構(gòu)成了一對(duì)應(yīng)答聯(lián)絡(luò)信號(hào),各各信號(hào)的功能如下:信號(hào)的功能如下:OBF (Output Buffer Full) :輸出緩沖器滿信號(hào),輸出緩沖器滿信號(hào),8255A給外設(shè)給外設(shè)的聯(lián)絡(luò)信號(hào),外設(shè)可以將數(shù)據(jù)取走。的聯(lián)絡(luò)信號(hào),外設(shè)可以將數(shù)據(jù)取走。ACK (Acknowledge) :外設(shè)的響應(yīng)信號(hào),外設(shè)已將數(shù)據(jù)取走。外設(shè)的響應(yīng)信號(hào),外設(shè)已將數(shù)據(jù)取走。INTR:中斷請(qǐng)求信號(hào)。表示該數(shù)據(jù)已被外設(shè)取走,請(qǐng)求單片中斷請(qǐng)求信號(hào)。表示該數(shù)據(jù)已被外設(shè)取
51、走,請(qǐng)求單片機(jī)繼續(xù)輸出下一個(gè)數(shù)據(jù)。機(jī)繼續(xù)輸出下一個(gè)數(shù)據(jù)。INTE A:中斷允許,由:中斷允許,由PC6控制??刂啤NTE B:中斷允許,由:中斷允許,由PC2控制??刂?。9:1351 方式方式1輸出輸出9:1352C. 方式方式2只有只有A口才能設(shè)定為方式口才能設(shè)定為方式2。方式方式2工作示意圖如下頁所示。工作示意圖如下頁所示。在方式在方式2下,下,PA7PA0為雙向?yàn)殡p向I/O總線??偩€。 當(dāng)當(dāng)輸入輸入時(shí),時(shí),PA7PA0受受STBA和和IBFA控制,其工作過程控制,其工作過程和方式和方式1輸入時(shí)相同;輸入時(shí)相同; 當(dāng)當(dāng)輸出輸出時(shí),時(shí),PA7PA0受受OBFA、ACKA控制,其工作過控制,
52、其工作過程和方式程和方式1輸出時(shí)相同。輸出時(shí)相同。9:1353方方 式式 29:13545. 8255A的控制字和初始化編程的控制字和初始化編程 8255A芯片的芯片的初始化編程是通過對(duì)控制口寫入控制字的方式實(shí)現(xiàn)的初始化編程是通過對(duì)控制口寫入控制字的方式實(shí)現(xiàn)的。 控制字有兩個(gè),一是方式控制字,另一個(gè)是控制字有兩個(gè),一是方式控制字,另一個(gè)是C口按位置位口按位置位/復(fù)位控制字,用復(fù)位控制字,用D7位位來區(qū)分,故來區(qū)分,故D7位稱為特征位。位稱為特征位。 方式控制字用于設(shè)置方式控制字用于設(shè)置8255A芯片三個(gè)端口的工作方式以及輸入輸出狀態(tài),用芯片三個(gè)端口的工作方式以及輸入輸出狀態(tài),用D7位為位為1來
53、標(biāo)識(shí)。來標(biāo)識(shí)。 圖圖9-19 8255A的方式控制字的方式控制字 例如,設(shè)定例如,設(shè)定A口為方式口為方式1輸入,輸入,B口口為方式為方式0輸出,輸出,PC7PC4為輸入,為輸入,PC3PC0為輸出的方式控制字為:為輸出的方式控制字為:10111000B。9:1355 C口的按位置位口的按位置位/復(fù)位控制字用于對(duì)復(fù)位控制字用于對(duì)C口的某一位進(jìn)行置位或復(fù)位,用口的某一位進(jìn)行置位或復(fù)位,用D7位為位為1來標(biāo)識(shí),如圖來標(biāo)識(shí),如圖9-20所示。所示。 圖圖9-20 8255A的的C口按位置位口按位置位/復(fù)位控制字復(fù)位控制字C口具有位操作能力,每一位都可以通過口具有位操作能力,每一位都可以通過向控制口寫入
54、置位向控制口寫入置位/復(fù)位控制字設(shè)置為復(fù)位控制字設(shè)置為1或或0而不影響其他位的狀態(tài)。而不影響其他位的狀態(tài)。例如例如PC5置置1的置位控制字為:的置位控制字為: 00001011B注意:注意:將將C口的某位置位或復(fù)位時(shí),口的某位置位或復(fù)位時(shí),置位置位/復(fù)位控制字一定要寫入控制口,復(fù)位控制字一定要寫入控制口,即所寫入的地址應(yīng)為控制口的地址而即所寫入的地址應(yīng)為控制口的地址而不是不是C口的地址,這一點(diǎn)常被疏忽??诘牡刂?,這一點(diǎn)常被疏忽。 9:1356例例9-5 電路連接如圖電路連接如圖9-18,對(duì),對(duì)8255A芯片進(jìn)行初始化,要求芯片進(jìn)行初始化,要求A口工作在方式口工作在方式0輸入,輸入,B口為方式口
55、為方式1輸出,輸出,C口高口高4位位PC4PC7為輸入,為輸入,C口低口低4位位PC3PC0為輸出。編寫實(shí)現(xiàn)上述功為輸出。編寫實(shí)現(xiàn)上述功能的初始化程序段。能的初始化程序段。解:首先根據(jù)解:首先根據(jù)CS、A1和和A0的接的接線計(jì)算線計(jì)算8255A控制口的地址,當(dāng)控制口的地址,當(dāng)CS=0;A1=1;A0=1時(shí)選擇控制時(shí)選擇控制口,即口,即P2.7=1,P2.6=1,P2.5=1,P0.1=1,P0.0=1,P2口和口和P0口的口的其他各位都為其他各位都為0,則控制口的地,則控制口的地址為址為1110 0000 0000 0011B=E003H。9:1357方式控制字為:方式控制字為:1001110
56、0B=0 x9C。初始化程序如下:初始化程序如下:#include#include#define COM8255 XBYTE0 xe003#define uchar unsigned charVoid init8255(void) COM8255=0 x9C; 9:1358例例9-6 電路連接如圖電路連接如圖9-18,編寫程序?qū)ⅲ帉懗绦驅(qū)口的口的PC3置置0,PC5置置1。解:控制口的地址計(jì)算和例解:控制口的地址計(jì)算和例9-5一樣,為一樣,為1110 0000 0000 0011B=E003H。PC3復(fù)位的控制字為:復(fù)位的控制字為:0000 0110B=0 x06。PC5置位的控制字為:置
57、位的控制字為:0000 1011B=0 x0B。初始化程序如下:初始化程序如下:#include#include#define COM8255 XBYTE0 xe003#define uchar unsigned charVoid init8255(void) COM8255=0 x06; COM8255=0 x0B; 9:13596. 8255A的應(yīng)用舉例的應(yīng)用舉例 例例9-7 對(duì)對(duì)AT89C51單片機(jī)外擴(kuò)一片單片機(jī)外擴(kuò)一片8255A芯片,芯片,8255A的地址線的地址線A1、A0由單由單片機(jī)片機(jī)P0.1、P0.0經(jīng)經(jīng)74LS373鎖存后獲得,片選信號(hào)接單片機(jī)的鎖存后獲得,片選信號(hào)接單片機(jī)的
58、P2.7,8255A的的PA、PB、PC口各接口各接8個(gè)發(fā)光二極管,仿真電路如圖個(gè)發(fā)光二極管,仿真電路如圖9-21所示。試編寫程所示。試編寫程序使三行發(fā)光二極管逐行從左往右循環(huán)點(diǎn)亮。序使三行發(fā)光二極管逐行從左往右循環(huán)點(diǎn)亮。圖圖9-21 例例9-7仿真電路仿真電路9:1360程序設(shè)計(jì)如下:程序設(shè)計(jì)如下:#include #include #include #define uint unsigned int#define uchar unsigned char#define PA XBYTE0 x0000 /PA,PB,PC及命令端口地址定義及命令端口地址定義#define PB XBYTE0 x
59、0001#define PC XBYTE0 x0002#define COM XBYTE0 x0003void Delay(uint x)/延時(shí)子程序延時(shí)子程序uchar i;while(x-)for(i=0;i120;i+);void main()uchar k,m=0 x7f;COM=0 x80;/控制字控制字while(1)for(k=0;k8;k+)/輪流點(diǎn)亮第一排小燈輪流點(diǎn)亮第一排小燈 m=_crol_(m,1); PA = m; Delay(100); PA = 0 xff; /關(guān)閉第一排小燈關(guān)閉第一排小燈for(k=0;k8;k+)/輪流點(diǎn)亮第二排小燈輪流點(diǎn)亮第二排小燈m=_cr
60、ol_(m,1);PB = m;Delay(100);PB = 0 xff; /關(guān)閉第二排小燈關(guān)閉第二排小燈for(k=0;k8;k+)/輪流點(diǎn)亮第三排小燈輪流點(diǎn)亮第三排小燈m=_crol_(m,1);PC = m;Delay(100);PC = 0 xff; /關(guān)閉第三排小燈關(guān)閉第三排小燈解:根據(jù)圖中的連接,解:根據(jù)圖中的連接,PA、PB、PC與控制口的端口地址分別為與控制口的端口地址分別為0 x0000、0 x0001、0 x0002、0 x0003。8255A的控制字為:的控制字為:0 x80。9:1361例例9-8 仿真電路如圖仿真電路如圖9-22所示,對(duì)所示,對(duì)AT89C51單片機(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)校電炒鍋管理制度
- 學(xué)生俱樂部管理制度
- 安全辦部門管理制度
- 安哥拉衛(wèi)生管理制度
- 寶貝王衛(wèi)生管理制度
- 實(shí)訓(xùn)室物資管理制度
- 客房部員工管理制度
- 客運(yùn)車公司管理制度
- 家具廠培訓(xùn)管理制度
- 家政流程及管理制度
- 水產(chǎn)育苗場管理制度
- 致命性肺血栓栓塞癥急救護(hù)理專家共識(shí)(2024版)解讀
- 濟(jì)寧醫(yī)學(xué)院《科學(xué)技術(shù)哲學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年醫(yī)藥代表職業(yè)資格考試試題及答案
- 項(xiàng)目合作經(jīng)驗(yàn)與能力證明(8篇)
- 2025年廣東省深圳中考數(shù)學(xué)考前沖刺(含詳解)
- 2025-2030年中國基因檢測行業(yè)現(xiàn)狀調(diào)查及發(fā)展前景預(yù)測研究報(bào)告
- 貴州省黔南布依族苗族自治州2023-2024學(xué)年八年級(jí)下學(xué)期期末質(zhì)量監(jiān)測語文試卷(含答案)
- 2025年“全國安全生產(chǎn)月”《安全知識(shí)》競賽題庫及答案
- 2025中考政治最后一課及考前指導(dǎo)【課件】
- 2025春國開《馬克思主義基本原理》大作業(yè)答案
評(píng)論
0/150
提交評(píng)論