第9章 MCS-51單片機系統(tǒng)擴展_第1頁
第9章 MCS-51單片機系統(tǒng)擴展_第2頁
第9章 MCS-51單片機系統(tǒng)擴展_第3頁
第9章 MCS-51單片機系統(tǒng)擴展_第4頁
第9章 MCS-51單片機系統(tǒng)擴展_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第9章MCS-51單片機的系統(tǒng)擴展

知識目標

掌握MCS-51的三總線結構熟悉常用的鎖存器芯片單片機最小系統(tǒng)電源電路復位電路振蕩電路概述MCS51系列單片機的特點就是體積小,功能全,系統(tǒng)結構緊湊,硬件設計靈活。對于簡單的應用,最小系統(tǒng)即能滿足要求。所謂最小系統(tǒng)是指在最少的外部電路條件下,形成一個可獨立工作的單片機應用系統(tǒng)。一片89C51就構成了一個單片機最小系統(tǒng)。

在很多復雜的應用情況下,單片機內的RAM,ROM和I/O接口數(shù)量有限,不夠使用,這種情況下就需要進行擴展。因此單片機的系統(tǒng)擴展主要是指外接數(shù)據(jù)存貯器、程序存貯器或I/O接口等,以滿足應用系統(tǒng)的需要。

9.1單片機系統(tǒng)總線和系統(tǒng)擴展方法單片機總是通過地址總線、數(shù)據(jù)總線和控制總線(俗稱三總線)來與外部交換信息的。數(shù)據(jù)總線傳送指令碼和數(shù)據(jù)信息,各外圍芯片都要并接在它上面和CPU進行信息交流。由于數(shù)據(jù)總線是信息的公共通道,各外圍芯片必須分時使用才不至于產生使用總線的沖突,什么時候哪個芯片使用,是靠地址總線上傳送的芯片的地址編號區(qū)分的,什么時候打開指定地址的那個芯片通往數(shù)據(jù)總線的門,是受控制總線上CPU發(fā)出的控制信號控制的,而這些信號是通過CPU執(zhí)行相應的指令產生的,這就是計算機的工作機理,因此,單片機的系統(tǒng)擴展就歸結到外部數(shù)據(jù)存貯器、程序存貯器和I/O接口與三總線的連接。9.1.1單片機系統(tǒng)總線信號所謂總線,就是連接計算機各部件的一組公共信號線,MCS-51單片機的系統(tǒng)總線分為:地址總線,數(shù)據(jù)總線和控制總線。參考51引腳圖P2ALEP051單片機/PSEN/WR/RD地址鎖存器A15~A8A7~A0地址總線D7~D0數(shù)據(jù)總線控制總線MCS-51系列單片機具有很強的外部擴展功能。其外部擴展都是通過三總線進行的。

1、地址總線(AB)

地址總線用于傳送單片機輸出的地址信號,寬度為16位,P0口經鎖存器提供低8位地址,鎖存信號是由CPU的ALE引腳提供的;P2口提供高8位地址。2、數(shù)據(jù)總線(DB)

數(shù)據(jù)總線是由P0口提供的,寬度為8位。3、控制總線(CB)

控制總線實際上是CPU輸出的一組控制信號。由圖可見:1)由于P0分時傳送地址/數(shù)據(jù)信息,在接口電路中,通常配置地址鎖存器,有ALE信號鎖存低8位地A0~A7,以分離地址和數(shù)據(jù)信息。2)P2口傳送高8位地址A8~A15。3)/PSEN為程序存儲器的控制信號,是在取指令碼時或執(zhí)行MOVC指令時變?yōu)橛行А?RD、/WR為數(shù)據(jù)存儲器和I/O口的讀、寫控制信號。是執(zhí)行MOVX指令時變?yōu)橛行АD——片外數(shù)據(jù)存儲器讀信號。

PSEN——片外程序存儲器讀信號。

ALE——地址鎖存信號,實現(xiàn)對低8位地址的鎖存。WR——片外數(shù)據(jù)存儲器寫信號。

數(shù)據(jù)傳送:由數(shù)據(jù)總線DB(D0~D7)完成;

