新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)關(guān)于RAM的作用

單片機(jī)關(guān)于RAM的作用

作者: 時(shí)間:2016-11-23 來(lái)源:網(wǎng)絡(luò) 收藏
1、內(nèi)部RAM:共256個(gè)單元,用戶使用前128個(gè)單元,用于存放可讀寫(xiě)數(shù)據(jù),后128個(gè)單元被專用寄存器占用。
前128單元具體分為:
1.工作寄存器區(qū):共4個(gè)組,每組為8個(gè)存儲(chǔ)單元,即00H-07H,08H-0FH,10H-17H,18H-1FH,具體選擇哪一個(gè)由程序狀態(tài)字(PSW)中的RS1和RS0的組合決定
2.位尋址區(qū):20H-2FH,共16個(gè)單元,每一位可以進(jìn)行位尋址(16*8=128個(gè)位地址),就是每一個(gè)觸發(fā)位,就是bit可以尋址
3.便箋區(qū):從30H-7FH,共80個(gè)單元,用于存放用戶數(shù)據(jù)或作堆棧區(qū)使用。

4.從80H-FFH為專用寄存器占用,其中還離散的分布SFR(21個(gè)特殊功能寄存器)

本文引用地址:http://butianyuan.cn/article/201611/320528.htm

2、256B
其中00H~7FH
可分為3個(gè)區(qū)域:
00H~1FH 是通用寄存器區(qū)
20H~2FH 是位尋址區(qū)
30H~7FH 是用戶RAM區(qū)

80H~FFH是特殊功能寄存器區(qū)

3、AT89S51單片機(jī)的ram,只有128字節(jié),地址范圍:00H~7FH。
SFR不是RAM,是特殊功能寄存器,地址范圍:80H~FFH,SFR在其中離散分布著。

AT89S52單片機(jī)的ram,就有256字節(jié),地址范圍:00H~FFH。
SFR,特殊功能寄存器,仍然在地址范圍:80H~FFH。
兩者的地址重疊了,區(qū)別方法如下:
對(duì)80H~FFH直接尋址,就是讀寫(xiě)SFR,特殊功能寄存器;
對(duì)80H~FFH間接尋址,就是讀寫(xiě)RAM。

4、先說(shuō)說(shuō)這幾個(gè)詞是什么意思:
1,DATA,51的內(nèi)部RAM,只有128B(字節(jié))大小,不管是最新的什么增強(qiáng)型單片機(jī);

2,XDATA,外部RAM,只能使用MOVX尋址

3,CODE,代碼區(qū),即是你的代碼的大小,AT89C51為4K,C52為8K等,增強(qiáng)型的有更多的選擇。

然后說(shuō)明一下,幾種RAM的區(qū)別:
1,DATA,也是上面1提到的DATA RAM,占51的128B;
2,IDATA,大小也為128B,與DATA構(gòu)成256字節(jié)的內(nèi)存(如AT89C52)
3,PDATA,外部RAM的前256B(就是一個(gè)頁(yè)的大?。?,是XDATA的一部分;
4,XDATA,外部RAM

所以你的那個(gè)單片機(jī)的1280B,其實(shí)組成為:
DATA :128B
IDATA:128B
XDATA:1024B

單片機(jī)C語(yǔ)言u(píng)nsigned char code table[] code 是什么作用?

code的作用是告訴單片機(jī),我定義的數(shù)據(jù)要放在ROM(程序存儲(chǔ)區(qū))里面,寫(xiě)入后就不能再更改,其實(shí)是相當(dāng)與匯編里面的尋址MOVC(好像是),因?yàn)镃語(yǔ)言中沒(méi)辦法詳細(xì)描述存入的是ROM還是RAM(寄存器),所以在軟件中添加了這一個(gè)語(yǔ)句起到代替匯編指令的作用,對(duì)應(yīng)的還有data是存入RAM的意思。

程序可以簡(jiǎn)單的分為code(程序)區(qū),和data (數(shù)據(jù))區(qū),code區(qū)在運(yùn)行的時(shí)候是不可以更改的,data區(qū)放全局變量和臨時(shí)變量,是要不斷的改變的,cpu從code區(qū)讀取指令,對(duì)data區(qū)的數(shù)據(jù)進(jìn)行運(yùn)算處理,因此code區(qū)存儲(chǔ)在什么介質(zhì)上并不重要,象以前的計(jì)算機(jī)程序存儲(chǔ)在卡片上,code區(qū)也可以放在rom里面,也可以放在ram里面,也可以放在flash里面(但是運(yùn)行速度要慢很多,主要讀flash比讀ram要費(fèi)時(shí)間),因此一般的做法是要將程序放到flash里面,然后load到 ram里面運(yùn)行的;DATA區(qū)就沒(méi)有什么選擇了,肯定要放在RAM里面,放到rom里面改動(dòng)不了。



關(guān)鍵詞: 單片機(jī)RA

評(píng)論


技術(shù)專區(qū)

關(guān)閉