/**************************************************
*描述:eeprom写一个字节数据
*参数:address-地址(十六进制) data-数据
**************************************************/
void eeprom_write(uchar address,uchar data)
{
//等待上一次写操作结束
while(EECR& (1<< EEPE));
//设置编程模式
EECR = (0<< EEPM1) | (0<< EEPM0);
//设置地址和数据寄存器
EEARL = address;
EEDR = data;
//置位EEMPE
EECR |= (1<< EEMPE);
//置位EEPE,启动写操作
EECR |= (1<< EEPE);
}
/**************************************************
*描述:eeprom读一个字节数据
*参数:address-地址(十六进制) data-数据
**************************************************/
uchar eeprom_read(uchar address)
{
//等待上一次写操作结束
while(EECR& (1<< EEPE));
//设置地址寄存器
EEARL = address;
//设置EERE启动读操作
EECR |= (1<< EERE);
return(EEDR);
}