I2C总线at24c02芯片使用说明_第1页
I2C总线at24c02芯片使用说明_第2页
I2C总线at24c02芯片使用说明_第3页
I2C总线at24c02芯片使用说明_第4页
I2C总线at24c02芯片使用说明_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精选文库3.2.5 密码储存电路密码储存电路采用I2C总线at24c02存储芯片存放密码,可实现断电密码不消失,at24c02存储芯片可长期存储信息,可上百万次以上重新擦写。图3-5 密码储存电路2.4.3 I2C总线密码存储芯片at24c02介绍 图2-3 at24c02引脚图(1)引脚功能介绍及相关知识WP:写保护引脚,将该引脚接VCC,E2PROM就实现写保护(只读)。引脚接地或悬空,可以对器件进行读写操作。SCL:串行时钟引脚,串行输入输出时该引脚用于输入时钟。SDA:串行数据输入输出引脚,用来输入输出数据,该引脚为射极开路输出,需接上拉电阻。(2)I2C总线协议只有总线非忙时才被允许进行数据传送,在传送时,当时钟线为高电平,数据线必须为固定状态,不允许有跳变。时钟线为高电平时数据线的任何电平变化将被当作总线的启动或停止条件。(3)起始条件起始调教必须在所有操作命令之前发送。时钟线保持高电平期间,数据线电平从高到低跳变作为I2C总线的启动信号。CAT24Cxxx一直监视SDA和SCL电平信号,直到条件满足时才响应。(4)停止条件时钟线保持高电平期间,数据线电平从低到高跳变作为I2C总线的停止信号。(5)器件地址的约定主器件在发送启动命令后开始传送数据,主器件发送相应的从器件地址,8位从器件地址的高四位固定为1010,接下来的3位用来定义存储器的地址,对于CAT24C021/022,这三位无意义,对于CAT24C41/042,接下来的2位无意义,第三位是地址高位,CAT24C081/082中,第一位无意义,后两位表示地址高位。最后一位为读写控制位,“1”表示对从器件进行读写操作,“0”表示写操作。在主器件发送启动命令和一字节从器件地址后,如果与从器件地址吻合,CAT24C02将发送一个应答信号,然后再根据读/写控制为进行读或写操作。(6)应答信号每次数据传送成功后,接收器件将发送一个应答信号。当第九个时钟信号产生时,产生应答型号的器件将SDA下拉为低,通知已经接受到8位数据,接收到起始条件和从器件地址后,CAT24C02发送一个应答信号,如果为写操作,每接收到一个字节数据,CAT24C02发送一个应答信号。如果为读操作,CAT24C02发送一个字节数据后释放总线等待应答信号,一旦接收到应答信号,它将继续发发送数据,如果接收到主器件发送非应答信号,将结束数据传送等待停止条件。(7)写操作在写字节模式下,助器件发送起始命令和从器件地址信息给从器件,在从器件响应应答信号后,主器件将要写入的数据地址发送到CAT24C02的地址指针,主器件收到从器件的应答信号后再送数据到相应的数据存储区地址,CAT24C02再响应一个应答信号,主器件产生一个停止信号,然后CAT24C02启动内部写周期,在内部写周期期间,CAT24C02不再响应主器件任何请求。写操作时序读如图2-4所示:图2-4 写时序图(8)读操作CAT24C02读操作的初始化方式和写操作一样,仅把R/W位置1,读操作有三种方式:立即地址读、选择地址读、连续读。选择地址读操作时序图如图2-5所示:图2-5 读时序图程序:#include#include#define uint unsigned int#define 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;for(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(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(); /应答信号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(); / 初始信号write_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 的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论