0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >基础知识 > at24c512应用电路图

at24c512应用电路图

来源:
2025-05-19
类别:基础知识
eye 9
文章创建人 拍明芯城

AT24C512应用电路图详解

一、AT24C512芯片概述

AT24C512是一款由Atmel公司(现被Microchip收购)生产的64KB(512Kbit)串行电可擦除可编程只读存储器(EEPROM),采用I²C(Inter-Integrated Circuit)总线接口进行通信。该芯片具有非易失性存储特性,掉电后数据不会丢失,广泛应用于需要数据存储的嵌入式系统中,如智能仪表、工业控制、消费电子等领域。

image.png

AT24C512的主要特点包括:

  • 存储容量:64KB(512Kbit),分为512页,每页128字节。

  • 工作电压:1.8V至5.5V,支持低功耗应用。

  • I²C接口:支持标准模式(100kHz)、快速模式(400kHz)和高速模式(1MHz)。

  • 写保护功能:通过WP引脚实现硬件写保护。

  • 页写模式:支持128字节的页写操作,提高写入效率。

  • 高可靠性:数据保存时间长达100年,写入周期高达100万次。

二、AT24C512引脚功能说明

AT24C512采用8引脚SOIC或DIP封装,各引脚功能如下:

引脚号名称类型功能描述
1A0I器件地址选择位0,用于多设备连接时区分不同设备。
2A1I器件地址选择位1,用于多设备连接时区分不同设备。
3A2I器件地址选择位2(部分型号无此引脚,接地处理)。
4VSSP接地端。
5SDAI/O串行数据线,双向数据传输。
6SCLI串行时钟线,由主设备提供时钟信号。
7WPI写保护引脚,接高电平时禁止写入操作,接地时允许写入。
8VCCP电源正极,工作电压范围1.8V至5.5V。


三、AT24C512应用电路设计

1. 基本连接电路

AT24C512与单片机的连接相对简单,主要通过I²C总线(SCL和SDA)与主设备通信。以下是一个典型的应用电路图:

电路图说明

  • 电源部分:VCC接3.3V或5V电源,VSS接地。建议在电源引脚附近添加0.1μF的去耦电容,以减少电源噪声。

  • I²C总线

    • SCL(串行时钟线)接单片机的I²C时钟引脚(如P1.0)。

    • SDA(串行数据线)接单片机的I²C数据引脚(如P1.1)。

    • SCL和SDA需通过上拉电阻(通常为4.7kΩ)接至VCC,以确保总线在空闲时为高电平。

  • 写保护:WP引脚接地,允许写入操作。若需禁止写入,可将WP接至VCC。

  • 器件地址选择:A0、A1、A2引脚接地,此时器件地址为0xA0(写)或0xA1(读)。若需连接多个AT24C512,可通过A0、A1、A2的不同组合设置不同地址。

电路图示例


+-------------------+       +-------------------+       +-------------------+

|                   |       |                   |       |                   |

|    AT24C512       |       |    MCU (如51)     |       |                   |

|                   |       |                   |       |                   |

|       +-----+      |       |       +-----+      |       |                   |

|  A0 ---|     |---- GND    |  P1.0-|SCL  |---- SCL |       |                   |

|  A1 ---|     |---- GND    |  P1.1-|SDA  |---- SDA |       |                   |

|  A2 ---|     |---- GND    |       |     |      |       |                   |

|       |VSS  |---- GND    |       |     |      |       |                   |

|       |SDA  |------------|       |     |      |       |                   |

|       |SCL  |------------|       |     |      |       |                   |

|       |WP   |---- GND    |       |     |      |       |                   |

|       |VCC  |---- +3.3V  |       |     |      |       |                   |

|       +-----+      |       |       +-----+      |       |                   |

+-------------------+       +-------------------+       |                   |

|  4.7kΩ 上拉电阻   |

|  SCL 和 SDA 各一个 |

+-------------------+

2. 多设备连接电路

当需要连接多个AT24C512时,可通过A0、A1、A2引脚的不同组合设置不同的器件地址。例如:

  • 第一个AT24C512:A0=0, A1=0, A2=0 → 地址0xA0(写)/0xA1(读)

  • 第二个AT24C512:A0=1, A1=0, A2=0 → 地址0xA2(写)/0xA3(读)

  • 第三个AT24C512:A0=0, A1=1, A2=0 → 地址0xA4(写)/0xA5(读)

  • 第四个AT24C512:A0=1, A1=1, A2=0 → 地址0xA6(写)/0xA7(读)

电路图示例


+-------------------+       +-------------------+       +-------------------+

|                   |       |                   |       |                   |

|    AT24C512-1     |       |    AT24C512-2     |       |    MCU (如51)     |

