DS18B20的硬件连接及软件编程_第1页
DS18B20的硬件连接及软件编程_第2页
DS18B20的硬件连接及软件编程_第3页
DS18B20的硬件连接及软件编程_第4页
DS18B20的硬件连接及软件编程_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DS18B20的硬件连接及软件编程 周月霞孙传海 摘要:DS18B20是一种可组网数字式温度传感器,根据单总线独特的优点,它可以使用户 轻松的组建传感器网络,并可使多点温度测量电路变得简单、可靠。本文主要介绍了 DS18B20的硬件连接及软件编程。关键词:DS18B20、可组网数字式温度传感器一、刖言集成式数字温度传感器DS1820的出现开辟了温度传感器技术的新领域,它利用单总线的特 点可以方便的实现多点温度的测量。而可组网数字式温度传感器DS18B20则是DS1820的 更新产品,它在电压、特性及封装方面都具有优势,给了用户更多的选择,让用户可以更方 便的构建适合自己的测温系统。DS18B2

2、0充分利用了单总线的独特特点,可以轻松的组建 传感器网络,提高系统的抗干扰性,使系统设计更灵活、方便,而且适合于在恶劣的环境 下进行现场温度测量。二、DS18B20 简介GHD地D 浪施轴7输由可选电源HC园m ncIS182O F E叮|O1b | ireT i;HB(b)颈e濮DS1SB2O的苜脚排列DS18B20是美国DALLAS公司最新推出的一 种可组网数字式温度传感器,与DS1820相同, DS18B20也能够直接读取被测物体的温度值。 但是与DS1820相比,DS18B20的功能更强大 些。它体积小,电压适用范围宽(3V5V), 用户还可以通过编程实现912位的温度读 数,即具有可

3、调的温度分辨率,因此它的实用 性和可靠性比同类产品更高。另外,DS18B20 有多种封装可选,如TO-92、SOIC及CSP封 装。图1即为DS18B20的管脚排列图。 由图1可见,DS18B20只有一个数据输入/输 出口,属于单总线专用芯片之一。DS18B20 工作时被测温度值直接以“单总线”的数字方 式传输,大大提高了系统的抗干扰能力。其内 部采用在板温度测量专利技术,测量范围为 -55C+125C,在-10C+85C时,精度为 0.5C。每个DS18B20在出厂时都已具有唯 一的64位序列号,因此一条总线上可以同时 挂接多个DS18B20,而不会出现混乱现象。 另外用户还可自设定非易失性

4、温度报警上下 限值TH和TL (掉电后依然保存)。DS18B20 在完成温度变换后,所测温度值将自动与贮存 在TH和TL内的触发值相比较,如果测温结 果高于TH或低于TL,DS18B20内部的告警 标志就会被置位,表示温值超出了测量范围, 同时还有报警搜索命令识别出温度超限的 DS18B20O 图2为DS18B20的内部存储器结构图,它包 括一个暂存RAM和一个非易失性电可擦除 (E2) RAMo其中暂存存储器作用是在单线通信时确保数 据的完整性,它包括8个字节,头两个字节表 示测得的温度读数,数据格式如下:23222122-12-22-32-4MSB (单位:C) LSBSSSSS26252

5、4S=1时表示温度为负,S=0时表示温度为正,其余低位以二进制补码形式表示,最低位为1 时表示0.0625C。温度/数字对应关系如表1所示。DS18B20内部暂存存储器的第5个字节是结构寄存器,它主要用于确定温度值的数字转换 分辨率。字节结构如下:0R1R011111MSBLSB其中R1、R0用于设置分辨率,如表2所示。三、DS18B20的硬件连接(以51单片机为例)DS18B20与单片机的接口极其简单,只需将DS18B20的信号线与单片机的一位双向端口相 连即可。如图3(a)所示。此时应注意将VDD、DQ、GND三线焊接牢固。另外也可用两个端口,即 接收口与发送口分开,这样读写操作就分开了,

