0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

RAM在單片機中用途是什么?

貿(mào)澤電子設(shè)計圈 ? 來源:YXQ ? 2019-08-07 14:10 ? 次閱讀

單片機就是個小計算機,大計算機少不了的數(shù)據(jù)存儲系統(tǒng),單片機一樣有,而且往往和CPU集成在一起,更加顯得小巧靈活。直到90年代初,國內(nèi)容易得到的單片機就是8031:不帶存儲器的芯片,要想工作,還必需外加RAMROM,單片機成了3片機......現(xiàn)在不同了,大的小的又是51,又是AVR又是STC,還有什么430,PIC等等,都各說各的好,可是誰也不敢說“我不要存儲器”。

單片機內(nèi),有這么幾種數(shù)據(jù)存儲手段:

1、程序存儲器:里面存放的是單片機的靈魂:工作程序。小的可能只有1KB(最多只能裝1024條8位數(shù)據(jù),因為實際指令還有許多2字節(jié),3字節(jié)指令,所以它還裝不下1024條指令),大的也有128KB的。這些8位數(shù)據(jù)要么在工廠里做摸子光刻進去,要么一次性的燒寫進去。業(yè)余或開發(fā)最多也就是用編程器這么一個特殊工具,把調(diào)試成功的機器碼裝載進去,或者像AVR單片機那樣自己花幾塊錢做一條下載線,把電腦里這些東西灌進去(或許是AVR最吸引人之處)。它一旦進駐電腦的程序存儲器中,除了借助上述裝置便不能自由改寫,在單片機運行時,只是從其中讀出指令或固定的數(shù)據(jù),所以給程序存儲器一個“只讀存儲器”的別名,簡寫為ROM,包括用編程器寫紫外線擦除內(nèi)容的EPROM,用電擦除的EEPROM和現(xiàn)在新興的FLASH ROM。一次性寫入的ROM僅用于電路和程序固定的批量產(chǎn)品中,實際工作起來,都是一樣的。

為了定位ROM中的數(shù)據(jù),每個8位(bit:二進制位)存儲單元都有一個固定的“地址”,通常用16進制數(shù)表示:例如對于一個所謂4K的ROM,地址從0000H到0FFFH(即是從0000,0001...4095),單片機運行時從哪個地址取數(shù)據(jù),完全由程序本身決定,并不要我們干預(yù)。記住,給單片機一通電,它經(jīng)過一個短暫的復(fù)位過程,立即轉(zhuǎn)向ROM的最低地址0000H,在這里面放置的往往是一條“跳轉(zhuǎn)”指令,它從這里一步跳到另一個地址:程序的真正起始地址,例如51機的0080H。

ROM是程序存儲器,除了指令外,還包括運行程序必須的某些固定數(shù)據(jù),例如:數(shù)據(jù)表。假如,我們要求在單片機的某口上輸出00H到FFH(255)按正弦半波變化的數(shù)值,每秒10000次,那如果硬要它按照公式一個個計算,對于它來說未免力不從心,可是我們可以把預(yù)先計算好的數(shù)值存入ROM中,到時候直接取出不是好多了?又如一個重要的應(yīng)用:大家一定見過不少單片機的東西上面都有數(shù)碼顯示,那些個數(shù)字其實就是用單片機的口線控制數(shù)碼管的字段電極電位,這些字形也是存放在ROM中的字模表,各個字模和0-9的數(shù)字(機器內(nèi)當然是0000-0101二進制數(shù))對應(yīng)起來,例如常見的共陽極7段數(shù)碼管,必須在陽極加正電,7個陰極都是地電位,才能顯示數(shù)字"8",數(shù)字8對應(yīng)的顯示字碼值是二進制數(shù)“10000000“(那個1對應(yīng)的是小數(shù)點,高電位不讓它顯示)。

