<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • x
    x

    基于單片機P0口的片外數據存儲器擴展

    發布時間:2010-10-15 19:44    發布者:techshare
    關鍵詞: 單片機 , 擴展 , 片外 , 數據存儲器
    隨著單片機運算速度和處理能力的不斷提高,其在各個領域得到更廣泛的應用。然而。隨著其應用領域的不斷擴大及集成化的不斷提高,其內部資源已不能滿足實際需求,往往需要對其內部資源進行擴展。經典的擴展方法主要是通過地址總線、數據總線即P0、P2口,以及控制線ALE等來進行數據或程序存儲器的擴展,最大尋址空間可達64KB,但這種方法占用端口較多,在有些情況下不能滿足需求。這里以MCS-8051系列單片機為例,介紹一種新的片外數據存儲器擴展方法,僅用單片機的P0口、P1.6及P1.7共10個端口便可實現256 KB數據存儲器的擴展。

    1 總體設計思路

    MCS-8051單片機片內部存儲空間為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靜態隨機存取存儲器,為片選信號輸入線,為寫選通信號輸入線,為讀選通信號輸人線,A0~A14為地址輸入線,D0~D7為雙向三態數據線。該存儲器件在不同操作方式下控制引腳電平的狀態如表1所示。74LS373是帶三態緩沖輸出的8D觸發器,OE為使能端,G為控制端。其功能如表2所示。






    圖l是MCS-8051單片機與多片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 數據存儲器擴展的軟件設計

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



    隨著單片機運算速度和處理能力的不斷提高,其在各個領域得到更廣泛的應用。然而。隨著其應用領域的不斷擴大及集成化的不斷提高,其內部資源已不能滿足實際需求,往往需要對其內部資源進行擴展。經典的擴展方法主要是通過地址總線、數據總線即P0、P2口,以及控制線ALE、*****等來進行數據或程序存儲器的擴展,最大尋址空間可達64KB,但這種方法占用端口較多,在有些情況下不能滿足需求。這里以MCS-8051系列單片機為例,介紹一種新的片外數據存儲器擴展方法,僅用單片機的P0口、P1.6及P1.7共10個端口便可實現256 KB數據存儲器的擴展。

    3.2 數據存儲器擴展的軟件實例分析

    分析對數據存儲器擴展軟件設計可知,單片機通過P1口讀、寫片外數據存儲單元時,軟件設計具有重要作用。下面通過一實例介紹單片機訪問片外數據存儲單元的過程。

    以下程序段首先是將片外存儲器000000H單元中的內容讀到片內存儲器30H單元中,然后再將片內存儲器30H單元中的內容寫到片外存儲器077FFFH單元中。在程序中,首先將片內存儲單元20H、21H和22H定義為地址信息存儲單元,20H是高8位地址信息存儲單元,僅低3位有效;21H是中8位地址信息存儲單元,低7位有效;22H是低8位地址信息存儲單元,8位全有效。所以,其尋址空間為000000H~007FFFH、010000H~017FFFH、020000H~027FFFH、030000H~037FFFH、040000H~047FFFH、050000H~057FFFH、060OOOH~067FFFH和070000H~077FFFH,共256 KB。MOVR和MOVW分別讀、寫子程序。





    從程序中分析可知,能夠僅用P0口及其他幾個很少的控制端口便可實現片外大容量數據存儲器的擴展,主要是因為PO口具備地址線、數據線及片選擇控制線的功能,而這一功能是通過軟件方式實現的,即分時傳送地址信息,數據信息和控制信息。從MOVR和MOVW 2個子程序可以看出數據的具體傳送過程。此外,在編程過程中,每次讀、寫外部存儲器內容時,只要將地址信息寫到DPHH、DPTRH和DPTRL3個單元中,然后調用子程序MOVR和MOVW便可實現對片外數據存儲器的讀、寫操作。

    4 結論

    介紹MCS-8051單片機片外256 KB數據存儲器的擴展方法,其特點主要是擴展的存儲空間大,占用的端口少,數據傳送采用并行傳送方式。在外圍設備較多的情況下,有限的端口無法滿足要求,或是存儲空間難以滿足要求時,完全可采用該擴展方法。此外,如果將單片機與數據存儲器件的硬件連接部分稍作改動,便可直接訪問片外256 KB,2種訪問方式可完全獨立。如果256 KB的存儲空間還不能滿足實際需求,不妨將高位地址存儲單元的8位全部進行譯碼?傻玫256個片選擇控制端口,那么原來的8片數據存儲器便可增加到256片。這樣,片外存儲空間就可以達到8 MB。完全滿足需求。而且,按此原理,還可以將原來的3個地址存儲單元改為4個地址存儲單元或更多,以增加其存儲空間。但這樣其讀、寫周期也將更長。因此需根據實際情況,綜合考慮,最終使單片機的硬件與軟件達到最優化。
    本文地址:http://www.portaltwn.com/thread-32564-1-1.html     【打印本頁】

    本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
    您需要登錄后才可以發表評論 登錄 | 立即注冊

    廠商推薦

    • Microchip視頻專區
    • EtherCAT®和Microchip LAN925x從站控制器介紹培訓教程
    • MPLAB®模擬設計器——在線電源解決方案,加速設計
    • 讓您的模擬設計靈感,化為觸手可及的現實
    • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
    • 貿澤電子(Mouser)專區

    相關在線工具

    相關視頻

    關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
    電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
    快速回復 返回頂部 返回列表
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