D0~D7由P0口提供單元尋址:由地址總線AB(A0~A15)完成;低8位地址線A0~A7由P0口提供高8位地址線A8~A15由P2口提供。交互握手:由控制總線CB完成。9.1.2外圍芯片的引腳規(guī)律芯片種類成千上萬,功能各不相同,但能和計算機接口的專用芯片通常具備三總線引腳,即數(shù)據(jù)線引腳、地址線引腳和讀、寫控制線引腳,此外還有片選線引腳。并行傳送芯片的數(shù)據(jù)線引腳通常為8根,地址線引腳的根數(shù)因芯片不同而不同,取決于片內存儲單元的個數(shù)或I/O接口內寄存器(又稱為端口)的個數(shù),N根地址線和單元的個數(shù)的關系是:單元的個數(shù)=2N。外圍芯片的片選引腳/CS(或/CE)

一般是低電平有效,僅當片選引腳為有效電平時,該芯片才會被選中使用總線。專用芯片的讀控制信號通常用符號/OE(輸出允許)或/RD(讀允許)表示,寫控制信號通常用符號/WE(寫允許)或/WR(寫)表示,通常是低電平控制讀和寫。讀寫芯片可以這樣理解:芯片的片選、地址線引腳相當于門牌號碼、/OE或/RD是出口門鎖、/WR或/WE是進口門鎖,CPU執(zhí)行指令時,地址線送出地址信息(找到門牌號碼),讀或寫信號變?yōu)橛行Вㄊ褂孟鄳蔫€匙),打開出口門鎖或進口門鎖,該單元和數(shù)據(jù)線相通。單元的數(shù)據(jù)就可以流出或流進該單元。這里正體現(xiàn)一把鑰匙開一把鎖,開鎖過程是指令實現(xiàn)時序的相互配合,也是軟件對硬件的控制。3.地址線的連接和單片機接口的專用芯片會有N根地址線引腳,用于選擇片內的存儲單元或端口,稱為字選或片內選擇;為區(qū)別同類型的不同芯片,外圍芯片通常都有一個片選引腳,僅當該引腳為有效電平(通常為低電平)該片才被選中。一個芯片的某個單元或某個端口的地址由片選的地址和片內字選擇地址共同組成,因此字選和片選引腳均應接到單片機的地址線上。連線的方法是:字選:外圍芯片的字選(片內選擇)地址線引腳直接接單片機的從A0開始的低位地址線。片選:片選引腳的連接方法線選法和譯碼法。9.1.3系統(tǒng)擴展的方法1.數(shù)據(jù)線的連接外接芯片的數(shù)據(jù)線D0-D7接單片機的數(shù)據(jù)線的D0-D7,對于并行接口,數(shù)據(jù)線通常為8位、各位對應連接就可以了。2.控制線的連接外接程序存儲器:由于程序存儲器只讀,通常使用狀態(tài)是讀操作,因此只需連/OE引腳。/PSEN為單片機提供的程序存儲器的選通控制信號,因此單片機的/PSEN連接ROM的輸出允許端OE;外接數(shù)據(jù)存儲器和I/O口:數(shù)據(jù)存儲器可讀可寫,/RD(P3.7)和/WR(P3.6)為單片機提供的數(shù)據(jù)存儲器(RAM)和I/O口的讀寫控制信號,因此單片機的/RD應連接擴展芯片的/OE或/RD端,單片機的/WR應連接擴展芯片的/WR或/WE端。(1)線選法所謂線選法是將單片機的片內尋址剩下的高位地址線中的某幾根與外部接口芯片的選通端一一相連,當該地址線為“0”時(一般的芯片的片選引腳都是低電平有效),與該地址線相連接的外部芯片被選通。線選法的優(yōu)點在于硬件電路簡單,缺點在于要占用較多的高位地址線,線選法適合于擴展少量的片外芯片。89C51/CE6116/CE8279/CE8255/CE0832P2.4P2.5P2.6P2.7外部擴展芯片有效選通信號地址選擇線可用地址空間A15A14A13A12A11~A06116/CE=01110××××××××××××E000h~EFFFh8279/CE=01101××××××××××××D000h~DFFFh8255/CE=01011××××××××××××B000h~BFFFh0832/CE=00111××××××××××××7000h~7FFFh地址譯碼器

74LS138是3-8譯碼器,它有3個輸入端、3個控制端及8個輸出端,引線及功能如圖所示。74LS138譯碼器只有當控制端G1、/G2A、/G2B為100時,才會在輸出的某一端(由輸入端C、B、A的狀態(tài)決定)輸出低電平信號,其余的輸出端仍為高電平。(2)譯碼法所謂譯碼法,是通過譯碼電路對單片機可利用的高位地址進行譯碼,以得到較多的片選信號。譯碼法的缺點在于硬件電路復雜,需要譯碼電路,優(yōu)點在于要占用較少的高位地址線,譯碼法適合于擴展大量的片外芯片。89C51/CE6116/CE8279/CE8255/CE0832P2.5P2.6P2.7ABCY7Y6Y5Y4.

