I2C总线at24c02芯片使用说明.doc

上传人:汽*** 文档编号:556592018 上传时间:2024-01-31 格式:DOC 页数:6 大小:184.54KB
返回 下载 相关 举报
I2C总线at24c02芯片使用说明.doc_第1页
第1页 / 共6页
I2C总线at24c02芯片使用说明.doc_第2页
第2页 / 共6页
I2C总线at24c02芯片使用说明.doc_第3页
第3页 / 共6页
I2C总线at24c02芯片使用说明.doc_第4页
第4页 / 共6页
I2C总线at24c02芯片使用说明.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《I2C总线at24c02芯片使用说明.doc》由会员分享,可在线阅读,更多相关《I2C总线at24c02芯片使用说明.doc(6页珍藏版)》请在金锄头文库上搜索。

1、I2C总线at24c02芯片使用说明3。2。5 密码储存电路密码储存电路采用I2C总线at24c02存储芯片存放密码,可实现断电密码不消失,at24c02存储芯片可长期存储信息,可上百万次以上重新擦写.图35 密码储存电路2。4.3 I2C总线密码存储芯片at24c02介绍 图2-3 at24c02引脚图(1)引脚功能介绍及相关知识WP:写保护引脚,将该引脚接VCC,E2PROM就实现写保护(只读)。引脚接地或悬空,可以对器件进行读写操作.SCL:串行时钟引脚,串行输入输出时该引脚用于输入时钟。SDA:串行数据输入输出引脚,用来输入输出数据,该引脚为射极开路输出,需接上拉电阻。(2)I2C总线

2、协议只有总线非忙时才被允许进行数据传送,在传送时,当时钟线为高电平,数据线必须为固定状态,不允许有跳变。时钟线为高电平时数据线的任何电平变化将被当作总线的启动或停止条件。(3)起始条件起始调教必须在所有操作命令之前发送。时钟线保持高电平期间,数据线电平从高到低跳变作为I2C总线的启动信号。CAT24Cxxx一直监视SDA和SCL电平信号,直到条件满足时才响应。(4)停止条件时钟线保持高电平期间,数据线电平从低到高跳变作为I2C总线的停止信号.(5)器件地址的约定主器件在发送启动命令后开始传送数据,主器件发送相应的从器件地址,8位从器件地址的高四位固定为1010,接下来的3位用来定义存储器的地址

3、,对于CAT24C021/022,这三位无意义,对于CAT24C41/042,接下来的2位无意义,第三位是地址高位,CAT24C081/082中,第一位无意义,后两位表示地址高位。最后一位为读写控制位,“1”表示对从器件进行读写操作,“0”表示写操作。在主器件发送启动命令和一字节从器件地址后,如果与从器件地址吻合,CAT24C02将发送一个应答信号,然后再根据读/写控制为进行读或写操作。(6)应答信号每次数据传送成功后,接收器件将发送一个应答信号。当第九个时钟信号产生时,产生应答型号的器件将SDA下拉为低,通知已经接受到8位数据,接收到起始条件和从器件地址后,CAT24C02发送一个应答信号,

4、如果为写操作,每接收到一个字节数据,CAT24C02发送一个应答信号。如果为读操作,CAT24C02发送一个字节数据后释放总线等待应答信号,一旦接收到应答信号,它将继续发发送数据,如果接收到主器件发送非应答信号,将结束数据传送等待停止条件.(7)写操作在写字节模式下,助器件发送起始命令和从器件地址信息给从器件,在从器件响应应答信号后,主器件将要写入的数据地址发送到CAT24C02的地址指针,主器件收到从器件的应答信号后再送数据到相应的数据存储区地址,CAT24C02再响应一个应答信号,主器件产生一个停止信号,然后CAT24C02启动内部写周期,在内部写周期期间,CAT24C02不再响应主器件任

5、何请求。写操作时序读如图2-4所示:图24 写时序图(8)读操作CAT24C02读操作的初始化方式和写操作一样,仅把R/W位置1,读操作有三种方式:立即地址读、选择地址读、连续读.选择地址读操作时序图如图2-5所示:图25 读时序图程序:includereg51.h#includedefine uint unsigned intdefine uchar unsigned charuchar i,date;password 6;uchar code deposit =3,2,5,8,9,2;sbit sda=P34;sbit scl=P35;void nopp(uchar s)uchar n;f

6、or(n=0;ns;n+)_nop_();void start() /开始信号sda=1;nopp(5);scl=1;nopp(5);sda=0;nopp(5);void stop() /停止信号sda=0;nopp(5);scl=1;nopp(5);sda=1;nopp(5);void response() /应答信号uchar i;scl=1;nopp(5);while(sda=1)(i255))i+;scl=0;nopp(5);void write_byte(uchar date) /写一个字节uchar i,temp;temp=date;for(i=0;i8;i+)scl=0;nopp

7、(5);temp=1;sda=CY;nopp(5);scl=1;nopp(5);scl=0;nopp(5);sda=1;nopp(5);uchar read_byte() /读一个字节uint i,j;scl=0;nopp(5);sda=1;nopp(5);for(i=0;i8;i+) /循环8次读出一个字节数据scl=1;nopp(5);j=(j1)sda;scl=0;nopp(5);return j;void at24_write(uchar address,uchar date) start(); /初始信号write_byte(0xa0); /写入芯片地址0XA0response();

8、 /应答信号write_byte(address); /写入芯片内部寄存器地址ADDRESSresponse(); /应答信号write_byte(date); / 写入数据response(); /应答信号stop(); / 停止信号uchar at24_read(uchar address)uchar date;start(); / 初始信号write_byte(0xa0); / 写入芯片地址0XA0response(); / 应答信号write_byte(address); / 写入芯片内部寄存器地址ADDRESSresponse(); / 应答信号start(); / 初始信号writ

9、e_byte(0xa1); / 初始信号response(); / 写入芯片地址0XA1(读)date=read_byte(); / 读出数据stop(); / 停止信号return date; / 返回读出值void main()uchar tt, i ,rsda=1;scl=1;at24_write(8,9);/向at24c02的地址8写入数据 9 delay(50);for(i=0;i6;i+)/将数组中的数据写入at24c02 的地址为0 至5的位置at24_write(i,depositi);delay(50);tt=at24_read(8);/读地址 8 中的数据for(r=0;r6;r+)/读取地址为0 至5的数据,存放在数组password 中passwordr=at24_read(r);

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号