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

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

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

單片機(jī)的數(shù)據(jù)存儲(chǔ)手段

貿(mào)澤電子設(shè)計(jì)圈 ? 來(lái)源:電路設(shè)計(jì)技能 ? 2020-05-29 15:44 ? 次閱讀

小計(jì)算機(jī)、大計(jì)算機(jī)中少不了數(shù)據(jù)存儲(chǔ)系統(tǒng),單片機(jī)一樣有,而且往往和CPU集成在一起,更加顯得小巧靈活。 直到90年代初,國(guó)內(nèi)容易得到的單片機(jī)就是8031:不帶存儲(chǔ)器的芯片,要想工作,還必須外加RAMROM,單片機(jī)成了3片機(jī)......

現(xiàn)在不同了,大的小的,又是51,又是AVR又是STC,還有430,PIC等,都各說(shuō)各的好,可是誰(shuí)也不敢說(shuō)“我不要存儲(chǔ)器”。

1

單片機(jī)的數(shù)據(jù)存儲(chǔ)手段

程序存儲(chǔ)器里存放著單片機(jī)的靈魂:工作程序。小的可能只有1KB,最多只能裝1024條8位數(shù)據(jù),因?yàn)閷?shí)際指令還有許多2字節(jié),3字節(jié)指令,所以它還裝不下1024條指令;大的有128KB。這些8位數(shù)據(jù),要么在工廠里做模子光刻進(jìn)去,要么一次性的燒寫(xiě)進(jìn)去。

不管是業(yè)余愛(ài)好還是實(shí)際開(kāi)發(fā),最多也就是用編程器這么一個(gè)特殊工具,把調(diào)試成功的機(jī)器碼裝載進(jìn)去,或者像AVR單片機(jī)那樣自己花幾塊錢做一條下載線,把電腦里這些東西灌進(jìn)去(這或許是AVR的吸引人之處)。 它一旦進(jìn)駐電腦的程序存儲(chǔ)器中,除了借助上述裝置便不能自由改寫(xiě),在單片機(jī)運(yùn)行時(shí),只是從其中讀出指令或固定的數(shù)據(jù),所以給程序存儲(chǔ)器一個(gè)“只讀存儲(chǔ)器”的別名,簡(jiǎn)寫(xiě)為ROM,包括用編程器寫(xiě)紫外線擦除內(nèi)容的EPROM、用電擦除的EEPROM和現(xiàn)在新興的FLASH ROM。

一次性寫(xiě)入的ROM,僅用于電路和程序固定的批量產(chǎn)品中,實(shí)際工作起來(lái),都是一樣的。

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

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

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

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

    關(guān)注

    6040

    文章

    44587

    瀏覽量

    636785
  • 編程器
    +關(guān)注

    關(guān)注

    9

    文章

    396

    瀏覽量

    42368