.

.Y074LS138外部擴展芯片有效選通信號地址選擇線可用地址空間A15A14A13A12~A06116/CE=0111×××××××××××××E000h~FFFFh8279/CE=0110×××××××××××××C000h~DFFFh8255/CE=0101×××××××××××××A000h~BFFFh0832/CE=0100×××××××××××××8000h~9FFFh138其它控制引腳假定為有效鎖存器74LS373D0Q0D1Q1D2Q2D3Q3D4Q4D5Q5D6Q6D7Q7G/OE74LS373管腳示意圖D7~D0:8位輸入線Q7~Q0:8位輸出線G:鎖存選通。當G為高電平時,Q=D,當G負跳變到低電平時,鎖存,以后Q保持,與D無關。/OE:輸出允許。當/OE為低電平時,允許Q輸出;當/OE為高電平時,輸出為高阻。實驗箱總線電路+5VD0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q774LS373VccGndG/OE4+5VXTAL1XTAL2RST/EAVccVss80C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7/RDALEXTAL1XTAL2RST/EA/WRA15~A8AD7~AD0A7~A0ALE/RD/WR實物圖用該電路進行系統(tǒng)擴展,片選采用的是線選法。額外的譯碼片選電路G1Y7/G2AY6/G2BY5Y4Y3CY2BY1AY0P2.7P2.6P2.5P2.4CS7CS6CS5CS4CS3CS2CS1CS074LS138實物圖用該電路進行系統(tǒng)擴展,片選采用的是譯碼法。例子假定有四種不同的芯片需要同時連接到單片機上。方案一,將四個芯片的片選引腳分別直接連接到A15、A14、A13、A12,請問它們的可用地址空間分別是多少?方案二,將四個芯片的片選引腳分別連接CS3、CS2、CS1、CS0,請問它們的可用地址空間分別是多少?9.2存儲器的擴展存儲器是用來存儲程序或數(shù)據(jù)的集成電路或介質,常用的存儲器有半導體存儲器(ROM/RAM)光存儲器(光盤)和磁介質存儲器(磁盤、磁帶、硬盤)。半導體存儲器分為只讀存儲器ROM和隨機存儲RAM。只讀存儲器ROM特點:是掉電后信息不會丟失,稱為非易失性存儲器。用途:存放程序、常數(shù)和表格,構成程序存貯器。ROM的引腳只有輸出允許端OE,無寫允許端WE,只在滿足一定的條件下才能寫入(稱為燒錄或編程),須有專門的編程器完成燒寫。隨機存儲器RAM特點:能讀能寫,掉電后信息會丟失,稱為易失性存儲器。用途:存放現(xiàn)場數(shù)據(jù)、中間結果等經常要改變的數(shù)。RAM能讀能寫,因此它的引腳既有輸出允許端OE,也有寫允許端WE。例9-1

例9-2外部程序存儲器的擴展

ROM分為ROM、PROM、EPROM、E2PROM、FLASH。

當單片機內部沒有提供程序存儲器(我們以單片機沒有內部程序存儲器為例講解),或者內部提供的程序存儲器不夠用時,我們需要擴展外部程序存儲器。預備知識,MCS-51單片機的一個機器周期包含6個狀態(tài)S1~S6,每個狀態(tài)又劃分為2個拍節(jié)P1、P2,每個拍節(jié)實際上為1個振蕩周期。要進行片外存儲器的擴展及訪問,都要遵循單片機訪問外部存儲器的時序圖1.外部程序存儲器讀操作時序圖2.外部程序存儲器讀操作時序分解⑴在S1P2(或S4P2),ALE由低變高,打開地址鎖存。⑵在S2P1(或S5P1),PC的低8位地址送P0口,高8位地址送P2口,并且高8位地址將在整個讀操作中一直保持。⑶在S2P2(或S5P2),ALE由高變低,鎖存低8位地址,讓出P0口準備讀入指令,P2口保持。⑷在S3P1(或S6P1),/PSEN由高變低,準備讀入指令。⑸在S4P1(或S1P1),CPU讀入指令。在一個機器周期內,CPU兩次訪問片外ROM,也即在一個機器周期內可以處理兩個字節(jié)的指令代碼3.實例