|                   |       |                   |       |                   |

|       +-----+      |       |       +-----+      |       |       +-----+      |

|  A0 ---|GND  |---- GND    |  A0 ---|VCC  |---- VCC  |  P1.0-|SCL  |---- SCL |

|  A1 ---|GND  |---- GND    |  A1 ---|VCC  |---- GND  |  P1.1-|SDA  |---- SDA |

|  A2 ---|GND  |---- GND    |  A2 ---|GND  |---- GND  |       |     |      |

|       |VSS  |---- GND    |       |VSS  |---- GND  |       |     |      |

|       |SDA  |------------|       |SDA  |------------|       |     |      |

|       |SCL  |------------|       |SCL  |------------|       |     |      |

|       |WP   |---- GND    |       |WP   |---- GND  |       |     |      |

|       |VCC  |---- +3.3V  |       |VCC  |---- +3.3V|       |     |      |

|       +-----+      |       |       +-----+      |       |     +-----+      |

+-------------------+       +-------------------+       +-------------------+

3. 写保护电路

若需保护AT24C512中的数据不被意外写入,可通过WP引脚实现硬件写保护。将WP引脚接至VCC时,所有写操作将被禁止;接地时允许写入。

电路图示例


+-------------------+       +-------------------+

|                   |       |                   |

|    AT24C512       |       |    开关/跳线      |

|                   |       |                   |

|       +-----+      |       |       +-----+      |

|  A0 ---|     |---- GND    |  WP ---|     |---- VCC(禁止写入)  |

|  A1 ---|     |---- GND    |        |     |---- GND(允许写入)   |

|  A2 ---|     |---- GND    |       +-----+      |

|       |VSS  |---- GND    |                   |

|       |SDA  |------------|                   |

|       |SCL  |------------|                   |

|       |WP   |------------|                   |

|       |VCC  |---- +3.3V  |                   |

|       +-----+      |       |                   |

+-------------------+       +-------------------+

四、AT24C512软件编程

1. I²C通信协议

AT24C512通过I²C总线与主设备通信,通信过程包括起始条件、器件地址、数据传输和停止条件。

  • 起始条件:SCL为高电平时,SDA由高变低。

  • 停止条件:SCL为高电平时,SDA由低变高。

  • 器件地址:8位地址,前4位固定为1010,后3位为A2、A1、A0(由引脚设置),最后1位为读写标志位(0为写,1为读)。

2. 写操作

AT24C512支持字节写和页写两种模式。

  • 字节写

    1. 发送起始条件。

    2. 发送器件地址(写)。

    3. 发送16位存储器地址(高8位和低8位)。

    4. 发送要写入的数据。

    5. 发送停止条件。

  • 页写
    与字节写类似,但在发送停止条件前可连续写入最多128字节数据(一页)。

代码示例(51单片机)


#include <reg51.h>

#include <intrins.h>



sbit SCL = P1^0;

sbit SDA = P1^1;



void I2C_Start(void) {

SDA = 1;

SCL = 1;

_nop_(); _nop_();

SDA = 0;

_nop_(); _nop_();

SCL = 0;

}



void I2C_Stop(void) {

SDA = 0;

SCL = 1;

_nop_(); _nop_();

SDA = 1;

_nop_(); _nop_();

}



void I2C_SendAck(bit ack) {

SDA = ack;

SCL = 1;

_nop_(); _nop_();

SCL = 0;

SDA = 1;

}



bit I2C_RecvAck(void) {

bit ack;

SDA = 1;

SCL = 1;

_nop_(); _nop_();

ack = SDA;

SCL = 0;

return ack;

}



void I2C_SendByte(unsigned char dat) {

unsigned char i;

for (i = 0; i < 8; i++) {

SDA = (dat & 0x80) ? 1 : 0;

dat <<= 1;

SCL = 1;

_nop_(); _nop_();

SCL = 0;

}

I2C_RecvAck();

}



unsigned char I2C_RecvByte(void) {

unsigned char i, dat = 0;

SDA = 1;

for (i = 0; i < 8; i++) {

dat <<= 1;

SCL = 1;

_nop_(); _nop_();

if (SDA) dat |= 0x01;

SCL = 0;

}

return dat;

}



void AT24C512_WriteByte(unsigned int addr, unsigned char dat) {

I2C_Start();

I2C_SendByte(0xA0); // 器件地址(写)

I2C_SendByte(addr >> 8); // 高8位地址

I2C_SendByte(addr & 0xFF); // 低8位地址

I2C_SendByte(dat);

I2C_Stop();

// 延时5ms,等待写入完成

for (volatile unsigned int i = 0; i < 5000; i++);

}



