FLASH程序存储器存程序,单片机上电后会自动从这里读代码开始运行。
SRAM是跑程序时候暂存临时数据的地方,一般不太大,从128字节到几K字节都有,一掉电数据就没了。
EEPROM是掉电也不丢数据的存储器,一般都用来存设置的。你可以一字节一字节的把每字节的8位1任意编写成0。但这片一般是按扇区为单位,一擦除就是全成1。
STC有的片FLASH也能在跑程序的时候由程序控制擦写。
扩展资料:特点:
EEPROM可单字节 *** 作更灵活,FLASH存储量更大些FLASH:只能块擦除(叫块擦除更准确吧,原文是BLOCK),举例说明:比如你用的FLASH的BLOCK是512个字节(不同的FLASH大小不同),那么只有擦除过(所有位写“1”)的BLOCK才能重新写入。
意思就是只能从“1”写到“0”,如果要从“0”改到“1”必须整块擦除,而且擦除时的速度相对写入和读出要慢时的速度相对写入和读出要慢时的速度相对写入和读出要慢很多。FLASH主要用于程序存储。EEPROM可以单字节 *** 作,没有块擦除的要求。相对FLASH更为灵活。
FLASH的全称是FLASH EEPROM,但跟常规EEPROM的 *** 作方法不同。FLASH和EEPROM的最大区别是FLASH按扇区 *** 作,EEPROM则按字节 *** 作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM麻烦的多,所以更“人性化”的MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有FLASH,EEPROM在运行中可以被修改,而FLASH在运行时不能修改,EEPROM可以存储一些修改的参数,Flash中存储程序代码和不需要修改的数据,所谓的Flash是用来形容整个存储单元的内容可以一次性擦除。所以,理论上凡是具备这样特征的存储器都可以称为Flash memory。EEPROM里面也分FF-EEPROM和FLASH EEPROM的,现在大家所讲的Flash memory实际上分为两大类,一类是Floating Gate Debice,一类是Charge Trapping Debice,这里的分类标准主要是program与crase的机制不同。一:FLASH和EEPROM的区别
1:相同点是两者都能掉电存储数据
2:不同点是:
A:FALSH写入时间长,EEPROM写入时间短。
B:FLASH擦写次数少(10000次),EEPROM次数多(1000000次)
二:单片机的数据存储器不能用FLASH,因为:
1:FLASH有一定的擦除,写入次数,一般的单片机的FLASH擦除写入次数的标称值是10000次。
2:FLASH写入数据需要比较长的时间,大约需要4-6ms,而且写FLASH需要加上9V的高压,麻烦。
三:至于EEPROM,可以作为数据存储器,但是单片机如atmegal28,一般用RAM作为数据存储器,因为EEPROM工艺复杂,成本高,适合于存储掉电保护的数据,而这类数据往往不需要太多,所以一般的单片机都没在内部集成EEPROM,需要的时候可以让单片机外挂24C01一类的串行EEPROM。
区别:
1、 FLASH按扇区 *** 作,EEPROM则按字节 *** 作
2、 FLASH写入时间长,EEPROM写入时间短
3、 FLASH擦写次数少(10000次),EEPROM次数多(1000000次)
4、 FLASH的电路结构简单,成本低,EEPROM工艺复杂,成本高
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)