[例]將1片2732(EPROM型程序存儲器)擴展到89C51單片機上。2732容量是4K×8位。2732A0A1A2A3A4A5A6A7Q0Q1Q2Q3Q4Q5Q6Q7A11A10A9A8VccVpp/CE/OEGNDD0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q774LS373VccGndG/OE4XTAL1XTAL2RST/EAVccVss80C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7/PSENALEXTAL1XTAL2RST/EA+5V+5V+5V多少根地址線用于單元編址?2732地址范圍?CE接P2.6可以否?同時擴展兩片2732?注意:用于片選的其它引腳應為無效9.3數(shù)據(jù)存儲器的擴展

MCS-51內部提供了128個單元的RAM,當內部RAM單元不能系統(tǒng)要求時,需要擴展外部數(shù)據(jù)存儲器。讀外部數(shù)據(jù)存儲器的指令是:movx。因此,外部數(shù)據(jù)存儲器的擴展一定要遵循movx指令的操作時序。 movxA,@Ri

movxA,@DPTR movx@Ri,A

movx@DPTR,A

1.讀外部數(shù)據(jù)存儲器時序ALE/RDP2P0⑴⑵⑶⑷

S1S2S3S4S5S6P1P2P1P2P1P2P1P2P1P2P1P2⑸地址A15~A8輸出數(shù)據(jù)輸入A7~A0高阻懸浮2.讀外部數(shù)據(jù)存儲器時序分解⑴在S1P2,ALE由低變高,打開地址鎖存。⑵在S2P1,CPU將要讀單元的低8位地址送P0口,高8位地址送P2口,并且高8位地址將在整個讀周期中一直保持。⑶在S2P2,ALE由高變低,鎖存低8位地址,讓出P0口準備讀入指令,P2口保持。⑷在S4P1,/RD由高變低,準備讀入指令。⑸在S4P2,CPU讀入數(shù)據(jù)。

3.寫外部數(shù)據(jù)存儲器時序ALE/WRP2P0⑴⑵⑶

S1S2S3S4S5S6P1P2P1P2P1P2P1P2P1P2P1P2⑸地址A15~A8輸出數(shù)據(jù)輸出A7~A0⑷4.寫外部數(shù)據(jù)存儲器時序分解⑴在S1P2,ALE由低變高,打開地址鎖存。⑵在S2P1,CPU將要寫單元的低8位地址送P0口,高8位地址送P2口,并且高8位地址將在整個寫周期中一直保持。⑶在S2P2,ALE由高變低,鎖存低8位地址,讓出P0口,P2口保持。⑷在S3P2,CPU輸出數(shù)據(jù)到P0口。⑸在S4P1,/WR由高變低,將數(shù)據(jù)寫入數(shù)據(jù)存儲器。

單片機內部的RAM為128B(或256B),有的單片機應用系統(tǒng)需要擴展外部數(shù)據(jù)存儲器RAM(如數(shù)據(jù)采集系統(tǒng)數(shù)據(jù)量較大,需要專設RAM或FlashRAM)。最常用的RAM器件是靜態(tài)RAM(SRAM)。

常用數(shù)據(jù)存儲器芯片常用靜態(tài)RAM芯片:2114、6116、6264、62128、62256存儲芯片型號存儲容量地址線數(shù)據(jù)線2101(1K×1B)1024×1BA0~A9D02114(1K×4B)1024×4BA0~A9D0~D34118(1K×8B)1024×8BA0~A9D0~D76116(2K×8B)2048×8BA0~A10D0~D76232(4K×8B)4×1024×8BA0~A11

D0~D76264(8K×8B)8×1024×8BA0~A12D0~D761256(32K×8B)32×1024×8BA0~A14D0~D75.實例D0D1D2D3D4D5D6D7Q0Q1Q2Q3Q4Q5Q6Q774LS373VccGndG/OE4+5V+5V+5V+5VXTAL1XTAL2RST/EAVccVss80C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7/RDALEXTAL1XTAL2RST/EA/WR6264A0A1A2A3A4A5A6A7Q0Q1Q2Q3Q4Q5Q6Q7A12A11A10A9A8VccVpp/CE1/OE/WECE2GND[例]將1片6264(RAM)擴展到89C51單片機上。6264容量是8K×8位。多少根地址線用于單元編制?6264地址范圍?/CE1接P2.6可以否?同時擴展兩片6264?例1某微機系統(tǒng)只有一片6264,試將其與8051進行連接。ALERDWRPSENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373DBABCBA0A12CS1OE~D0D76264~~~AB12AB0AB0AB15AB12①將芯片的13位地址線按引腳名稱一一并聯(lián),然后按次序逐根接至系統(tǒng)地址總線的低13位。②將芯片的8位數(shù)據(jù)線依次接至系統(tǒng)數(shù)據(jù)總線的D0-D7。③芯片的OE端接至系統(tǒng)控制總線的存儲器讀信號(RD)④芯片的WE端接至系統(tǒng)控制總線的存儲器寫信號(WR)⑤因為系統(tǒng)中只有1片6264,所以6264的CS1可以接地。地址碼的計算CS2+5VWEALERDWRPSENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373DBABCBAB12AB0AB0AB15AB12地址碼的計算

