原创 【博客大赛】浅谈EEPROM

2012-11-24 20:11 1294 15 15 分类: MCU/ 嵌入式

EEPROM是可用户更改的只读存储器(ROM),其可通过高于普通电压的作用来擦除和重编程(重写)。不像EPROM芯片,EEPROM不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的时候是可频繁地重编程的,EEPROM的寿命是一个很重要的设计考虑参数。EEPROM的一种特殊形式是闪存,其应用通常是个人电脑中的电压来擦写和重编程。

现在最常用的事串口EEPROM,串行E2PROM是可在线电擦除和电写入的存储器,具有体积小、接口简单、数据保存可靠、可在线改写、功耗低等特点,而且为低电压写入,在单片机系统中应用十分普遍。
串行E2PROM按总线形式分为三种,即I2C总线、Microwire总线及SPI总线三种。一把常用的E2PROM有24C02等,但有些单片机内部自带E2PROM,如AVR的单片机,AVR的单片机里面有硬件I2C,他为了避免和I2C冲突,又称TWI,实际上就是I2C,它里面有一个硬件模块专门产生I2C的时序,我们在使用时,只需要把数据和地址写入便可,所以还是比较方便的。例程如下:

//在指定地址写数据

void EEPROM_write(UINT16 wAddress, UINT8 bData)
{
/* 等待上一次写操作结束 */
  while(EECR & (1<  
/* 设置地址和数据寄存器 */
  EEAR = wAddress;
  EEDR = bData;
/* 置位EEMWE */
  EECR |= (1< /* 置位EEWE 以启动写操作E */
  EECR |= (1< }

UINT8 EEPROM_read(UINT16 wAddress)
{
/* 等待上一次写操作结束 */
  while(EECR & (1<     ;
/* 设置地址寄存器 */
  EEAR = wAddress;
/* 设置EERE 以启动读操作 */
  EECR |= (1< /* 自数据寄存器返回数据 */
  return EEDR;
}

 

文章评论0条评论)

登录后参与讨论
我要评论
0
15
关闭 站长推荐上一条 /2 下一条