第8章at89s51單片機外部存儲器的擴展_第1頁
已閱讀1頁,還剩60頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第8章 AT89S51單片機 外部存儲器的擴展,1,內(nèi)容概要 8.1 AT89S51單片機的總線及系統(tǒng)擴展結(jié)構(gòu) 8.2 地址空間分配和鎖存器 8.3 程序存儲器的擴展 8.4 數(shù)據(jù)存儲器的擴展 8.5 綜合擴展,2,8.1 總線及系統(tǒng)擴展結(jié)構(gòu)AT89S51總線結(jié)構(gòu)如圖8-1所示。

2、 圖8-1 AT89S51單片機的總線及系統(tǒng)擴展結(jié)構(gòu),3,AT89S51的三總線(1)地址總線(Address Bus,AB): 用于傳送單片機發(fā)出的地址信號,以便進行存儲單元和I/O接口芯片中的寄存器單元的選擇。地址總線是單向的。 P0口作為低8為地址總線(A7~A0); P2口作為高8位地址總線(A15~A8 ) ; 2者結(jié)合構(gòu)成了16位地址總線(A15~A0);,(2)數(shù)據(jù)總線(Data B

3、us,DB):用于單片機與外部存儲器之間或與I/O接口之間傳送數(shù)據(jù),數(shù)據(jù)總線是雙向的。 P0口作為AT89S51的數(shù)據(jù)總線(D8~D0);,P0口即作為地址總線,又作為數(shù)據(jù)總線,有問題嗎???,需增加一個8位鎖存器。AT89S51訪問外部擴展的存儲器單元或I/O接口寄存器時,先發(fā)出低8位地址送地址鎖存器鎖存,鎖存器輸出作為系統(tǒng)的低8位地址(A7~A0)。,(3)控制總線(Control Bus,CB):控制總線是單片機發(fā)出的各種

4、控制信號線,用于對外部設(shè)備進行控制。包括:(1) PSEN*作為外擴程序存儲器的讀控制信號;(2) RD*和WR*為外擴數(shù)據(jù)存儲器和I/O的讀、寫控制信號;(3)ALE作為P0口發(fā)出的低8位地址鎖存控制信號;,6,,7,圖8-2 AT89C51單片機擴展的片外三總線,8.2 地址空間分配和外部地址鎖存器 本節(jié)討論如何進行存儲器空間的地址分配,并介紹用于輸出低8位地址的地址鎖存器。8.2.1 存儲器地址空間分配

5、 實際設(shè)計中,有時需擴展程序存儲器,又需要擴展數(shù)據(jù)存儲器,如何把片外的兩個64KB地址空間分配給各個程序存儲器、數(shù)據(jù)存儲器芯片,使一個存儲單元只對應(yīng)一個地址,避免單片機發(fā)出一個地址時,同時訪問兩個單元而發(fā)生數(shù)據(jù)沖突。這就是存儲器地址空間分配問題。,8,AT89S51發(fā)出的地址碼用于選擇某個存儲器單元時,單片機必須進行如下操作:一、選中該存儲器芯片,這稱為“片選”,未被選中的芯片不能被訪問。二、在“片選”的基礎(chǔ) “選中” 芯片

6、的某一單元進行訪問,即“單元選擇”。,9,常用的存儲器地址空間分配方法有兩種:線性選擇法(簡稱線選法)和地址譯碼法(簡稱譯碼法)。1.線選法 是直接利用系統(tǒng)的某一高位地址線作為存儲器芯片(或I/O接口芯片)的“片選”控制信號。為此,只需要把用到的高位地址線與存儲器芯片的“片選”端直接連接即可。,優(yōu)點: 電路簡單,不需要另外增加地址譯碼器硬件電路,體積小,成本低。 缺點: 可尋址的芯片數(shù)目受到限制。只適用于

7、外擴芯片數(shù)目不多的單片機系統(tǒng)的存儲器擴展。,11,2.譯碼法 使用譯碼器對AT89S51單片機的高位地址進行譯碼,譯碼輸出作為存儲器芯片的片選信號。 優(yōu)點:能夠有效地利用存儲器空間,適用于多芯片的存儲器擴展。 常用的譯碼器芯片有74LS138(3-8譯碼器)、74LS139(雙2-4譯碼器)和74LS154(4-16譯碼器)。,12,常用的譯碼器芯片介紹:(1)74LS1383-8譯碼器,有3個數(shù)據(jù)輸入端,經(jīng)譯碼產(chǎn)生

