网站大量收购闲置独家精品文档,联系QQ:2885784924

蓝桥杯单片机IIC总线协议及EEPROMAT24C02分解.ppt

蓝桥杯单片机IIC总线协议及EEPROMAT24C02分解.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
;基于IIC总线的E2PROM —— AT24C02;特性 与 400KHz IIC 总线兼容 1.8 到 6.0 伏工作电压范围 低功耗 CMOS 技术 写保护功能 当 WP 为高电平时进入写保护状态 页写缓冲器 自定时擦写周期 1,000,000 编程/擦除周期 可保存数据 100 年 8 脚 DIP SOIC 或 TSSOP 封装 温度范围 商业级 工业级和汽车级 ; ;AT24C02引脚分布;AT24C02读写时间周期; AT24WC01/02/04/08/16支持I2C总线数据传送协议和I2C总线协议规定。 任何将数据传送到总线的器件作为发送器,任何从总线接收数据的器件为接收器。 数据传送是由产生串行时钟和所有起始停止信号的主器件控制的,主器件和从器件都可以作为发送器或接收器,但由主器件控制传送数据(发送或接收)的模式,通过器件地址输入端A0、A1和A2可以实现将最多8个24WC01和24WC02器件,4个24WC04器件(仅使用A1A2 地址管脚),2个24WC08器件(仅使用地址管脚 A2 A0)和 1个 24WC16器件连接到总线上(所有地址管脚 A0 A1 A2 都未用)。;I2C总线协议;器件寻址;应答信号;应答时序; ; 传送数据时,单片机首先发送一个字节的被写入器件的存储区的首地址,收到存储器器件的应答后,单片机就逐个发送各数据字节,但每发送一个字节后都要等待应答。;写入时序;页写;页写时序; 写保护操作特性可使用户避免由于不当操作而造成对存储区域内部数据的改写。 当 WP管脚接高时,整个寄存器区全部被保护起来而变为只可读取;24C02可以接收从器件地址和字节地址,但是装置在接收到第一个数据字节后不发送应答信号从而避免寄存器区域被编程改写 。;读操作;立即地址读;立即地址读时序;选择性读 ;选择性读时序 ;连续读 ;连续读时序 ; ;大赛24C02部分电路图 ;sbit SCL = P2^0; sbit SDA = P2^1;;void iic_stop(void) { SDA = 0; _nop_(); SCL = 1; somenop; SDA = 1; somenop; SCL=0; };void iic_ack(bit ackbit) { if(ackbit) SDA = 0; else SDA = 1; somenop; SCL = 1; somenop; SCL = 0; SDA = 1; };bit iic_waitack(void) { SDA = 1; somenop; SCL = 1; somenop; if(SDA) { SCL = 0; iic_stop(); return 0; } else { SCL = 0; return 1; } };void iic_sendbyte(unsigned char byt) { unsigned char i; for(i=0;i8;i++) { if(byt0x80) SDA = 1; else SDA = 0; somenop; SCL = 1; byt = 1; somenop; SCL = 0; } };unsigned char iic_recbyte(void) { unsigned char da; unsigned char i; for(i=0;i8;i++) { SCL = 1; somenop; da = 1; if(SDA) da |= 0x01; SCL = 0; somenop; } return da; };void wrbyte_24c02(unsigned char add,unsigned char dat) { // Device Address 1010 000 R/W iic_start(); iic_sendbyte(0xa0); iic_waitack(); iic_sendbyte(add); iic_waitack(); iic_sendbyte(dat); iic_waitack(); iic_stop(); delay(10); };unsigned char rdbyte_24c02(u

您可能关注的文档

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档