2、數(shù)據(jù)存儲器:這是個可以隨時存取數(shù)據(jù)的一塊存儲器,也就是可以讀(?。┮部梢詫懀ù妫┑拇鎯ζ?,簡稱RAM。現(xiàn)在的單片機里面使用的RAM屬于靜態(tài)RAM或SRAM,這個和電腦用的內(nèi)存條有所不同,只要你把數(shù)據(jù)寫入SRAM后,只要不斷電,或者不清除掉,這個數(shù)據(jù)就一直保存在那里。電腦是用的動態(tài)RAM,要不斷給它加刷新脈沖才能保存數(shù)據(jù)。因為單片機處理的信息量比電腦小很多,所以它帶的RAM也比較少:從完全不帶、帶128、256、...1K、2K,到4K,比ROM少多了。因為實際上RAM只是作為數(shù)據(jù)臨時存放的地方,除非進行圖像處理需要存放大量的數(shù)據(jù)外,一般對于執(zhí)行較簡單任務(wù)的單片機,有這么多也夠用,如果實在不夠用也只能采取外加SRAM如6116,6264等等來擴展。

為了對RAM單元存取8位二進制數(shù),當然也得和ROM一樣用“地址”來標示它的具體位置。假如某單片機有1K(1024)RAM,它的地址也是從0000到1024,或16進制數(shù)的0000H到03FFH,可見和ROM的地址是一樣的,不會混淆不清?不會,因為讀ROM是由單片機的程序指針或轉(zhuǎn)移指令或查表指令進行,而這些指令是不會進入RAM區(qū)的,讀寫RAM是另外的數(shù)據(jù)傳送指令,也不會進入ROM區(qū),這點也是和電腦不同之處,后者程序和數(shù)據(jù)都在內(nèi)存條里面,地址不同,如果竄位了就會造成不可預(yù)見后果。單片機的這種存儲器結(jié)構(gòu)也稱為哈佛結(jié)構(gòu)。

RAM在單片機里的用途,主要是存放臨時數(shù)據(jù),例如用單片機測溫,每秒測1次,顯示1分鐘的平均值(1分鐘更新一次);我們先通過傳感器、放大電路、A/D轉(zhuǎn)換,把溫度這個模擬量轉(zhuǎn)變?yōu)槌杀壤亩M制數(shù),然后每秒鐘1次把數(shù)字量通過輸入口順序存入到單片機的RAM中,然后對他們進行兩兩求和再平均的計算,最后的數(shù)值顯示出來,然后把這60個存儲單元統(tǒng)統(tǒng)寫0清除舊數(shù)據(jù),下次又是如此循環(huán)進行。

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

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

    關(guān)注

    6030

    文章

    44498

    瀏覽量

    632155
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1364

    瀏覽量

    114473

原文標題:RAM在單片機里有什么樣的作用

