新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 51單片機程序存儲器擴展

51單片機程序存儲器擴展

作者: 時間:2016-11-19 來源:網(wǎng)絡 收藏
單片機擴展中,要分別考慮程序存儲器及數(shù)據(jù)存儲器的擴展。

存儲器是單片機系統(tǒng)中使用最多的外擴芯片,對80C51系列單片機而言,由于程序存儲器與數(shù)據(jù)存儲器的空間在物理空間上的各自獨立性,使得兩者的擴展方法略有不同。在本節(jié)中,介紹目前常用的EPROM(Electrically Programmable Read-Only Memory)、EEPROM(Electrically Erasable Programmable Read-Only Memory)等存儲器的擴展方法。

本文引用地址:http://butianyuan.cn/article/201611/318150.htm

程序存儲器用來存放編制好的始終保留的固定程序和表格常數(shù)。程序存儲器以程序計數(shù)器PC作為地址指針,通過16位地址總線,可尋址的地址空間為64KB。

在 80C51/87C51/89C51片內(nèi),分別內(nèi)置最低地址空間的4KB ROM/EPROM程序存儲器(內(nèi)部程序存儲器),而在8031片內(nèi),則沒有內(nèi)部程序存儲器,必須外部擴展EPROM。80C51系列單片機中64KB 內(nèi)、外程序存儲器的地址是統(tǒng)一編排的。8031單片機沒有內(nèi)部程序存儲器,地址從0000H~FFFFH都是外部程序存儲空間。
應始終接地,對于內(nèi)部有ROM的單片機(5l、52系列),該引腳接高電平,使程序從內(nèi)部ROM開始執(zhí)行。當PC值超出內(nèi)部ROM的容量時,會自動轉(zhuǎn)向外部程序存儲器空間。外部程序存儲器地址空間為1000H~FFFFH,訪問程序存儲器使用MOVC指令。

目前典型的EPROM芯片為27系列產(chǎn)品:

型號 容量 型號 容量

27C16 2K×8位 27C128 16K×8位

27C32 4K×8位 27C256 32K×8位

27C64 8K×8位 27C512 64K×8位

.2.2 EPROM程序存儲器擴展實例

圖8-1為擴展8KB×8的程序存儲器27C64與單片機的連接電路。該電路也稱為8031的最小系統(tǒng)。要通過對這個系統(tǒng)的分析,掌握存儲器擴展電路的連接與單片機外部程序存儲器操作時序的關系,即單片機的數(shù)據(jù)總線D0~D7、地址總線A0~A15和控制信號
、
、ALE與外擴EPROM、74LS373的信號連接關系以及74LS373在電路中的作用。

圖中74LS373是帶三態(tài)輸出的8D鎖存器,三態(tài)控制接地。G端與8031的ALE連接,每當ALE下跳變時,74LS373鎖存低8位地址信號,并輸出供系統(tǒng)使用。

27C64是8KB×8位EPROM器件,有13根地址線A0~A12輸入,它能區(qū)分13位二進制地址信息。這13根地址線分別與8031的P2口和 P2.0~P2.4連接,當8031系統(tǒng)發(fā)出 13位地址信息時,分別選中27C64片內(nèi)8KB存儲器中的各單元。

數(shù)據(jù)線的連接:存儲器的8位數(shù)據(jù)線D0~D7接P0口(P0.0~P0.7)。單片機規(guī)定指令碼和數(shù)據(jù)都由P0口讀入,數(shù)位對應相連即可。

27C64的引腳為片選信號輸入端,低電平有效,表示選中該27C64芯片。該片選信號決定了27C64這塊芯片的8KB存儲器在整個8031擴展程序存儲器64KB空間中的位置。該系統(tǒng)中只有一片27C64,現(xiàn)將
接地,表示常有效。根據(jù)上述電路接法,27C64占有的擴展程序存儲器空間為0000H~1FFFH地址空間。

控制線的連接:


(外部程序存儲器取指信號)接(存儲器讀信號)。

ALE地址鎖存允許信號,通常接至地址鎖存器鎖存信號。

(單片機內(nèi)/外程序存儲器選擇信號)當采用8031、8032時,而應接地。

此外,27C64的和Vpp端及端可組合成27C64的各種工作方式(讀、待機、寫即編程、校對等),圖中的方式處于讀和待機兩種狀態(tài)。當選通信號為低電平,選通27C64,即讀27C64中的程序或常數(shù),當選通信號為高電平,即無效,則27C64處于低功耗待機狀態(tài)。

 

<>擴展實例

電改寫EEPROM芯片既可像RAM一樣修改其存儲單元中的內(nèi)容,又可像ROM一樣在斷電后保持存儲單元中程序與數(shù)據(jù)內(nèi)容不變,因而電改寫EEPROM在各種場合得到廣泛應用。下面以Intel公司生產(chǎn)的EEPROM2864A芯片為例介紹電改寫EEPROM。

2864A是電擦除可編程的只讀存儲器芯片。單一+5V供電,最大工作電流為160mA,維 持電流為60mA。讀出時間最大為250ns,寫入時間約為16ms,由此可見2864A的讀寫速度是較慢的。由于片內(nèi)設有編程所需高壓脈沖電路,因而無 需外加編程電壓與寫入脈沖即可工作。2864A的容量為8K×8位,因此該芯片有8根數(shù)據(jù)線與13根地址線。

2864A的讀操作與普通EPROM的讀出相同,所不同的是可以在線進行字節(jié)的寫入。2864A在寫一個字節(jié)的指令或數(shù)據(jù)之前,自動將要寫入單元進行擦除,因而無需專門的擦除操作??梢娛褂?864A就如同使用RAM一樣方便。

當向2864A發(fā)出字節(jié)寫命令后,2864A便鎖存地址、數(shù)據(jù)及控制信號,從而啟動一次寫操作。2864A的寫入時間約為16m左右,在此期間,2864A的信號處于低電平0狀態(tài),表示目前正在進行寫入數(shù)據(jù)的操作。其數(shù)據(jù)線處于高阻狀態(tài)與總線斷開,禁止CPU在此期間寫入新的數(shù)據(jù),但允許CPU執(zhí)行其它操作。一旦一次字節(jié)寫入操作完畢,2864A便將信號升為高電平1,用此信號通知CPU可以寫入新的數(shù)據(jù)。此時,CPU可對2864A進行新字節(jié)的讀寫操作。

(1)數(shù)據(jù)線的連接

8031的P0.0~P0.7與2864A的IO0~IO7直接連接。

(2)地址線的連接

8031的P0.0~P0.7經(jīng)過74LS373鎖存器與2864A地址線的低8位A0~A7連接。8031的P2.0~P2.4與2864A地址線的高5位A8~A12直接連接。

(3)控制線的連接

2864A的片選信號與8031的P2.7連接,讀信號由8031的、相與后產(chǎn)生,如圖8-2所示。這種連接可使2864A既作為程序存儲器使用,又作為數(shù)據(jù)存儲器使用。8264A的忙閑信號與8031的P1.0連接,用于判斷是否開始新字節(jié)的寫入操作。若將信號線與8031的中斷線INT1連接,則可通過中斷方式查詢2864A的忙閑狀態(tài),有關中斷的知識在第7章中介紹。



評論


技術專區(qū)

關閉