6、不会出现信号竞争的问题。如图3(b)所示。此图是采用寄生电源方式,将DS18B20的VDD与GND接在一起。如若 VDD脱开未接好,传感器将只送+85.0 0的温度值。一般测温电缆线采用屏蔽4芯双绞线,其中一对接地线与信号线,另一对接VDD和地线, 屏蔽层在源端单点接地。表1 DS18B20温度/数据对应关系表温度(。输出的二进制码对应的十六进制码+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H10.1250000 0000 1010 001000A2H0.50000

7、0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FF6FH-551111 1100 1001 0000FC90H表2 DS18B20分辨率设置表R1R0温度分辨率最大转换时 间009位93.75ms0110位187.5ms1011位375ms12位750ms四、DS18B20软件编程1、DS18B20的工作过程DS18B20的工作遵循严格的单总线协议。主机首先发一复位脉冲,使信号线上所

8、有的DS18B20芯片都被复位,接着发送ROM操作命令,使序列号编码匹配的DS18B20被激活,准备接收下面的内存访问命令。内存访问命令控制选中的DS18B20的工作状态,完成整个 温度转换、读取等工作(单总线在ROM命令发送之前存储命令和控制命令不起作用)。其工作流程图如图4所示。在对DS18B20进行操作的整个过程中,主要包括三个关键过程: 主机搜索DS18B20序列号、启动在线DS18B20作温度转换、读取在线DS18B20温度值。其中主机启动温度转换并读取温度值的流程图如图5所示。+5VDS18E20DS18E20DS18E2080510三筋制方式8051P1.1DS18E20DS18

9、E20DS18E20(b)寄生电证方式 图3 DS18B20软件蝙程工作中系统对DS18B20的操作以ROM命令和存储器命令形式出现。其中ROM操作命令均 为8位长,命令代码分别为:读ROM(33H)、匹配ROM(55H)、跳过ROM(CCH)、搜 索ROM(F0H)和告警搜索(ECH)命令。存储器操作命令为:写暂存存储器(4EH)、 读暂存存储器(BEH)、复制暂存存储器(48H)、温度变换(44H)、重新调出EERAM(B8H) 和读电源供电方式(B4H)命令。2、工作时序由于DS18B20的测温分辨率提高了( 12位),因此对时序及电特性参数要求较高,必须严 格按照DS18B20的时序要

10、求去操作。与DS1820相同,DS18B20数据的读写也是由主机读 写特定时间片来完成的,包括初始化、读时间片和写时间片。主机控制DS18B20完成任何操作之前必须先初始化,即主机发一复位脉冲(最短为480ms 的低电平),接着主机释放总线进入接收状态,DS18B20在检测到I/O引脚上的上升沿之后, 等待1560ms然后发出存在脉冲(60240ms的低电平)。时序图如图6所示。读/写时间片:写时间片:将数据线从高电平拉至低电平,产生写起始信号。在15ms之内将所需写的位送 到数据线上,在15ms到60ms之间对数据线进行采样,如果采样为高电平,就写1,如果 为低电平,写0就发生。在开始另一个

11、写周期前必须有1ms以上的高电平恢复期。时序图 如图7所示。读时间片:主机将数据线从高电平拉至低电平1ms以上,再使数据线升为高电平,从而产 生读起始信号。主机在读时间片下降沿之后15ms内完成读位。每个读周期最短的持续期为 60ms,各个读周期之间也必须有1ms以上的高电平恢复期。时序图如图7所示。3、基本子程序设计 DS18B20三个基 本子程序为: DS18B20初始化 程序、读DS18B20 子程序、写 DS18B20子程序。 分别设计如下:(1) DS18B20 的 初始化子程序(PSW.5=1 表示 DS18B20 PSW.5=0 存在) RESET :存在,表示不CLRP1.0

12、;发送复位脉 冲MOV R7,#32 ;延 时 500msLCALL DELAY15 SETB P1.0MOV R7,#4 ;等 待 60msLCALL DELAY15 CLR PSW.5 ; PSW.5=0JB P1.0,RET1 ; P1.0=1不存在,跳 转SETB PSW.5 ;存 在 DS18B20 MOV R7,#28 LCALL DELAY15 RET1: RET 延时子程序(fOSC=12MHz) DELAY15: R6,#6 DEL151: R6,DEL151 DJNZ R7,DELAY15 ;延 时 R7*15 msRETMOVDJNZ(2)DS18B20 的读子程序 RD

13、1820: CLR CMOV R1 ,#9MOV R0 , #TEMPLSB RD18201 : MOV R2 ,#8 RD18202 : SETB P1.0 NOPNOPCLR P1.0 ; 产生读信号NOP NOP SETB P1.0 ; 准备输入数据MOV R7,#1 LCALL主Hl写(f时晖DELAY15图7读写时序图DS蜓的采怦 MNTYPMiK况卜DS18B20 罪忤MIN TYPMAyRRC ARRC ADJNZ R2, RD18202 ;判一个字节是否读完MOVX R0, A ;保存结果INC R0DJNZ R1,RD18201 ;判9个字节是否读完RET(3)DS18B20的写子程序WR1820: C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论