在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

深入探究單片機中的RAM與ROM

STM32嵌入式開發 ? 來源:單片機與嵌入式 ? 作者:單片機與嵌入式 ? 2021-10-27 11:36 ? 次閱讀

其實,單片機就是個小計算機。大計算機少不了的數據存儲系統,單片機一樣有,而且往往和CPU集成在一起,顯得更加小巧靈活。

直到90年代初,國內容易得到的單片機是8031:不帶存儲器的芯片,要想工作,必須外加RAMROM,于是單片機成了3片機。。。。。。

而現在不同了,無論大的,還是小的,又是51,又是AVR,又是STC,還有什么430、PIC……都各說各的好,可誰也不敢說“我不要存儲器”。

單片機的數據存儲手段

1 程序存儲器ROM

程序存儲器里面存放的是單片機的靈魂:工作程序。

小的可能只有1KB,最多只能裝1024條8位數據,因為實際指令還有許多2字節,3字節指令,所以它還裝不下1024條指令。大的也有128KB的。這些8位數據,要么在工廠里做模子光刻進去,要么一次性的燒寫進去。

業余或開發,最多也就是用編程器這么一個特殊工具,把調試成功的機器碼裝載進去,或者像AVR單片機那樣自己花幾塊錢做一條下載線,把電腦里這些東西灌進去(或許是AVR最吸引人之處)。

它一旦進駐電腦的程序存儲器中,除了借助上述裝置便不能自由改寫,在單片機運行時,只是從其中讀出指令或固定的數據,所以給程序存儲器一個“只讀存儲器”的別名,簡寫為ROM,包括用編程器寫紫外線擦除內容的EPROM、用電擦除的EEPROM和現在新興的FLASH ROM。相關文章:EEPROM和Flash這樣講,我早就懂了。

一次性寫入的ROM,僅用于電路和程序固定的批量產品中,實際工作起來,都是一樣的。

為了定位ROM中的數據,每個8位存儲單元都有一個固定的“地址”,通常用16進制數表示。例如,對于一個所謂4K的ROM,地址從0000H到0FFFH(即從0000,0001.。.4095),單片機運行時從哪個地址取數據,完全由程序本身決定,并不要我們干預。

記住,給單片機一通電,它經過一個短暫的復位過程,立即轉向ROM的最低地址0000H,在這里面放置的往往是一條“跳轉”指令,它從這里一步跳到另一個地址:程序的真正起始地址,例如51機的0080H。

ROM是程序存儲器,除了指令外,還包括運行程序必須的某些固定數據,例如:數據表。假如,我們要求在單片機的接口上輸出00H到FFH(255)按正弦半波變化的數值,每秒10000次。如果硬要它按照公式一個個計算,對于它來說未免力不從心。可是我們可以把預先計算好的數值存入ROM中,到時候直接取出不是好多了?

又如一個重要的應用:大家一定見過不少單片機的東西上面都有數碼顯示,那些個數字其實就是用單片機的口線控制數碼管的字段電極電位。這些字形也是存放在ROM中的字模表,各個字模和0-9的數字(機器內當然是0000-0101二進制數)對應起來。常見的共陽極7段數碼管,必須在陽極加正電,7個陰極都是地電位,才能顯示數字“8”,數字8對應的顯示字碼值是二進制數“10000000“(那個1對應的是小數點,高電位不讓它顯示)。

2 數據存儲器RAM

這是個可以隨時存取數據的一塊存儲器,也就是可以讀(取)也可以寫(存)的存儲器,簡稱RAM。

現在的單片機里面使用的RAM,屬于靜態RAM或SRAM,這個和電腦用的內存條有所不同。只要你把數據寫入SRAM后,不斷電或者不清除掉,這個數據就一直保存在那里。電腦用的是動態RAM,要不斷給它加刷新脈沖才能保存數據。

因為單片機處理的信息量比電腦小很多,所以它帶的RAM也比較少:從完全不帶、帶128、256、。。.1K、2K,到4K,比ROM少多了。

