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個無符號數 編寫程式找出其中的最大值送入內部...