/**************************************************
*描述: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);
}
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』