stc某些单片机里既有eeprom也有flash,各有什么用处??
如题,网上有很多的帖子区分eeprom和flash,但是我还是不大明白,在单片机里面为什么这两种ROM介质同时存在,并且还存在这么多容量上的差距(我用的这个片子flash...
如题,
网上有很多的帖子区分eeprom和flash,但是我还是不大明白,在单片机里面为什么这两种ROM介质同时存在,并且还存在这么多容量上的差距(我用的这个片子flash有60K,eeprom才2K),这两者之间从读写条件\作用\或者其他方面究竟有什么不同,请高手详细解答下,不胜感激
乱粘贴一大段文字的勿扰~!!! 展开
网上有很多的帖子区分eeprom和flash,但是我还是不大明白,在单片机里面为什么这两种ROM介质同时存在,并且还存在这么多容量上的差距(我用的这个片子flash有60K,eeprom才2K),这两者之间从读写条件\作用\或者其他方面究竟有什么不同,请高手详细解答下,不胜感激
乱粘贴一大段文字的勿扰~!!! 展开
4个回答
展开全部
一般来说任何单片机如果同时有FLASH和EEPROM的话,用法是差不多的。现在我来说明一下这两种非易失性储存器各有什么用处。
1. Flash一般是用来储存程序的。就是你用汇编语言或者C语言开发的源程序,经过编译软件编译以后,成为一串“0”和“1”的组合。一般是十六进制的.HEX文件。然后通过编程器或者下载线烧录到单片机里。这个一般就是放在单片机的Flash中的。掉电以后flash里面的内容不会消失,一般重新上电以后,程序从00h开始运行。(就是从头开始运行)
2. EEPROM一般是用来储存某些表格,常数数据的。它的读写一般是通过FLASH中的某些指令进行的。如果程序中没有相应的指令给它,EEPROM中的数据是不会被改变的。即使掉电以后数据也不会消失。你也许会奇怪为什么会有EEPROM,直接存在FLASH中不就是了吗?为什么要存在EEPROM中呢?举个例子说明吧。比如你有一个表格要存入单片机中。如果你存在flash中那么每次上电时程序从头开始运行,也就是你的表格中的数据,每次都是一样的了。不能被更改。只能被读出。而如果你存在EEPROM中就不一样了。数据既不会丢失。而且只有当你有相应的指令运行过去EEPROM中的数据才会被修改。否则是不会修改的。当你有相应的指令运行过去,里面的数据也会别读出。
那么为什么flash空间远远大于EEPROM空间呢?我个人认为理由很简单。EEPROM的价格也比FLASH贵的多了。其实你的这个片子EEPROM有2K之多。所以可以储存2K个字节的常数或者表格之类的东西。因为你是8位单片机。每个字节又能储存8位二进制数据。相当于你有2K个盒子,每个盒子能放8位二进制数据。这个EEPROM已经算是比较大的了。顺便说一句你的这个片子FLASH有60K也算是比较大的了。
1. Flash一般是用来储存程序的。就是你用汇编语言或者C语言开发的源程序,经过编译软件编译以后,成为一串“0”和“1”的组合。一般是十六进制的.HEX文件。然后通过编程器或者下载线烧录到单片机里。这个一般就是放在单片机的Flash中的。掉电以后flash里面的内容不会消失,一般重新上电以后,程序从00h开始运行。(就是从头开始运行)
2. EEPROM一般是用来储存某些表格,常数数据的。它的读写一般是通过FLASH中的某些指令进行的。如果程序中没有相应的指令给它,EEPROM中的数据是不会被改变的。即使掉电以后数据也不会消失。你也许会奇怪为什么会有EEPROM,直接存在FLASH中不就是了吗?为什么要存在EEPROM中呢?举个例子说明吧。比如你有一个表格要存入单片机中。如果你存在flash中那么每次上电时程序从头开始运行,也就是你的表格中的数据,每次都是一样的了。不能被更改。只能被读出。而如果你存在EEPROM中就不一样了。数据既不会丢失。而且只有当你有相应的指令运行过去EEPROM中的数据才会被修改。否则是不会修改的。当你有相应的指令运行过去,里面的数据也会别读出。
那么为什么flash空间远远大于EEPROM空间呢?我个人认为理由很简单。EEPROM的价格也比FLASH贵的多了。其实你的这个片子EEPROM有2K之多。所以可以储存2K个字节的常数或者表格之类的东西。因为你是8位单片机。每个字节又能储存8位二进制数据。相当于你有2K个盒子,每个盒子能放8位二进制数据。这个EEPROM已经算是比较大的了。顺便说一句你的这个片子FLASH有60K也算是比较大的了。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32是一种由意法半导体(STMicroelectronics)公司设计和生产的单片机系列,广泛用于嵌入式系统、物联网(IoT)设备、汽车电子、工业自动化等领域。STM32具有以下优点:1. 低功耗:STM32单片机通常具有较低的功耗,...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
展开全部
怎么都在说STC的?STC的课一点都不好用,而且毫无代表性啊!STC只不过是将部分程序存储器的Flash ROM当做EEPROM使用,那稳定性就无法保证了,而且操作过程复杂,很不适合使用。
LZ可以研究一下AVR单片机或者PIC单片机中的EEPROM使用。
Flash能5V读写或者3V读写,但是其成本低,工艺简单,所以能在单片机中能有64K、128K或者更高容量,这就是为设计大型程序、减少存储器扩展的成本所需要的。而EEPROM是充当了RAM使用,能够被程序读写操作。当然,EEPROM的结构复杂,在单片机中也没必要使用那么大的容量(只是保存若干个参数),如果真的需要很大容量的EEPROM,那可以外部扩这28系列的或者24系列的芯片来实现。
单片机自身也可以对Flash进行写操作,但那时单片机处于自编程状态,像STC的引导代码、AVR单片机的Bootloader就是这样。而Winbond的W78E516单片机有两块FlashROM,一块为64K,主程序使用;另外一块为4K,为引导代码使用。
LZ可以研究一下AVR单片机或者PIC单片机中的EEPROM使用。
Flash能5V读写或者3V读写,但是其成本低,工艺简单,所以能在单片机中能有64K、128K或者更高容量,这就是为设计大型程序、减少存储器扩展的成本所需要的。而EEPROM是充当了RAM使用,能够被程序读写操作。当然,EEPROM的结构复杂,在单片机中也没必要使用那么大的容量(只是保存若干个参数),如果真的需要很大容量的EEPROM,那可以外部扩这28系列的或者24系列的芯片来实现。
单片机自身也可以对Flash进行写操作,但那时单片机处于自编程状态,像STC的引导代码、AVR单片机的Bootloader就是这样。而Winbond的W78E516单片机有两块FlashROM,一块为64K,主程序使用;另外一块为4K,为引导代码使用。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实flash也就是eeprom,只不过前者在STC单片机里是用来装程序的;后者是给用户可以使用用来存放备份自己的一些数据的。
本人曾为STC上海办事处工程师
本人曾为STC上海办事处工程师
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
STC的单片机一般都分为eerpom和flash两种内存储器,我用的是老款的89系列的,就是EEPROM可读写,FLASH只读的类型。
STC单片机的程序代码是写在FALSH中的,并且STC规定对FLASH的程序区写操作只能通过STC自己的编程器来完成(后续系列IAP/或者FLASH和EEPROM统一编址的型号FLASH是可以自己改写的,这里可以改写自己程序代码的STC单片机型号等于是不区分FALSH和EEPROM,只有一块存储区,并且这款存储区是可读写的)。
读写条件:
89系列的STC单片机FALSH的读写条件是首先检测是否满足STC自己规定的ISP串口下载数据流,满足便进行读写操作,不满足的话就直接跑FALSH中原有程序代码(即程序代码更新失败)。
而STC的EEPROM是只要通过设定寄存器(看STC的数据手册定义)便可以进行读写操作的带记忆性存储器。
作用:
老款的STC单片机FLASH就是代码区,EEPROM可以做重要数据备份区。
新款的STC单片机(IAP系列/或者FALSH和EEPROM统一编址的),FLASH就是EEPROM,可以通过寄存器的设定来读写(即可以完成用户自己的ISP程序,实现用户应用程序代码升级跟新)。
可以参看我自己写的一篇博客
http://hi.baidu.com/%B0%A2%DF%BF%B8%C1%B5%BBhoney/blog/item/1c13b1fb98b2d715a8d31108.html
STC单片机的程序代码是写在FALSH中的,并且STC规定对FLASH的程序区写操作只能通过STC自己的编程器来完成(后续系列IAP/或者FLASH和EEPROM统一编址的型号FLASH是可以自己改写的,这里可以改写自己程序代码的STC单片机型号等于是不区分FALSH和EEPROM,只有一块存储区,并且这款存储区是可读写的)。
读写条件:
89系列的STC单片机FALSH的读写条件是首先检测是否满足STC自己规定的ISP串口下载数据流,满足便进行读写操作,不满足的话就直接跑FALSH中原有程序代码(即程序代码更新失败)。
而STC的EEPROM是只要通过设定寄存器(看STC的数据手册定义)便可以进行读写操作的带记忆性存储器。
作用:
老款的STC单片机FLASH就是代码区,EEPROM可以做重要数据备份区。
新款的STC单片机(IAP系列/或者FALSH和EEPROM统一编址的),FLASH就是EEPROM,可以通过寄存器的设定来读写(即可以完成用户自己的ISP程序,实现用户应用程序代码升级跟新)。
可以参看我自己写的一篇博客
http://hi.baidu.com/%B0%A2%DF%BF%B8%C1%B5%BBhoney/blog/item/1c13b1fb98b2d715a8d31108.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询