单片机ram分别是什么(单片机ROMRAM都是干啥的)

 2025-09-23  阅读 187  评论 0

摘要:常规上ROM是用来存储固化程序的,RAM是用来存放数据的譬如说,现在家用的电子式电度表,它的内核是一款单片机,该单片机的程序就是存放在ROM里的电度表在工作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来电压和电流时一个适时的数据,用户不关心,它只是用来计算电度用,计算完后该次

常规上ROM是用来存储固化程序的,RAM是用来存放数据的譬如说,现在家用的电子式电度表,它的内核是一款单片机,该单片机的程序就是存放在ROM里的电度表在工作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来电压和电流时一个适时的数据,用户不关心,它只是用来计算电度用,计算完后该次采集的数据就用完了,然后再采集下一次,因此这些值就没必要永久存储,就把它放在RAM里边然而计算完的电度,是需要永久保存的,单片机会定时或者在停电的瞬间将电度数存入到FLASH里,今天小编就来聊一聊关于单片机ram分别是什么?接下来我们就一起去研究一下吧!

单片机ram分别是什么(单片机ROMRAM都是干啥的)

单片机ram分别是什么

常规上ROM是用来存储固化程序的,RAM是用来存放数据的。譬如说,现在家用的电子式电度表,它的内核是一款单片机,该单片机的程序就是存放在ROM里的。电度表在工作过程中,是要运算数据的,要采集电压和电流,并根据电压和电流计算出电度来。电压和电流时一个适时的数据,用户不关心,它只是用来计算电度用,计算完后该次采集的数据就用完了,然后再采集下一次,因此这些值就没必要永久存储,就把它放在RAM里边。然而计算完的电度,是需要永久保存的,单片机会定时或者在停电的瞬间将电度数存入到FLASH里。

--ROM存放指令代码和一些固定数值,程序运行后不可改动;RAM用于程序运行中数据的随机存取,掉电后数据消失..

code就是指将数据定义在ROM区域,具只读属性,例如一些LED显示的表头数据就可以定义成code存储在ROM。

ROM:(Read Only Memory)程序存储器

在单片机中用来存储程序数据及常量数据或变量数据,凡是c文件及h文件中所有代码、全局变量、局部变量、’const’限定符定义的常量数据、startup.asm文件中的代码(类似ARM中的bootloader或者X86中的BIOS,一些低端的单片机是没有这个的)通通都存储在ROM中。

RAM:(Random Access Memory)随机访问存储器

用来存储程序中用到的变量。凡是整个程序中,所用到的需要被改写的量,都存储在RAM中,“被改变的量”包括全局变量、局部变量、堆栈段。

程序经过编译、汇编、链接后,生成hex文件。用专用的烧录软件,通过烧录器将hex文件烧录到ROM中(究竟是怎样将hex文件传输到mcu内部的ROM中的呢?),因此,这个时候的ROM中,包含所有的程序内容:无论是一行一行的程序代码,函数中用到的局部变量,头文件中所声明的全局变量,const声明的只读常量,都被生成了二进制数据,包含在hex文件中,全部烧录到了ROM里面,此时的ROM,包含了程序的所有信息,正是由于这些信息,“指导”了CPU的所有动作。

可能有人会有疑问,既然所有的数据在ROM中,那RAM中的数据从哪里来?什么时候CPU将数据加载到RAM中?会不会是在烧录的时候,已经将需要放在RAM中数据烧录到了RAM中?

要回答这个问题,首先必须明确一条:ROM是只读存储器,CPU只能从里面读数据,而不能往里面写数据,掉电后数据依然保存在存储器中;RAM是随机存储器,CPU既可以从里面读出数据,又可以往里面写入数据,掉电后数据不保存,这是条永恒的真理,始终记挂在心。

版权声明:xxxxxxxxx;

原文链接:http://cn.tdroid.net/ce6c1Cz0HCg0GX10.html

发表评论:

管理员

  • 内容295293
  • 积分0
  • 金币0
关于我们
lecms主程序为免费提供使用,使用者不得将本系统应用于任何形式的非法用途,由此产生的一切法律风险,需由使用者自行承担,与本站和开发者无关。一旦使用lecms,表示您即承认您已阅读、理解并同意受此条款的约束,并遵守所有相应法律和法规。
联系方式
电话:
地址:广东省中山市
Email:
注册登录
注册帐号
登录帐号

Copyright © 2022 太卓开发网 Inc. 保留所有权利。 泰达科技网易库网

页面耗时0.1079秒, 内存占用1.33 MB, 访问数据库18次