標題: 單片機片內RAM [打印本頁]
作者: 無憂 時間: 2008-9-3 22:12
標題: 單片機片內RAM
單片機片內RAM共256B,低128B為用戶RAM區,高128B為特殊功能寄存器區,但是,今天老師講單片機存儲器時,講到內部RAM時,說道片內低128B為用戶RAM,高128B有兩部分,內部RAM和特殊功能寄存器,他們地址重合,訪問高128B和SFR時,通過采用不同指令來區分。可是,我看了好幾本書,都說的是高128RAM存放著SFR,和老師講的有點兒不一樣,請問到底哪一個對?
作者: nglmh2006 時間: 2008-9-3 23:07
底128B 是程序用的,高128B是用戶可以用的!
作者: pinako 時間: 2008-10-17 00:22
你老師說的是正確的,我認為。高128是可以使用的,但是不是全部都可以用,其中特殊功能寄存器要占一部分空間,堆棧要占一部分空間,剩下的才是你可以用的空間。定義idata型的變量就可以存儲到這個空間了,不能直接尋址,只能間接尋址。
作者: colengol 時間: 2008-10-19 15:18
我也是看書自學的 我估摸著老師好像口誤了 !
作者: 新手小蘇 時間: 2018-6-3 18:30
在51中,SFR在物理結構上存在于高端RAM中,但是是二者不相等,可以說SFR包含于高端RAM之中。
SFR是高端RAM中具有特殊功能的寄存器。只能用直接尋址的方式(其中包括位尋址);
而高端RAM中剩下的空間用作擴展用。且只能用間址尋址的方式訪問。
(老師教的加自學加個人理解)
作者: 新手小蘇 時間: 2018-6-12 01:11
今天又去找老師,發現我之前的理解是錯的,SFR和高端RAM在物理上是不同結構。只是二者在地址上是重合的,所以采用不同的尋址方式加以區別,即SFR只能用直接尋址。而高端RAM就是用作數據存儲,而并非之前所理解的SFR包含于高端RAM中。并且對于基本型的51沒有高端RAM,只有低端的128B的RAM。并且老師通過仿真軟件演示給我看,所以現在我認為你的老師說的是對的,大部分書是錯的。
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |