導航:首頁 > 操作系統 > 單片機儲存如何區分重疊部分

單片機儲存如何區分重疊部分

發布時間:2025-03-01 08:27:20

㈠ 簡述51單片機的存儲器邏輯空間分布,並說明當存儲器地址發生重疊時應如何處

MCS-51單片機存儲器結構
1、 程序存儲器
MCS-51具有64kB程序存儲器定址空間,它是用於存放用戶程序、數據和表格等信息。對於內部無ROM的8031單片機,它的程序存儲器必須外接,空間地址為64kB,此時單片機的端必須接地。強制CPU從外部程序存儲器讀取程序。對於內部有ROM的8051等單片機,正常運行時,則需接高電平,使CPU先從內部的程序存儲中讀取程序,當PC值超過內部ROM的容量時,才會轉向外部的程序存儲器讀取程序。
8051片內有4kB的程序存儲單元,其地址為0000H—0FFFH,單片機啟動復位後,程序計數器的內容為0000H,所以系統將從0000H單元開始執行程序。但在程序存儲中有些特殊的單元,這在使用中應加以注意:
其中一組特殊是0000H—0002H單元,系統復位後,PC為0000H,單片機從0000H單元開始執行程序,如果程序不是從0000H單元開始,則應在這三個單元中存放一條無條件轉移指令,讓CPU直接去執行用戶指定的程序。
另一組特殊單元是0003H—002AH,這40個單元各有用途,它們被均勻地分為五段,它們的定義如下:
0003H—000AH 外部中斷0中斷地址區。
000BH—0012H 定時/計數器0中斷地址區。
0013H—001AH 外部中斷1中斷地址區。
001BH—0022H 定時/計數器1中斷地址區。
0023H—002AH 串列中斷地址區。
可見以上的40個單元是專門用於存放中斷處理程序的地址單元,中斷響應後,按中斷的類型,自動轉到各自的中斷區去執行程序。因此以上地址單元不能用於存放程序的其他內容,只能存放中斷服務程序。但是通常情況下,每段只有8個地址單元是不能存下完整的中斷服務程序的,因而一般也在中斷響應的地址區安放一條無條件轉移指令,指向程序存儲器的其它真正存放中斷服務程序的空間去執行,這樣中斷響應後,CPU讀到這條轉移指令,便轉向其他地方去繼續執行中斷服務程序。
2、 數據存儲器
數據存儲器也稱為隨機存取數據存儲器。MCS-51單片機的數據存儲器在物理上和邏輯上都分為兩個地址空間,一個是內部數據存儲區和一個外部數據存儲區。MCS-51內部RAM有128或256個位元組的用戶數據存儲(不同的型號有分別),它們是用於存放執行的中間結果和過程數據的。MCS-51的數據存儲器均可讀寫,部分單元還可以位定址。
8051內部RAM共有256個單元,這256個單元共分為兩部分。其一是地址從00H—7FH單元(共128個位元組)為用戶數據RAM。從80H—FFH地址單元(也是128個位元組)為特殊寄存器(SFR)單元。從圖1中可清楚地看出它們的結構分布。
在00H—1FH共32個單元中被均勻地分為四塊,每塊包含八個8位寄存器,均以R0—R7來命名,我們常稱這些寄存器為通用寄存器。這四塊中的寄存器都稱為R0—R7,那麼在程序中怎麼區分和使用它們呢?聰明的INTEL工程師們又安排了一個寄存器——程序狀態字寄存器(PSW)來管理它們,CPU只要定義這個寄存的PSW的第3和第4位(RS0和RS1),即可選中這四組通用寄存器。對應的編碼關系如圖2所示。
內部RAM的20H—2FH單元為位定址區,既可作為一般單元用位元組定址,也可對它們的位進行定址。位定址區共有16個位元組,128個位,位地址為00H—7FH。位地址分配如表1所示,CPU能直接定址這些位,執行例如置「1」、清「0」、求「反」、轉移,傳送和邏輯等操作。我們常稱MCS-51具有布爾處理功能,布爾處理的存儲空間指的就是這些為定址區。

㈡ 單片機中的rom和ram是怎麼分配的,各有多大

單片機中ROM和RAM地址是重疊的,但物理空間不一樣,通過指令的不同來訪問不同的存儲空間,以51為例,ROM空間和RAM空間各位64K,訪問ROM用MOVC指令,訪問RAM用MOVX執行。當然,還有一部分內部RAM也就是寄存器,使用MOV指令訪問。

㈢ 在8051單片機中,片內RAM,片外RAM和片外ROM空間的地址有一部分是重疊的,為何不

片內 RAM、片外 RAM、片外 ROM,這三者,各有各的空間,根本就不會重疊。

當你使用解碼法擴充片外 RAM 時,才會有地址重疊。
但是,也僅限於「片外 RAM」的地址之中重疊,與另外兩個無關。

閱讀全文

與單片機儲存如何區分重疊部分相關的資料

熱點內容
linux查看計算機名 瀏覽:584
如何在美圖app查看圖片尺寸 瀏覽:760
dos命令自動關機 瀏覽:57
希望之村私人伺服器怎麼買 瀏覽:487
送餓了外賣app怎麼操作 瀏覽:996
演算法崗在什麼部門 瀏覽:659
容聲冰箱有電壓縮機不工作了 瀏覽:909
linuxsftp查看用戶 瀏覽:392
collectionssort演算法 瀏覽:555
php表單提交mysql 瀏覽:91
pr未知錯誤編譯 瀏覽:820
androidstudio重置 瀏覽:136
波浪理論pdf 瀏覽:23
nx編程視頻教程 瀏覽:862
堅果c6如何安裝app 瀏覽:531
大連app手機專賣店在哪裡 瀏覽:542
安卓機進水怎麼檢測 瀏覽:62
quartus編譯到特別慢 瀏覽:312
中山plc編程兼職 瀏覽:748
程序員經常訪問的網站 瀏覽:662