在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機存儲擴展方法與程序控制案例

GReq_mcu168 ? 來源:CSDN技術社區 ? 作者:倪里 ? 2021-04-03 10:36 ? 次閱讀

單片機內部存儲器和I/o口資源有限,多數情況下需要外部擴展。

一、擴展方法和內容

276466cc-90fa-11eb-8b86-12bb97331649.png

二、總線介紹單片機并行擴展的典型結構是總線結構。

各擴展部件通過總線與單片機連接起來,相當于系統中各部件掛在總線上,分時利用總線與CPU通訊。

當選中某部件時,可對該部件進行讀寫及控制,而其它部件與總線間處于“高阻態”,相當于與總線斷開。

281a20e8-90fa-11eb-8b86-12bb97331649.png

單片機系統的三總線構造方法如下:

以P0口線作數據總線/低位地址總線4以P2口線作高位地址總線

采用功能引腳形成控制總線

28531c22-90fa-11eb-8b86-12bb97331649.png

以P0口線作數據總線/低位地址總線:先由P0口線作地址總線,把低8位地址送鎖存器,由鎖存器提供給系統;然后再將P0口線作數據總線讀寫數據,從而實現地址總線的低8位地址信號和數據總線共用P0口線而不產生沖突。

以P2口線作高位地址總線:P2口線最多可提供8位高位地址,加上P0口線提供的低8位地址,最多可提供16位地址,可使單片機系統的尋址范圍最大達到64KB。

采用功能引腳形成控制總線:由 RD(P3.6引腳)和 WR(P3.7引腳)作為讀寫選通信號線;由ALE作為地址鎖存信號線,以配合P0口實現分時復用;PSEN以作為片外程序存儲器讀選通信號線;以EA作為片內和片外程序存儲器的選擇信號。

存儲器的基本操作控制包括片選控制和讀寫操作控制。

線選法:地位地址線(A0~A10)實現片內尋址,高位地址線線(A11~A13)實現片選。線選法連線簡單,但地址空間不連續,適用于擴展容量較小且芯片數目較少的情況。

28c17406-90fa-11eb-8b86-12bb97331649.png

譯碼法:通過譯碼器將高位地址線轉換為片選信號。譯碼法能有效利用存儲空間,且地址連續,適用于多芯片下的擴展。常用譯碼器芯片有74138等。

2915fb2a-90fa-11eb-8b86-12bb97331649.png

三、儲存擴展

地址線:地址是由P0和P2口提供的。ROM的地址線(A0~A15)中,低8位A0~A7通過鎖存器74LS373與P0口連接,高8位A8~A11直接與P2口的P2.0~P2.7連接。

數據線:片外ROM的8位數據線直接與單片機的P0口相連。

29947b80-90fa-11eb-8b86-12bb97331649.png

控制線:CPU執行ROM中存放的程序指令時,取指階段就是對ROM進行讀操作。讀操作控制線有以下幾條:

地址鎖存信號ALE、片選信號CS、讀選通信號OE、片外程序存儲器的選用控制信號EA

2a5d7314-90fa-11eb-8b86-12bb97331649.png

地址鎖存信號ALE:單片機的ALE管腳與鎖存器的鎖存使能端G相連,用于單片機從片外ROM在讀指令時給出低8位地址的鎖存信號。

片選信號CS:低電平有效。如果系統中只擴展了一片程序存儲器芯片,可將該片選端直接接地,使該芯片一直有效。若同時擴展多片,需通過線選法或譯碼法來完成片選工作。

讀選通信號OE:低電平有效。該引腳接8051的片外ROM讀選通信號端PSEN。在訪問片外程序存儲器時,只要該端出現負脈沖,即可從ROM中讀出指令或數據。

片外程序存儲器的選用控制信號EA:當EA引腳接高電平時,CPU只訪問單片機內部的程序存儲器并執行內部程序存儲器中的指令,但當程序存儲量超過內部程序存儲器的最大容量時,將自動轉去執行單片機外部程序存儲器內的程序。當輸入信號引腳接低電平(接地)時,CPU只訪問外部程序存儲器并執行外部程序存儲器中的指令。

在執行片外ROM讀指令時,單片機自動進行的操作時序:

(1)首先由PO口和P2口給出16位地址,然后ALE出現下降沿通知鎖存器將P0口的低8位地址鎖存;

(2)PSEN出現低電平,使片外ROM有效;

(3)根據鎖存器和P2口提供的地址取出指令并送P0口,由P0口讀入單片機執行。

在上述過程中,數據存儲器RAM讀寫信號端WR和RD一直處于高電平狀態,使RAM與總線隔離。

四、控制程序

根據下圖電路編寫程序用數碼管顯示0-9共10個數字循環顯示。

