久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: 51單片機(jī)中的ROM和RAM分別是什么? [打印本頁]

作者: 電阻不接地    時(shí)間: 2018-10-13 08:18
標(biāo)題: 51單片機(jī)中的ROM和RAM分別是什么?
眾所周知,51 內(nèi)部的存儲(chǔ)器分為數(shù)據(jù)存儲(chǔ)器 RAM 和程序存儲(chǔ)器 ROM。以 AT89c51 為例,其中有 128 字節(jié)隨機(jī)存儲(chǔ)器(又稱數(shù)據(jù)儲(chǔ)存器 RAM)和 4K 字節(jié)的只讀存 儲(chǔ)器(又稱程序存儲(chǔ)器 ROM)。
先說說這個(gè) 4K 字節(jié)的程序存儲(chǔ)器或者說只讀存儲(chǔ)器,我們寫的程序經(jīng)過編譯器 編譯成機(jī)器碼都是存在這個(gè)區(qū)域,所以稱為程序存儲(chǔ)器;但單片機(jī)上電執(zhí)行的時(shí) 候,此區(qū)域內(nèi)的數(shù)據(jù)只能讀取而不能寫入,他的只讀存儲(chǔ)器的名稱從這而來。
89c51 的 ROM 采用的是 FPEROM(Flash Programmable and Erasable Read Only
Memory),具體工藝我也不太清楚,號(hào)稱可以擦寫 1000 次,也就是說你每天寫
30 次,一個(gè)多月就報(bào)廢了。
在說說 128 字節(jié)的隨機(jī)存儲(chǔ)器或者說數(shù)據(jù)存儲(chǔ)器,程序運(yùn)行過程中,一些中間變 量存儲(chǔ)在這個(gè)地方,也能從這個(gè)地方獲取需要運(yùn)算的值,所以稱之為隨機(jī)存儲(chǔ)器, 也稱為數(shù)據(jù)存儲(chǔ)器。個(gè)人覺得相當(dāng)于計(jì)算機(jī)的內(nèi)存,掉電丟失。
看看 MSC-51 指令就知道,所有的數(shù)據(jù)移動(dòng)指令都是對(duì) RAM 區(qū)操作的,就是因?yàn)?無法改變 ROM。
51 內(nèi)部的存儲(chǔ)器在物理上可分為 4 個(gè)區(qū)域:片內(nèi) ROM,片外 ROM,片內(nèi) RAM 和片外 RAM。從邏輯上可分為三個(gè)區(qū)域,64KB 片內(nèi)外統(tǒng)一編址的程序存儲(chǔ)器(ROM),
128 字節(jié)或 256 字節(jié)的片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM),64KB 片外數(shù)據(jù)存儲(chǔ)器(RAM)。

對(duì)應(yīng)的 keil 編譯器關(guān)鍵字為:
data    :    片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM)低 128 字節(jié)(51 系列片內(nèi)只有 128 字節(jié),52 系列有 256 字節(jié))
bdata:    可位尋址的片內(nèi) RAM 以上兩種類型可以快速的存取數(shù)據(jù),常用來放臨時(shí)性的傳遞變量或使用頻率較高 的變量。
idata :    片內(nèi)數(shù)據(jù)存儲(chǔ)器(RAM)256 字節(jié)
xdata:    片外數(shù)據(jù)存儲(chǔ)器 64KB
pdata:    片外數(shù)據(jù)存儲(chǔ)器低 256 字節(jié)


code:    64KB 程序存儲(chǔ)器(如果變量定義在這個(gè)空間,后面就不能修改了,如果 有語句改變它的值,編譯器就會(huì)報(bào)錯(cuò)。)

此外,C51 還有三種存儲(chǔ)模式(這是在開發(fā)環(huán)境里面設(shè)置的):SMALL, COMPACT,
LARGE

SMALL 模式下,如果不做特別說明,參數(shù)及局部變量默認(rèn)為 data 型,放在片內(nèi) RAM128 字節(jié)內(nèi),訪問迅速。由于內(nèi)部的 RAM 有限,如果變量過多,會(huì)導(dǎo)致頻 繁的使用寄存器,而使代碼變的冗長。此時(shí)棧也在片內(nèi)的 RAM,棧長很關(guān)鍵, 因?yàn)闂iL依賴于不同函數(shù)的嵌套層數(shù)。

COMPACT:不做特別說明,參數(shù)及局部變量默認(rèn)為 pdata,?臻g在內(nèi)部 RAM。

LARGE:參數(shù)及局部變量默認(rèn)為 xdata,使用 DPTR 來尋址。訪問效率低,此外這 種數(shù)據(jù)指針不能對(duì)稱操作。

