『壹』 存儲器擴展問題,急
這種片選信號是由解碼器輸出的,而且採用全地址解碼方式,即存儲器要按16位地址進行編排地址,地址為0000H~FFFFH,這是64KB的地址。所以,片選信號地址位數 = 16位地址 - 存儲器晶元地址。
你理解的5位也對,問題是地址范圍是32KB,最高地址A15不用,就是與A15無關了,結果是A15=0,和A15=1時,都訪問這32K存儲器,等於這32KB存儲器有兩段地址,即0000H~7FFFH和8000H~FFFFH兩段,這就是所謂的地址重疊。為了避免地址重疊,要採用16位全地址解碼方式。所以,圖中是規范的全地址解碼方式。
『貳』 AT89s51單片機並行擴展16KB存儲單元需要多少根地址線,若存儲器首地址為3000H
AT89s51單片機並行擴展16KB存儲單元需要14根地址線。
『叄』 存儲器擴展時,什麼叫地址空間不連續和地址重疊現象
採用部分解碼時,未用的地址線,可以隨意取1、取0。
那麼,對於某個存儲單元來說,就可用多個地址號碼來選中。
即:一個存儲器晶元,佔用了一個以上的地址空間。
這種現象,並不是【地址重疊】。Alfg5 的答案,是錯誤的。
另外,如果未用的地址線,是高位地址線,且都取0,
那麼,由部分解碼所形成的地址空間,也是連續的。
那麼,什麼是地址重疊呢?
不同的存儲晶元,具有同一個地址空間,這才是【地址重疊】。
採用線選法擴展存儲空間,才會有【地址重疊】的現象。
使用重疊的地址,就可令多塊晶元,同時寫入讀出。
那麼,重疊的地址,就是不可用的。
因此,可用的地址,就是不連續的。
在 51 單片機中,有許多地址重疊的現象,比如:
程序存儲器、數據存儲器的地址都是 0000~FFFFH。
特殊功能寄存器和高128B 的片內 RAM,地址,也重疊了。
位地址,也是重復使用了相同的地址號碼。
還有,八個寄存器 R0~R7,卻佔用了 32 個存儲單元。
就是說:
【地址重疊】是指:同一個地址空間,涉及到了不同的存儲區域。
而不是Alfg5 所答的:不同的地址,選通同一存儲單元。
搞清楚了基本概念,求可用的地址,以及,分析不可用的重疊地址,就不是難事了。
『肆』 微機原理總的存儲器字擴展問題
存儲晶元的擴展包括位擴展、字擴展和字位同時擴展等三種情況。
1、位擴展
位擴展是指存儲晶元的字(單元)數滿足要求而位數不夠,需對每個存儲單元的位數進行擴展。
例: 用 1K × 4 的 2114 晶元構成 lK × 8 的存儲器系統。
分析: 每個晶元的容量為 1K ,滿足存儲器系統的容量要求。但由於每個晶元只能提供 4 位數據,故需用 2 片這樣的晶元,它們分別提供 4 位數據至系統的數據匯流排,以滿足存儲器系統的字長要求。
設計要點 :
(1) 將每個晶元的 10 位(1k=2^10)地址線按引腳名稱一一並聯,按次序逐根接至系統地址匯流排的低 10 位。
(2) 數據線則按晶元編號連接,1 號晶元的 4 位數據線依次接至系統數據匯流排的 D0 -D3 , 2 號晶元的 4 位數據線依次接至系統數據匯流排的 D4 -D7 。
(3) 兩個晶元的 端並在一起後接至系統控制匯流排的存儲器寫信號(如 CPU 為 8086/8088,也可由 和 /M 或 IO / 組合來承擔)
(4) 引腳分別並聯後接至地址解碼器的輸出,而地址解碼器的輸入則由系統地址匯流排的高位來承擔。
當存儲器工作時,系統根據高位地址的解碼同時選中兩個晶元,而地址碼的低位也同時到達每一個晶元,從而選中它們的同一個單元。在讀/寫信號的作用下,兩個晶元的數據同時讀出,送上系統數據匯流排,產生一個位元組的輸出,或者同時將來自數據匯流排上的位元組數據寫入存儲器。
2 、字擴充
字擴展用於存儲晶元的位數滿足要求而字數不夠的情況,是對存儲單元數量的擴展。
例 : 用 2K × 8 的 2716 A存儲器晶元組成 8K × 8 的存儲器系統
分析:
由於每個晶元的字長為 8 位,故滿足存儲器系統的字長要求。但由於每個晶元只能提供 2K 個存儲單元,故需用 4 片這樣的晶元,以滿足存儲器系統的容量要求。
設計要點 : 同位擴充方式相似。
(1) 先將每個晶元的 11(2* 2^10) 位地址線按引腳名稱一一並聯,然後按次序逐根接至系統地址匯流排的低 11 位。
(2) 將每個晶元的 8 位數據線依次接至系統數據匯流排的 D0 -D7 。
(3) 兩個晶元的 端並在一起後接至系統控制匯流排的存儲器讀信號(這樣連接的原因同位擴充方式),
(4) 它們的 引腳分別接至地址解碼器的不同輸出,地址解碼器的輸入則由系統地址匯流排的高位來承擔。
當存儲器工作時,根據高位地址的不同,系統通過解碼器分別選中不同的晶元,低位地址碼則同時到達每一個晶元,選中它們的相應單元。在讀信號的作用下,選中晶元的數據被讀出,送上系統數據匯流排,產生一個位元組的輸出。
3 、同時進行位擴充與字擴充
存儲器晶元的字長和容量均不符合存儲器系統的要求,需要用多片這樣的晶元同時進行位擴充和字擴充,以滿足系統的要求。
例 : 用 1K × 4 的 2114 晶元組成 2K × 8 的存儲器系統
分析: 由於晶元的字長為 4 位,因此首先需用採用位擴充的方法,用兩片晶元組成 1K × 8 的存儲器。再採用字擴充的方法來擴充容量,使用兩組經過上述位擴充的晶元組來完成。
設計要點 : 每個晶元的 10 根地址信號引腳宜接接至系統地址匯流排的低 10 位,每組兩個晶元的 4 位數據線分別接至系統數據匯流排的高 / 低四位。地址碼的 A 10 、 A 11 經解碼後的輸出,分別作為兩組晶元的片選信號,每個晶元的 控制端直接接到 CPU 的讀 / 寫控制端上,以實現對存儲器的讀 / 寫控制。
當存儲器工作時,根據高位地址的不同,系統通過解碼器分別選中不同的晶元組,低位地址碼則同時到達每一個晶元組,選中它們的相應單元。在讀 / 寫信號的作用下,選中晶元組的數據被讀出,送上系統數據匯流排,產生一個位元組的輸出,或者將來自數據匯流排上的位元組數據寫入晶元組。
『伍』 存儲器擴展時,什麼叫地址空間不連續和地址重疊現象是什麼原因引起的
gidhgyp
『陸』 簡述單片機並行擴展匯流排的注意事項
一般來說: P2 輸出晶元地址的高八位,P0 接鎖存器輸出晶元地址的低八位。 看看晶元的片選端,接在何處,即可分析出來晶元的地址。
地址匯流排
P0口作為低八位地址,P2口作為高八位地址,兩者共同構造地址匯流排。由此可見,單片機最多可以有16條地址線,因此最大定址范圍為64 KB(0000H~FFFFH)。地址匯流排是單向的,只能由單片機向外發送。
『柒』 當89C51單片機外部的程序存儲器和數據儲存器同時擴展時的地址分配
地址是一樣的,只是選通不一樣。片選,你如果想簡單一點的話,可以用一個IO口控制兩個存儲器的選通。
P0外接一個地址鎖存器74HC373或者573。具體接法可以參考並行擴展。
地址信號從P0和P2口出去,低位在P0,高位在P2,數據從P0讀入。
不過一般並行擴展都只擴展一塊晶元。如果你的系統裡面同時要用RAM和ROM,建議RAM部分採用並行擴展(因為RAM一般要求速度快,並行有這個優勢),ROM使用串列EEPROM,比如AT24C256。這樣不容易沖突。程序也相對簡單。
『捌』 51單片機進行存儲器擴展時,有哪些地址解碼方式
線選法----用單片機的I/O口線選中外部存儲器的片選端
部分解碼法----擴展亮不是很大,只需要少量片選
完整解碼法----全部設計出64K的16條地址線
『玖』 存儲器擴展時走哪幾種驛馬方式特點是什麼
那快到期走到哪的話,他的方式特點是嗯,他就有那個擴展性,讓人們能夠很快的去接受事物
『拾』 存儲器的擴展方式哪三種
存儲器的擴展方式有字擴展、位擴展、字位同時擴展。存儲器晶元與單片機擴展連接具有共同的規律。即不論何種存儲器晶元,其引腳都呈三匯流排結構,與單片機連接都是三匯流排對接。另外,電源線接電源線,地線接地線。
目前生產的存儲器晶元容量有限,在字數或字長方面與實際存儲器要求有所差距,所以要在字向與位向兩方面進行擴充,才能滿足實際存儲器的要求。
cpu對存儲器進行讀寫操作時,首先由地址匯流排給出地址信號,然後再發出有關進行讀操作與寫操作的控制信號,最後在數據匯流排上進行信息交換。
(10)存儲器並行擴展時擴展閱讀:
存儲器的擴展技術:
總片數=總容量/(容量/片)。
例:存儲器容量為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)字和位同時擴展。
參考資料來源:網路-位擴展
參考資料來源:網路-字擴展