㈠ 簡述51單片機片內ram存儲器的構成
我暈 網路就有 不懂你這個 這些都是給你找的 內部RAM:共256個單元,用戶使用前128個單元,用於存放可讀寫數據,後128個單元被專用寄存器佔用。
前128單元具體分為:
1.工作寄存器區:共4個組,每組為8個存儲單元,即00H-07H,08H-0FH,10H-17H,18H-1FH,具體選擇哪一個由程序狀態字(PSW)中的RS1和RS0的組合決定(在此我就不展開了,呵呵……)
2.位定址區:20H-2FH,共16個單元,每一位可以進行位定址(16*8=128個位地址),就是每一個觸發位,就是bit可以定址
3.便箋區:從30H-7FH,共80個單元,用於存放用戶數據或作堆棧區使用。
4.從80H-FFH為專用寄存器佔用,其中還離散的分布SFR(21個特殊功能寄存器 51內部RAM分配:
工作寄存器區 00H--1FH
位定址區 20H--2FH
便箋區 30H--7FH
共128位元組;
片外的80H--FFH為特殊功能寄存器;
㈡ 51單片機 片內存儲器和外部存儲器是一個東西嗎
片外存儲器和外部存儲器應該不是一個東西,片外存儲器是指集成在晶元上的256B以外的RAM,而外部存儲器要靠你自行選擇晶元進行擴展,但用C語言編程時,它們都用XDATA來修飾,並且編譯器也不檢查你到底接沒有外部存儲器還是片上已有,這一點看它們沒有區別,實際上STC51單片機還是可以選擇使用或不使用片上的數據存儲器的
㈢ 51單片機片內數據存儲器分哪幾個性質和用途不同的區域
8051內部128B的數據RAM區,包括有工作寄存器組區、可直接位定址區和數據緩沖區。各區域的特性如下:
(1) 00H~1FH為工作寄存器組區,共分4組,每組佔用8個RAM位元組單元,每個單元作為一個工作寄存器,每組的8個單元分別定義為8個工作寄存器R0~R7。當前工作寄存器組的選擇是由程序狀態字PSW的RS1、RS0兩位來確定。如果實際應用中並不需要使用工作寄存器或不需要使用4組工作寄存器,不使用的工作寄存器組的區域仍然可作為一般數據緩沖區使用,用直接定址或用Ri的寄存器間接定址來訪問。
(2) 20H~2FH為可位定址區域,這16個位元組的每一位都有一個地址,編址為00H~7FH。
當然,位定址區也可以用作位元組定址的一般數據緩沖區使用。
(3) 30H~7FH為堆棧、數據緩沖區。
㈣ 51單片機如何訪問片內片外存儲器
EA=1,當訪問超過4k位元組存儲器時,將自動訪問外部。EA=0,直接訪問片外存儲器~~
如果你指的是自己擴展的片外的話,那就要通過P0,P2來實現了~
㈤ 51單片機片內 外數據存儲器的編址原理
51單片機片內外存儲器統一編址包含兩個部分,一個是內外ROM的統一編址,一個是片內外的RAM統一編址。
先說說內外ROM的統一編址:
你看看單片機的P3.1即EA引腳,這是片內常年供需存儲器屏蔽控制端。當EA=0時,只允許使用外部的ROM。當EA為1時,允許使用片內ROM,在PC(程序計數器)值超出0fffh時,將自動轉向執行外部程序存儲器從0fffH單元開始的程序,不管內部程序存儲器是否還有更大的空間。這就是所謂的內外ROM的統一編址。
㈥ 8051單片機 怎樣控制單片機訪問片內程序存儲器 還是 訪問片外程序存儲器
對於51系列單片機,將EA引腳接地,則運行片外程序存儲器;EA接VCC,則運行片內程序存儲器。當然,即使EA接VCC,如果程序運行時指令地址超過了片內程序存儲器地址范圍,也還會自動轉到片外程序存儲器空間的。另外要說明的是,用指令是無法控制單片機訪問的是片內還是片外程序存儲器。單片機是通過PSEN引腳控制訪問片外程序存儲器的。
㈦ MCS-51單片機片內256B的數據存儲器可分為幾個區分別起什麼作用
MCS-51 單片機片內數據存儲器可分為二個區: 00H~7FH 單元組成的低128B 的片內RAM區、80H ~FFH單元組成的高128B 的專用寄存器區。其中低128B的RAM區又分為: 00H~1FH 單元為工作寄存器區、20H~2FH 單元為位定址區、30H~7FH單元為用戶RAM區。
工作寄存器區可作通用寄存器用,用戶RAM區可作堆棧和數據緩沖用。專用寄存器區又稱特殊功能寄存器,使用80H~FFH單元。
(7)51單片機要使用片內存儲器擴展閱讀
存儲器空間在物理結構上可劃分為:MCS-51存儲器是採用將程序存儲器和數據存儲器分開定址的結構,其存儲器空間在物理結構上可劃分為如下四個空間:片內程序存儲器、片外程序存儲器、片內數據存儲器、片外數據存儲器。
MCS-51單片機的P0~P3四個I/O埠在結構上的異同以及使用時應注意的事項:MCS-51單片機的四個埠在結構上相同之處: P0~P3 都是准雙向I/O 口,作輸入時,必須先向相應埠的鎖存器寫入「1」。
不同之處;P0口的輸出級與P1~P3口不相同,它無內部上拉電阻,不能提供拉電流輸出,而P1~P3 則帶內部上拉電阻,可以提供拉電流輸出。
當P0口作通用I/O口輸出使用時,需外接上拉電阻才可輸出高電平;但作地址/數據匯流排時,不需要外接上拉電阻。P1~P3口IO輸出時,均無需外接上拉電阻。
㈧ 關於51單片機內部存儲器
51單片機內部分數據存儲器和程序存儲器,數據存儲器分配如:00H~1FH 為四個工作寄存器區、20H~2FH為位定址區、30H~7FH為一般RAM區、80H~FFH為特殊功能寄存器區。內部程序存儲器分配是0000H~0FFFH。1000H~FFFFH為外部程序存儲器。但別忘了當訪問內部程序存儲器時EA一定要接高電平。當EA為低電平時,單片機會全部訪問外部程序存儲器。
㈨ 51單片機的片內存儲器和片外存儲器都是在晶元內部嗎
傳統上,片內存儲器是在晶元內部,片外存儲器是在晶元外部。顧名思義嘛。
隨著晶元的發展,有些擴展型51單片機會在片內擴展一些SRAM方便使用,這些SRAM會映射在片外存儲空間內,使用時通過訪問片外存儲空間的低地址來訪問這些「實際上在片內」的SRAM。
㈩ 請問MCS-51單片機的所謂的片內存儲器是什麼意思啊
所謂片內rom就是集成在單片機內部的rom由單片機內部的地址匯流排進行訪問。而掛在外部的存儲晶元就叫做外部擴展rom。用p0口和p2口進行對外部rom的訪問。p0口作為地址的第八位,p2口作為地址的高八位,用鎖存器進行分時復用。不過現在的單片機內部集成的rom已經足夠大了,完成一般的設計就夠用了。所以外掛rom已經變古董了。