新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于MCS-8051單片機的片外數據存儲器擴展設計研究

基于MCS-8051單片機的片外數據存儲器擴展設計研究

作者: 時間:2013-11-04 來源:網絡 收藏

  0 引言

  隨著單片機運算速度和處理能力的不斷提高,其在各個領域得到更廣泛的應用。然而。隨著其應用領域的不斷擴大及集成化的不斷提高,其內部資源已不能滿足實際需求,往往需要對其內部資源進行擴展。

  經典的擴展方法主要是通過地址總線、數據總線即P0、P2口,以及控制線ALE等來進行數據或程序存儲器的擴展,最大尋址空間可達64KB,但這種方法占用端口較多,在有些情況下不能滿足需求。這里以MCS-8051系列單片機為例,介紹一種新的片外擴展方法,僅用單片機的P0口、P1.6及P1.7共10個端口便可實現256 KB的擴展。

  

  1 總體設計思路

  片機片內部存儲空間為256 B,有P0、P1、P2、P3 4個I/O端口。實際應用中,其內部存儲空間往往不能滿足需求,常常會在片外進行擴展。有別于經典的擴展方法,這里并沒有用到P2口,僅用P0口和各個存儲器的地址線、數據線連接,組成地址總線和數據總線。同時將PO口的P0.0、P0.1和P0.2這3個端口引到譯碼器件的輸入端,譯碼后作為件的片選擇控制線,與單片機的其他控制端口一起形成控制總線。從而通過數據總線、地址總線和控制總線這3個總線實現單片機片外256 KB數據存儲器的擴展。

  單片機的PO口具備地址總線、數據總線及控制線的功能。由軟件來分時傳送地址信號、數據信號和片選擇控制信號。

  2 硬件接口電路設計

  MCS-805l單片機與多片62256數據存儲器的擴展電路主要由8片62256型數據存儲器、3片74IS373鎖存器和1片74LS138譯碼器件組成。62 256數據存儲器為32 KB靜態(tài)隨機存取存儲器,為片選信號輸入線,為寫選通信號輸入線,為讀選通信號輸人線,A0~A14為地址輸入線,D0~D7為雙向三態(tài)數據線。該存儲器件在不同操作方式下控制引腳電平的狀態(tài)如表1所示。74LS373是帶三態(tài)緩沖輸出的8D觸發(fā)器,OE為使能端,G為控制端。其功能如表2所示。

  

  

  圖l是片機與多片62256數據存儲器的硬件連接電路。單片機的P0口與譯碼器741S138、鎖存器74LS373-0和 74LS373-l的輸入端口相連,用來傳輸地址信息和控制信息。同時,P0口還與數據存儲器的數據線相連接,用來傳輸數據信息。P1.6接到鎖存器 74LS373-2的控制端G,P1.7接到鎖存器74LS373-1的控制端G,ALE接到鎖存器74LS373-0的控制端上。由此,在P1.6、 P1.7和ALE 3個端口共同作用下,使可實現地址信息和數據信息的分時傳送。T0~T7是8片62256數據存儲器,組成片外256 KB存儲空間。

  

  3 軟件設計

  3.1數據存儲器擴展的軟件設計

  片機片外256 KB數據存儲器擴展,其軟件設計的主要思路是如何在MCS-805l單片機與要訪問的片外之間建立聯系,實現兩者的信息傳遞。MOVX指令執(zhí)行時,將地址信息同時進行鎖存,然后開始傳送數據,其讀、寫周期很短,但占用端口較多。為了節(jié)約端口資源,可將地址信息分時傳送,圖2是單片機讀、寫片外數據存儲器的過程。與MOVX指令不同,單片機在訪問片外時,首先是分時將片外的地址信息送入鎖存器并鎖存起來,然后再對片外數據存儲單元進行讀、寫操作,這是2個完全獨立的過程,這一特點大大節(jié)約了端口資源,但讀、寫周期較長。


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