51微控制器內部ram,外部ram的區別

2022-04-02 10:45:29 字數 3591 閱讀 9577

1樓:

微控制器的這 512 位元組的 ram在地位上並不都是平等的,而是分塊的,塊與塊之間在物理結構和用法上都是有區別的,因此形成51微控制器內部ram和外部ram的區別。

一、從使用位元組區別。標準 51微控制器的片內 ram 地址從 0x00h~0x7f 共 128 個位元組。而現在我們用的 51 系列的微控制器都是帶擴充套件片內 ram 的,即 ram 是從 0x00~0xff 共 256 個位元組。

而片外 ram 最大可以擴充套件到 0x0000~0xffff 共 64k 位元組。

二、從連線地址區別。片內 ram 和片外 ram 的地址不是連起來的,片內是從 0x00 開始,片外也是從 0x0000 開始的,分別形成data,即片內 ram 從 0x00~0x7f;idata,即片內 ram 從 0x00~0xff;pdata,即片外 ram 從 0x00~0xff;xdata,即片外 ram 從 0x0000~0xffff。

一般情況下,使用 data 區域,data 不夠用了,就用 xdata,如果希望程式執行效率儘量高一點,就使用 pdata 關鍵字來定義。其它型號有更大的 ram 的 51 系列微控制器,如果要使用更大的 ram,就必須得用 xdata 來訪問了。

2樓:匿名使用者

典型的51微控制器內部ram是256b,8根地址線(8位),這256b共分為高128位和低128位,使用者使用的區域是低128位(即00h~7fh),通過程式計數器pc定址。

51微控制器的外部ram可擴充套件到64kb,16根地址線(16位),使用dptr作為外部ram的定址指標。

程式儲存器:也就是rom,是存放使用者程式(如彙編程式或c程式)的地方,典型的51微控制器內部rom為4kb,若是使用外部rom可以擴充套件到64kb。

資料儲存器:是存放使用者程式執行過程中的中間結果或者運算結果,也就是內部ram或外部ram。

mov: 微控制器內部ram的資料傳送指令

movx: 微控制器外部ram的資料傳送指令

3樓:匿名使用者

內部ram:就是你存放資料的地方,你平時自己定義的變數的地址就是內部ram

外部ram:相當於擴充套件的存放資料區,由於內部ram太小,有時候裝不下我們要存放的資料,因此增加了外部ram,它其實和內部ram的功能一樣,唯一的區別就是取值的方式不同.

程式儲存器:存放程式的空間,你所寫的程式編譯後的機器碼都在那個空間,我們執行程式的時候也是在那裡實現,程式儲存器也可以存放資料.

資料儲存器:就是內部ram和外部ram

mov,movx兩個指令的區別就是一個取內部ram空間的值而movx取外部ram空間的值

4樓:

mov 操作內部資料儲存器(ram)

movx 操作外部資料儲存器(ram),外部匯流排地址等movc 程式儲存器(rom或者flash)最簡單的理解了吧?!

ps:懶人記憶法:

movc中的「c」相當於「code」**

movx中的「x」相當於「extern」外部的mov 既沒有「c」也沒有「x」相當於內部的

51微控制器外部ram的定址範圍是多少?

5樓:匿名使用者

外部ram的定址範圍是0000h~ffffh。

微控制器是根據微控制器指令來區分內部與外部ram的。使用movx命令就使用外部ram,使用mov命令就指向內部ram,所以,儘管0~255地址重疊,但內部0~255只能用mov訪問,外部0~255只能用movx訪問,你不用擔心。

6樓:

微控制器是8位的地址範圍是2的8次方,0-255不衝突了嗎?

dptr暫存器是16位的。

微控制器內部可以分高8位,低8位,用兩個位元組進行定址。

mcs-51微控制器內部ram的各部分作用?

7樓:西門不敗

00-1f 4組工作暫存器(r0-r7)20-2f 位定址區 可以位定址也可位元組定址30-7f 通用ram區 只能位元組定址80-ff 特殊功能暫存器區

8樓:匿名使用者

no,she isn't.

51微控制器如何區分rom與ram

9樓:匿名使用者

rom是儲存程式用的,用movc指令訪問;ram分為片內和片外兩種,是用來儲存資料用的,片內用mov訪問,片外用movx訪問。片內ram訪問速度最快,但空間小,片外ram訪問速度稍慢,但空間大。

10樓:

rom:程式儲存器,只能用來存放code,ram:資料儲存器,程式可讀寫

11樓:匿名使用者

從一下幾點區分:

內部的:

內部的不是rom就是ram,所以比較容易區分,51微控制器的rom一般比ram大,但也不盡然。比如89c51的內部rom的空間就有4k,但是ram就只有256b空間。另外51的內部ram的128的空間還用作了特殊功能暫存器的定義。

另外,組合語言對rom和ram的操作分別用movc 和mov

外部擴充套件的:外部擴充套件的分辨就看儲存晶片的型別,是rom還是ram都寫有的

12樓:旗疏貞

rom用movc指令訪問

內部ram用mov指令訪問

外部ram用movx指令訪問

13樓:it風雲說

ram和rom到底有什麼區別?

89c51微控制器訪問外部資料儲存器ram、rom,應該使用什麼指令?

14樓:生活如歌

彙編指令:

外部ram用movx指令,例如:movx a,@dptr

rom不分片內片外一律用movc指令,例如:movc a,@a+dptr

15樓:匿名使用者

彙編:來

讀寫外部

源ram用 movx

movx a,@dptr ;讀外部ram

movx @dptr,a ;寫外部ram

其中dptr代表地址

movc片內片外都可以訪問

movc a,@a+dptr

當地址超過內部rom地址後自動讀取外部romc語言:

包含使用xbyte讀寫外部ram

xbyte[0x001f]=0xff;//把0xff寫入外部ram 0x001f地址

unsigned char i;

i=xbyte[0x001f];//讀取外部ram 0x001f地址的資料

使用cbyte讀寫內/外部rom

用法跟讀寫ram一樣

用51微控制器指令,完成外部ram的2000h單元內容送r0,送內部ram的20h單元,送外部ram

16樓:做而論道

mov dptr, #2000h

movx a, @dptr

mov r0, a

mov a, 20h

mov dptr, #0020h

movx @dptr, aend

MCS 51型微控制器內部RAM的組成是如何劃分的,各有什麼功

內部ram一共256位元組。00 07 08 0f 10 17 18 1f 這四組,每組8個位元組。是r0 r7暫存器的,由psw控制第幾組。這幾組可以位定址。20 7f 是位元組定址的。堆疊也在這裡。80 ff是放置特殊功能暫存器的空間。比如累加器 p0 p3口地址 tmod pcon.這裡的有的...

8051微控制器內RAM容量有多少

8051片內資料儲存器除ram 00 7fh 之外,還有特殊功能寄存其sfr 80h ffh 兩者合起來共有256位元組,但是能夠真正用來當資料暫存器的只有128位元組,也就是ram。如果具體到某款型號的微控制器,只要查一下晶片的使用者手冊就可以知道了。具體的容量是由具體的晶片決定的。這裡簡單說一下...

在微控制器內部資料RAM的30H開始的單元中連續存放單子節

maxdat mov r0,30h mov r2,10 mov b,0 loop mov a,r0 cjne a,b,lp1 lp1 jc lp2 mov b,a lp2 inc r0 djnz r2,loopret 在內部ram 30h單元開始存放著10個無符號數 編寫程式找出其中的最大值送入內部...