2a82989c-90fa-11eb-8b86-12bb97331649.png

#include 《reg51.h》unsigned char led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//字型碼

int main(void){ unsigned char i; while(1) { for(i=0;i《10;i++)//循環顯示10個數字 { P1=led[i]; delay();//延時一段時間 } }}

void delay()//延時函數{ int i,j; for(i=0;i《3000;i++) for(j=0;j《5;j++);}

五、數據儲存擴展

數據存儲器RAM的擴展主要用到以下3個控制信號:

ALE:低8位地址鎖存控制信號,通常接地址鎖存器的LE引腳;

WR:外部RAM寫信號,低電平有效,接數據存儲器的WE引腳;

RD:外部RAM讀信號,低電平有效,接數據存儲器的OE引腳。

2ad6ab30-90fa-11eb-8b86-12bb97331649.png

在執行片外RAM讀寫指令時,單片機自動進行的操作時序與讀ROM相似:

(1)首先由PO口和P2口給出16位地址,然后ALE出現下降沿將P0口的低8位地址鎖存;

(2)在讀數據時,RD出現低電平,WR出現高電平,使讀片外RAM有效,并根據鎖存器和P2口提供的地址取出數據并送P0口,由P0口讀入單片機。

(3)在寫數據時首先將數據加載到P0口,然后RD引腳出現高電平,WR引腳出現低電平,使寫片外RAM有效,并根據鎖存器和P2口提供的地址將P0口上的數據寫入片外RAM。

六、程序舉例

根據圖8-4編寫程序將數碼管顯示0-9共10個數字的字型碼存儲到6264中,然后從6264中循環讀出字型碼并送數碼管顯示。

2b3ddba2-90fa-11eb-8b86-12bb97331649.png

#include 《reg51.h》#include 《absacc.h》unsigned char led[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//字型碼

int main(void){ unsigned char i; for(i=0;i《10;i++)//存儲10個數字字型碼 XBYTE[0x8000+i]=led[i]; while(1) { for(i=0;i《10;i++)//循環顯示10個數字 { P1=XBYTE[0x8000+i]; delay();//延時一段時間 } } }void delay()//延時函數{ int i,j; for(i=0;i《30000;i++) for(j=0;j《5;j++);}

對輸入/輸出口功能的擴展,可以利用簡單的TTL電路或MOS電路,也可以使用結構較為復雜的可編程接口芯片。

MCS-51單片機將I/O口與片外RAM統一編址,兩者合在一起使用同一個64KB的外擴展地址空間,因而,I/O口的輸入、輸出指令也就是片外數據存儲器的讀/寫指令。

2b95aaa8-90fa-11eb-8b86-12bb97331649.png

簡單輸入擴展主要采用三態數據緩沖器實現,目的是使被選通的輸入設備能獨占數據總線向單片機輸入數據,而未被選通的設備與數據總線隔離。常用的三態數據緩沖器芯片有74LS244等。

簡單輸出擴展主要采用三態數據鎖存器實現,目的是使單片機能通過數據總線向被選通的設備輸出數據,而未被選通的設備與數據總線隔離。常用的三態數據鎖存器芯片有74LS273等。

8051單片機使用74LS373和74LS245展I/O口,分別連接發光二極管和撥碼開關,要求編寫控制程序,通過開關的撥動控制發光二極管的亮滅。

2c09393c-90fa-11eb-8b86-12bb97331649.png

#include 《reg51.h》#include 《absacc.h》 #define PORT XBYTE[0xFFFF] //地址寫什么都可以int main(void){ unsigned char temp; while(1) { temp=PORT; //讀存儲單元操作,即通過74LS245獲取開關數據 PORT=temp; //寫存儲單元操作,即通過74LS373用開關數據控制發光二極管 }}
編輯:lyn

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6039

    文章

    44583

    瀏覽量

    636518
  • 存儲器
    +關注

    關注

    38

    文章

    7514

    瀏覽量

    164004

原文標題:單片機擴展技術

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機編程語言有哪些選擇

    單片機(Microcontroller Unit,MCU)編程是指為單片機編寫程序的過程,這些程序控制單片機的行為和功能。單片機廣泛應用于嵌
    的頭像 發表于 11-01 14:13 ?707次閱讀

    單片機調試常見問題與解決方法

    單片機調試是嵌入式系統開發中的一個重要環節,它涉及到對單片機程序的測試和優化,以確保系統能夠正常工作。在調試過程中,開發者可能會遇到各種問題。 1. 程序無法燒錄到
    的頭像 發表于 11-01 14:11 ?1013次閱讀

    單片機怎么寫入程序

    單片機(Microcontroller Unit,MCU)是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等功能集成在一個芯片上。單片機廣泛應用于嵌入式系統和物聯網設備中。編寫
    的頭像 發表于 10-21 11:21 ?555次閱讀

    51單片機的主要邏輯功能部件是什么

    部件的操作。它包括算術邏輯單元(ALU),用于執行算術和邏輯運算。 2. 存儲程序存儲器(ROM):用于存儲程序代碼,通常是
    的頭像 發表于 10-18 12:49 ?501次閱讀

    單片機存儲空間不夠用了,有哪些解決辦法?

    單片機存儲空間不足時,可以考慮幾種解決方法。一種是優化程序代碼,刪除不必要的代碼和變量,提高代碼的效率和緊湊性;可以采用外部存儲
    發表于 10-15 22:33

    8位單片機為何不會被高端單片機取代?

    控制器選擇。 (1)架構:8位單片機通常采用馮諾依曼架構,其中程序和數據存儲器共享一條公共總線。它們還有一個哈佛架構,程序和數據
    發表于 09-24 16:51

    計算機進行程序控制工作的基本原理是怎樣的

    計算機程序控制是計算機科學中的一個核心概念,它涉及到計算機如何根據預設的指令序列執行任務。 1. 計算機硬件基礎 在深入程序控制之前,我們需要了解計算機的基本硬件組件,因為它們是程序控制
    的頭像 發表于 09-04 16:57 ?594次閱讀

    keil可以讀出單片機程序

    Keil是一款廣泛應用于單片機程序開發的軟件,它提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案。然而,關于Keil是否能直接“讀出”單片機程序
    的頭像 發表于 09-02 10:32 ?1076次閱讀

    單片機燒錄程序用什么軟件

    單片機燒錄程序單片機開發過程中的一個重要環節,涉及到將編寫好的程序代碼通過燒錄器寫入單片機的ROM中,以實現對
    的頭像 發表于 09-02 10:05 ?1401次閱讀

    單片機燒錄程序可以重新燒嗎

    單片機(Microcontroller Unit, MCU)是一種集成電路芯片,它將計算機的CPU、存儲器、輸入/輸出接口等集成在一塊芯片上,用于控制各種電子設備。單片機燒錄
    的頭像 發表于 09-02 10:04 ?1351次閱讀

    單片機燒錄程序的線比單片機上的少還能燒錄嗎

    存儲器通常分為兩類:ROM(只讀存儲器)和RAM(隨機存取存儲器)。ROM用于存儲程序代碼,而RAM用于
    的頭像 發表于 09-02 09:54 ?536次閱讀

    單片機燒錄程序的基本步驟是什么

    單片機燒錄程序單片機開發過程中非常重要的一步,它涉及到將編寫好的程序代碼通過一定的方式傳輸到單片機內部的
    的頭像 發表于 09-02 09:47 ?1170次閱讀

    可編程序控制器系統概述

    AB可編程序控制器系統
    發表于 05-23 14:26 ?8次下載

    單片機編程實例介紹

    是指使用特定的編程語言編寫控制單片機工作的程序。 在本文中,將為您提供一些常見的單片機編程實例,包括基礎應用、傳感器應用、通信應用等方面的案例。 一、基礎應用 LED流水燈 流水燈是最基本的
    的頭像 發表于 01-16 09:37 ?2653次閱讀

    單片機原理及應用是什么

    能力。單片機被廣泛應用于各個領域,包括家電、汽車、通信、電子設備及工業自動化等。本文將詳細介紹單片機的原理及應用。 核心部分:單片機的核心是中央處理器(CPU)。它負責執行程序指令、處
    的頭像 發表于 01-12 15:28 ?2185次閱讀
    主站蜘蛛池模板: 永久在线观看视频| 在线午夜| 欧美精品久久久久久久小说| 色网视频| 青娱乐99| 毛片大全免费| 国产精品久久婷婷六月丁香| 高清毛片aaaaaaaaa片| 4虎影院永久地址www| 午夜毛片福利| 九九碰| 黄色网页在线观看| 欧美一二三区在线| 亚欧美色| 美女天天色| aa黄色片| 免费人成网站线观看合集| 欧美在线激情| 在线播放一区二区精品产| 日韩美女三级| 国产精品日本亚洲777| 天天天干| 欧美色啪| 一个人看的www片免费高清视频| 一本到午夜92版免费福利| 午夜视频免费在线观看| 国产一级大片免费看| 一区二区在线看| 亚洲人与牲动交xxxxbbbb| 欧美激欧美啪啪片免费看| 国产精品7m凸凹视频分类大全 | 国产在播放一区| 色批| 国产精品资源在线播放| 天天色天天干天天射| 日韩综合nv一区二区在线观看| 皇帝受h啪肉np文| 日本黄大乳片免费观看| 国产国语videosex另类| 欧美成人全部费免网站| 天天操天天射天天爽|