單片機擴展存儲電路
Ⅰ 單片機外部擴展存儲器的四個I/O介面各起什麼作用
當單片機外部擴展存儲器 一般要採用匯流排擴展:
1 P0口將作為匯流排的低8位地址線和8位數據線使用
2 P2口將作為匯流排的高8位地址線使用 沒有使用的高位地址線 將作為存儲器的片選信號
3 P3口的P3.6和P3.7將作為片外數據存儲器的寫信號、讀信號 即做控制匯流排使用
單片機的29引腳 PSEN將作為片外程序存儲器的讀信號。
P3口其它引腳 可作為專用線使用 如定時計數器的輸入、外部中斷0和1的輸入、串列口的
數據輸入、輸出線。
4 P1口可以做I/O口使用 連接輸入/輸出設備
Ⅱ 單片機程序存儲器擴展電路問題
答:在設計片外程序存儲器之前,首先要決定EA引腳的電平。
EA=0,單片機只訪問外部程序存儲器,對於8031單片機此引腳必須接地.EA=1,單片機訪問內部程序存儲器,對於內部有程序存儲器的8XX51單片機,此引腳應接高電平,但若地址值超過4KB范圍,單片機將自動訪問外部程序存儲器。
設定好EA後,單片機自動按程序所設定的次序執行。
在編程中不需要專門的語句指定調用的是外部程序存儲器。比如設定EA接高電平,則程序在執行完片內的程序存儲器指令後自動轉入片外程序存儲器,而無需特殊命令。這就是所謂的程序存儲器是片內外統一編址,而數據存儲器則用Mov和Movx分別對待的。
但樓主要知道程序在讀取片外指令代碼時的過程:先定址,再取數。單片機會根據PC的值先給P2和p0送一個選通地址(PC的值),接下來從片外程序存儲器讀取代碼。因為PC的值一般是連續的,這就要求片外的程序存儲器空間要連續分布,這和數據存儲器不同。如果不連續分布,就要用特殊的行號改變PC的值,使它和片外程序存儲器分布能夠對應。
Ⅲ 為什麼要對單片機系統進行存儲器擴展
如果單片機系統原有的資源不夠充足、不能滿足應用所需的要求,那麼就需要進行存儲器的擴展。
可能需要擴展片外的程序存儲器,也可能需要擴展片外的數據存儲器,某些情況下還需要結合軟體進行更復雜的存儲器介面擴展(例如大容量的SPI Flash或者走SPI子協議的SD卡等等)。
Ⅳ 存儲器的擴展方式哪三種
存儲器的擴展方式有字擴展、位擴展、字位同時擴展。存儲器晶元與單片機擴展連接具有共同的規律。即不論何種存儲器晶元,其引腳都呈三匯流排結構,與單片機連接都是三匯流排對接。另外,電源線接電源線,地線接地線。
目前生產的存儲器晶元容量有限,在字數或字長方面與實際存儲器要求有所差距,所以要在字向與位向兩方面進行擴充,才能滿足實際存儲器的要求。
cpu對存儲器進行讀寫操作時,首先由地址匯流排給出地址信號,然後再發出有關進行讀操作與寫操作的控制信號,最後在數據匯流排上進行信息交換。
(4)單片機擴展存儲電路擴展閱讀:
存儲器的擴展技術:
總片數=總容量/(容量/片)。
例:存儲器容量為8K×8b,若選用2114晶元(1K×4b),則需要的晶元數為:(8K×8b)/(1K×4b)=16(片)。
(1)位擴展。
只在位數方向擴展(加大字長),而晶元的字數和存儲器的字數是一致的。即b前面不一樣,K前面保持一樣。
例:用64K×1b的SRAM晶元組成64K×8b的存儲器,所需晶元數為:(64K×8b)/(64K×1b)=8(片)。
位擴展的關鍵就是將兩個存儲晶元當成一個存儲晶元來用,讓兩個存儲晶元同時工作,同時被選中,同時做讀操作,同時做寫操作,要想保證同時,就是把兩個晶元的片選,用相同的信號進行連接。
(2)字擴展。
僅在字數方向擴展,而位數不變。即K前面不一樣,b前面保持一樣。
例:用16K×8b的SRAM組成以64K×8b的存儲器,所需晶元數為:(64K×8b)/(16K×8b)=4(片)。
(3)字和位同時擴展。
參考資料來源:網路-位擴展
參考資料來源:網路-字擴展
Ⅳ 單片機系統擴展的主要擴展
單片機的系統擴展主要有程序存儲器(ROM)擴展,數據存儲器(RAM)擴展以及I/O口的擴展。
外擴的程序存儲器與單片機內部的程序存儲器統一編址,採用相同的指令,常用晶元有EPROM和EEPROM,擴展時P0口分時地作為數據線和低位地址線,需要鎖存器晶元,控制線主要有ALE、。
擴展的數據存儲器RAM和單片機內部RAM在邏輯上是分開的,二者分別編址,使用不同的數據傳送指令。常用的晶元有SRAM和DRAM以及鎖存器晶元,控制線主要採用ALE、、。
常用的可編程I/O晶元有8255和8155。用8255擴展並行I/O口時需要鎖存器,8155則不用。對擴展I/O口的定址採用與外部RAM相同的指令,因此在設計電路時要注意合理分配地址。8255和8155的工作方式是通過對命令控制字的編程來實現的,在使用時首先要有初始化程序。
MCS-51單片機有很強的擴展功能,外圍擴展電路、擴展晶元和擴展方法都非常典型、規范。
Ⅵ 單片機,匯編,80C51單片機外擴展4片2716存儲器,根據系統電路原理圖,寫出地址范圍
摘要 要求未使用的地址線為1。
Ⅶ 單片機及存儲器擴展的設計
電路如圖所示,U3地址范圍:0000H~7FFFH,U5地址范圍:8000H~FFFFH;CPU用89C52,內有8KROM
Ⅷ 為單片機拓展外部程序存儲器時,多片ROM晶元的容量不同如何拓展
拓展外部存儲器,通常都會選擇相同容量的晶元,因為這樣構建解碼電路會比較簡單。如果因一些特殊需要,必須使不同容量的器件,那要看擴展的存儲空間是否要求連接的地址。若必須是連接地址,地址解碼電路比較復雜,適合採用CPLD或FPGA等可編程器件來實現。如果每片擴展存儲器之間,並不要求連續地址,也可考慮按最大容量器件的地址范圍來設計解碼。
Ⅸ 高級語言編程時如何進行單片機外部數據存儲器擴展
外部數據存儲器擴展,是硬體電路的任務,需要增加實物存儲器才行。不是編程能解決的,只要擴展了外部數據存儲器,編程序才能使用外部數據存儲器來讀/寫數據。至於怎麼寫,要看是什麼單片機。
Ⅹ 51單片機如何擴展512K的程序存儲器(EPROM)晶元是M27C4001
51單片機最大定址空間是64K,超過64K可以用P1口對存儲器進行分頁,512K 存儲器,可用P1.0,P1.1,P1.2接EPROM的A16,A17,A18;將其分成8個64K 的存儲器頁.
在頁間跳轉必須精確定位,在頁間跳轉指令後面加入幾條NOP空操作,在跳入的頁面也加入幾條NOP空操作,如果你擴展ROM只是為了擴充數據存儲空間,那麼你可以在每頁開始的一段內都放入(相同的)指令程序。
如從0頁換1頁,當前PC=FFF0H,ROM地址:00FFF0H
SET P1.0
NOP
NOP
NOP
NOP
SET P1.0切換後:PC=FFF2H,ROM地址:01FFF2H
要特別注意的是,中斷子程序必須放在每頁相同的位置安排入口,單片機上電時P1.0,P1.1,P1.2都是高電平,所以,你的初始化程序入口應在ROM的070000H處。
這么高難度,您只有5分,哎!!!!