8、8種狀態(tài)。,13,(2)74LS139雙2-4譯碼器。兩個譯碼器完全獨立,分別有各自的數(shù)據(jù)輸入端、譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許端。,14,地址分配舉例:例如,要擴8片8KB的RAM 6264,如何通過74LS138把64KB空間分配給各個芯片?根據(jù)74LS138真值表: G1:接高電平; G2A和G2B:接低電平; C、B、A:分別接P2.7、P2.6、P2.5; 8個輸出Y7 ~Y0 ,分別接到8片6

9、264的 “片選”端,實現(xiàn)8選1的片選。AT89S51的低13位地址(P2.4~P2.0,P0.7~P0.0)完成對選中的6264芯片中的各個存儲單元的“單元選擇”。,15,,,,,64KB地址空間分配如圖8-5。 圖8-5 64KB地址空間劃分成8個8KB空間,16,8.2.2 外部地址鎖存器 受引腳數(shù)的限制,P0口兼用數(shù)據(jù)線和低8位地址線,為了將它們分

10、離出來,需在單片機外部增加地址鎖存器。常用的地址鎖存器芯片有74LS373、74LS573等。1.鎖存器74LS373 帶三態(tài)門的8D鎖存器,其引腳如圖8-7,內(nèi)部結(jié)構(gòu)如圖8-8。,17,18,圖8-7 鎖存器74LS373的引腳,圖8-8 74LS373的內(nèi)部結(jié)構(gòu),引腳說明:D7~D0:8位數(shù)據(jù)輸入線,Q7~Q0:8位數(shù)據(jù)輸出線。G:數(shù)據(jù)輸入鎖存選通信號。當(dāng)該引腳的信號為高時,外部數(shù)據(jù)選通到內(nèi)部鎖存器,負跳變時,數(shù)據(jù)

11、鎖存到鎖存器中。OE*:數(shù)據(jù)輸出允許信號,低電平有效。當(dāng)該信號為低電平時,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號為高電平時,輸出線為高阻態(tài)。 74LS373鎖存器功能如表8-3。,19,20,圖8-9 AT89S51的P0口與74LS373的連接,2.鎖存器74LS573 也是一種帶有三態(tài)門的鎖存器,功能及內(nèi)部結(jié)構(gòu)與74LS373完全一樣,只是其引腳排列與74LS373不同。 由圖8-10,

12、與74LS373相比,74LS573的輸入D端和輸出Q端依次排列在芯片兩側(cè),為繪制印制電路板提供方便引腳說明:D7~D0:8位數(shù)據(jù)輸入線。Q7~Q0:8位數(shù)據(jù)輸出線。G :數(shù)據(jù)輸入鎖存選通信號,該引腳與74LS373的G端功 能相同。,21,OE*:數(shù)據(jù)輸出允許信號,低電平有效。當(dāng)該信號為低電平時,三態(tài)門打開,鎖存器中數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號為高電平時,輸出線為高阻態(tài)。,圖8-10 鎖存器74LS57

13、3的引腳,8.3 程序存儲器EPROM的擴展 程序存儲器為只讀存儲器,在電源關(guān)斷后,仍能保存程序(非易失性的),系統(tǒng)上電后,CPU可取出這些指令重新執(zhí)行。 只讀存儲器簡稱ROM(Read Only Memory)。ROM中的信息一旦寫入,就不能隨意更改。,向ROM中寫入信息稱為ROM編程。根據(jù)編程方式不同,分以下幾種。(1)掩膜ROM。制造過程中編程,以掩膜工藝實現(xiàn),因此稱為掩膜ROM。這種芯片存儲結(jié)構(gòu)簡單,集成度

14、高,但由于掩膜工藝成本較高,因此只適合于大批量生產(chǎn)。(2)可編程ROM(PROM)。芯片出廠時沒有任何程序信息,用獨立編程器寫入。但PROM只能寫一次,寫入內(nèi)容后,就不能再修改。,24,(3)EPROM。用紫外線擦除,用電信號編程。在芯片外殼的中間位置有一個圓形窗口,對該窗口照射紫外線就可擦除原有的信息。使用編程器可將調(diào)試完畢的程序?qū)懭?。?)E2PROM(EEPROM)。一種用電信號編程,也用電信號擦除的ROM芯片。對E2P