計算6264每個單元的地址(8051送出何種地址碼時選中該單元)

P27P26P25P24P23P22P21P20P07P06P05P04P03P02P01P00AB15AB14AB13AB12AB11AB10AB9AB8AB7AB6AB5AB4AB3AB2AB1AB0***0000000000000¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨***11111111111110000H---1FFFH89C51從6264中讀取信息的過程:①89C51發(fā)地址碼P00—P07------AB-----6264的A0—A7ALE=1P20—P27------AB------6264的A8—A12②89C51發(fā)讀RAM信號RD=0—CB----6264的OE③6264將選中單元的內容送出----DB---89C051的P00---P07A0A12CS1OE~D0D76264~~~CS2+5VWE89C51向6264中寫入信息的過程:①89C51發(fā)地址碼P00—P07------AB-----6264的A0—A7ALE=1P20—P27------AB------6264的A8—A12②89C51發(fā)寫RAM信號WR=0—CB----6264的WE③89C51送出數(shù)據(jù)----DB-----6264將選中單元ALERDWRPSENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373DBABCBAB12AB0AB0AB15AB12例2用6264構成16K的存儲系統(tǒng),試將它們與8051進行連接。AB12AB0A0A12CSOECS2~D0D76264~~~A0A12CSOECS2~D0D76264~~~WE+5VWE+5V6264的容量是8K*8,1片6264上有8K個存儲單元,每個存儲單元有8個基本存儲電路,能存放8位二進制信息,可以滿足位數(shù)的要求,但是1片6264上有8K個存儲單元,為了滿足內存的容量的要求,需要2片6264串聯(lián)使用,即2片6264不能同時被選中。因為2片6264的的數(shù)據(jù)線都接在8位DB上,當二者同時被選中時,會出現(xiàn)爭占DB的現(xiàn)象。這時,需要考慮片選問題。ALERDWRPSENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373DBABCBA0A12CSOECS2~D0D76264~~~AB12AB0AB0AB15AB12片選信號的產生A0A12CSOECS2~D0D76264~~~AB12AB0片選信號的產生方法有3種:線選法、部分譯碼法和全譯碼法。WE+5VWE+5VALERDWRPSENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373DBABCBAB12AB0AB0AB15AB12線選法AB12AB0

線選法就是用剩余的高位地址線作片選信號。線選法有2個缺點:其一是各芯片的地址不連續(xù),其二是有一些地址不能使用,否則會造成片選的混亂(有地址重疊現(xiàn)象,即一個存儲單元有多個地址碼)。AB15AB14P27P26P25P24P23P22P21P20P07P06P05P04P03P02P01P00AB15AB14AB13AB12AB11AB10AB9AB8AB7AB6AB5AB4AB3AB2AB1AB001*0000000000000¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨01*111111111111110*0000000000000¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨10*11111111111110400H---5FFFH8000H---9FFFHA0A12CSOECS2~D0D76264~~~A0A12CSOECS2~D0D76264~~~WE+5VWE+5VALERDWRPSENP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.789C51P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7A0A1A2A3A4A5A6A7OELED0D1D2D3D4D5D6D774LS373DBABCBAB12AB0AB0AB15AB12全譯碼法AB12AB0

