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

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

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

單片機(jī)數(shù)據(jù)存儲器的使用

GReq_mcu168 ? 來源:未知 ? 作者:李建兵 ? 2018-03-14 11:16 ? 次閱讀

在實(shí)際的使用中,單片機(jī)運(yùn)行時(shí)為了定位ROM中的數(shù)據(jù),其實(shí)每個(gè)8位存儲單元都有一個(gè)固定的“地址”,通常用16進(jìn)數(shù)表示:例如對于一個(gè)所謂4K的ROM,地址從0000H到0FFFH,(即是從0000,0001…4095),單片機(jī)運(yùn)行時(shí)從哪個(gè)地址取數(shù)據(jù),完全由程序本身決定,并不要我們干預(yù)。記住,給單片機(jī)一通電,它經(jīng)過一個(gè)短暫的復(fù)位過程,立即轉(zhuǎn)向ROM的最低地址0000H,在這里面放置的往往是一條“跳轉(zhuǎn)”指令,它從這里一步跳到另一個(gè)地址:程序的真正起始地址,例如51機(jī)的0080H.難道ROM中就只有指令不能來點(diǎn)別的?ROM是程序存儲器,除了指令外還包括運(yùn)行程序必須的某些固定數(shù)據(jù)。假如,我們要求在單片機(jī)的某口上輸出00H到FFH(255)按正弦半波變化的數(shù)值,每秒10000次,那如果硬要它按照公式一個(gè)個(gè)計(jì)算,對于它來說未免力不從心,可是我們可以把預(yù)先計(jì)算好的數(shù)值存入ROM中,到時(shí)候直接取出。

提到數(shù)據(jù)存儲器,它其實(shí)是個(gè)可以隨時(shí)存取數(shù)據(jù)的一塊存儲器,也就是可以讀(取)也可以寫(存)的存儲器,簡稱RAM.現(xiàn)在的單片機(jī)里面使用的RAM屬于靜態(tài)RAM或SRAM,這個(gè)和電腦用的內(nèi)存條有所不同,只要你把數(shù)據(jù)寫入SRAM后,只要不斷電,或者不清除掉,這個(gè)數(shù)據(jù)就一直保存在那里,電腦是用的動態(tài)RAM,要不斷給它加刷新脈沖才能保存數(shù)據(jù)。因?yàn)閱纹瑱C(jī)處理的信息量比電腦小很多,所以它帶的RAM也比較少:從完全不帶、帶128、256、……1K、2K到4K,比ROM少多了。因?yàn)閷?shí)際上RAM只是作為數(shù)據(jù)臨時(shí)存放的地方,除非進(jìn)行圖像處理需要存放大量的數(shù)據(jù)外,一般對于執(zhí)行較簡單任務(wù)的單片機(jī),有這么多也夠用,如果實(shí)在不夠用也只能采取外加SRAM如6116、6264等等來擴(kuò)展。為了對RAM單元存取8位二進(jìn)數(shù),當(dāng)然也的和ROM一樣用“地址”來標(biāo)示它的具體位置假如某單片機(jī)有1K(1024)RAM,它的地址也是從0000到1024,或16進(jìn)數(shù)的0000H到03FFH可見和ROM的地址是一樣的,不會混淆不清?不會,因?yàn)樽xROM是由單片機(jī)的程序指針或轉(zhuǎn)移指令或查表指令進(jìn)行,而這些指令是不會進(jìn)入RAM區(qū)的,讀寫RAM是另外的數(shù)據(jù)傳送指令,也不會進(jìn)入ROM區(qū),這點(diǎn)也是和電腦不同之處,后者程序和數(shù)據(jù)都在內(nèi)存條里面,地址不同,如果竄位了就會造成不可預(yù)見后果。單片機(jī)的這種存儲器結(jié)構(gòu)也稱為哈佛結(jié)構(gòu)。

在這里本文中要說到的RAM,其在單片機(jī)里的用途主要是存放臨時(shí)數(shù)據(jù),例如用單片機(jī)測溫,每秒測1次,顯示1分鐘的平均值(1分鐘更新一次);我們先通過傳感器,放大電路,A/D轉(zhuǎn)換,把溫度這個(gè)模擬量轉(zhuǎn)變?yōu)槌杀壤亩M(jìn)數(shù),然后每秒鐘1次把數(shù)字量通過輸入口順序存入到單片機(jī)的RAM中,然后對他們進(jìn)行兩兩求和再平均的計(jì)算(題外話:要單片機(jī)進(jìn)行“除法”運(yùn)算比較麻煩,例外的是除以2,4,8……卻非常簡單。運(yùn)用“右移”指令1、2、3次便可)最后的數(shù)值顯示出來,然后把這60個(gè)存儲單元統(tǒng)統(tǒng)寫0清除舊數(shù)據(jù),下次又如此這般地循環(huán)進(jìn)行。另外在單片機(jī)里面還有若干寄存器,數(shù)量不多但是作用很大,除了暫存數(shù)據(jù),還可以交換、加工、傳遞等等,以及隨時(shí)紀(jì)錄單片機(jī)當(dāng)前處于什么狀態(tài),輸入輸出口,也是作為特殊功能的寄存器存在,具體各有不同,就不是隨便說說可以搞清楚的,要看有關(guān)書籍了。

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

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631997
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    562

    瀏覽量

    85623

原文標(biāo)題:單片機(jī)的“靈魂”—數(shù)據(jù)存儲器的使用

