8051程序存儲器
Ⅰ 8051單片機的編址方式是什麼
MCS-51單片機的存儲器編址方式採用與工作寄存器、I/O埠鎖存器統一編址的方式。程序存儲器和數據存儲器空間好似相互獨立的,各自有自己的定址系統和控制信號,物理結構也不同。程序存儲器為只讀存儲器(ROM),數據存儲器為隨機存儲器(RAM)。x0dx0a 1、程序存儲器常用來存放程序和表格常數。程序存儲器以程序計數器PC作為地址指針,通過16位地址匯流排,可定址的地址空間為64K,片內、片外統一編址。在程序存儲器中有些特殊的單元在使用時應加以注意。其中一組特殊的單元是0000H~0002H單元,在系統復位之後,PC為0000H,單片機從0000H開始執行程序,該單元是系統執行陳故鄉的起始地址,通常在該地址中存放一條跳轉指令,而用戶程序從跳轉地址開始存放程序。另外一組特殊單元為0003H~0021AH,這40個單元被均勻的分為5份,其定義如下:x0dx0a0003H~000AH:外部中斷0的中斷地址區x0dx0a000BH~0012H:定時器/計數器0的中斷地址區x0dx0a0013H~001AH:外部中斷1的中斷地址區x0dx0a001BH~0022H:定時器/計數器1的中斷地址區x0dx0a0023H~002AH:串列中斷地址區x0dx0a可見以上40個單元是專門用於存放中斷處理程序的地址單元,中斷響應後,按中斷的類型自動轉到各自的終端區去執行程序。從上面看出,每個終端服務程序只有8個位元組單元,用8個位元組來存放一個中斷服務程序顯然是不可能的。通常情況下好似在中斷響應的地址區存放一條無條件轉移指令,指向程序存儲器的真正存放終端服務程序的空間去執行。x0dx0a 2、MCS-51單片機的數據存儲器無論在物理上或者邏輯上都是分為兩個地址空間,一個為內部數據存儲器,訪問內部數據存儲器用MOV指令;另外一個為外部數據存儲器,訪問外部數據存儲器用MOVX指令。8051內部有128個8位數據存儲單元和128個專用寄存器單元,這些單元是統一編址的,專用寄存器只能用於存放控制指令數據。所以,用戶能使用的RAM只有00H~7FH單元組成的128位元組地址空間,可以存放讀寫的數據或者運算的中間結果;80H~FFH單元組成的高128位元組地址空間的特殊功能寄存器(SFR)區,只能訪問,而不能用於存放用戶數據。片內RAM的低128位元組還可以分成工作寄存器區,可位定址區和一般RAM去3個區域。
Ⅱ 8051單片機程序存儲器的容量最大可擴展為
當然是64KB了,因其數據線有8根,地址線是16根,因此可定址范圍是2的16次方,即64KB。
Ⅲ 8051向外擴展的程序存儲器和數據存儲器的最大容量各是多少
理論上都是全定址空間,64kB。
實際上通過Bank Switch方法,能夠輕松突破這個限制。Keil默認提供的擴展可以到16MB。理論上只要鎖存器速度足夠快,無限。