单片机ROM最初不能编辑,出场的程序不可更改,不灵活。后来出现了PROM,可以自己写入程序一次,但是要是错了,只能换一片。随着不断改进,终于出现了多次可擦写的EPROM,每次把擦除的芯片拿到紫外线上照一下即可。历史的车轮不断前进,伟大的EEPROM出现了,拯救了一大批程序员,终于可以随意的修改ROM中的内容了。
单片机IC芯片EEPROM的全称是“电可擦除可编程只读存储器”,即Electrically Erasable Programmable Read-Only Memory。是相对于紫外擦除的rom来讲的。
如今已经存在多种单片机IC芯片EEPROM的变种,变成了一类存储器的统称。
狭义的单片机IC芯片EEPROM:
这种rom的特点是可以随机访问和修改任何一个字节,可以往每个bit中写入0或者1。这是最传统的一种EEPROM,掉电后数据不丢失,可以保存100年,可以擦写100w次。具有较高的可靠性,但是电路复杂/成本也高。因此目前的EEPROM都是几十千字节到几百千字节的,绝少有超过512K的。
单片机IC芯片Flash:
Flash属于广义的EEPROM,因为它也是电擦除的ROM。但是为了区别于一般的按字节为单位的擦写的EEPROM,我们都叫它Flash。
既然两者差不多,为什么单片机中还要既有Flash又有EEPROM呢?
通常,单片机里的Flash都用于存放运行代码,在运行过程中不能改;EEPROM是用来保存用户数据,运行过程中可以改变,比如一个时钟的闹铃时间初始化设定为12:00,后来在运行中改为6:00,这是保存在EEPROM里,不怕掉电,就算重新上电也不需要重新调整到6:00。
最大区别是其实是:单片机IC芯片FLASH按扇区操作,单片机IC芯片EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的集成电路MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有 FLASH,早期可电擦写型集成电路MCU则都是EEPRM结构,现在已基本上停产了。深圳英锐恩推出的EN系列单片机IC芯片产品基本都是带EEPROM和Flash,可免费烧录,提供技术支持。