文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    解析:單片機(jī)數(shù)據(jù)存儲器經(jīng)驗(yàn)

    單片機(jī)運(yùn)行時(shí)為了定位ROM中的數(shù)據(jù),其實(shí)每個(gè)8位存儲單元都有一個(gè)固定的“地址”,通常用16進(jìn)數(shù)表示:例如對于一個(gè)所謂4K的ROM,地址從0000H到0FFFH,(即是從0000,0001…4095),
    發(fā)表于 06-08 17:06 ?3401次閱讀

    單片機(jī)原理及應(yīng)用: 單片機(jī)數(shù)據(jù)存儲器#單片機(jī)

    單片機(jī)
    學(xué)習(xí)硬聲知識
    發(fā)布于 :2022年11月09日 03:10:37

    單片機(jī)原理與應(yīng)用:單片機(jī)數(shù)據(jù)存儲器視頻#單片機(jī)

    單片機(jī)單片機(jī)原理
    學(xué)習(xí)硬聲知識
    發(fā)布于 :2022年11月09日 15:48:00

    MCS-單片機(jī)數(shù)據(jù)存儲器的組成(1)#單片機(jī)

    單片機(jī)mcs
    未來加油dz
    發(fā)布于 :2023年08月01日 00:45:45

    MCS-單片機(jī)數(shù)據(jù)存儲器的組成(2)#單片機(jī)

    存儲器程序mcs
    未來加油dz
    發(fā)布于 :2023年08月01日 00:46:31

    PIC單片機(jī)數(shù)據(jù)存儲器的特點(diǎn)和功能

    本帖最后由 eehome 于 2013-1-5 10:04 編輯 1統(tǒng)一編址   不同型號的PIC單片機(jī),其數(shù)據(jù)存儲器的內(nèi)部資源僅僅是功能種類和多少的不同。如PIC16C71A型,其引腳為
    發(fā)表于 11-03 14:17

    PIC_系列單片機(jī)數(shù)據(jù)存儲器的特點(diǎn)和功能概要

    PIC_系列單片機(jī)數(shù)據(jù)存儲器的特點(diǎn)和功能概要
    發(fā)表于 01-07 15:53

    單片機(jī)數(shù)據(jù)存儲器擴(kuò)展板設(shè)計(jì)

    MCS~51單片機(jī)數(shù)據(jù)存儲器的擴(kuò)展通常采用數(shù)據(jù)總線和地址總線,即P0 13和P2 13來完成,最大尋址空間可達(dá)64KB.隨著單片機(jī)應(yīng)用領(lǐng)域
    發(fā)表于 07-26 13:01

    51系列單片機(jī)數(shù)據(jù)存儲器有哪些分類

    51 系列單片機(jī)數(shù)據(jù)存儲器分片內(nèi) RAM 和片外 RAM 兩部分。通常片內(nèi)數(shù)據(jù)存儲器有 128B,對應(yīng)的地址范圍是 00H~7FH;增強(qiáng)型
    發(fā)表于 12-02 07:35

    8051及P89V51RD2單片機(jī)數(shù)據(jù)存儲器

    4-1.  51單片機(jī)內(nèi)部RAM結(jié)構(gòu)4-2.  51單片機(jī)數(shù)據(jù)存儲器管理4-3.  增強(qiáng)型51單片機(jī)P89V
    發(fā)表于 03-23 12:09 ?39次下載

    MCS-51單片機(jī)數(shù)據(jù)存儲器的擴(kuò)展

    MCS-51單片機(jī)數(shù)據(jù)存儲器的擴(kuò)展:3 數(shù)據(jù)存儲器的擴(kuò)展MCS-51單片機(jī)內(nèi)部有128或256個(gè)
    發(fā)表于 09-26 08:22 ?124次下載

    單片機(jī)原理_計(jì)算機(jī)學(xué)院

    單片機(jī)數(shù)據(jù)存儲器擴(kuò)展,就是單片機(jī)如何與數(shù)據(jù)存儲器
    發(fā)表于 01-13 15:46 ?0次下載

    PIC_系列單片機(jī)數(shù)據(jù)存儲器的特點(diǎn)和功能概要

    PIC_系列單片機(jī)數(shù)據(jù)存儲器的特點(diǎn)和功能概要
    發(fā)表于 01-04 13:10 ?0次下載

    8051單片機(jī)數(shù)據(jù)存儲器的擴(kuò)展設(shè)計(jì)

    CS為片選信號,當(dāng)該信號為0時(shí),存儲器才能正常讀寫,當(dāng)CS為1時(shí),存儲器的輸出端D0-D7和地址總線A0-A12都為高阻狀態(tài),即相當(dāng)于存儲器芯片沒有接入電路,片選信號常用與電路中有多片同類芯片時(shí)選擇
    發(fā)表于 09-23 15:39 ?4319次閱讀
    8051<b class='flag-5'>單片機(jī)</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>存儲器</b>的擴(kuò)展設(shè)計(jì)

    詳解PIC系列單片機(jī)數(shù)據(jù)存儲器轉(zhuǎn)換寄存的指令

    A/D轉(zhuǎn)換寄存 這里摘錄一段筆者從網(wǎng)上下載的用PIC16F877單片機(jī)芯片(帶Flash存儲器的)完成有關(guān)A/D轉(zhuǎn)換的源程序部分指令,并用它說明有關(guān)A/D轉(zhuǎn)換寄存在指令中的用法。
    的頭像 發(fā)表于 06-25 13:42 ?1036次閱讀