15、ROM的讀寫操作與RAM存儲器幾乎沒有什么差別,只是寫入速度慢一些,但斷電后仍能保存信息。,25,(5)Flash Memory。 又稱閃爍存儲器(簡稱閃存),是電擦除型只讀存儲器。特點是可快速在線修改其存儲單元中的數(shù)據(jù),改寫次數(shù)可達1萬次,其讀寫速度很快,存取時間可達70ns,而成本比E2PROM低得多。,26,8.3.1 常用的EPROM芯片 使用較多的是并行EPROM,首先介紹常用EPROM芯片。EPROM的典型芯片是

16、27系列產(chǎn)品,例如,2764(8KB)、27128(16KB)、27256(32KB)、27512(64KB)。型號 “27”后面的數(shù)字表示其位存儲容量。如果換算成字節(jié)容量,只需將該數(shù)字除以8即可。 例如,“27128”中的“27”后的數(shù)字 “128”,128/8 =16KB 隨著大規(guī)模集成電路技術(shù)的發(fā)展,大容量存儲器芯片產(chǎn)量劇增,售價不斷下降,性價比明顯增高,且由于小容量芯片停止生產(chǎn),使市場某些小容量芯片價格

17、反而比大容量芯片還貴。所以,應(yīng)盡量采用大容量芯片。,27,1.常用EPROM芯片引腳 27系列EPROM芯片的引腳如圖8-11。芯片引腳功能:A0~A15:地址線引腳。它的數(shù)目由芯片的存儲容量決定,用于進行單元選擇。D7~D0:數(shù)據(jù)線引腳。CE*:片選控制端。OE*:輸出允許控制端。PGM*:編程時,編程脈沖的輸入端。,28,圖8-11 常用EPROM芯片引腳,Vpp:編程時,編程電壓(+12V或+25V)輸入端。

18、VCC:+5V,芯片的工作電壓。GND :數(shù)字地。NC:無用端。表8-4為27系列EPROM芯片的技術(shù)參數(shù),其中VCC是芯片供電電壓,Vpp是編程電壓,Im為最大靜態(tài)電流,Is為維持電流,TRM為最大讀出時間。,30,31,2.EPROM芯片的工作方式 5種工作方式,由CE *、OE*、PGM*信號的組合確定。5種工作方式如表8-5。,32,8.3.2 程序存儲器的操作時序1.訪問程序存儲器的控制信號 AT8

19、9S51單片機訪問片外擴展的程序存儲器時,所用的控制信號有以下3種。 (1)ALE:用于低8位地址鎖存控制。 (2) PSEN*:片外程序存儲器“讀選通”控制信號。它接外擴EPROM的OE*引腳。,(3)EA* :片內(nèi)、片外程序存儲器訪問的控制信號。當(dāng) EA*=1時,在單片機發(fā)出的地址小于片內(nèi)程序存儲器最大地址時,訪問片內(nèi)程序存儲器;當(dāng)EA* = 0時,只訪問片外程序存儲器。,34,2.操作時序 AT8

20、9S51對片外ROM的操作時序分兩種,即執(zhí)行非MOVX指令的時序和執(zhí)行MOVX指令的時序。 (1)應(yīng)用系統(tǒng)中無片外RAM 系統(tǒng)無片外RAM(或I/O)時,不用執(zhí)行MOVX指令。 在執(zhí)行非MOVX指令時,時序如圖8-12(a),35,同時,PSEN* 也是每個機器周期兩次有效,用于選通片外程序存儲器,將指令讀入片內(nèi)。,36,圖8-12(a) 執(zhí)行非MOVX指令的時序,(2)應(yīng)用系統(tǒng)中接有片外RAM在執(zhí)行訪問片外R

21、AM(或I/O)的MOVX指令時,16位地址應(yīng)轉(zhuǎn)而指向數(shù)據(jù)存儲器,時序如下圖:,37,8.3.3 AT89S51單片機與EPROM的接口電路設(shè)計,1.AT89S51與單片EPROM的硬件接口電路 外擴的EPROM在正常使用中只讀不寫,故EPROM芯片只有讀出控制引腳OE* ,該引腳與AT89S51單片機的PSEN*相連,地址線、數(shù)據(jù)線分別與AT89S51單片機的地址線、數(shù)據(jù)線相連,片選端控制可采用線選法或譯碼法。

