第17章 C51模拟单总线接口.pptVIP

  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文档。上传文档
查看更多
第17章 C51模拟单总线接口 单总线结构是Dallas Semiconductor创造性的总线协议,也称为1-Wire总线结构。单总线接口将数据通信的引脚数目减少到最少,只需1个数据线便可以进行通信而无须时钟同步线。目前,已有多种器件选用了单总线结构,例如A/D转换器、D/A转换器、温度传感器等。 使用单总线结构大大简化了电路设计,节约了引脚的使用,因此特别适合于单片机系统中。本章以Dallas Semiconductor公司推出的DS18S20单总线结构温度传感器为例,介绍如何使用C51语言来实现单总线接口的模拟。 17.1 单总线接口概述 典型的单总线接口结构,如图所示。其中,除了公共的地线外,所有单总线设备共用一根数据总线。单总线主机包括一个开漏极I/O端口,需要外接上拉电阻。单总线结构中,外部可用包含一个单总线从机,也可以包含多个单总线从机。 单总线结构可以通过一条公共数据线实现主机与一个或多个从机之间的半双工、双向通信。在单总线结构中,单总线主机为数据传输的主控制器,单总线上的从机只能被动地和单总线主机通信。 17.2 单总线温度传感器及C51操作 Dallas Semiconductor公司推出的DS18S20温度传感器即为单总线接口结构。由于其所需的引脚最少、接口简单、无需外部元件和精度高等优点,广泛应用于单片机系统中进行测温以及温度监控。 17.2.1 温度传感器DS18S20概述 DS18S20是一种典型的单总线接口数字温度传感器,其提供了9位高精度的摄氏温度测量。同时,DS18S20具有非易失性、用户可编程上下触发门限的报警功能。由于其独特的单总线接口,使得其可以占用极少的I/O引脚资源,使用起来十分方便。DS18S20采用带隙温度检测结构,其内部有3个主要部件:64位激光刻制的唯一ROM序列号、温度传感器以及非易失性温度报警触发器。 DS18S20以其简单方便的单总线接口特点,而广泛应用于温度测量、温度控制、数字温度计以及热感测系统中。 17.2.2 DS18S20的数据操作及指令 单总线将通信时使用的引脚减少到只有1根,在数据传输时需要满足特定的格式才能进行。单总线主机和单总线从机之间的通信格式,如图17.3所示。其中,SS为单总线从机采样时间,MS为单总线主机采样时间。 17.2.3 DS18S20的访问流程 DS18S20需要严格的时序协议才能实现单总线通信。通过单总线端口访问DS18S20的流程图,如图所示。 单总线协议在总线数据访问的过程中,存在几种典型的信号类型:复位脉冲、存在脉冲、写0、写1、读0和读1。其中,存在脉冲由单总线从机发出,其余均由单总线主机发出。单总线主机与DS18S20之间的任何操作都需要初始化开始。初始化时,单总线主机发出复位脉冲,单总线从机紧跟其后发出存在脉冲。存在脉冲通知单总线主机DS18S20在总线上已准备好,可以进行后续的ROM命令和存储器操作命令。 17.2.4 温度转换操作 DS18S20通过温度转换命令启动一次温度测量,测量结果存放在高速暂存器中,占有暂存器的字节0(LSB)和字节1(MSB)。DS18S20完成一次温度转换的时间为750ms。由于DS18S20可以测量正负温度,因此测量数据是以16位带符号位扩展的二进制补码形式存放的。单总线主机使用读暂存器命令可以把高速暂存器中的测量结果读出。 DS18S20为9位数字温度分辨率,精度为0.5°C,其温度数据格式如图所示。DS1820的温度与数据对应关系如表所示。所有数据都是以最低有效位(LSB)在前的方式进行读写的。图中,S表示符号位。当S为0时,表示正的温度值;当S为1时,表示负的温度值。 17.2.5 C51模拟单总线操作子函数 对于DS18S20的操作需要严格遵守单总线总线协议,一般采用单总线主控制器或者带有单总线主机的微处理器来实现。但是很多时候,所选用的单片机不具备单总线接口。此时便需要在软件中模拟单总线操作。首先需要定义单总线所使用的引脚,示例如下: sbit ONEWIRE_DQ = P2^0; //定义P2^0引脚为DS18S20的DQ引脚 这里以数字温度传感器DS18S20为例,介绍单总线器件所支持的ROM操作命令、存储器操作命令等的C51软件实现。 17.3 C51单总线温度传感器实例 前面以数字温度传感器DS18S20为例,介绍了单总线接口以及C51模拟单总线的子函数。由于应用最为广泛的51系列单片机没有集成单总线控制器,因此,这里采用C51软件模拟的方法来实现DS18S20单总线接口的操作。 17.3.1 电路设计 系统电路原理图,如图所示。该电路中所使用的元器件列表。 17.3.2 程序设计 在Keil μVison3集成开发

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档