文章出處:【微信號:Mouser-Community,微信公眾號:貿(mào)澤電子設(shè)計圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    單片機工業(yè)自動化中的應(yīng)用

    隨著科技的不斷進步,單片機技術(shù)工業(yè)自動化領(lǐng)域扮演著越來越重要的角色。 1. 引言 單片機是一種集成了處理器核心、存儲器、輸入/輸出接口等組件的微型計算機。它們通常用于控制嵌入式系統(tǒng),如家
    的頭像 發(fā)表于 11-01 14:15 ?170次閱讀

    單片機的中斷機制

    單片機的中斷機制是一種重要的處理方式,它允許單片機執(zhí)行主程序的過程中,能夠暫停當前任務(wù),轉(zhuǎn)而處理外部或內(nèi)部緊急事件。這種機制極大地提高了系統(tǒng)的響應(yīng)速度和處理能力,使得單片機
    的頭像 發(fā)表于 10-17 18:03 ?299次閱讀

    單片機燒錄程序的線比單片機上的少還能燒錄嗎

    的存儲器通常分為兩類:ROM(只讀存儲器)和RAM(隨機存取存儲器)。ROM用于存儲程序代碼,而RAM用于存儲程序運行過程中的數(shù)據(jù)。燒錄過程就是將程序代碼寫入ROM中。 單片機燒錄方法 單片機
    的頭像 發(fā)表于 09-02 09:54 ?374次閱讀

    請問stm8s單片機中的發(fā)送中斷標志位用什么來表示?

    各位大神,51單片機中的RIstm8s單片機中用UART2_SR_RXNE來表示,那么51單片機中的TI
    發(fā)表于 05-15 07:31

    電器設(shè)備為何普遍采用單片機?

    單芯片單片機是指:將CPU,ROM,RAM,振蕩電路,定時器和串行I/F等集成于一個LSI的微處理器。單芯片單片機的基礎(chǔ)上再配置一些系統(tǒng)的主要外圍電路,而形成的大規(guī)模集成電路稱為系統(tǒng)LSI。
    發(fā)表于 04-28 15:11 ?400次閱讀
    電器設(shè)備為何普遍采用<b class='flag-5'>單片機</b>?

    單片機是什么?單片機編程如何入門?

    單片機其實是一種很早的叫法了,最開始我們的前輩叫單板機或者叫單片機,因為那個時候單片機的處理能力還沒有很強,現(xiàn)在我們所用的基本都是微型處理單元,也叫為控制器也稱之為MCU
    的頭像 發(fā)表于 03-28 08:03 ?1696次閱讀
    <b class='flag-5'>單片機</b>是什么?<b class='flag-5'>單片機</b>編程如何入門?

    fpga和單片機的區(qū)別

    FPGA和單片機多個方面存在顯著的差異:
    的頭像 發(fā)表于 03-14 16:30 ?4639次閱讀

    什么是單片機及其特性與應(yīng)用領(lǐng)域

    單片機除具有計算機基本邏輯與數(shù)據(jù)處理功能之外,還自帶RAM、ROM、I/O口以及定時器等外設(shè),并由芯片制造商提供完備的軟件和硬件開發(fā)工具及文檔支持,極大地方便了工程師們的開發(fā)工作。此外,單片機
    發(fā)表于 02-15 15:04 ?515次閱讀

    單片機RAM不夠用怎么解決?

    來自一位用戶的咨詢,麻煩幫忙解答。越詳細越好,有圖有真相。如有相關(guān)的視頻、文檔也可以輔助說明,謝謝。 單片機RAM不夠用怎么辦? 單片機都有RAM,如果我們一下子定義了一大堆的變量,使
    發(fā)表于 02-02 07:35

    什么是單片機? 單片機由哪幾個主要部分組成?

    )、存儲器(ROM、RAM)、輸入輸出(I/O)接口等功能的微型計算機系統(tǒng)。相比于傳統(tǒng)的多芯片電路設(shè)計,單片機具有體積小、成本低、功耗低等優(yōu)勢,因而在許多領(lǐng)域被廣泛使用。 二、單片機的主要組成部分 中央處理器(CPU) 中央處理
    的頭像 發(fā)表于 01-22 10:38 ?8605次閱讀

    單片機原理及應(yīng)用有哪些

    單片機(Microcontroller)是一種集成電路芯片,具備中央處理器(CPU)、存儲器(RAM和ROM)、輸入/輸出(I/O)接口及定時/計數(shù)器等功能模塊。它是嵌入式系統(tǒng)的核心組成部分,被
    的頭像 發(fā)表于 01-15 16:25 ?1866次閱讀

    開關(guān)電源中用哪種AD芯片將電壓和電流傳輸給單片機比較好???

    開關(guān)電源中用哪種AD芯片將電壓和電流傳輸給單片機比較好???一直找不到啊
    發(fā)表于 01-09 07:54

    單片機boot腳干嘛的

    單片機boot腳是單片機的引導(dǎo)腳,用于控制單片機的啟動和引導(dǎo)過程。單片機系統(tǒng)中,boot腳的作用十分重要,它影響著整個
    的頭像 發(fā)表于 12-19 09:47 ?9194次閱讀

    基于51單片機的正弦信號發(fā)生器的設(shè)計

    正弦信號是電子電路設(shè)計中非常重要的信號之一。很多電子設(shè)備和系統(tǒng)中,需要正弦信號作為輸入源。基于51單片機的正弦信號發(fā)生器設(shè)計是一種較為簡單且常見的方法。本文將詳細介紹如何設(shè)計一個基于51單片機
    的頭像 發(fā)表于 12-07 16:20 ?1621次閱讀

    單片機如何檢測電流?

    單片機如何檢測電流? 隨著科技的發(fā)展,單片機技術(shù)電子設(shè)備中得到了廣泛應(yīng)用。其中,電流檢測是單片機的一個重要功能之一。本文將詳細介紹單片機
    的頭像 發(fā)表于 12-07 15:37 ?3593次閱讀