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条评论)
登录后参与讨论