void AT24C512_WritePage(unsigned int addr, unsigned char *dat, unsigned char len) {

unsigned char i;

I2C_Start();

I2C_SendByte(0xA0); // 器件地址(写)

I2C_SendByte(addr >> 8); // 高8位地址

I2C_SendByte(addr & 0xFF); // 低8位地址

for (i = 0; i < len; i++) {

I2C_SendByte(dat[i]);

}

I2C_Stop();

// 延时5ms,等待写入完成

for (volatile unsigned int i = 0; i < 5000; i++);

}

3. 读操作

AT24C512支持当前地址读、随机读和顺序读三种模式。

  • 当前地址读:读取上次操作后的下一个地址。

  • 随机读

    1. 发送起始条件。

    2. 发送器件地址(写)。

    3. 发送16位存储器地址。

    4. 重新发送起始条件。

    5. 发送器件地址(读)。

    6. 读取数据。

    7. 发送停止条件。

  • 顺序读:在随机读后,可连续读取多个字节。

代码示例(51单片机)


unsigned char AT24C512_ReadByte(unsigned int addr) {

unsigned char dat;

I2C_Start();

I2C_SendByte(0xA0); // 器件地址(写)

I2C_SendByte(addr >> 8); // 高8位地址

I2C_SendByte(addr & 0xFF); // 低8位地址

I2C_Start();

I2C_SendByte(0xA1); // 器件地址(读)

dat = I2C_RecvByte();

I2C_SendAck(1); // 发送非应答信号

I2C_Stop();

return dat;

}



void AT24C512_ReadMultiByte(unsigned int addr, unsigned char *dat, unsigned char len) {

unsigned char i;

I2C_Start();

I2C_SendByte(0xA0); // 器件地址(写)

I2C_SendByte(addr >> 8); // 高8位地址

I2C_SendByte(addr & 0xFF); // 低8位地址

I2C_Start();

I2C_SendByte(0xA1); // 器件地址(读)

for (i = 0; i < len; i++) {

dat[i] = I2C_RecvByte();

if (i == len - 1) {

I2C_SendAck(1); // 最后一个字节发送非应答信号

} else {

I2C_SendAck(0); // 其他字节发送应答信号

}

}

I2C_Stop();

}

五、AT24C512应用注意事项

  1. 上拉电阻:SCL和SDA引脚必须通过上拉电阻接至VCC,通常阻值为4.7kΩ。

  2. 写保护:若需保护数据,可将WP引脚接至VCC。

  3. 写入延时:AT24C512的写入操作需要时间(通常为5ms),在写入后需延时或查询写入完成状态。

  4. 多设备地址:连接多个AT24C512时,需通过A0、A1、A2引脚设置不同地址。

  5. 电源稳定性:建议在电源引脚附近添加去耦电容,以减少电源噪声。

六、总结

AT24C512是一款高性能、低功耗的串行EEPROM,广泛应用于嵌入式系统中。通过I²C总线与主设备通信,具有简单可靠的接口和灵活的存储管理方式。本文详细介绍了AT24C512的引脚功能、应用电路设计、软件编程及注意事项,为工程师在实际项目中应用AT24C512提供了参考。

责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: at24c512

相关资讯

资讯推荐
云母电容公司_云母电容生产厂商

云母电容公司_云母电容生产厂商

开关三极管13007的规格参数、引脚图、开关电源电路图?三极管13007可以用什么型号替代?

开关三极管13007的规格参数、引脚图、开关电源电路图?三极管13007可以用什么型号替代?

74ls74中文资料汇总(74ls74引脚图及功能_内部结构及应用电路)

74ls74中文资料汇总(74ls74引脚图及功能_内部结构及应用电路)

芯片lm2596s开关电压调节器的中文资料_引脚图及功能_内部结构及原理图_电路图及封装

芯片lm2596s开关电压调节器的中文资料_引脚图及功能_内部结构及原理图_电路图及封装

芯片UA741运算放大器的资料及参数_引脚图及功能_电路原理图?ua741运算放大器的替代型号有哪些?

芯片UA741运算放大器的资料及参数_引脚图及功能_电路原理图?ua741运算放大器的替代型号有哪些?

28nm光刻机卡住“02专项”——对于督工部分观点的批判(睡前消息353期)

28nm光刻机卡住“02专项”——对于督工部分观点的批判(睡前消息353期)

拍明芯城微信图标

各大手机应用商城搜索“拍明芯城”

下载客户端,随时随地买卖元器件!

拍明芯城公众号
拍明芯城抖音
拍明芯城b站
拍明芯城头条
拍明芯城微博
拍明芯城视频号
拍明
广告
恒捷广告
广告
深亚广告
广告
原厂直供
广告