下面以目前在单片机系统中常用的带I2C接口的EEPROM芯片AT24C01为例,介绍I2C器件的基本应用。
1.AT24C01简介
AT24C01是美国ATMEL公司的低功耗CMOS串行EEPROM,它内含256×8位存储空间,具有工作电压宽(2.5~5.5V)、擦写次数多(>10000次)、写入速度快(<10ms)等特点。AT24C01中带有片内寻址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的操作。所有字节都以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8字节的数据。图10-35为AT24C01的封装图。各引脚功能如下:
SCL:串行时钟。在该引脚的上升沿时,系统将数据输入到每个EEPROM器件,在下降沿时输出。
SDA:串行数据。该引脚为开漏极驱动,可双向传送数据。
A0、A1、A2:器件/页面寻址。为器件地址输入端。
图10-35 AT24C01封装图
WP:硬件写保护。当该引脚为高电平时禁止写入,为低电平时可正常读写数据。
VCC:电源。一般输入+5V电压。
GND:接地。
2.AT24C01与单片机硬件图
图10-36为AT24C01与单片机的一种应用实例,图中AT24C01的引脚1、2、3是三条地址线,用于确定芯片的硬件地址。在AT89C51试验板上它们都接地,引脚8和引脚4分别为正、负电源。引脚5SDA为串行数据输入/输出,数据通过这条双向I2C总线串行传送,在AT89C51试验板上和单片机的P11连接。引脚6SCL为串行时钟输入线,在AT89C51试验板上和单片机的P10连接。SDA和SCL都需要和正电源间各接一个上拉电阻。引脚7为写保护端,此处需要接地。
3.程序设计(www.xing528.com)
1)程序功能:本程序用来验证对AT24C01的读写是否正确,具体实现方法如下:上电初始化时向所有空间填充0xFF,再向01和02地址写两个数,通过程序对某个地址读数并显示,从而达到验证读写是否正确。
2)程序代码:本例的程序功能是实现利用单片机P10、P11作为SCL、SDA串行通信线,实现对某一地址内数据的读写校验操作。
图10-36 51单片机与AT24C01的连接
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。