单片机教程 51系列单片机读写IIC总线28.pptVIP

单片机教程 51系列单片机读写IIC总线28.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第 28 章 51 系列单片机读写 I 2 C 总线 ? I 2 C 总线是 Philips 公司推出的一种双向二线制总线,全称为 芯片间总线( Inter Integrate Circuit BUS )。其在芯片 间使用两根连线实现全双工同步数据传送,一条数据线 ( SDA )和一条串行时钟线( SCL ),可以很方便地构成外 围器件扩展系统。 ? I 2 C 总线是很简单方便的芯片间串行扩展总线。使用 I 2 C 总线 可以直接和具有 I 2 C 总线接口的单片机通信,也可以和各种 类型的外围器件进行通信,如存储器、 A/D 、 D/A 、键盘、 LCD 等。目前 Philips 、 Atmel 、 Maxim 以及其他集成电路制 造商推出了很多基于 I 2 C 总线的单片机和外围器件,如 24 系 列 E 2 PROM 、串行实时时钟芯片 DS1302 、 USB2.0 芯片 CY7C68013A 等。 ? 本章主要介绍了 I 2 C 总线的工作原理、结构以及寻址方式, 并重点介绍了数据传输协议以及程序实现。这些程序均以 子程序的形式提供,便于读者调用。最后通过具体的实例, 介绍如何使用单片机读写具有 I 2 C 总线接口的 E 2 PROM 。 28.1 I 2 C 总线概述 ? I 2 C 总线对数据通信进行了严格的定义,要进行 I 2 C 总线的接口设计,就需要首先了解 I 2 C 总线的 工作原理图、寻址方式和数据传输协议等。 28.1.1 I 2 C 总线工作原理 ? 典型的 I 2 C 总线系统结构,如图 28.1 所示。其采用 两线制,由数据线 SDA 和时钟线 SCL 构成。总线上 挂接的单片机(主器件)或外围器件(从器件), 其接口电路都应具有 I 2 C 总线通信能力。 28.1.2 I 2 C 总线的电气结构和负载能力 ? I 2 C 总线的 SCL 和 SDA 端口输出为漏极开路,因此使用时上必 须连接上拉电阻。不同型号的器件对上拉电阻的要求不同, 可参考具体器件的数据手册。上拉电阻的大小与电源电压、 传输速率等有关系。 ? I 2 C 总线的传输速率可以支持 100kHz 和 400kHz 两种,对于 100kHz 的速率一般采用 10K Ω 的上拉电阻,对于 400kHz 的速 率一般采用 2K Ω 的上拉电阻。 ? I 2 C 总线上的外围扩展器件都是属于电压型负载的 CMOS 器件, 因此总线上的器件数量不是由电流负载能力决定,而是由 电容负载能力确定。 I 2 C 总线上每一个节点器件的接口都有 一定的等效电容,这会造成信号传输的延迟。通常 I 2 C 总线 的负载能力为 400pF (通过驱动扩展可达 4000pF ),据此可 计算出总线长度及连接器件的数量。 28.1.3 I 2 C 总线器件的寻址方式 ? I 2 C 总线上的所有器件连接在一个公共的总线上,因此,主 器件在进行数据传输前选择需要通信的从器件,即进行总 线寻址。 ? I 2 C 总线上所有外围器件都需要有惟一的地址,由器件地址 和引脚地址两部分组成,共 7 位。器件地址是 I 2 C 器件固有的 地址编码,器件出厂时就已经给定,不可更改。引脚地址 是由 I 2 C 总线外围器件的地址引脚( A2 , A1 , A0 )决定,根 据其在电路中接电源正极、接地或悬空的不同,形成不同 的地址代码。引脚地址数也决定了同一种器件可接入总线 的最大数目。 ? 地址位与一个方向位共同构成 I 2 C 总线器件寻址字节。寻址 字节的格式如表所示。方向位( R/ )规定了总线上的主器 件与外围器件(从器件)的数据传输送方向。当方向位 R/=1 ,表示主器件读取从器件中的数据; R/=0 ,表示主器 件向从器件发送数据。 28.2 I2C 总线数据传输协议及其程序详解 ? I 2 C 总线规定了严格的数据通信格式,所有具有 I 2 C 总线接口的器件都必须遵守。另外,对于应用 最广的 51 系列单片机,却没有提供 I 2 C 总线接口。 实际上,利用这些单片机的普通 I/O 口,采用软件 模拟 I 2 C 总线 SCL 和 SDA 上的数据传送时序,完全可 以实现对 I 2 C 总线器件的读、写操作。 ? 下面就分别介绍数据传输过程中的格式以及如何 使用 8051 单片机来实现。这里假设 51 系列单片机 的外接晶振频率为 6MHz ,单片机的机器周期为2μs, 采用 P1.0 作为时钟线 SCL , P1.1 作为数据线 SDA 。 28.2.1 起始信号 ? 起始信号用于开始 I 2 C 总线通信。在时钟线

文档评论(0)

wangyueyue + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档