可擴展的程序存儲器地址空間
❶ 「MCS-51系列單片機中,片內程序存儲器為4KB」,而同時又說「程序存儲器的定址空間為64KB」,求區別!
片內程序存儲器+片外程序存儲器:0000~FFFFH,共 64KB。
片內數據存儲器,51 系列是:00~FFH,共 256B。
52 系列是:00~7FH,共 128B。
片外數據存儲器:0000~FFFFH,共 64KB。
特殊功能寄存器:80H~FFH,只有 21 個單元。
位定址區,RAM 功能:00~7FH,共 128 bit 。
SFR 功能:80~FFH,有效的不多。
存儲空間分布如下所示:
❷ 4、at89s52單片機,可定址的程序存儲空間地址范圍為~___; 可定址的數據存儲空
S52,片內有8kB程序存儲器,地址空間范圍是0000h~1FFFh。
片內SRAM有256B,地址空間范圍是00h~FFh。
外部程序存儲器和數據存儲器都是可定址全部的64kB空間。
❸ MCS-51單片機可擴展的程序存儲器和數據存儲器的地址空間各為多少
51的存儲器從功能上來說可以分為程序存儲器和數據存儲器,至於到底能擴展多少存儲空間,要看你擴展的是哪一類存儲器。
訪問存儲空間時,需要用到兩個指針變數,為DPTR何PC。其中pc為程序計數器,指向下一條需要執行的指令的地址,DPTR為數據指針寄存器,這兩個變數的長度都為16位,這是51單片機內部結構決定的,無法改變。所以這兩個指針的定址能力都為64K。這樣看來,兩類存儲器的擴展能力都為64K
。但是,如果你實際擴展過存儲器,你就可以發現程序存儲器的擴展能力並沒有64K!!!
這是為什麼呢????
這得從51單片機的存儲空間的編址說起。這里僅作簡單說明,具體可以看教科書。簡單地說,內部程序存儲器和外部程序存儲器是一起編址的,它們分別佔用64K地址的一部分,所以外部擴展時要減去內部的地址空間,當然小於64K啦。而數據存儲器是內外部分別編址,內外部數據存儲器用不同的指令進行訪問,所以不用擔心單片機會混淆內外部數據存儲器,所以外部數據存儲器擴展能力有64K
❹ MCS-51系列單片機的存儲器可劃為幾個空間其地址范圍及容量是多少在使用上有何不同
1、空間劃分存儲器分為程序存儲器(ROM)和數據存儲器(RAM)兩大類。程序存儲器有片內和片外存儲器兩種;數據存儲器也有片內和片外存儲器兩種。2、地址范圍及容量程序存儲器是片內外統一定址,片內程序存儲空間+片外程序存儲空間=64K的存儲空間(0000H-FFFFH)。而數據存儲器則是單獨定址,片內數據存儲空間+片外數據存儲空間=128B(00H-7FH)+64KB(0000H-FFFFH)。注意:51的片內數據存儲空間為128B,而增強型52的片內數據存儲空間為256B。52是在51基礎上增加了80H-FFH的高128B的空間。增加的這一部分只能採用間接定址。51片內數據存儲器又可分為:工作寄存器區:00H-1FH 位定址區: 20H-2FH 通用RAM區: 30H-7FH3、使用上的不同RAM和ROM在結構上是不同的。對於RAM來說,CPU在運行時能隨時進行數據修改,但卻有個缺點,一旦電源掉電,存儲信息將丟失。所以,它只能用來存放暫時性的輸入輸出數據,運算中間結果和堆棧等。(注意,要區別於FLASH。)對於ROM,它是一種寫入信息不易改寫的存儲器。就算電源掉電,存儲信息都保留不變。所以,ROM用來存放程序或常數等。 歡迎前來交流學習。
❺ 存儲器擴展時,什麼叫地址空間不連續和地址重疊現象
採用部分解碼時,未用的地址線,可以隨意取1、取0。
那麼,對於某個存儲單元來說,就可用多個地址號碼來選中。
即:一個存儲器晶元,佔用了一個以上的地址空間。
這種現象,並不是【地址重疊】。Alfg5 的答案,是錯誤的。
另外,如果未用的地址線,是高位地址線,且都取0,
那麼,由部分解碼所形成的地址空間,也是連續的。
那麼,什麼是地址重疊呢?
不同的存儲晶元,具有同一個地址空間,這才是【地址重疊】。
採用線選法擴展存儲空間,才會有【地址重疊】的現象。
使用重疊的地址,就可令多塊晶元,同時寫入讀出。
那麼,重疊的地址,就是不可用的。
因此,可用的地址,就是不連續的。
在 51 單片機中,有許多地址重疊的現象,比如:
程序存儲器、數據存儲器的地址都是 0000~FFFFH。
特殊功能寄存器和高128B 的片內 RAM,地址,也重疊了。
位地址,也是重復使用了相同的地址號碼。
還有,八個寄存器 R0~R7,卻佔用了 32 個存儲單元。
就是說:
【地址重疊】是指:同一個地址空間,涉及到了不同的存儲區域。
而不是Alfg5 所答的:不同的地址,選通同一存儲單元。
搞清楚了基本概念,求可用的地址,以及,分析不可用的重疊地址,就不是難事了。
❻ 51用線選法常規最多可擴展多少片8255
用線選法最多可擴展6片8255。
加個鎖存器,用作輸出口,用P3或P1中的控制鎖存。輸入口不會出錯。
如果是因為I/O不夠用,再擴一個8255。
(6)可擴展的程序存儲器地址空間擴展閱讀:
51單片機的功能:
1、片內時鍾振盪器。
2、一個全雙工的串列I/O介面。
3、32根雙向並可以按位定址的I/O線。
4、兩個16位定時/計數器(8052有3個)。
5、具有布爾處理能力和位處理能力。
6、8位數據匯流排,16位地址匯流排的CPU。
7、128位元組片內數據存儲器(8051有256位元組)。
8、多個中斷源的中斷結構,具有兩個中斷優先順序;
9、相同地址的64KB程序存儲器和64KB數據存儲器。
10、採用哈佛結構,程序存儲器與數據存儲器地址空間各自獨立,便於程序設計。
11、0-8KB片內程序存儲器(8031無,8051有4KB,8052有8KB,89C55有20KB)。
❼ 8051向外擴展的程序存儲器和數據存儲器的最大容量各是多少
理論上都是全定址空間,64kB。
實際上通過Bank Switch方法,能夠輕松突破這個限制。Keil默認提供的擴展可以到16MB。理論上只要鎖存器速度足夠快,無限。
❽ 8051單片機程序存儲器的容量最大可擴展為
當然是64KB了,因其數據線有8根,地址線是16根,因此可定址范圍是2的16次方,即64KB。
❾ 、MCS 51單片機的存儲器從物理結構上和邏輯上分別可劃分幾個空間
MCS-51單片機在物理結構上有四個存儲空間:
1、片內程序存儲器
2、片外程序存儲器
3、片內數據存儲器
4、片外數據存儲器
但在邏輯上,即從用戶的角度上,8051單片機有三個存儲空間:
1、片內外統一編址的64K的程序存儲器地址空間(MOVC)
2、256B的片內數據存儲器的地址空間(MOV)
3、以及64K片外數據存儲器的地址空間(MOVX)
(9)可擴展的程序存儲器地址空間擴展閱讀:
MCS-51系列單片機程序存儲器分為系統使用區和用戶使用區。其中0000H~002AH為系統使用區,其餘為用戶使用區。系統使用區固定6個地址為特定程序的入口地址,如下:
ROM地址 功能分配
0000H 系統復位後的入口
0003H 外部中斷0服務入口
000BH 定時器/計數器0中斷服務程序入口
0013H 外部中斷1服務程序入口
001BH 定時器/計數器1中斷服務程序入口
0023H 串口中斷服務程序入口
數據存儲區也稱為隨機存取存儲器(RAM),MCS-51單片機的數據存儲器分為兩個地址空間:內部數據存儲器、外部數據存儲器。
內部數據存儲器共有256B存儲空間,但只有低128B(地址為00H~7FH)是真正的數據存儲空間,可供用戶進行讀或寫操作,高128B(地址為80H~FFH)是單片機的特殊功能寄存器區(SFR)。
❿ 存儲器擴展時,什麼叫地址空間不連續和地址重疊現象是什麼原因引起的
使用 80x86 CPU 的計算機,其存儲器是「馮·諾依曼」結構。
這種計算機,只有一個存儲器。
全部的程序、數據,都存在這一個存儲器中。
為了在這個存儲器中分清這些,CPU 必須分段讀寫。
所謂的段,有:代碼段、數據段、堆棧段、附加段。
這些段,處於存儲器的何處?CPU 是可以設置的。
那麼,當這些段,互相分離時,就是「地址空間不連續」。
而當這些段,互相重合時,就是「地址重疊」現象。
地址重疊的現象,就是:一個存儲單元,具有多個地址號碼。
也就是說:用不同的地址,都可以訪問這個存儲單元。
地址重疊,增加了某些單元的靈活性。
除了「馮·諾依曼」結構之外。還有「哈佛」結構。
在哈佛結構中,具有兩類不同的存儲器。
程序、數據,是分開存放的,各自有各自的地址范圍。
即使兩者的地址相同,也不會訪問同一個存儲單元。
所以,在哈佛結構中,不會出現程序與數據的「地址重疊」現象。