一、简介
1、AT24C02是一个存储容量为2K bit 的E2PROM
2、SDA(串行数据线)和SCL(串行时钟线)
SCL:上升沿向设备写入数据,下降沿设备向主机发送数据
SDA:双向传输,SCL为高时,若SDA数据改变,则视为起始信号或停止信号(如下图)
在总线空闲状态时,这两根线一般被上面所接的上拉电阻拉高,保持着高电平。
二、应用
在iic.c文件中手写“读函数”和“写函数”
void IIC_Write_EEPROM(unsigned char addr,unsigned char dat) { unsigned char i=0; IIC_Start(); IIC_SendByte(0xA0); //发送“写”信号,让EEPROM准备 IIC_WaitAck(); IIC_SendByte(addr); //2K 256byte 地址范围是0-2^8 即0x00-0xff IIC_WaitAck(); IIC_SendByte(dat); IIC_WaitAck(); IIC_Stop(); } unsigned char IIC_Read_EEPROM(unsigned char addr) { unsigned char dat; IIC_Start(); IIC_SendByte(0xA0); //写数据 IIC_WaitAck(); IIC_SendByte(addr); IIC_WaitAck(); IIC_Start(); IIC_SendByte(0xA1); //发送“读”信号 IIC_WaitAck(); dat = IIC_RecByte(); //IIC_SendAck(0); //MCU给器件发送是否应答,0应答 1非应答 可省略不写 IIC_Stop(); return dat; }
NOTES:
- 1、前四位是厂家规定的,不可更改
- 2、A2 A1 A0是可以自己定义的器件地址,蓝桥杯开发板中全部接地即代表全部为0
- 3、R/W是读/写位