新聞中心

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

        51單片機程序存儲器擴展

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

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

        本文引用地址:http://www.104case.com/article/201611/318150.htm

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

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

        目前典型的EPROM芯片為27系列產品:

        型號 容量 型號 容量

        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的最小系統。要通過對這個系統的分析,掌握存儲器擴展電路的連接與單片機外部程序存儲器操作時序的關系,即單片機的數據總線D0~D7、地址總線A0~A15和控制信號

        、ALE與外擴EPROM、74LS373的信號連接關系以及74LS373在電路中的作用。

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

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

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

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

        控制線的連接:


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

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

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

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

         

        <>擴展實例

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

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

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

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

        (1)數據線的連接

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

        (2)地址線的連接

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

        (3)控制線的連接

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



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 济宁市| 长宁区| 攀枝花市| 东山县| 芜湖市| 白水县| 丰城市| 新和县| 辰溪县| 天津市| 抚顺县| 巴林右旗| 佛冈县| 百色市| 朝阳县| 曲阜市| 湄潭县| 大埔县| 昭平县| 郑州市| 宿松县| 望奎县| 兰坪| 甘泉县| 嵊州市| 抚远县| 昌江| 永顺县| 涞水县| 吉首市| 囊谦县| 平舆县| 黑龙江省| 贡山| 汾阳市| 黑河市| 凤阳县| 开江县| 普安县| 香港| 滨州市|