第16讲18B20温度显示浅析.pptVIP

  • 1
  • 0
  • 约6.45千字
  • 约 23页
  • 2016-09-15 发布于湖北
  • 举报
第16讲 18B20温度显示 亚博科技 51单片机开发板28课配套视频教程 DS18B20简介 DS18B20 单线数字温度传感器,即“一线器件”,其具有独特的优点: ???? ( 1 )采用单总线的接口方式 与微处理器连接时 仅需要一条口线即可实现微处理器与 DS18B20 的双向通讯。 单总线具有经济性好,抗干扰能力强,适合于恶劣环境的现场温度测量,使用方便等优点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。 ???? ( 2 )测量温度范围宽,测量精度高 DS18B20 的测量范围为 -55 ℃ ~+ 125 ℃ ; 在 -10~+ 85°C 范围内,精度为 ± 0.5°C 。 ???? ( 4 )持多点组网功能 多个 DS18B20 可以并联在惟一的单线上,实现多点测温。 ???? ( 5 )供电方式灵活 DS18B20 可以通过内部寄生电路从数据线上获取电源。因此,当数据线上的时序满足一定的要求时,可以不接外部电源,从而 使系统结构更趋简单,可靠性更高。 ???? ( 6 )测量参数可配置 DS18B20 的测量分辨率可通过程序设定 9~12 位。 ???? DS18B20 具有体积更小、适用电压更宽、更经济、可选更小的封装方式,更宽的电压适用范围,适合于构建自己的经济的测温系统,因此也就被设计者们所青睐。 亚博科技 51单片机开发板28课配套视频教程 单线总线特点 单总线即只有一根数据线,系统中的数据交换,控制都由这根线完成。 单总线通常要求外接一个约为 4.7K—10K 的上拉电阻,这样,当总线闲置时其状态为高电平。 亚博科技 51单片机开发板28课配套视频教程 原理图解析 亚博科技 51单片机开发板28课配套视频教程 电容:删除杂波,使电压稳定 上拉电阻:使温度传感器保持在高电平 P2.2:通过这个端口与单片机通信 DS18B20单总线的工作方式 DS18B20的初始化 主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间内对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。若无低电平出现一直都是高电平说明总线上无器件应答。   做为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备。若没有检测到就一直在检测等待。 亚博科技 51单片机开发板28课配套视频教程 初始化时序图 亚博科技 51单片机开发板28课配套视频教程 主机发送低电平 等待 从机回应 亚博科技 51单片机开发板28课配套视频教程 /***************************************************************************** * 函数名 : Ds18b20Init * 函数功能 : 初始化 * 输入 : 无 * 输出 : 初始化成功返回1,失败返回0 *****************************************************************************/ unsigned char Ds18b20Init() { unsigned int i; DSIO=0; //将总线拉低480us~960us i=70; while(i--);//延时642us DSIO=1;//然后拉高总线,若DS18B20做出反应会将在15us~60us后将总线拉低 i=0; while(DSIO) //等待DS18B20拉低总线 { i++; if(i50000)//等待50MS return 0;//初始化失败 } return 1;//初始化成功 } 主机发出各种操作命令都是向DS18B20写0和写1组成的命令字节,接收数据时也是从DS18B20读取0或1的过程。因此首先要搞清主机是如何进行写0、写1、读0和读1的。 写周期最少为60微秒,最长不超过120微秒。写周期一开始做为主机先把总线拉低1微秒表示写周期开始。随后若主机想写0,则将总线置为低电平,若主机想写1,则将总线置为高电平,持续时间最少60微秒直至写周期结束,然后释放总线为高电平至少1微秒给总线

文档评论(0)

1亿VIP精品文档

相关文档