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

IIC串行总线的的工作原理及应用.ppt

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IIC串行总线的的工作原理及应用

void SEND_0(void) { //发送0,在SCL为低电平时使SDA信号变为低 SCL=0; SDA=0; SCL=1; DELAY(DELAY_TIME); SCL=0; DELAY(DELAY_TIME); } void SEND_1(void) { //发送1,在SCL为低电平时使SDA信号变为高 SCL=0; SDA=1; SCL=1; DELAY(DELAY_TIME); SCL=0; DELAY(DELAY_TIME); } bit Check_Acknowledge(void) {//发送完一个字节后检验设备的应答信号 SDA=1; SCL=1; DELAY(DELAY_TIME/2); F0=SDA; DELAY(DELAY_TIME/2); SCL=0; DELAY(DELAY_TIME); if(F0==1) return FALSE; else return TRUE; } void Write_Byte(uchar b) { //向IIC总线写一个字节 uchar i; for(i=0;i8;i++) if((bi)0x80) SEND_1(); else SEND_0(); } bit Write_N_Bytes(uchar *buffer,uchar n) { //向I2C总线写n个字节 uchar i; IIC_Start(); for(i=0;in;i++) { Write_Byte(buffer[i]); if(!Check_Acknowledge()) { IIC_Stop(); return(i==n); } } IIC_Stop(); return TRUE; } uchar Read_Byte(void)reentrant { //从I2C总线读一个字节 uchar b=0,i; for(i=0;i8;i++) { SDA=1; //释放总线 SCL=1; //接受数据 DELAY(10); F0=SDA; DELAY(10); SCL=0; if(F0==1) { b=b1; b=b|0x01; } else b=b1; } return b; } bit Read_N_Bytes(uchar SlaveAdr,uchar n,uchar *buffer) { //从I2C总线读n个字节 uchar i; IIC_Start(); Write_Byte(SlaveAdr); //向总线发送接收器地址 if(!Check_Acknowledge()) //等待接收器应答信号 return FALSE; for(i=0;in;i++) { buffer[i]=Read_Byte(); if(i!=n) SEND_0(); //发送应答 else SEND_1(); //发送非应答 } IIC_Stop(); return TRUE; } 2 I2C总线器件的扩展 一、扩展电路 二、串行E2PROM的扩展 (1)串行E2PROM典型产品 AT24C01:128字节(128×8位); AT24C02:256字节(256×8位); AT24C04:512字节(512×8位)AT24C08:1K字节(1K×8位); AT24C16:2K字节(2K×8位); ATMEL公司的AT24C系列: (2)写入过程 AT24C系列E2PROM芯片地址的固定部分为1010,A2、A1、A0引脚接高、低电平后得到确定的3位编码。形成的7位编码即为该器件的地址码。 单片机进行写操作时,首先发送该器件的7位地址码和写方向位“0”(共8位,即一个字节),发送完后释放SDA线并在SCL线上产生第9个时钟信号。被选中的存储器器件在确认是自己的地址后,在SDA线上产生一个应答信号作为相应,单片机收到应答后就可以传送数据了。 传送数据时,单片机首先发送一个字节的被写入器件的存储区的首地址,收到存储器器件的应答后,单片机就逐个发送各数据字节,但每发送一个字节后都要等待应答。 AT24C系列器件片内地址在接收到每一个数据字节地址后自动加1,在芯片的“一次装载字节数”(不同芯片字节数不同)限度内,只需输入首地址。装载字节数超过芯片的“一次装载字节数”时,数据地址将“上卷”,前面的数据将被覆盖。 当要写入的数据传送完后,单片机应发出终止信号以结束写

文档评论(0)

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

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

1亿VIP精品文档

相关文档