单片机内的Flash与EEPROM作用及区别
单片机运行时的数据都存在于 RAM(随机存储器中,在掉电后RAM中的数据是无法保存的,那么怎样使数据在掉电后不丧失呢 ?这就需要使用EEPROM或 FLASHROM等存储器来实现。在STC单片机中内置了 EEPROM(其实是采用IAP技术读写内部FLASH来实现EEPROM,这样就节省了片外资源,使用起来也更加方便。下面就详细介绍STC单片机内置EEPROM及其使用方法。
flash是用来放程序的,可以称之为程序存储器 ,可以擦出写入但是根本都是整个扇区进行的.
一般来说单片机里的flash都用于存放运行代码,在运行过程中不能改;EEPROM是用来保存用户数据,
运行过程中可以改变,比方一个时钟的闹铃时间初始化设定为 12:00,后来在运行中改为 6:00,这是保存在EEPROM里,不怕掉电,就算重新上电也不需要重新调整到 6:00
FLASH和EEPROM的最大区别是FLASH按扇区操作,EEPROM那么按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,本钱自然比EEPROM低,因而适合用作程序存储器,EEPROM那么更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化〞的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有FLASH。
EEPROM:电可擦除可编程只读存储器 ,Flash的操作特性完全符合EEPROM的定义,属EEPROM无疑
Flash的特点是结构简单,同样工艺和同样晶元面积下可以得到更高容量且大数据量下的操作速度更快,但缺点是操作过程麻烦,特别是在小数据量反复重写时,所以在MCU中Flash结构适于不需频繁改写的程序存储器。随着ISP、IAP的流行,特别是在程序存储地址空间和数据存储地址空间重叠的MCU系中,现在越来越多的MCU生产商用支持IAP的程序存储器来模拟EEPROM对应的数据存储器,这是低本钱下实现非易失数据存储器的一种变通方法。