因為實際上RAM只是作為數據臨時存放的地方,除非進行圖像處理需要存放大量的數據外。一般對于執行較簡單任務的單片機,有這么多也夠用,如果實在不夠用也只能采取外加SRAM如6116、6264等等來擴展。

為了對RAM單元存取8位二進制數,當然也得和ROM一樣用“地址”來標示它的具體位置。假如某單片機有1K(1024)RAM,它的地址也是從0000到1024,或16進制數的0000H到03FFH。可見,和ROM的地址是一樣的。

3 會不會混淆不清?

答案是不會的,因為讀ROM是由單片機的程序指針或轉移指令或查表指令進行,而這些指令是不會進入RAM區的;讀寫RAM是另外的數據傳送指令,也不會進入ROM區。

這點也是和電腦不同之處,后者程序和數據都在內存條里面,地址不同,如果竄位了就會造成不可預見后果。單片機的這種存儲器結構也稱為哈佛結構。

RAM在單片機里的用途

RAM在單片機里的用途,主要是存放臨時數據。

例如用單片機測溫,每秒測1次,顯示1分鐘的平均值(1分鐘更新一次):

我們先通過傳感器、放大電路、A/D轉換,把溫度這個模擬量轉變為成比例的二進制數,然后每秒鐘1次把數字量通過輸入口順序存入到單片機的RAM中,然后對他們進行兩兩求和再平均的計算,最后的數值顯示出來,然后把這60個存儲單元統統寫0清除舊數據,下次又是如此循環進行。

總結

另外,在單片機里面還有若干寄存器,數量不多但是作用很大,除了暫存數據,還可以交換、加工、傳遞等等,以及隨時記錄單片機當前處于什么狀態,輸入輸出口也是作為特殊功能的寄存器存在,具體各有不同,就不是隨便說說可以搞清楚的,要看有關書籍了。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6044

    文章

    44624

    瀏覽量

    638950
  • 放大電路
    +關注

    關注

    104

    文章

    1795

    瀏覽量

    106970
  • 寄存器
    +關注

    關注

    31

    文章

    5369

    瀏覽量

    121275
  • ROM
    ROM
    +關注

    關注

    4

    文章

    575

    瀏覽量

    86028
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1369

    瀏覽量

    115054

