公司法
当前位置: 首页 法律大全

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

时间:2023-07-21 作者: 小编 阅读量: 1 栏目名: 法律大全

对于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的根本区别。


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

,
    推荐阅读
  • 怎样烧红烧肉(家常红烧肉的做法)

    怎样烧红烧肉原料:精品五花肉、炖肉料包、葱、冰糖、茶叶。五花肉切条放入凉水中撇去血沫。焯水定型;捞出后晾凉切一样大的方块。锅中放少许油倒入白砂糖炒糖色。糖色的气泡由大变小迅速关火,倒入开水。加少许绍酒,加开水烧,熟得快,加入茶叶水,可以去腥味。改回炒锅大火,放冰糖,使汁粘稠即可出锅,香葱段点缀。

  • 2022杭州径山茶圣节时间、地点、活动一览

    最终集齐所有铜币的游客可至“大宋钱庄”兑换神秘礼物。今来茶韵生活01、陆羽说论坛为进一步挖掘径山茶宴有关历史文化,本届茶圣节特邀请茶学专家交流讨论如何更好保护和传承国家非物质文化遗产。为打造文化传播年,第二十一届中国茶圣节以春迎、夏凉、秋韵、冬福四大主题贯穿全年。

  • 《重生之门》给罗队发短信的人身份

    但是通过前文,不难推测应该是庄文杰发给罗队的短信,只是没有暴露自己的身份。罗坚来到青檀假日酒店排查,没有发现任何异常,庄文杰和许正清乔装改扮随后赶来,他们一出现就被人盯上,庄文杰和许正清来到地下停车场,庄文杰巧妙引开那些人,混进游客中进入酒店。这件事情把十二年前的洛神案串联起来了。

  • 爱情名著哪个好看(随侃名著佳作第6期)

    言下之意,他主动向周晓白提出分手。钟跃民成为一个军人,上了战场,并且是在战斗中受伤,被送到战地医疗帐篷内救治。而周晓白和钟跃民在时隔十多年后的相遇一刻,也是被编剧以及导演,安排得相当的特别,并不是那种悲情欲绝又或者是感动无比的相遇时刻。

  • 板栗可以保存多久 板栗怎么能保存时间长

    如果是晒干的板栗可以存放3-4个月,生板栗在常温下合理贮存可以存放1-2个月,煮熟的栗子大概可以放一周,熟板栗放冰箱冷冻能保存30天左右,熟板栗放冰箱冷藏保存可以存放5天。

  • 贾宝玉与红楼梦的关系(贾宝玉的春梦到底在暗示什么)

    贾宝玉与红楼梦的关系?要知道,贾琏这个人极其好色,而且好的就是熟女,那么从这个曲折的描述中,我们可以推断出,秦可卿应该是那种熟女中的极品。这个问题在书中得不到直接的答案,因为在后面的文章中,秦可卿一共只出现三个镜头:介绍弟弟秦钟与贾宝玉相见,秦可卿病后王熙凤带贾宝玉去探病,秦可卿临死前在梦里向王熙凤交代后事。

  • 简单又好看的剪纸适合儿童(孩子能学会的幼儿简单剪纸教程)

    接下来我们就一起去研究一下吧!简单又好看的剪纸适合儿童幼儿园的孩子经常要做各种各样的手工,通过做手工,提高孩子的审美能力,锻炼孩子的动手能力,培养孩子的专注力和耐心,让孩子更聪明。用蓝天白云绿色的草地,太阳、小兔子和小蘑菇,可以贴出一幅画,也可以用这个画面编出一个小故事,带孩子度过愉快的亲子时光。欢迎关注,学习更多幼儿小手工。

  • 摩尔庄园钓鲤鱼的最佳方法(摩尔庄园钓鲤鱼的有什么最佳方法)

    以下内容希望对你有帮助!摩尔庄园钓鲤鱼的最佳方法工具/原料:华为手机、安卓系统、摩尔庄园游戏。进入游戏后操纵游戏角色进行移动了。去商店购买钓鱼的诱饵。来到池塘边进行的钓鱼。等待的水面出现波动即可钓到鲤鱼了。

  • 国外的懒人产品(歪国产品咖在用哪些可爱的小工具)

    quotes=trueUsabilityHub我通常使用UsabilityHub来帮助确定设计方案。

  • 一年四季水果时间表(一年四季的时令水果是什么)

    3月(春季):枇杷、红香蕉、樱桃、杨桃、番荔枝、青枣、甘果蔗、草莓、番石榴、牛奶蕉、柑桔、观赏南瓜、果桑、鹤首瓜。12月(冬季):樱桃、番茄、红香蕉、鸡蛋果、木瓜、草莓、百香果、杨桃、无花果、番石榴、牛奶蕉、鹤首瓜、观赏南瓜、果蔗、台湾青枣、黑提子、人心果、柠檬、菠萝、油梨、柑橘、橙子。