蓝桥杯单片机CT107D AT24C02

写入数据到AT24C02需要发送三个字节:
(1)0xa0,器件地址+写命令;
(2)addr,写入AT24C02的地址;
(3)dat, 写入AT24C02地址内的数据
在这里插入图片描述
固定地址部分为 ‘1010’,
可编程地址部分为A2、A1、A0为‘000’;
地址+读= 1010 0001 即‘0xa1’;
地址+写= 1010 0000 即‘0xa0’;
AT24C0具有256B,其地址范围~255;
在这里插入图片描述
主要分两部分
第一部分:写入数据到AT24C02

void WriteByte_AT24C02(uint8 addr,uint8 dat)
{
	IIC_Start(); 
	
	IIC_SendByte(0xA0); 
	IIC_WaitAck(); 
	
	IIC_SendByte(addr); 
	IIC_WaitAck(); 
	
	IIC_SendByte(dat); 
	IIC_WaitAck(); 
	
	IIC_Stop();
	delay_ms(5);
}

第二部分:从AT24C02读出数据


uint8 ReadByte_AT24C02(uint8 addr)
{
	uint8 dat;
	IIC_Start(); 
	
	IIC_SendByte(0xA0); 
	IIC_WaitAck(); 
	
	IIC_SendByte(addr); 
	IIC_WaitAck(); 
 
	IIC_Start(); 
	
	IIC_SendByte(0xA1);
	IIC_WaitAck(); 
	
	dat=IIC_RecByte(); 
	IIC_Ack(0);

	IIC_Stop();
	return dat;
}

猜你喜欢

转载自blog.csdn.net/qq_41676952/article/details/87820952