原文標題:單片機中的RAM vs ROM

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    單片機rom ram flash

    個概念rom(read only memory)只讀存儲器 顧名思義,就是只能讀取數據的存儲器,它的意思并不是絕對的不能寫數據,而是單片機本身不能寫數據,可是可以通過電腦寫入數據。rom的功能就是存儲
    發表于 07-10 15:18

    單片機RAM ROM區別,單片機與電腦的區別 精選資料分享

    RAM運行內存ROM存儲內存對于古老的單片機來說它的ROM是用來固化一些程序的 寫好了之后只能讀取 所以ROM read only memo
    發表于 07-14 07:34

    單片機ROMRAM

    單片機ROMRAM----我們選型MCU的時候內存空間一定是要考慮的參數,比如ROMRAM1.DRAM分為很多種,主要有SRAM、FP
    發表于 09-02 18:42

    單片機ramrom的區別是什么

    Memory) 程序存儲器在單片機中用來存儲程序數據及 …單片機運行時需要調用某個程序/函數/固定數據時就需要讀取ROM,然后在RAM
    發表于 01-26 07:02

    單片機擴展外部ROMRAM讀寫時序

    單片機擴展外部ROMRAM讀寫時序,PPT介紹。
    發表于 12-12 21:36 ?9次下載

    單片機ROM,RAM和FLASH的作用

    式電度表,它的內核是一款單片機,該單片機的程序就是存放在 ROM 里的。電度表在工作過程,是要運算數據的,要采集電壓和電流,并根據電壓和電流計算出電度來。電壓和電流時一個適時的數據,
    發表于 11-24 10:01 ?1912次閱讀

    單片機ROM,RAM和FLASH的作用

    單片機中用來存儲程序數據及常量數據或變量數據,凡是c文件及h文件中所有代碼、全局變量、局部變量、’const’限定符定義的常量數據、startup.asm文件的代碼(類似ARM的bootloader或者X86
    發表于 12-28 14:06 ?2.7w次閱讀

    單片機ROM,RAM和FLASH的作用

    單片機中用來存儲程序數據及常量數據或變量數據,凡是c文件及h文件中所有代碼、全局變量、局部變量、’const’限定符定義的常量數據、startup.asm文件的代碼(類似ARM的bootloader或者X86
    的頭像 發表于 03-16 16:27 ?1.1w次閱讀

    單片機RAM ROM區別,單片機與電腦的區別

    RAM運行內存ROM存儲內存對于古老的單片機來說它的ROM是用來固化一些程序的 寫好了之后只能讀取 所以ROM read only memo
    發表于 11-14 19:36 ?12次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>中</b><b class='flag-5'>RAM</b> <b class='flag-5'>ROM</b>區別,<b class='flag-5'>單片機</b>與電腦的區別

    淺談單片機romram與代碼的關系,以及為什么要加上拉電阻

    ROM,RAM以及code,dataram掉電丟失rom掉電不丟失因為單片機RAM很有限,所以將不變的保存到
    發表于 11-25 18:36 ?8次下載
    淺談<b class='flag-5'>單片機</b><b class='flag-5'>rom</b>和<b class='flag-5'>ram</b>與代碼的關系,以及為什么要加上拉電阻

    區分單片機RAMROM、Flash

    復習單片機ROMRAM、Flash的區別
    發表于 12-01 20:36 ?20次下載
    區分<b class='flag-5'>單片機</b><b class='flag-5'>RAM</b>、<b class='flag-5'>ROM</b>、Flash

    單片機ramrom的區別

    Memory) 程序存儲器在單片機中用來存儲程序數據及 …單片機運行時需要調用某個程序/函數/固定數據時就需要讀取ROM,然后在RAM
    發表于 12-02 09:36 ?13次下載
    <b class='flag-5'>單片機</b><b class='flag-5'>ram</b>和<b class='flag-5'>rom</b>的區別

    (轉)深入分析STM32單片機RAM和FLASH

    (轉)深入分析STM32單片機RAM和FLASH
    發表于 12-02 11:51 ?11次下載
    (轉)<b class='flag-5'>深入</b>分析STM32<b class='flag-5'>單片機</b>的<b class='flag-5'>RAM</b>和FLASH

    單片機RAM vs ROM

    單片機RAM vs ROM
    的頭像 發表于 09-28 17:57 ?1267次閱讀

    巧言單片機RAMROM

    巧言單片機RAMROM
    的頭像 發表于 10-17 15:45 ?864次閱讀
    主站蜘蛛池模板: 特级全黄一级毛片免费 | 爱爱的免费视频 | 一级特黄a免费大片 | 日本黄色影片在线观看 | 亚洲 欧美 校园 | 亚洲区在线播放 | 男人操女人在线观看 | 在线免费色视频 | 欧美三四级片 | 免费人成年短视频在线观看免费网站 | 国产在线精彩视频二区 | 黄色一级片在线观看 | 日本黄色片段 | 欧美成人性动漫在线观看 | 午夜精品久久久久久 | 巨骚综合网 | 美女写真mm爽爽爽 | 亚洲免费在线观看视频 | 亚洲视频入口 | 岛国大片在线播放 | 久久一级毛片 | 亚洲成人三级电影 | 激情理论| 奇米影视亚洲四色8888 | 成人在线色视频 | 美女把尿口扒开让男人桶出水 | 国产老师的丝袜在线看 | 色吊丝中文字幕 | 一级毛片真人免费播放视频 | 久久美女性网 | 欧美地区一二三区 | 亚洲一区在线视频 | 四虎最新紧急更新地址 | 欧美色图亚洲 | 色欧美在线 | 手机在线电影你懂的 | 一级毛片一片毛 | 久久精品视频国产 | 一区二区三区四区免费视频 | 久久va| 色婷婷综合在线 |