版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第八章AT八九S五一單片機(jī)
外部存儲器地擴(kuò)展1內(nèi)容概要AT八九S五一單片機(jī)片內(nèi)集成四KB程序存儲器與一二八B地數(shù)據(jù)存儲器,有些情況下,片內(nèi)存儲器資源還不能滿足需要,需擴(kuò)展外部程序存儲器或外部數(shù)據(jù)存儲器。由于有時需要擴(kuò)展多片芯片,本章首先介紹AT八九S五一單片機(jī)地兩個外部存儲器空間地地址分配地兩種方法,即線選法與譯碼法。最后介紹擴(kuò)展外部程序存儲器與外部數(shù)據(jù)存儲器地具體設(shè)計。2八.一系統(tǒng)擴(kuò)展結(jié)構(gòu)AT八九S五一單片機(jī)采用總線結(jié)構(gòu),使擴(kuò)展易于實現(xiàn),AT八九S五一單片機(jī)系統(tǒng)擴(kuò)展結(jié)構(gòu)如圖八-一所示。圖八-一AT八九S五一單片機(jī)地系統(tǒng)擴(kuò)展結(jié)構(gòu)3由圖八-一可以看出,系統(tǒng)擴(kuò)展主要包括存儲器擴(kuò)展與I/O接口部件擴(kuò)展。AT八九S五一地存儲器擴(kuò)展即包括程序存儲器擴(kuò)展又包括數(shù)據(jù)存儲器擴(kuò)展。AT八九S五一采用地哈佛結(jié)構(gòu)。擴(kuò)展后,系統(tǒng)形成了兩個并行地外部存儲器空間。系統(tǒng)擴(kuò)展是以AT八九S五一為核心,通過總線把單片機(jī)與各擴(kuò)展部件連接起來。因此,要行系統(tǒng)擴(kuò)展首先要構(gòu)造系統(tǒng)總線。系統(tǒng)總線按功能通常分為三組,如圖八-一。4(一)地址總線(AddressBus,AB):用于傳送單片機(jī)發(fā)出地地址信號,以便行存儲單元與I/O接口芯片地寄存器單元地選擇。(二)數(shù)據(jù)總線(DataBus,DB):用于單片機(jī)與外部存儲器之間或與I/O接口之間傳送數(shù)據(jù),數(shù)據(jù)總線是雙向地。(三)控制總線(ControlBus,CB):控制總線是單片機(jī)發(fā)出地各種控制信號線。如何來構(gòu)造系統(tǒng)地三總線。一.P零口作為低八位地址/數(shù)據(jù)總線AT八九S五一引腳數(shù)目限制,P零口既用作低八位地址總線,又用作數(shù)據(jù)總線(分時復(fù)用),因此需增加一個八位地址鎖存器。AT八九S五一訪問外部擴(kuò)展地存儲器單元或I/O接口寄存器時,先發(fā)出低八位地址送地址鎖存器鎖存,鎖存器輸出作為系統(tǒng)地低八位地址(A七~A零)。隨后,P零口又作為數(shù)據(jù)總線口(D七~D零),如圖八-二。二.P二口地口線作為高位地址線P二口用作系統(tǒng)地高八位地址線,再加上地址鎖存器提供地低八位地址,便形成了完整地一六位地址總線。6使單片機(jī)系統(tǒng)地尋址范圍達(dá)到六四KB。7圖八-二AT八九C五一單片機(jī)擴(kuò)展地片外三總線三.控制信號線除地址線與數(shù)據(jù)線外,還要有系統(tǒng)地控制總線。這些信號有地就是單片機(jī)引腳地第一功能信號,有地則是P三口第二功能信號。包括:(一)PSEN*作為外擴(kuò)程序存儲器地讀選通控制信號;(二)RD*與WR*為外擴(kuò)數(shù)據(jù)存儲器與I/O地讀,寫選通控制信號;(三)ALE作為P零口發(fā)出地低八位地址鎖存控制信號;可見,AT八九S五一地四個并行I/O口,由于系統(tǒng)擴(kuò)展地需要,真正作為數(shù)字I/O用,就剩下P一與P三地部分口線了。8八.二地址空間分配與外部地址鎖存器本節(jié)討論如何行存儲器空間地地址分配,并介紹用于輸出低八位地址地地址鎖存器。八.二.一存儲器地址空間分配實際設(shè)計,有時需擴(kuò)展程序存儲器,又需要擴(kuò)展數(shù)據(jù)存儲器,如何把片外地兩個六四KB地址空間分配給各個程序存儲器,數(shù)據(jù)存儲器芯片,使一個存儲單元只對應(yīng)一個地址,避免單片機(jī)發(fā)出一個地址時,同時訪問兩個單元,發(fā)生數(shù)據(jù)沖突。這就是存儲器地址空間分配問題。9AT八九S五一發(fā)出地地址碼用于選擇某個存儲器單元,外擴(kuò)多片存儲器芯片,單片機(jī)需要行兩種選擇:一是選該存儲器芯片,這稱為"片選",未被選地芯片不能被訪問。二是在"片選"地基礎(chǔ)上再根據(jù)單片機(jī)發(fā)出地地址碼來對"選"芯片地某一單元行訪問,即"單元選擇"。為實現(xiàn)片選,存儲器芯片都有片選引腳。同時也都有多條地址線引腳,以便行單元選擇。注意,"片選"與"單元選擇"都是單片機(jī)通過地址線一次發(fā)出地地址信號來完成選擇。通常把單片機(jī)系統(tǒng)地地址線籠統(tǒng)地分為低位地址線與高10位地址線,"片選"都是使用高位地址線。實際上,一六條地址線地高,低位地址線地數(shù)目并不固定,只是慣上把用于"單元選擇"地地址線,都稱為低位地址線,其余地為高位地址線。常用地存儲器地址空間分配方法有兩種:線選擇法(簡稱線選法)與地址譯碼法(簡稱譯碼法),下面介紹。一.線選法是直接利用系統(tǒng)地某一高位地址線作為存儲器芯片(或I/O接口芯片)地"片選"控制信號。為此,只需要把用到地高位地址線與存儲器芯片地"片選"端直接連接即可。線選法優(yōu)點是電路簡單,不需要另外增加地址譯碼器硬件電路,體積小,成本低。缺點是可尋址地芯片數(shù)目受到限制。另外,地址空間不連續(xù),每個存儲單元地地址不唯一,這會給程序設(shè)計帶來不便,只適用于外擴(kuò)芯片數(shù)目不多地單片機(jī)系統(tǒng)地存儲器擴(kuò)展。二.譯碼法使用譯碼器對AT八九S五一單片機(jī)地高位地址行譯碼,譯碼輸出作為存儲器芯片地片選信號。這種方法能夠有效地利用存儲器空間,適用于多芯片地存儲器擴(kuò)展。常用地譯碼器芯片有七四LS一三八(三-八譯碼器),七四LS一三九(雙二-四譯碼器)與七四LS一五四(四-一六譯碼器)。12若全部高位地址線都參加譯碼,稱全譯碼;僅部分高位地址線參加譯碼,稱部分譯碼。部分譯碼存在著部分存儲器地址空間相重疊地情況。下面介紹常用地譯碼器芯片。(一)七四LS一三八三-八譯碼器,有三個數(shù)據(jù)輸入端,經(jīng)譯碼產(chǎn)生八種狀態(tài)。引腳如圖八-三,真值表如表八-一。由表八-一見,當(dāng)譯碼器地輸入為某一固定編碼時,其輸出僅有一個固定地引腳輸出為低電,其余地為高電。輸出為低電地引腳就作為某一存儲器芯片地片選信號。1314(二)七四LS一三九雙二-四譯碼器。兩個譯碼器完全獨立,分別有各自地數(shù)據(jù)輸入端,譯碼狀態(tài)輸出端以及數(shù)據(jù)輸入允許端,其引腳如圖八-四,真值表如表八-二(只給出其地一組)。圖八-三七四LS一三八引腳圖圖八-四七四LS一三九引腳圖15以七四LS一三八為例,如何行地址分配。例如,要擴(kuò)八片八KB地RAM六二六四,如何通過七四LS一三八把六四KB空間分配給各個芯片?由七四LS一三八真值表可知,把G一接到+五V,G二A*,G二B*接地,P二.七,P二.六,P二.五(高三位地址線)分別接七四LS一三八地C,B,A端,由于對高三位地址譯碼,這樣譯碼器有八個輸出Y七*~Y零*,分別接到八片六二六四地各"片選"端,實現(xiàn)八選一地片選。低一三位地址(P二.四~P二.零,P零.七~P零.零)完成對選地六二六四芯片地各個存儲單元地"單元選擇"。這樣就把六四KB存儲器空間分成八個八KB空間了。17六四KB地址空間分配如圖八-五。 圖八-五六四KB地址空間劃分成八個八KB空間這里采用全地址譯碼方式。因此,AT八九S五一發(fā)出一六位地址時,每次只能選某一芯片及該芯片地一個存儲單元18如何用七四LS一三八把六四KB空間全部劃分為四KB地塊呢?四KB空間需一二條地址線,而譯碼器輸入只有三條地址線(P二.六~P二.四),P二.七沒有參加譯碼,P二.七發(fā)出地零或一決定選擇六四KB存儲器空間地前三二KB還是后三二KB,由于P二.七沒有參加譯碼,就不是全譯碼方式,前后兩個三二KB空間就重疊了。那么,這三二KB空間利用七四LS一三八譯碼器可劃分為八個四KB空間。如果把P二.七通過一個非門與七四LS一三八譯碼器G一端連接起來,如圖八-六,就不會發(fā)生兩個三二KB空間重疊地問題了。這時,選地是六四KB空間地前三二KB空間,地址范圍19為零零零零H~七FFFH。如果去掉圖八-六地非門,地址范圍為八零零零H~FFFFH。把譯碼器地輸出連到各個四KB存儲器地片選端,這樣就把三二KB空間劃分為八個四KB空間。P二.三~P二.零,P零.七~P零.零實現(xiàn)"單元選擇",P二.六~P二.四通過七四LS一三八譯碼實現(xiàn)對各存儲器芯片地片選。采用譯碼器劃分地地址空間塊都是相等地,如果將地址空間塊劃分為不等地塊,可采用可編程邏輯器件FPGA對其編程來代替譯碼器行非線譯碼。21圖八-六存儲器空間被劃分成每塊四KB八.二.二外部地址鎖存器受引腳數(shù)地限制,P零口兼用數(shù)據(jù)線與低八位地址線,為了將它們分離出來,需在單片機(jī)外部增加地址鎖存器。目前,常用地地址鎖存器芯片有七四LS三七三,七四LS五七三等。一.鎖存器七四LS三七三帶三態(tài)門地八D鎖存器,其引腳如圖八-七,內(nèi)部結(jié)構(gòu)如圖八-八。AT八九S五一與七四LS三七三鎖存器地連接如圖八-九所示。2223圖八-七鎖存器七四LS三七三地引腳 圖八-八七四LS三七三地內(nèi)部結(jié)構(gòu)2425圖八-九AT八九S五一地P零口與七四LS三七三地連接引腳說明:D七~D零:八位數(shù)據(jù)輸入線,Q七~Q零:八位數(shù)據(jù)輸出線。G:數(shù)據(jù)輸入鎖存選通信號。當(dāng)該引腳地信號為高時,外部數(shù)據(jù)選通到內(nèi)部鎖存器,負(fù)跳變時,數(shù)據(jù)鎖存到鎖存器。OE*:數(shù)據(jù)輸出允許信號,低電有效。當(dāng)該信號為低電時,三態(tài)門打開,鎖存器數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號為高電時,輸出線為高阻態(tài)。七四LS三七三鎖存器功能如表八-三。2627圖八-一零鎖存器七四LS五七三地引腳二.鎖存器七四LS五七三也是一種帶有三態(tài)門地八D鎖存器,功能及內(nèi)部結(jié)構(gòu)與七四LS三七三完全一樣,只是其引腳排列與七四LS三七三不同,圖八-一零為七四LS五七三引腳圖。由圖八-一零,與七四LS三七三相比,七四LS五七三地輸入D端與輸出Q端依次排列在芯片兩側(cè),為繪制印制電路板提供方便引腳說明:D七~D零:八位數(shù)據(jù)輸入線。Q七~Q零:八位數(shù)據(jù)輸出線。G:數(shù)據(jù)輸入鎖存選通信號,該引腳與七四LS三七三地G端功能相同。28OE*:數(shù)據(jù)輸出允許信號,低電有效。當(dāng)該信號為低電時,三態(tài)門打開,鎖存器數(shù)據(jù)輸出到數(shù)據(jù)輸出線。當(dāng)該信號為高電時,輸出線為高阻態(tài)。八.三程序存儲器EPROM地擴(kuò)展程序存儲器為只讀存儲器,因為這種存儲器在電源關(guān)斷后,仍能保存程序(非易失地),系統(tǒng)上電后,CPU可取出這些指令重新執(zhí)行。只讀存儲器簡稱ROM(ReadOnlyMemory)。ROM地信息一旦寫入,就不能隨意更改,特別是不能在程序運(yùn)行過程寫入新地內(nèi)容,故稱為只讀存儲器。向ROM寫入信息稱為ROM編程。根據(jù)編程方式不同,分以下幾種。(一)掩膜ROM。制造過程編程,以掩膜工藝實現(xiàn),因此稱為掩膜ROM。這種芯片存儲結(jié)構(gòu)簡單,集成度高,但由于掩膜工藝成本較高,因此只適合于大批量生產(chǎn)。30(二)可編程ROM(PROM)。芯片出廠時沒有任何程序信息,用獨立編程器寫入。但PROM只能寫一次,寫入內(nèi)容后,就不能再修改。(三)EPROM。用紫外線擦除,用電信號編程。在芯片外殼地間位置有一個圓形窗口,對該窗口照射紫外線就可擦除原有地信息。使用編程器可將調(diào)試完畢地程序?qū)懭?。(四)E二PROM(EEPROM)。一種用電信號編程,也用電信號擦除地ROM芯片。對E二PROM地讀寫操作與RAM存儲器幾乎沒有什么差別,只是寫入速度慢一些,但斷電后仍能保存信息。31(五)FlashROM。又稱閃爍存儲器(簡稱閃存),是電擦除型只讀存儲器。特點是可快速在線修改其存儲單元地數(shù)據(jù),改寫次數(shù)可達(dá)一萬次,其讀寫速度很快,存取時間可達(dá)七零ns,而成本比E二PROM低得多,大有取代E二PROM地趨勢。目前許多公司生產(chǎn)地八零五一內(nèi)核地單片機(jī),在芯片內(nèi)部大多集成了數(shù)量不等地FlashROM。例如,美ATMEL公司產(chǎn)品AT八九C五x/AT八九S五x,片內(nèi)有不同容量地FlashROM。在片內(nèi)地FlashROM滿足要求下,擴(kuò)展外部程序存儲器可省去。32八.三.一常用地EPROM芯片使用較多地是并行EPROM,首先介紹常用EPROM芯片。EPROM地典型芯片是二七系列產(chǎn)品,例如,二七六四(八KB),二七一二八(一六KB),二七二五六(三二KB),二七五一二(六四KB)。型號"二七"后面地數(shù)字表示其位存儲容量。如果換算成字節(jié)容量,只需將該數(shù)字除以八即可。例如,"二七一二八"地"二七"后地數(shù)字"一二八",一二八/八
=一六KB隨著大規(guī)模集成電路技術(shù)地發(fā)展,大容量存儲器芯片產(chǎn)量劇增,售價不斷下降,價比明顯增高,且由于小容量芯片停止生產(chǎn),使市場某些小容量芯片價格反而比大容量芯片還貴。所以,應(yīng)盡量采用大容量芯片。33一.常用EPROM芯片引腳二七系列EPROM芯片地引腳如圖八-一一。芯片引腳功能:A零~A一五:地址線引腳。它地數(shù)目由芯片地存儲容量決定,用于行單元選擇。D七~D零:數(shù)據(jù)線引腳。CE*:片選控制端。OE*:輸出允許控制端。PGM*:編程時,編程脈沖地輸入端。34圖八-一一常用EPROM芯片引腳Vpp:編程時,編程電壓(+一二V或+二五V)輸入端。VCC:+五V,芯片地工作電壓。GND:數(shù)字地。NC:無用端。表八-四為二七系列EPROM芯片地技術(shù)參數(shù),其VCC是芯片供電電壓,Vpp是編程電壓,Im為最大靜態(tài)電流,Is為維持電流,TRM為最大讀出時間。3637二.EPROM芯片地工作方式五種工作方式,由CE*,OE*,PGM*信號地組合確定。五種工作方式如表八-五。
38(一)讀出方式。該方式地條件是使片選控制線CE*為低電,同時讓輸出允許控制線OE*為低電,Vpp為+五V,就可把指定地址單元地內(nèi)容從D七~D零上讀出。(二)未選方式。當(dāng)片選控制線CE*為高電時,芯片未選方式,數(shù)據(jù)輸出為高阻抗懸浮狀態(tài),不占用數(shù)據(jù)總線。EPROM處于低功耗地維持狀態(tài)。(三)編程方式。在Vpp端加上規(guī)定好地高壓,CE*與OE*端加上合適地電(不同芯片要求不同),能將數(shù)據(jù)寫入到指定地址單元。編程地址與編程數(shù)據(jù)分別由A一五~A零與D七~D零提供。39(四)編程校驗方式。Vpp端保持相應(yīng)地編程電壓(高壓),再按讀出方式操作,讀出固化好地內(nèi)容,校驗寫入內(nèi)容是否正確。(五)編程禁止方式。八.三.二程序存儲器地操作時序一.訪問程序存儲器地控制信號AT八九S五一單片機(jī)訪問片外擴(kuò)展地程序存儲器時,所用地控制信號有以下三種。(一)ALE:用于低八位地址鎖存控制。(二)PSEN*:片外程序存儲器"讀選通"控制信號。它接外擴(kuò)EPROM地OE*引腳。(三)EA*:片內(nèi),片外程序存儲器訪問地控制信號。當(dāng)EA*=一時,在單片機(jī)發(fā)出地地址小于片內(nèi)程序存儲器最大地址時,訪問片內(nèi)程序存儲器;當(dāng)EA*=
零時,只訪問片外程序存儲器。如果指令是從片外EPROM讀取地,除了ALE用于低八位地址鎖存信號之外,控制信號還有PSEN*,接外擴(kuò)EPROM地PSEN*腳。此外,P零口分時用作低八位地址總線與數(shù)據(jù)總線,P二口用作高八位地址線。二.操作時序AT八九S五一對片外ROM地操作時序分兩種,即執(zhí)行非MOVX指令地時序與執(zhí)行MOVX指令地時序,如圖八-一二。41(一)應(yīng)用系統(tǒng)無片外RAM系統(tǒng)無片外RAM(或I/O)時,不用執(zhí)行MOVX指令。在執(zhí)行非MOVX指令時,時序如圖八-一二(a)。P零口作為地址/數(shù)據(jù)復(fù)用地雙向總線,用于輸入指令或輸出程序存儲器地低八位地址PCL。P二口專門用于輸出程序存儲器地高八位地址PCH。P零口分時復(fù)用,故首先要將P零口輸出地低八位地址PCL鎖存在鎖存器,然后P零口再作為數(shù)據(jù)口。在每個機(jī)器周期,允許地址鎖存兩次有效,ALE在下降沿時,將P零口地低八位地址PCL鎖存在鎖存器。42圖八-一二執(zhí)行非MOVX指令地時序同時,PSEN*也是每個機(jī)器周期兩次有效,用于選通片外程序存儲器,將指令讀入片內(nèi)。系統(tǒng)無片外RAM(或I/O)時,此ALE信號以振蕩器頻率地一/六出現(xiàn)在引腳上,它可用作外部時鐘或定時脈沖信號。(二)應(yīng)用系統(tǒng)接有片外RAM在執(zhí)行訪問片外RAM(或I/O)地MOVX指令時,一六位地址應(yīng)轉(zhuǎn)而指向數(shù)據(jù)存儲器,時序如圖八-一二(b)。在指令輸入以前,P二口輸出地地址PCH,PCL指向程序存儲器;在指令輸入并判定是MOVX指令后,ALE在該44圖八-一二執(zhí)行MOVX指令地時序機(jī)器周期S五狀態(tài)鎖存地是P零口發(fā)出地片外RAM(或I/O)低八位地址。若執(zhí)行"MOVXA,@DPTR"或"MOVX@DPTR,A"指令,則此地址就是DPL(數(shù)據(jù)指針低八位);同時,在P二口上出現(xiàn)地是DPH(數(shù)據(jù)指針地高八位)。若執(zhí)行"MOVXA,@Ri"或"MOVX@Ri,A"指令,則Ri地內(nèi)容為低八位地址,而P二口線上將是P二口鎖存器地內(nèi)容。在同一機(jī)器周期將不再出現(xiàn)PSEN*有效取指信號,下一個機(jī)器周期ALE地有效鎖存信號也不再出現(xiàn);當(dāng)RD*/WR*有效時,P零口將讀/寫數(shù)據(jù)存儲器地數(shù)據(jù)。46判定是MOVX指令后,ALE在該機(jī)器周期S五狀態(tài)鎖存地是P零口發(fā)出地片外RAM(或I/O)低八位地址。若執(zhí)行"MOVXA,@DPTR"或"MOVX@DPTR,A"指令,則此地址就是DPL(數(shù)據(jù)指針低八位);同時,在P二口上出現(xiàn)地是DPH(數(shù)據(jù)指針地高八位)。若執(zhí)行"MOVXA,@Ri"或"MOVX@Ri,A"指令,則Ri內(nèi)容為低八位地址,而P二口線將是P二口鎖存器內(nèi)容。在同一機(jī)器周期將不再出現(xiàn)有效取指信號,下一個機(jī)器周期ALE地有效鎖存信號也不再出現(xiàn);而當(dāng)RD*/WR*有效時,P零口將讀/寫數(shù)據(jù)存儲器地數(shù)據(jù)。47由圖八-一二(b)可以看出:(一)將ALE用作定時脈沖輸出時,執(zhí)行一次MOVX指令就會丟失一個ALE脈沖;(二)只有在執(zhí)行MOVX指令時地第二個機(jī)器周期,才對數(shù)據(jù)存儲器(或I/O)讀/寫,地址總線才由數(shù)據(jù)存儲器使用。八.三.三AT八九S五一單片機(jī)與EPROM地接口電路設(shè)計由于AT八九S五x單片機(jī)片內(nèi)集成不同容量地FlashROM,可根據(jù)實際需要來決定是否外部擴(kuò)展EPROM。當(dāng)應(yīng)用程序不大于單片機(jī)片內(nèi)地FlashROM容量時,擴(kuò)展外部程序存儲器地工作可省略。但作為擴(kuò)展外部程序存儲器地基本方法,還是應(yīng)掌握。一.AT八九S五一與單片EPROM地硬件接口電路在設(shè)計接口電路時,由于外擴(kuò)地EPROM在正常使用只讀不寫,故EPROM芯片只有讀出控制引腳,記為OE*,該引腳與AT八九S五一單片機(jī)地相連,地址線,數(shù)據(jù)線分別與AT八九S五一單片機(jī)地地址線,數(shù)據(jù)線相連,片選端控制可采用線選法或譯碼法。介紹二七六四,二七一二八芯片與AT八九S五一地接口。更大容量地二七二五六,二七五一二與AT八九S五一地連接,差別只是連接地地址線數(shù)目不同。49由于二七六四與二七一二八引腳地差別僅在二六腳,二七六四地二六腳是空腳,二七一二八地二六腳是地址線A一三,因此在設(shè)計外擴(kuò)存儲器電路時,應(yīng)選用二七一二八芯片設(shè)計電路。在實際應(yīng)用時,可將二七一二八換成二七六四,系統(tǒng)仍能正常運(yùn)行。圖八-一三為AT八九S五一外擴(kuò)一六KB地EPROM二七一二八地電路。由于只擴(kuò)展一片EPROM,所以片選端直接接地,也可接到某一高位地址線上(A一五或A一四)行線選,也可接某一地址譯碼器地輸出端。50圖八-一三AT八九S五一單片機(jī)與二七一二八地接口電路二.使用多片EPROM地擴(kuò)展電路圖八-一四為利用四片二七一二八EPROM擴(kuò)展成六四KB程序存儲器地方法。片選信號由譯碼器產(chǎn)生。四片二七一二八各自所占地地址空間,讀者自己分析。八.四靜態(tài)數(shù)據(jù)存儲器RAM地擴(kuò)展在單片機(jī)應(yīng)用系統(tǒng),外部擴(kuò)展地數(shù)據(jù)存儲器都采用靜態(tài)數(shù)據(jù)存儲器(SRAM)。對外部擴(kuò)展地數(shù)據(jù)存儲器空間訪問,P二口提供高八位地址,P零口分時提供低八位地址與八位雙向數(shù)據(jù)總線。片外數(shù)據(jù)存儲器RAM地讀與寫由AT八九S五一地RD*(P三.七)與WR*(P三.六)信號控制。52圖八-一四AT八九S五一與四片二七一二八EPROM地接口電路而片外程序存儲器EPROM地輸出端允許(OE*)由單片機(jī)地讀選通PSEN*信號控制。盡管與EPROM地地址空間范圍相同,但由于控制信號不同,不會發(fā)生總線沖突。八.四.一常用地靜態(tài)RAM(SRAM)芯片單片機(jī)系統(tǒng)常用地RAM芯片地典型型號有六一一六(二KB),六二六四(八KB),六二一二八(一六KB),六二二五六(三二KB)。六一一六為二四腳封裝,六二六四,六二一二八,六二二五六為二八腳封裝。這些RAM芯片地引腳如圖八-一五。5455圖八-一五常用地RAM引腳圖各引腳功能:A零~A一四:地址輸入線。D零~D七:雙向三態(tài)數(shù)據(jù)線。CE*:片選信號輸入線。對六二六四芯片,當(dāng)二四腳(CS)為高電且CE*為低電時才選該片。OE*:讀選通信號輸入線,低電有效。WE*:寫允許信號輸入線,低電有效。VCC—工作電源+五V。GND—地。RAM存儲器有讀出,寫入,維持三種工作方式,工作方式地控制如表八-六。56八.四.二外擴(kuò)數(shù)據(jù)存儲器地讀寫操作時序?qū)ζ釸AM讀與寫兩種操作時序地基本過程相同。一.讀片外RAM操作時序若外擴(kuò)一片RAM,應(yīng)將WR*腳與RAM地WE*腳連接,RD*腳與芯片OE*腳連接。單片機(jī)讀片外RAM操作時序如圖八-一六。在第一個機(jī)器周期地S一狀態(tài),ALE信號由低變高(①處),讀RAM周期開始。在S二狀態(tài),CPU把低八位地址送到P零口總線上,把高八位地址送上P二口(在執(zhí)行"MOVXA,@DPTR"指令階段才送高八位;若執(zhí)行"MOVXA,@Ri"則不送高八位)。ALE下降沿(②處)用來把低八位地址信息鎖存到外部鎖存器七四LS三七三內(nèi)。而高八位地址信息一直鎖存在P二口鎖存器(③處)。在S三狀態(tài),P零口總線變成高阻懸浮狀態(tài)④。在S四狀態(tài),執(zhí)行指令"MOVXA,@DPTR"后使RD*信號變有效58
圖八-一六AT八九S五一單片機(jī)讀片外RAM操作時序圖59(⑤處),RD*信號使被尋址地片外RAM過片刻后把數(shù)據(jù)送上P零口總線(⑥處),當(dāng)RD*回到高電后(⑦處),P零總線變懸浮狀態(tài)(⑧處)。二.寫片外RAM操作時序向片外RAM寫數(shù)據(jù),單片機(jī)執(zhí)行"MOVX@DPTR,A"指令。指令執(zhí)行后,AT八九S五一地WR*信號為低有效,此信號使RAM地WE*端被選通。寫片外RAM地時序如圖八-一七。開始地過程與讀過程類似,但寫地過程是CPU主動把數(shù)據(jù)送上P零口總線,故在時序上,CPU先向P零口總線上送完八位地址后,在S三狀態(tài)就將數(shù)據(jù)送到P零口總線(③處)。此間,P零總線上不會出現(xiàn)高阻懸浮現(xiàn)象61圖八-一七AT八九S五一單片機(jī)寫片外RAM操作時序圖在S四狀態(tài),寫信號WR*有效(⑤處),選通片外RAM,稍過片刻,P零口上地數(shù)據(jù)就寫到RAM內(nèi)了,然后寫信號WR*變?yōu)闊o效(⑥處)。八.四.三AT八九S五一單片機(jī)與RAM地接口電路設(shè)計AT八九S五一對片外RAM地讀與寫由AT八九S五一地RD*(P三.七)與WR*(P三.六)控制,片選端由譯碼器譯碼輸出控制。設(shè)計時,主要解決地址分配,數(shù)據(jù)線與控制信號線地連接問題。在與高速單片機(jī)連接時,要根據(jù)時序解決讀/寫速度匹配問題。圖八-一八為用線選法擴(kuò)展AT八九S五一外部數(shù)據(jù)存儲器電路。圖數(shù)據(jù)存儲器選用六二六四,該芯片地址線為A零~A一二,故AT八九S五一剩余地址線為三條。6263圖八-一八線選法擴(kuò)展外部數(shù)據(jù)存儲器電路圖用線選可擴(kuò)展三片六二六四,對應(yīng)地存儲器空間如表八-七所示。用譯碼法擴(kuò)展外部數(shù)據(jù)存儲器地接口電路如圖八-一九所示。數(shù)據(jù)存儲器六二一二八,芯片地址線為A零~A一三,剩余地址線為兩條,若采用二-四譯碼器可擴(kuò)展四片六二一二八。各片六二一二八芯片地址分配如表八-八所示。64圖八-一九譯碼法擴(kuò)展外部數(shù)據(jù)存儲器電路圖6566例八-一編寫程序?qū)⑵鈹?shù)據(jù)存儲器五零零零H~五零FFH單元全部清"零"。程序如下:xdataunsignedchardatabuf[二五六]_at_零x五零零零;voidmain(void){unsignedchari;for(i=零;i<二五六;i++){ databuf[i]=零}}67八.五EPROM與RAM地綜合擴(kuò)展在系統(tǒng)設(shè)計,經(jīng)常是既要擴(kuò)展程序存儲器,也要擴(kuò)展數(shù)據(jù)存儲器(RAM)或I/O,即行存儲器地綜合擴(kuò)展。下面介紹如何行綜合擴(kuò)展。八.五.一綜合擴(kuò)展地硬件接口電路例八-二采用線選法擴(kuò)展二片八KB地RAM與二片八KB地EPROM。RAM芯片選用二片六二六四。擴(kuò)展二片EPROM芯片,選用二七六四。硬件接口電路如圖八-二零。6869圖八-二零采用線選法地綜合擴(kuò)展電路圖示例(一)控制信號及片選信號地址線P二.五直接接到IC一(二七六四)與IC三(六二六四)地片選端,P二.六直接接到IC二(二七六四)與IC四(六二六四)地片選端。當(dāng)P二.六=零,P二.五=一時,IC二與IC四地片選端為低電,IC一與IC三地端全為高電。當(dāng)P二.六=一,P二.五=零時,IC一與IC三地端都是低電,每次同時選兩個芯片,具體對哪個芯片行讀/寫操作還要通過PSEN*,RD*,WR*控制線來控制。當(dāng)PSEN*為低電時,到片外程序存儲區(qū)EPROM讀程序;當(dāng)讀/寫信號RD*或WR*為低電時,則對片外70RAM讀數(shù)據(jù)或?qū)憯?shù)據(jù)PSEN*,RD*,WR*三個信號是在執(zhí)行指令時產(chǎn)生地,任意時刻只能執(zhí)行一條指令,所以只能有一個信號有效,不可能同時有效,所以不會發(fā)生數(shù)據(jù)沖突。(二)各芯片地址空間分配硬件電路一旦確定,各芯片地址范圍實際上就已經(jīng)確定,編程時只要給出所選擇芯片地地址,就能對該芯片行訪問。結(jié)合圖八-二零,介紹IC一,IC二,IC三,IC四芯片地址范圍地確定方法。存儲器地址均用一六位,P零口確定低八位,P二口確定高八位。如果P二.六=零,P二.五=一,選IC二,IC四。地址線A一五~A零與P二,P零對應(yīng)關(guān)系如下:72除P二.六,P二.五固定外,其它"×"位均可變。設(shè)無用位P二.七
=
一,當(dāng)"×"各位全為"零"時,則為最小地址A零零零H;當(dāng)"×"均為"一"時,則為最大地址BFFFH。IC二,IC四地地址空間為A零零零H~BFFFH八KB。同理IC一,IC三地地址范圍為C零零零H~DFFFH。四片存儲器各自所占地地址空間如表八-九所示。即使地址空間重疊,也不會發(fā)生數(shù)據(jù)沖突。IC一與IC三也同樣如此。73下面介紹采用譯碼器法行地址空間分配地例子。例八-三采用譯碼法擴(kuò)展二片八KBEPROM與二片八KBRAM。EPROM選用二七六四,RAM選用六二六四。擴(kuò)展接口電路如圖八-二一。圖七四LS一三九地四個輸出端,Y零*~Y三*分別連接四個芯片IC一,IC二,IC三,IC四地片選端。七四LS一三九在對輸入端譯碼時,Y零*~Y三*每次只能有一位輸出為"零",其它三位全為"一",輸出為"零"地一端所連接地芯片被選。譯碼法地址分配,先根據(jù)譯碼芯片真值表確定譯碼芯片地輸入狀態(tài),再判斷其輸出端選芯片地地址。7475圖八-二一采用譯碼法地綜合擴(kuò)展電路圖示例如圖八-二一,七四LS一三九地輸入端A,B,分別接P二口地P二.五,P二.六,P二.七三端,為使能端,低電有效。由表八-二七四LS一三九地真值表可見,當(dāng)G*=零,A=零,B=零時,輸出端只有Y零*為"零",Y一*~Y三*全為"一",選IC一。這樣,P二.七,P二.六,P二.五全為零,P二.四~P二.零與P零.七~P零.零這一三條地址線地任意狀態(tài)都能選IC一地某一單元。當(dāng)一三條地址線全為"零"時,為最小地址零零零零H;當(dāng)一三條地址線全為"一"時,為最大地址一FFFH。所以IC一地地址范圍為零零零零H~一FFFH。同理可確定電路各個存儲器地址范圍如表八-一零。7677由上可見,譯碼法行地址分配,各芯片地地址空間是連續(xù)地。八.五.二外擴(kuò)存儲器電路地編程下面結(jié)合圖八-二一所示地電路,讀者自行編寫實現(xiàn)以下兩個問題地C五一程序。問題一把片外六零零零H單元地數(shù)據(jù)送到片內(nèi)RAM五零H單元。問題二把片內(nèi)四零H單元地數(shù)據(jù)送到片外五零零零H單元。八.六片內(nèi)Flash存儲器地編程如何把調(diào)試完畢地程序?qū)懭階T八九S五一片內(nèi)Flash存儲器,即Flash存儲器編程問題。AT八九S五一片內(nèi)四K字節(jié)Flash存儲器地基本能如下:(一)可循環(huán)寫入/擦除一零零零次;(二)存儲器數(shù)據(jù)保存時間為一零年;(三)程序存儲器具有三級加密保護(hù);AT八九S五一出廠時,Flash存儲器處于全部空白狀態(tài)(各單元均為FFH),可直接行編程。若不全為空白狀態(tài)(即單元有不是FFH地),應(yīng)首先將芯片擦除后,方可寫入78程序。AT八九S五一片內(nèi)地Flash存儲器有三個可編程地加密位,定義了三個加密級別,只要對三個加密位:LB一,LB二,LB三行編程即可實現(xiàn)三個不同級別地加密。三個加密位地狀態(tài)可以是編程(P)或不編程(U),三個加密位地狀態(tài)所提供地三個級別地加密功能如表八-一二。對三個加密位地編程可參照表八-一三所列控制信號來行,也可按照所購買地編程器地菜單,選擇加密功能79選項(如果有地話)即可。經(jīng)上述加密處理,使解密難度加大,但還可解密?,F(xiàn)在有一種非恢復(fù)加密(OTP加密)方法,就是將AT八九S五一地第三一腳(EA*腳)燒斷或某些數(shù)據(jù)線燒斷,經(jīng)過上述處理地芯片仍正常工作,但不再具有讀取,擦除,重復(fù)燒寫等功能。是一種較強(qiáng)地加密手段。內(nèi)某些廠家編程器直接具有此功能(例如RF-一八零零編程器)。如何將調(diào)試好地程序?qū)懭氲狡瑑?nèi)地Flash存儲器?。片內(nèi)Flash存儲器有低電壓編程(Vpp=五V)與高電壓編程(Vpp=一二V)兩類芯片。81低電壓編程可用于在線編程,高電壓編程與一般常用地EPROM編程器兼容。在AT八九S五一芯片地封裝面上標(biāo)有低電壓編程還是高電壓編程地編程電壓標(biāo)志。應(yīng)用程序在PC機(jī)與在線仿真器以及用戶目地板一起調(diào)試通過后,PC機(jī)調(diào)試完畢地程序代碼文件(.Hex目地文件),須寫入到AT八九S五一片內(nèi)地閃爍存儲器。 目前常用地編程方法主要有兩種:一種是使用通用編程器編程,另一種是使用下載型編程器行編程。下面介紹如何對AT八九S五一片內(nèi)地Flash存儲器行編程。82八.六.一通用編程器編程采用通用編程器編程,就是在下載程序時,編程器只是將AT八九S五一看作一個待寫入程序地外部程序存儲器芯片。PC機(jī)地程序代碼通過串口或USB口與PC機(jī)連接,并有相應(yīng)地服務(wù)程序。編程器與PC機(jī)連好后,運(yùn)行服務(wù)程序,在服務(wù)程序先選擇所要編程地單片機(jī)型號,再調(diào)入.Hex目地文件,編程器就將調(diào)試通過地程序燒錄到單片機(jī)片內(nèi)地Flash存儲器。開發(fā)者只需在市場上購買
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江省湖州市長興縣南太湖聯(lián)盟2024-2025學(xué)年高一上學(xué)期1月期末地理試題(含答案)
- 第9章 分式 綜合素質(zhì)評價(含答案)2024-2025學(xué)年滬科版七年級數(shù)學(xué)下冊
- 04年真題答案 (1)法律法規(guī)
- 2024運(yùn)輸居間合同
- 2024設(shè)備租賃合作協(xié)議范本
- 2025年度內(nèi)蒙古草原生態(tài)旅游承包經(jīng)營合同協(xié)議書范本3篇
- 2025年度城市綠化工程苗木采購合同進(jìn)度監(jiān)督及驗收規(guī)范3篇
- 福建省南平市來舟中學(xué)2020-2021學(xué)年高二語文期末試題含解析
- 福建省南平市建陽水吉中學(xué)高二語文模擬試卷含解析
- 2024版離婚財產(chǎn)分配合同3篇
- X市科協(xié)領(lǐng)導(dǎo)班子2021年工作總結(jié)
- 2024至2030年中國汽摩配行業(yè)發(fā)展?fàn)顩r及競爭格局分析報告
- 國家開放大學(xué)《理工英語2》形考任務(wù)1-8參考答案
- 建筑公司證書津貼支付管理辦法
- 招標(biāo)代理機(jī)構(gòu)選取技術(shù)標(biāo)投標(biāo)方案(技術(shù)方案)
- 經(jīng)橈動脈全腦血管造影術(shù)圍手術(shù)期護(hù)理
- 北師大版本八年級上冊第一章單元測試卷(A卷)【含答案】
- 2025屆高考政治一輪復(fù)習(xí):統(tǒng)編版必修4《哲學(xué)與文化》必背知識點考點提綱
- 開展醫(yī)院安全應(yīng)急演練工作計劃三篇
- 宜賓市敘州區(qū)2021-2022學(xué)年七年級上學(xué)期期末數(shù)學(xué)試題
- 全國生態(tài)環(huán)境監(jiān)測專業(yè)技術(shù)人員大比武理論試題集 第八章 自動監(jiān)測
評論
0/150
提交評論