全譯碼法就是剩余的全部地址線都參與譯碼,譯碼器的輸出作為片選信號。因為譯碼器在某一時刻只有1條輸出線有效,保證了在某一時刻只有1個芯片被選中的要求。全譯碼法則沒有地址重疊現(xiàn)象,即各存儲單元的地址碼唯一。AB15AB14P27P26P25P24P23P22P21P20P07P06P05P04P03P02P01P00AB15AB14AB13AB12AB11AB10AB9AB8AB7AB6AB5AB4AB3AB2AB1AB00000000000000000¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨00011111111111110010000000000000¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨00111111111111110000H---1FFFH2000H---3FFFHY0Y1Y2Y3Y4Y5Y6Y7AG1G2AG2BCB74LS138AB13+5VA0A12CSOECS2~D0D76264~~~A0A12CSOECS2~D0D76264~~~WE+5VWE+5V9.5并行I/O接口的擴展MCS-51單片機共有4個8位并行I/O口,在外部擴展時,P0和P2口做為總線使用,因而提供給用戶的I/O口就只有P1或P3口的部分口線,所接的外設較多時,就必須擴展I/O接口。MCS-51單片機擴展的I/O口和外部數(shù)據(jù)存儲器統(tǒng)一編址、采用相同的控制信號、相同的尋址方式和相同的指令。擴展I/O所用的芯片有通用可編程芯片(如8251,8155,8255等)和TTL,CMOS鎖存器,緩沖器(如273,377,244,245等),用戶可根據(jù)系統(tǒng)對輸入輸出的要求適當選擇芯片。I/O擴展方法1、利用緩沖器或鎖存器實現(xiàn)I/O接口擴展

通常選用74系列的74LS244、74LS373、74LS377、74LS273等常用芯片實現(xiàn)I/O擴展。2、利用可編程并行接口芯片擴展

如用可編程芯片8155、8255等,利用程序對芯片進行設置,軟硬件結合實現(xiàn)對I/O接口的擴展。。3、利用單片機串口擴展利用MCS-51單片機串行口同步移位寄存器工作方式進行I/O接口擴展。1.用三態(tài)門擴展8位并行輸入口74LS244是8位三態(tài)門,當/1G、/2G均為低電平時,允許輸入數(shù)據(jù);否則,為高阻態(tài)。74LS244各引腳定義如下:1A1~1A4:第1組4條輸入線1Y1~1Y4:第1組4條輸出線2A1~2A4:第2組4條輸入線2Y1~2Y4:第2組4條輸出線1G:第1組三態(tài)門使能端,低電平有效2G:第2組三態(tài)門使能端,低電平有效VCC:工作電源,接+5V電壓GND:接地

8.3.1簡單并行I/O的擴展74LS2441Y11A1

1Y21A2

1Y31A3

1Y41A4

2Y12A1

2Y22A2

2Y32A3

2Y42A4

1/G2/G第一組輸入

1A1~1A4輸出

1Y第二組輸入

2A1~2A4輸出

2Y1/G1A1Y2/G2A2YLLLLLLLHHLHHH×高阻H×高阻74LS244操作邏輯表回顧外部RAM讀時序ALE/RDP2P0⑴⑵⑶⑷

S1S2S3S4S5S6P1P2P1P2P1P2P1P2P1P2P1P2⑸地址A15~A8輸出數(shù)據(jù)輸入A7~A0高阻懸浮電路圖movDPTR,#0FEFFh

movxA,@DPTR

變量如Key=XBYTE[0xFEFF]0xFEFF=1111111011111111地址為0x0000可以否?但建議不用的地址位為1或門前接P2.1可以否?能不能只用/RD接1/G和2/G?能不能只用P2.0接1/G和2/G?如何同時擴展兩片74LS244?為什么在該電路中無鎖存器?89C51P0.0

P0.1

P0.2

P0.3

P0.4

P0.5

P0.6

P0.7

P2.0/RD74LS2441Y11A1

1Y21A2

1Y31A3

1Y41A4

2Y12A1

2Y22A2

2Y32A3

2Y42A4

1/G2/G≧1

接按鍵輸入電路C語言中如何訪問外部RAM在匯編語言,訪問外部RAM用MOVX指令。在C語言中將外部RAM定義為數(shù)組XBYTE[],比如XBYTE[0x0010],即是外部RAM地址為0x0010單元。讀外部RAM:變量=XBYTE[地址]寫外部RAM:XBYTE[地址]=變量或常量2用74LS273擴展8位并行輸出口74LS2730D0Q

1D1Q

2D2Q

3D3Q

4D4Q

5D5Q

6D6Q

7D7QCLK/CLR輸入輸出/CLRCLKDQL××0H↑11H↑0074LS377操作邏輯表回顧外部RAM寫時序ALE/WRP2P0⑴⑵⑶

S1S2S3S4

溫馨提示

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

最新文檔

評論

0/150

提交評論