22、介紹2764、27128芯片與AT89S51的接口。更大容量的27256、27512與AT89S51的連接,差別只是連接的地址線數(shù)目不同。,圖8-11常用EPROM芯片引腳圖,8 KB,16 KB,32 KB,64 KB,圖8-13 AT89S51單片機與27128的接口電路,2.使用多片EPROM的擴展電路 圖8-14為利用4片27128 EPROM擴展成64KB程序存儲器的方法。片選信號由譯碼器產(chǎn)生。。,41,圖8-14

23、 AT89S51與4片27128 EPROM的接口電路,8.4 靜態(tài)數(shù)據(jù)存儲器RAM的擴展 在單片機應(yīng)用系統(tǒng)中,外部擴展的數(shù)據(jù)存儲器都采用靜態(tài)數(shù)據(jù)存儲器(SRAM)。 片外數(shù)據(jù)存儲器RAM的讀和寫由AT89S51的 RD*(P3.7)和 WR*(P3.6)信號控制。 片外程序存儲器EPROM的輸出端允許(OE*)由單片機的讀選通PSEN*信號控制。 盡管與EPROM的地址空間范圍相同,但由于控制信號不

24、同,因此不會發(fā)生總線沖突。,42,8.4.1 常用的靜態(tài)RAM(SRAM)芯片 單片機系統(tǒng)中常用的RAM芯片的典型型號有6116(2KB),6264(8KB),62128(16KB),62256(32KB)。 6116為24腳封裝,6264、62128、62256為28腳封裝。這些RAM芯片的引腳如圖8-15。,43,44,圖8-15 常用的RAM引腳圖,各引腳功能: A0~A14:地址輸入線。 D0~D

25、7:雙向三態(tài)數(shù)據(jù)線。 CE*:片選信號輸入線。對6264芯片,當(dāng)24腳(CS)為高電平且 CE*為低電平時才選中該片。 OE*:讀選通信號輸入線,低電平有效。 WE*:寫允許信號輸入線,低電平有效。 VCC —工作電源+5V。 GND —地。 RAM存儲器有讀出、寫入、維持3種工作方式,工作方式的控制如表8-6。,45,47,8.4.2 外擴數(shù)據(jù)存儲器的讀寫操作時序?qū)ζ釸AM讀和寫兩

26、種操作時序的基本過程相同。1.讀片外RAM操作時序若外擴一片RAM,應(yīng)將WR* 腳與RAM的WE* 腳連接,RD*腳與芯片OE*腳連接。,圖8-16 AT89S51單片機讀片外RAM操作時序圖,48,2.寫片外RAM操作時序,圖8-17 AT89S51單片機寫片外RAM操作時序圖,8.4.3 AT89S51單片機與RAM的接口電路設(shè)計 AT89S51對片外RAM的讀和寫由AT89S51的RD*(P3.7)和WR

27、*(P3.6)控制,片選端由譯碼器譯碼輸出控制。 設(shè)計時,主要解決地址分配、數(shù)據(jù)線和控制信號線的連接問題。在與高速單片機連接時,要根據(jù)時序解決讀/寫速度匹配問題。,50,51,圖8-18 線選法擴展外部數(shù)據(jù)存儲器電路圖,用線選法擴展AT89S51外部數(shù)據(jù)存儲器電路,用線選可擴展3片6264,對應(yīng)的存儲器空間如表8-7所示。,52,用譯碼法擴展外部數(shù)據(jù)存儲器的接口電路,53,圖8-18 譯碼法擴展外部數(shù)據(jù)存儲器電路圖,54,,

28、AT89S51 寫外部RAM程序示例:【例8-1】編寫程序?qū)⑵鈹?shù)據(jù)存儲器中5000H~50FFH單元全部清“0”。程序如下:xdata unsigned char databuf [256] _at_0x5000;void main(void){ unsigned char i; for(i=0; i<256; i++) { databuf [i]=0; }},55

29、,8.5 EPROM和RAM的綜合擴展 在系統(tǒng)設(shè)計中,經(jīng)常是既要擴展程序存儲器,也要擴展數(shù)據(jù)存儲器(RAM)或I/O,即進行存儲器的綜合擴展。下面介紹如何進行綜合擴展。8.5.1 綜合擴展的硬件接口電路 【例8-2】采用線選法擴展2片8KB的RAM和2片8KB的EPROM。RAM芯片選用2片6264。擴展2片EPROM芯片,選用2764。硬件接口電路如圖8-20。,56,57,圖8-20 采用線選法的綜合擴

溫馨提示

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

評論

0/150

提交評論