EEPROM运用了iic协议,我们在蓝桥杯上写eeprom时,应该注意他给的延时是不是15个_nop_。然后,在他给的iic协议的基础上,我们自己添加两个EEPROM_Write与EEPROM_Read两个读写函数:
void EEPROM_Write(uchar add,uchar dat)
{
IIC_Start();
IIC_SendByte(0xa0);//开始写
IIC_WaitAck();
IIC_SendByte(add);//写入地址
IIC_WaitAck();
IIC_SendByte(dat);//写入数据
IIC_WaitAck();
IIC_Stop();
somenop;
}
uchar EEPROM_Read(uchar add)
{
uchar temp;
IIC_Start();
IIC_SendByte(0xa0);//开始写
IIC_WaitAck();
IIC_SendByte(add);//写入地址
IIC_WaitAck();
IIC_Start();
IIC_SendByte(0xa1);//开始读
IIC_WaitAck();
temp=IIC_RecByte();
IIC_Ack(0);
IIC_Stop();
return temp;
}