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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 38398|回復: 9
打印 上一主題 下一主題
收起左側(cè)

51單片機中的ROM和RAM分別是什么?

  [復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:342442 發(fā)表于 2018-10-13 08:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
眾所周知,51 內(nèi)部的存儲器分為數(shù)據(jù)存儲器 RAM 和程序存儲器 ROM。以 AT89c51 為例,其中有 128 字節(jié)隨機存儲器(又稱數(shù)據(jù)儲存器 RAM)和 4K 字節(jié)的只讀存 儲器(又稱程序存儲器 ROM)。
先說說這個 4K 字節(jié)的程序存儲器或者說只讀存儲器,我們寫的程序經(jīng)過編譯器 編譯成機器碼都是存在這個區(qū)域,所以稱為程序存儲器;但單片機上電執(zhí)行的時 候,此區(qū)域內(nèi)的數(shù)據(jù)只能讀取而不能寫入,他的只讀存儲器的名稱從這而來。
89c51 的 ROM 采用的是 FPEROM(Flash Programmable and Erasable Read Only
Memory),具體工藝我也不太清楚,號稱可以擦寫 1000 次,也就是說你每天寫
30 次,一個多月就報廢了。
在說說 128 字節(jié)的隨機存儲器或者說數(shù)據(jù)存儲器,程序運行過程中,一些中間變 量存儲在這個地方,也能從這個地方獲取需要運算的值,所以稱之為隨機存儲器, 也稱為數(shù)據(jù)存儲器。個人覺得相當于計算機的內(nèi)存,掉電丟失。
看看 MSC-51 指令就知道,所有的數(shù)據(jù)移動指令都是對 RAM 區(qū)操作的,就是因為 無法改變 ROM。
51 內(nèi)部的存儲器在物理上可分為 4 個區(qū)域:片內(nèi) ROM,片外 ROM,片內(nèi) RAM 和片外 RAM。從邏輯上可分為三個區(qū)域,64KB 片內(nèi)外統(tǒng)一編址的程序存儲器(ROM),
128 字節(jié)或 256 字節(jié)的片內(nèi)數(shù)據(jù)存儲器(RAM),64KB 片外數(shù)據(jù)存儲器(RAM)。

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


code:    64KB 程序存儲器(如果變量定義在這個空間,后面就不能修改了,如果 有語句改變它的值,編譯器就會報錯。)

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

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

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

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

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


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏6 分享淘帖 頂3 踩
回復

使用道具 舉報

沙發(fā)
ID:546698 發(fā)表于 2019-6-1 20:09 | 只看該作者
學習了,謝謝         
回復

使用道具 舉報

板凳
ID:370231 發(fā)表于 2019-9-6 10:12 | 只看該作者
打個比方吧!假如要搞個什么活動,有兩塊地方,一個叫ROM.一個叫RAM,和一個老大叫cpu。其中人們規(guī)定rom這個地方的所有東西你老大cpu都不能改動它,里面放著活動的方案,也就相當于你編寫的程序,cpu必須要按照這個方案去主持搞這個活動。這個地方允許放一些其它東西,〔單片機中也就是數(shù)據(jù)!〕。當這個活動開始的時候,老大cpu就會到rom這里復制里面的全部內(nèi)容〔有特別標明的除外,一般是不常用的數(shù)據(jù)〕放到RAM里面運行。當需要用要標明的不常用數(shù)據(jù)時,老大根據(jù)數(shù)據(jù)的編號,也就是地址,去讀回來那個數(shù),再繼續(xù)運行!當你要終止這次活動時,ram里面的東西,就全部扔掉,不保留。下次再需要的時候,再去rom這個地方復制回來,從新開始運行。
寄存器,要說功能的話,每個寄存器都有它的功能!建議你搜索一下單片機寄存器功能,有很多的出來。他們介紹的都很好!在這里我就不說了打字累啊。呵呵
回復

使用道具 舉報

地板
ID:451441 發(fā)表于 2019-9-15 10:33 | 只看該作者
謝謝指點,對于我這種完全自學的人收獲很多
回復

使用道具 舉報

5#
ID:259738 發(fā)表于 2020-3-23 16:51 | 只看該作者
寫c51的特別需要去記這個
回復

使用道具 舉報

6#
ID:538599 發(fā)表于 2020-5-6 20:27 | 只看該作者
感謝提醒,的確講解非常到位。略微補充一點,早年間的ROM都是出廠不可再寫的,后來由于技術進步所以可以反復擦寫
回復

使用道具 舉報

7#
ID:826371 發(fā)表于 2020-11-4 12:07 來自觸屏版 | 只看該作者
謝謝很有幫助
回復

使用道具 舉報

8#
ID:738987 發(fā)表于 2020-11-4 12:31 | 只看該作者
ROM就是類似于硬盤,掉電不丟失,所以用來存運行的程序,和一些重要的數(shù)據(jù),RAM就是常說的內(nèi)存,其存儲的東西掉電以后就會丟失,用來存放程序運行的中間結果。
回復

使用道具 舉報

9#
ID:1118754 發(fā)表于 2024-4-28 20:56 | 只看該作者
rom相當于硬盤存儲,而ram是內(nèi)存
回復

使用道具 舉報

10#
ID:1119196 發(fā)表于 2024-5-3 22:53 | 只看該作者
感謝指點
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 黄色一级大片在线免费看产 | 日本乱子伦 | 深夜视频在线观看 | 香蕉视频色版 | 日韩一级二级 | 日韩高清一区 | 91美女视频 | 国产精品国产精品国产专区不卡 | 精品一二三区 | av黄色在线观看 | 午夜av片 | 老司机午夜免费精品视频 | 快播少女爱欢乐 | 日韩欧美黄色 | 国产激情在线 | 欧美一级做性受免费大片免费 | 日韩欧美在线视频观看 | 日韩免费看片 | www中文字幕 | www.日本在线观看 | 欧美一区二区三区在线播放 | 日韩一区二区三区免费视频 | 国产一区在线播放 | 超碰在线免费公开 | 国产一二三 | 成人精品视频 | 小sao货撅起屁股扒开c微博 | 91成人亚洲 | 少妇在线观看 | 九九色综合| 中文字幕一区二区三区在线观看 | 色婷婷香蕉在线一区二区 | 五月婷综合 | 欧美成年人视频 | 韩日中文字幕 | 久久精品久久久 | 91在线一区| 欧美日韩精品一区二区 | 久久r| 欧美日韩国产一区二区 | 亚洲精品乱码久久久久久蜜桃91 |