全局變量會(huì)根據(jù)定義的類型或者存儲(chǔ)的模式分配在相應(yīng)的存儲(chǔ)區(qū)內(nèi),有固定的地 址,如果全局變量過多則會(huì)導(dǎo)致占用太多內(nèi)存,處理速度變慢。



作者: meiwen141    時(shí)間: 2019-6-1 20:09
學(xué)習(xí)了,謝謝         
作者: a89588038    時(shí)間: 2019-9-6 10:12
打個(gè)比方吧!假如要搞個(gè)什么活動(dòng),有兩塊地方,一個(gè)叫ROM.一個(gè)叫RAM,和一個(gè)老大叫cpu。其中人們規(guī)定rom這個(gè)地方的所有東西你老大cpu都不能改動(dòng)它,里面放著活動(dòng)的方案,也就相當(dāng)于你編寫的程序,cpu必須要按照這個(gè)方案去主持搞這個(gè)活動(dòng)。這個(gè)地方允許放一些其它東西,〔單片機(jī)中也就是數(shù)據(jù)!〕。當(dāng)這個(gè)活動(dòng)開始的時(shí)候,老大cpu就會(huì)到rom這里復(fù)制里面的全部?jī)?nèi)容〔有特別標(biāo)明的除外,一般是不常用的數(shù)據(jù)〕放到RAM里面運(yùn)行。當(dāng)需要用要標(biāo)明的不常用數(shù)據(jù)時(shí),老大根據(jù)數(shù)據(jù)的編號(hào),也就是地址,去讀回來那個(gè)數(shù),再繼續(xù)運(yùn)行!當(dāng)你要終止這次活動(dòng)時(shí),ram里面的東西,就全部扔掉,不保留。下次再需要的時(shí)候,再去rom這個(gè)地方復(fù)制回來,從新開始運(yùn)行。
寄存器,要說功能的話,每個(gè)寄存器都有它的功能!建議你搜索一下單片機(jī)寄存器功能,有很多的出來。他們介紹的都很好!在這里我就不說了打字累啊。呵呵
作者: ttaniscy    時(shí)間: 2019-9-15 10:33
謝謝指點(diǎn),對(duì)于我這種完全自學(xué)的人收獲很多
作者: bigya    時(shí)間: 2020-3-23 16:51
寫c51的特別需要去記這個(gè)
作者: 陽飛    時(shí)間: 2020-5-6 20:27
感謝提醒,的確講解非常到位。略微補(bǔ)充一點(diǎn),早年間的ROM都是出廠不可再寫的,后來由于技術(shù)進(jìn)步所以可以反復(fù)擦寫
作者: 一川    時(shí)間: 2020-11-4 12:07
謝謝很有幫助
作者: comeon劉    時(shí)間: 2020-11-4 12:31
ROM就是類似于硬盤,掉電不丟失,所以用來存運(yùn)行的程序,和一些重要的數(shù)據(jù),RAM就是常說的內(nèi)存,其存儲(chǔ)的東西掉電以后就會(huì)丟失,用來存放程序運(yùn)行的中間結(jié)果。
作者: borz    時(shí)間: 2024-4-28 20:56
rom相當(dāng)于硬盤存儲(chǔ),而ram是內(nèi)存
作者: Eliese    時(shí)間: 2024-5-3 22:53
感謝指點(diǎn)




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩欧美在线播放 | 国产xxx| 中文字幕一区二区三区四区视频 | 国产日韩欧美日韩大片 | 成人性生活片 | 亚洲成人免费网站 | 久久久天堂国产精品女人 | 日本激情网 | 窝窝午夜精品一区二区 | av资源在线播放 | 天天躁日日躁狠狠躁伊人 | 成人福利在线观看 | 91白浆| 一区二区免费在线观看 | 无套内谢的新婚少妇国语播放 | 天天干天天操天天爽 | www.日韩欧美 | 国产日韩在线视频 | 97视频在线免费观看 | 99精品成人 | 日本三级视频在线观看 | 国产一区二区三区在线 | 国产精品久久久久久精 | www.亚洲一区| www国产视频 | 毛片91| 欧美一级在线观看 | 日韩午夜影院 | 久久精品视频免费 | 毛片网页 | 国产理论片在线观看 | 国产欧美精品一区二区 | 日韩久久久 | 亚洲成人日韩 | 91免费黄| 亚洲欧美一区二区三区在线 | 毛片在线免费播放 | 国产专区在线播放 | 97超碰免费| 精品一区久久 | 93久久精品日日躁夜夜躁欧美 |