一、原理图
二、AT24C02芯片手册
1芯片名是AT24C02属于以下系列:01芯片容量就是1k,02是2k,04是4k,08A是8k,16A是16k。
1.芯片地址确定
E1、E2、E3就是上面芯片手册的A2、A1、A0位,从原理图上看都是接地,所以地址是:1010 000 1/0。即是:0xA0/0xA1。
2.写一个字节函数的封装
void eepro,_write(u8 add,u8 dat)
{
1. I2CStart(); //START2. I2CSendByte(0xA0); //发送地址的高位和低位
3. I2CWaitAck(); //ACK
4. I2CSendByte(add); //发送写入的地址
5. I2CWaitAck(); //ACK
6. I2CSendByte(dat); //发送写入的数据
7. I2CWaitAck(); //ACK
8. I2CStop(): //STOP
}
3.读函数的封装
unsigned char eerom_read(unsigned char addr)
{
unsigned char data;
I2CStart(); //START
I2CSendByte(0xA0);发送地址的高位和低位
I2CWaitAck(); //ACK
I2CSendByte(addr);//发送读入的地址
I2CWaitAck(); ACK
I2CStart(); //START
I2CSendByte(0xa1); //发送读的命令
I2CWaitAck();//ACK
data =I2CReceiveByte(); //接收读的数据I2CSendNotAck(); //发送非确认信号 NO ACK
I2CStop(); //STOP
return data;
}