【IIC学习笔记】-- 操作 eeprom (AT24Cxx)

1. AT24C02器件的一些基本特性

  • 24C02是一个2K位串行CMOS 的EEPROM,内部含有256个8位字节
  • 与 400KHz I2C 总线兼容 
  • 写保护功能 当 WE 为高电平时进入写保护状态
  • 页写缓冲器  

2. 接线方式

                                  【IIC学习笔记】-- 操作 eeprom (AT24Cxx)_第1张图片

        其中E2,E1,E0为7位地址的低3位

        WE 位为写保护位

3. 器件的地址格式

                   

     高四位1010是24Cxx系列的固定器件地址,接下来是A2、A1、A0是根据器件连接来决定,

我们的原理图都接地所以是000。R/W为是选择读还是写,1的时候是读,0的时候是写。所以

写的地址为0xA0。

4. 往24c02的一个地址写入一个数据

    写入的过程:

  • 发送器件地址(0XA0)
  • 发送要写入24C02的内存地址
  • 发送要写入的数据
void At24c02Write(unsigned char addr,unsigned char dat)
{
	I2cStart();
	I2cSendByte(0xa0); //发送写器件地址
	I2cSendByte(addr); //发送要写入内存地址
	I2cSendByte(dat); //发送数据
	I2cStop();
}

5. 读取24c02的一个地址的一个数据

读出过程:

  • 发送写入的器件地址(0XA0)
  • 发送要读的24C02的内存地址
  • 发送读出的器件地址(0XA1)
  • 读取数据
unsigned char At24c02Read(unsigned char addr)
{
	unsigned char num;
	I2cStart();
	I2cSendByte(0xa0); //发送写器件地址
	I2cSendByte(addr); //发送要读取的地址
	I2cStart();
	I2cSendByte(0xa1); //发送读器件地址
	num=I2cReadByte(); //读取数据
	I2cStop();
	return num;	
}

 

你可能感兴趣的:(嵌入式片上通信协议)