科百科
当前位置: 首页 范文大全

单片机外部ram是什么(单片机的RAM和ROM到底是什么)

时间:2023-07-21 作者: 小编 阅读量: 3 栏目名: 范文大全

对于51单片机而言,其片载的内部存储器分为RAM和存储程序的ROM。所以ROM又被称为程序存储器。对于古董单片机而言,其上电运行时,ROM内的数据只能被读取而不能实时写入,即“只读”。20H代表十六进制的20,等于十进制的32,即:编号32的坑。在单片机运行过程中,一些中间变量就暂存在这些“坑”中。因为硬件是已经设计好的,它是死的,它只能响应芯片公司规定的这些指令。

对于51单片机而言,其片载的内部存储器分为RAM和存储程序的ROM。

我们以AT89c51为例,它作为经典51单片机,片载128字节RAM和4K字节ROM,注意这里古典ROM和现代计算机ROM的差别。

我们把ROM和RAM分开讨论。

1. ROM

什么是4K字节的ROM(只读存储器)呢?

有过基本51单片机开发经历的童鞋应该记得,我们使用C语言编写单片机程序后,会点击开发环境(比如Keil)的编译(compile)按钮进行编译。

此时Keil这个IDE(集成开发环境)就把C语言“译”成相应的二进制机器码。

然后我们通过烧录工具,把二进制机器码“灌输”至单片机。

灌输进单片机的程序去哪了?

没错,就储存在ROM中。所以ROM又被称为程序存储器。

对于古董单片机而言,其上电运行时,ROM内的数据只能被读取而不能实时写入,即“只读”。

因为,最初的单片机限于闪存技术,在程序运行时,ROM存储器只可以被读取,无法在线写入。但是,它可以被反复离线擦除并写入新程序。

所以,只读存储器ROM的Read-only Memory的名称就从这儿来的。

现代单片机的ROM一般采用FLASH闪存技术,不仅可以离线通过烧录器写入,也可以在线通过自身的代码来修改FLASH数据,达到类似“硬盘”的疗效。

比如,单片机算出了1 2 3等于6。

如果我们需要关机重启后单片机依然保留6这个结果,那么我们可以事先在程序中添加一段代码,让单片机把结果存入FLASH的某一存储单元中。

然后,即使断电重新开机,该数据也不会消失,下次再从这个地址读取,数据即是上次算好的结果,6。

我们以典型的ST单片机为例,其FLASH擦写次数高达一万次,而且该技术现在并不是什么高端货,一两块钱的单片机都能做到。

ST某款数据手册

一两块钱的电脑自带硬盘,是不是很划算,很好用!

2. RAM

再说说128字节的RAM,RAM又被称为数据存储器。

单片机上电之后是怎么运行的呢?我们把关键节点简要地勾勒一下。

首先,单片机上电后,复位电路触发单片机复位,使单片机所有状态处于复位状态,所有寄存器处于默认值,使得一切都在预料之中。

然后单片机按照设计时的“安排”,开始加载ROM中相应位置的数据,这些数据就是“程序”。

比如指令MOV 20H, A;

就是将累加寄存器A中的值送入RAM的20H这个“坑”中,20H就是这个“坑”的地址。

20H代表十六进制的20,等于十进制的32,即:编号32的坑。

128字节的RAM就有128个“坑”,分别编号00H到7FH(0到127)每个“坑”可以存一个8位的二进制数,即“坑”的大小是一个字节。

这样一条一条指令执行下去,有的MOV,有的JUMP,单片机就开始“有条不紊地”运行了。

在单片机运行过程中,一些中间变量就暂存在这些“坑”中。

当然,程序也能从这些“坑”中读取已存的数据,所以它又被称为数据存储器,它里面只暂存了“纯粹的数据”,没有程序(虽然程序也是二进制数)。

它的写入读出速度都比FLASH快,但掉电即丢失,相当于计算机的内存。

我们观察MSC-51指令集就知道,只有对RAM区操作得数据移动指令,没有对ROM的操作指令。

现代单片机对片载Flash的擦写,往往是通过对寄存器的操作来实现的。

3. 指令

那我们能否自行发明指令呢?

不行!

开发单片机的公司的工程师在设计单片机芯片时,不仅要设计CPU,还要同时设计内部存储和内部总线等“外设”,这样单片机才能运作,才叫“单片机”,而不仅仅是一个CPU。

每一个指令在这个小系统中到底产生什么效果,是这些工程师已经设计好的。

在没有C语言的年代,你想做具体的数学计算,就得把计算过程分解为一条一条的指令,然后通过指令来实现计算任务。

我们在使用芯片时,不能超过芯片公司规定的指令范围,去随意发明指令。

因为硬件是已经设计好的,它是死的,它只能响应芯片公司规定的这些指令。

这也就是为什么我们在开发时,需要datasheet和数据手册,因为芯片的指令是人做出来的,所以我们在开发时,需要遵守开发者的规定。

这就是传统51中内部ROM和RAM的根本区别。


版权归属珂学原理,转载请获授权。