原文標(biāo)題:ROM在單片機(jī)里有什么用?

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    單片機(jī)怎么寫(xiě)入程序

    單片機(jī)(Microcontroller Unit,MCU)是一種集成電路芯片,它將計(jì)算機(jī)的CPU、存儲(chǔ)器、輸入/輸出接口等功能集成在一個(gè)芯片上。單片機(jī)廣泛應(yīng)用于嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備中。編寫(xiě)
    的頭像 發(fā)表于 10-21 11:21 ?811次閱讀

    51單片機(jī)的主要邏輯功能部件是什么

    部件的操作。它包括算術(shù)邏輯單元(ALU),用于執(zhí)行算術(shù)和邏輯運(yùn)算。 2. 存儲(chǔ)器 程序存儲(chǔ)器(ROM):用于存儲(chǔ)程序代碼,通常是不可更改的內(nèi)存,如EPROM或閃存。 數(shù)據(jù)
    的頭像 發(fā)表于 10-18 12:49 ?521次閱讀

    單片機(jī)存儲(chǔ)空間不夠用了,有哪些解決辦法?

    當(dāng)單片機(jī)存儲(chǔ)空間不足時(shí),可以考慮幾種解決方法。一種是優(yōu)化程序代碼,刪除不必要的代碼和變量,提高代碼的效率和緊湊性;可以采用外部存儲(chǔ)器擴(kuò)展,如使用外部的 EEPROM 或 Flash 存儲(chǔ)
    發(fā)表于 10-15 22:33

    8位單片機(jī)為何不會(huì)被高端單片機(jī)取代?

    的控制器選擇。 (1)架構(gòu):8位單片機(jī)通常采用馮諾依曼架構(gòu),其中程序和數(shù)據(jù)存儲(chǔ)器共享一條公共總線。它們還有一個(gè)哈佛架構(gòu),程序和數(shù)據(jù)存儲(chǔ)器是
    發(fā)表于 09-24 16:51

    單片機(jī)燒錄程序的線比單片機(jī)上的少還能燒錄嗎

    存儲(chǔ)器通常分為兩類:ROM(只讀存儲(chǔ)器)和RAM(隨機(jī)存取存儲(chǔ)器)。ROM用于存儲(chǔ)程序代碼,而RAM用于存儲(chǔ)程序運(yùn)行過(guò)程中的
    的頭像 發(fā)表于 09-02 09:54 ?563次閱讀

    單片機(jī)燒錄程序的基本步驟是什么

    單片機(jī)燒錄程序是單片機(jī)開(kāi)發(fā)過(guò)程中非常重要的一步,它涉及到將編寫(xiě)好的程序代碼通過(guò)一定的方式傳輸?shù)?b class='flag-5'>單片機(jī)內(nèi)部的存儲(chǔ)器中,使單片機(jī)能夠按照預(yù)定的邏
    的頭像 發(fā)表于 09-02 09:47 ?1227次閱讀

    藍(lán)牙模塊如何實(shí)現(xiàn)單片機(jī)和手機(jī)端數(shù)據(jù)互傳

    藍(lán)牙模塊實(shí)現(xiàn)單片機(jī)和手機(jī)端數(shù)據(jù)互傳的過(guò)程可以分為以下幾個(gè)步驟: 硬件準(zhǔn)備 : 確保你有一個(gè)支持藍(lán)牙通信的單片機(jī)開(kāi)發(fā)板,如Arduino、Raspberry Pi等。 準(zhǔn)備一個(gè)兼容的藍(lán)牙模塊,如
    的頭像 發(fā)表于 07-24 17:59 ?2754次閱讀
    藍(lán)牙模塊如何實(shí)現(xiàn)<b class='flag-5'>單片機(jī)</b>和手機(jī)端<b class='flag-5'>數(shù)據(jù)</b>互傳

    ?51單片機(jī)串口通信詳細(xì)介紹-小白必看

    51單片機(jī)串口通信是單片機(jī)與外部設(shè)備通信的重要方式,它基于串行通信的原理,以字節(jié)為單位進(jìn)行數(shù)據(jù)傳輸。在51單片機(jī)中,串口通信主要依賴于兩個(gè)關(guān)鍵寄存器:SBUF寄存器和SCON寄存器。S
    的頭像 發(fā)表于 04-17 09:33 ?2078次閱讀
    ?51<b class='flag-5'>單片機(jī)</b>串口通信詳細(xì)介紹-小白必看

    單片機(jī)是什么?單片機(jī)編程如何入門?

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

    關(guān)于stm32單片機(jī)存儲(chǔ)擦除的疑問(wèn)求解

    之前用的stm32f1系列單片機(jī),寫(xiě)數(shù)據(jù)時(shí)是按頁(yè)擦除的,后來(lái)跟換stm32f407后發(fā)現(xiàn)寫(xiě)數(shù)據(jù)的時(shí)候會(huì)占用單片機(jī)很長(zhǎng)時(shí)間,后來(lái)發(fā)現(xiàn)這款單片機(jī)
    發(fā)表于 03-14 06:55

    8-Bit 觸控式 Flash 單片機(jī)中文資料

    而又有效的實(shí)現(xiàn)方法。 觸摸按鍵功能完全集成于單片機(jī)內(nèi),使用較少的外部元件便可實(shí)現(xiàn)觸摸按鍵的 應(yīng)用。該系列單片機(jī)除了 Flash 程序存儲(chǔ)器,還包括 RAM 數(shù)據(jù)
    發(fā)表于 02-28 10:01 ?4次下載

    單片機(jī)的最小系統(tǒng)由什么組成 單片機(jī)的最小系統(tǒng)包括哪些

    Unit,CPU)、存儲(chǔ)器、輸入輸出接口電路等核心功能,常見(jiàn)的單片機(jī)有以8051為代表的8位單片機(jī)、PIC系列單片機(jī)和AVR系列單片機(jī)等。
    的頭像 發(fā)表于 02-02 11:27 ?1.1w次閱讀

    什么是單片機(jī)? 單片機(jī)由哪幾個(gè)主要部分組成?

    單片機(jī)是一種集成電路芯片,具有處理器核心、存儲(chǔ)器、輸入輸出接口等主要部分。它可以用來(lái)控制并執(zhí)行各種任務(wù),廣泛應(yīng)用于電子產(chǎn)品中。 一、單片機(jī)的概述 單片機(jī)是指在一塊集成電路中集成了中央處
    的頭像 發(fā)表于 01-22 10:38 ?9716次閱讀

    單片機(jī)為何需要Flash和EEPROM?它們有何作用?

    不同的特點(diǎn)和用途。 首先,讓我們了解一下Flash存儲(chǔ)器。Flash存儲(chǔ)器是一種非易失性存儲(chǔ)器,可以在斷電后保留數(shù)據(jù)。它以塊為單位進(jìn)行擦除和寫(xiě)入操作,允許多次重寫(xiě)。Flash
    的頭像 發(fā)表于 01-18 11:43 ?3925次閱讀

    單片機(jī)編程實(shí)例介紹

    單片機(jī)(Microcontroller)是指內(nèi)部集成了處理器核心、存儲(chǔ)器、輸入輸出接口和外圍設(shè)備接口等功能模塊的集成電路芯片。它具有體積小、功耗低、性能高等優(yōu)點(diǎn),被廣泛應(yīng)用于嵌入式系統(tǒng)中。單片機(jī)編程
    的頭像 發(fā)表于 01-16 09:37 ?2661次閱讀