51蓝桥AT24C02

本文详细介绍了AT24C02模块在蓝桥开发板上的应用,包括写入和读取字节的IIC时序,特别强调了写周期长达5ms以及写保护功能。此外,还提到了PCF8591和DS1302等其他相关器件。
摘要由CSDN通过智能技术生成

如果考到AT24C02模块就是送分题,芯片手册给出了写和读的时序,PCF8591的AD和DA时序同AT24C02,AT24C02在写的时候需注意,写周期为5ms

@annotation :蓝桥开发板上AT24C02的原理图

b1cbd0446c724455b6ed230256647d0a.png


@annotation : AT24C02——256byte——2048bits

2d76e34281ea465aa1825bf5efd0c6f5.png


@annotation : Random Read ——随机读IIC时序

dbfd16fac996410ca8e563e024f86c34.png


@annotation : Byte Write ——字节写IIC时序

9ae58fb6bf1f48878e66a46dddb2b0dd.png


@pay attention : 翻阅手册可以发现它的一个写周期长达5ms!!!

0c1db0bf21a940c1bb1df3e5fc05cab6.png


@pay attention : 它是有写保护的,本开发板上的写保护接地即关闭了写保护,诸如有写保护的常用器件还有DS1302

4ab3bf060ada4bf19925dae8eae4c296.png


//===============================================
#include "MAIN.H"
#define AT24C02_Address 0XA0        
//===============================================
//@role  :   写入一字节
//@detail  :  Address can be 0-255
void AT2C02_WriteByte(uchar Address,Data )
{	
	IIC_Start();                                    //开始
	IIC_SendByte(AT24C02_Address);//发送设备地址 ——写
	if(!IIC_WaitAck()){IIC_Stop();}        //如果没有寻址成功,停止
	IIC_SendByte(Address);                 //发送写入的地址
	IIC_WaitAck();                               //等待应答
	IIC_SendByte(Data);                       //发送写入的数据
	IIC_WaitAck();                                //等待应答
	IIC_Stop();                                      //停止
}
//===============================================
//@role  :  读出一字节数据
//@detail  :  address  can be 0-255;
uchar AT24C02_ReadByte(uchar Address)
{
	unsigned char Data;
	IIC_Start();                                          //开始
	IIC_SendByte(AT24C02_Address);     
	if(!IIC_WaitAck()){IIC_Stop();}
	IIC_SendByte(Address);
	IIC_WaitAck();
	IIC_Start();
	IIC_SendByte(AT24C02_Address|0X01);  //发送设备地址——读
	IIC_WaitAck();
	Data=IIC_RecByte();
	IIC_Ack(1);
	IIC_Stop();
	return Data;
}
//===============================================

  • 14
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值