,
    推荐阅读
  • 814÷4的竖式怎么写 814÷4的竖式怎么写?三年级

    2,个位上的得数是3,余数是2,即814÷4=203……竖式计算是什么竖式计算是指在计算过程中列一道竖式计算,使计算简便。加法计算时相同数位对齐,若和超过10,则向前进1。减法计算时相同数位对齐,若不够减,则向前一位借1当10。

  • 碱性蔬菜和水果有哪些(哪些是碱性食物和水果)

    现在已经进入秋季,明显的气温差已显示出来,同时秋季新陈代谢旺盛,人体容易形成酸性体质,所以,在秋季多吃些碱性食物,来缓解秋燥带来的烦恼。平菇食用前最好焯一下水,不然吃起来会有点涩。

  • 全聚德烤鸭哪家店好吃(全聚德南坊店开业啦)

    -2019PENGUINGUIDE“京师美馔,莫过于鸭,而炙者成佳”/提到北京特色美食总是绕不开烤鸭而在烤鸭品牌越来越多的现在名气最大的当属以挂炉烤鸭誉满京城150多年的全聚德-01--02--03-从民间小食到宫廷御馔再到成为代表中国美食的名片”国宴大菜,全球驰名,一鸭难求“当真是全聚德的最佳写照●○○○葱丝、黄瓜条、哈密瓜、荷叶饼加上裹了甜面酱的油亮烤鸭看起来赏心悦目,入口唇齿留香欲罢不能!Ξ

  • 微信里的@是什么意思 微信里的是什么意思啊

    演示机型:Iphone13&&华为P50&&小米11系统版本:iOS15.2&&HarmonyOS2&&MIUI12.5APP版本:微信v8.0.16在微信群聊模式中@一下的功能,会让对话的对象更加明确。在微信群聊界面里,长按发言群友的头像,就会在输入框里面自动出现@群友的昵称,发送消息后此消息会被特别提醒。

  • 用了妆前乳还需要用隔离吗(用了妆前乳还需不需要用隔离)

    妆前乳和隔离的区别在于前者以修饰肤色为主要任务,而后者则以隔离为主,效果不一样的,所以两个都要用。妆前乳主要用于隔离霜之后。隔离霜能隔离粉尘,彩妆和紫外线对皮肤的伤害,而妆前乳带珠光效果,是会造成皮肤负担的,所以两个一起用的话,要先用隔离霜,再用妆前乳。妆前乳虽然有的带有隔离的功效,比隔离霜更滋润一些,但是不能作为专业的隔离产品,尤其是起不到对紫外线辐射的隔离作用,所以妆前乳是不能代替隔离使用的。

  • 暖风机风机不转这么维修(维修方法分享)

    我们一起去了解并探讨一下这个问题吧!暖风机风机不转这么维修暖风机风机不转维修方法。调整开关在加热设置上的位置;转动温度调节器,听听是否有声音打开或关闭。如果没有咔嗒声,则恒温器不会损坏。当电器冷却下来时,电加热器会自动开启;断开电源,将杆直接插入控制面板上的复位孔,按下复位按钮,连接电路即可维修好。

  • 很可笑很讽刺的句子(犯贱的句子)

    很可笑很讽刺的句子1、男女之间的性吸引,并非只是性别差异,还和外貌、性格有直接关系。是说,要自己做决定。这种猜疑,其实是爱情的一部分。而信任,却是婚姻的基础。因为爱情可以跌宕起伏,婚姻却需要稳定。当爱变成信任,就不会有激情冲动,但这却是一辈子的保证。戴上面具,心还是一样会痛。

  • 如何培养孩子的良好品质(培养孩子良好品质的方法)

    如何培养孩子的良好品质诚信:人必须诚实守信,只有诚信的人才能获得别人的接受和认可。对别人讲礼貌,别人一定也会以礼相待。

  • 形容时间过得快的句子(值得你收藏的句子)

    形容时间过得快的句子?下面希望有你要的答案,我们一起来看看吧!形容时间过得快的句子一年,一岁,渐渐接近,偷偷远离,我整理凌乱的思绪,向新的一年迈去,又是一年芳草绿,捉不住时光豪不留情的越出手指的缝隙。盛年不重来,一日难再晨。及时当勉励,岁月不待人。不要为已消逝之年华叹息,须正视欲匆匆溜走的时光。回首往事,日子中竟全是斑斓的光影,记忆的屏障中,以前心动的声音已渐渐远去。

  • 金雕ed望远镜测评(带你领略远方的世界)

    如果是使用传统光学望远镜进行观测,或许也能达到同样的效果,但是传统光学望远镜的价格就着实有点高了。TIPSCOPE数码望远镜之所以能够实现如此良好的观测,离不开强大的硬件支撑。所谓的数码望远镜,就是在传统光学望远镜的基础之上加装一套数码设备,既能进行二次数码变焦,也能直接进行拍摄、存储、传输,使用起来更加方便。个人认为,这款云台极大的提高了整台数码望远镜的可玩性,功能设计方面还是亮点颇多的。