基于DS18B20的单总线数字温度计

2018-12-27 17:45

中北大学分校毕业设计

基于DS18B20 的单总线数字温度计

X

黄 河

(中国矿业大学计算机学院,江苏徐州221116)

摘 要:介绍了一种基于单片机AT89S52 和数字温度传感器DS18B20 来进行温度测量的单总线数字温度计,包括温度传感器芯片的选取、单片机与温度传感器接口电路的设计,以及实现温度信息采集和数据传输的软件设计。DS18B20 数字 温度传感器是单总线器件与51 单片机组成的测温系统,具有线路简单、体积小等特点,而且在一根通信线上,可以挂接多个DS18B20 ,因此特别适合构成多点温度测控系统。

关键词:数字温度计;温度传感器DS18B20 ;单总线技术 中图分类号:TP212. 9 文献标识码:A 文章编号:1671 - 0231 (2008) 04 - 0060 - 04

温度的测量在实际的生产、生活中具有十分重要的意义。温度作为一种最基本的环境条件参数,与工业、农业、养殖业的生产以及医学乃至人们的日常生活都是紧密相关的。因此,对于温度的测量方法与装置的研究就凸显得非常重要。由单片机与温度传感器构成的测温系统可广泛应用于很多领域。本文讨论单总线数字集成温度传感器DS18B20 的特点、工作原理和使用方法,以及用单片机AT89S52 对DS18B20 的编程实现温度测量。

1 设计思路

大多单片机接口输入的信号是数字信号,或有带A/ D 转换的高端单片机也可以输入模拟信号。由单片机获取非电信号的温度信息,必须通过温度传感器。传统的温度测量多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性较差、测 量温度精度低,而且还需经A/ D 转换成数字信号后才能由单片机进行处理。因此,使用数字温度传感器可简化硬件设计、方便单片机读取数据、节约成本。 设计单片机数字温度计需要考虑以下3 个方面: (1) 温度传感器芯片的选择;

(2) 单片机和温度传感器的接口电路设计;

(3) 控制温度传感器实现温度信息采集以及数据传输的软件[1 ] 。

2 温度传感器DS18B20 简介

DS18B20 是美国达拉斯(Dallas) 公司的单线数字温度传感器芯片,与传统的热敏电阻不同,DSl8B20 可直接将被测温度转换为串行数字信号,供单片机处理。通过编程,DSl8B20 可以实现9~12 位的温度读数,并可分别在93. 75 ms 和750 ms 内完成9 位和12 位的数字量。其测温范围- 55 ℃~ + 125 ℃,最大分辨率为0. 062 5 ℃,在- 10 ℃~ + 85 ℃范围内其测温准确度为±0. 5 ℃。DS18B20 具有体积小、功耗低、抗干扰能力强、易与微处理器连结等特点,而且它无需任何外围硬件即可方便地进行温度测量,与单片机交换信息仅需要一根I/ O 口线,

1

中北大学分校毕业设计

其读写及温度转换的功率也可来源于数据总线,而无需额外电源。另外,每片DSl8B20 都设有唯一的产品序列号,存放在它的内部ROM中,单片机通过简单的协议就能识别这个序列号。因此,多个DSl8B20 可以挂接于同一条单线总线上,特别适合构成多点温度测控系统。 2. 1 DS18B20 性能特点

(1) 独特的单线接口,仅需1 个I/ O 口引脚即可通信,无需变换其它电路,直接输出被测温度值的数字信号;

(2) 多点(multidrop) 能力使分布式温度检测应用得以简化; (3) 不需要外部元件;

(4) 既可用数据线供电,也可采用外部电源供电; (5) 零待机功耗,不需备份电源;

(6) 测量范围为- 55~ + 125 ℃,固有测温分辨率为0. 5 ℃; (7) 通过编程可实现9~12 位的数字读数方式; (8) 温度数字量转换时间200 ms (典型值) ; (9) 用户可定义非易失性的温度告警设置;

(10) 警告搜索命令能识别和寻址温度在编定的极限之外的器件(温度警告情况);

(11) 应用范围包括恒温控制、工业系统、消费类产品、温度计或任何热敏系统[2 ] 。

2. 2 引脚排列与功能

图1 DS18B20 两种封装管脚图

DS18B20 采用3 脚TO - 92 封装或8 脚SOIC 封装,其外部形状及管脚图如图1 所示。图中①GND 为地, ②DQ 为数据输入/ 输出端,该脚为漏极开路输出,常态下呈高电平, ③可选用的VDD 引脚,不用时应接地。SOIC 封装的NC 为空引脚。 2. 3 DS18B20 温度测量原理

DS18B20 测量温度使用了DALLAS 特有的温度测量技术。DS18B20 内部的低温度系数振荡器能产生稳定的频率信号f0 ,高温度系数振荡器则将被测温度转换成频率信号f 。当计数门打开时,DS18B20 对f0 计数,计数门开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性予以补偿。测量结果暂存于温度寄存器中,用单片机可以方便地将其读出来[3 ] 。 2. 4 运用———告警信号

在DSl8B20 完成温度变换之后,温度值与储存在TH 和TL 内的告警触发值进行比较。由于是8 位寄存器,所以9~12位在比较时忽略。TH 或TL 的最高位直接对应于16 位温度寄存器的符号位。如果温度测量的结果高于TH 或低于TL ,那

2

中北大学分校毕业设计

么器件内告警标志将置位,每次温度测量都会更新此标志。只要告警标志置位,DSl8B20 就将响应告警搜索命令,这也就允许单线上多个DSl8B20 同时进行温度测量,即使某处温度越限,也可以识别出正在告警的器件[1 ] 。 2. 5 单总线(single - bus) 技术

目前,微机和外设之间数据传输的串行总线常用的有I2C 总线、SPI 总线等。其中, I2C 总线采用同步串行两线(一根时钟线、一根数据线) 方式,而SPI 总线采用同步串行三线(一根时钟线、一根输入线、一根数据输出线) 方式。美国达拉斯半导体公司推出了一项特有的单线(single - bus) 技术。该技术与上述总线不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的。这种单线技术具有线路简单、便于扩展的优点。单线技术适用于单主机系统,单主机能够控制一个或多个从机设备,它们之间的数据交换、控制都由这根线来完成。主机和从机之间的通信主要分为3 个步骤:初始化单线器件、识别单线器件和单线数据传输。由于只有一根线通信,所以它们必须是严格的主从结构,只有主机呼叫从机时,从机才能应答,主机访问每个单线器件必须严格遵循单线命令序列,如果命令序列混乱,单线器件将不会响应主机[1 ] 。

3 数字温度计硬件电路设计

3. 1 系统硬件组成

基于DS18B20 构成的单总线数字温度计主要由单总线数字温度传感器DS18B20、单片机AT89S52、显示模块和电源模块等4 部分组成,该测温系统的主要技术指标为:测量范围/ ℃: - 55. 0~ + 125. 0测量精度/ ℃:0. 5、0. 25、0. 125 和0. 062 5 (四档可通过软件设定寄存器改变)反应时间/ s : ≤1. 5

该系统采用的是美国DALLAS 公司的单线数字温度传感器DS18B20 作为温度传感器,ATMEL 公司的单片机AT89S52作为处理器,配以四位共阳数码管或LCD1602 液晶显示模块和发光二极管作为温度控制输出单元。整个系统力求结构紧凑,功能完善。系统工作原理如下:DS18B20 进行现场温度测量后将测量数据送入AT89S52 的P1. 0 口;经单片机处理后显示温度值,并与设定的报警温度上限值比较。若高于设定上限值,发光二极管闪烁,蜂鸣器报警。系统主要电路图。

3. 2 DS18B20 与单片机接口的设计

DS18B20 与单片机的硬件连接有两种方法:一是Vcc 接外部电源,GND 接地,I/ O 与单片机的I/ O 线相连;二是用寄生电

源供电,此时UDD 和GND 接地,I/ O 接单片机I/ O。无论是哪种供电方式,I/ O 口线都要接4. 7kΩ左右的上拉电阻。图4 给 出了DS18B20 与微处理器的典型连接。图4 (a) 中,DS18B20 采用寄生电源方式,其VDD 和GNG端均接地,图4 ( b) 中,

DS18B20 采用外接电源方式,其VDD 端用3~5. 5V 电源供电。本系统采用图4 (b) 所示接线方式,即外接电源工作方式。

(a) 寄生电源工作方式 (b) 外接电源工作方式 图4 DS18B2 与微处理器的两种接口连接

3

中北大学分校毕业设计

4 软件设计

DSl8B20 是单线器件,要在一根数据线上实现数据的双向传输,需要一定的协议来实现读写数据的严格时序要求。而AT89S52 单片机并不支持单总线传输,必须采用软件的方法来模拟单线的协议时序。 4. 1 DSl8B20 的单线协议和命令

主机操作单线器件DSl8B20 遵循下面的顺序:初始化,主机通过拉低单线480μs 以上,产生复位脉冲,然后释放该线,进入Rx 接收模式。主机释放总线时,会产生一个上升沿。单线器件DSl8B20 检测到该上升沿后,延时15~60μs ,通过拉低总线60~240μs 来产生应答脉冲。主机接收到从机的应答脉冲后,说明有单线器件在线。ROM操作命令:一旦总线主机检测到应答脉冲,便可以发起ROM操作命令。

内存操作命令:在成功执行了ROM操作命令之后,才可以使用内存操作命令。 数据处理:DSl8B20 有严格的时序来保证数据的完整性。在单线DQ 上,存在复位

4

中北大学分校毕业设计

脉冲、应答各脉冲、写“0”、写“l”、读 “0”和读“1”几种信号类型[1 ] 。 4. 2 程序流程

单片机实现温度转换读取温度数值程序的流程所示。

单片机数字温度计充分利用了DS18B20 和AT89S52 硬件结构的简洁性,使用8 段数码管显示,价格低廉且应用广泛。根据实际需要,还可以用LCD 作为显示器件,也可以构成分布式温度测控系统。该设计扩展方便,但硬件结构上的简单是以牺牲软件为代价的,编程时应特别注意DS18B20 工作时序的要求。 参考文献: [1 ] 张 越,张 炎,赵延军. 基于DS18B20 温度传感器的数字温度计[J ] . 微电子学,2007 , (5) :709 - 711.

[2 ] 陶 冶,袁永超,罗 平. 基于DS18B20 的单片机温度测量系统[J ] . 农机化研究,2007 , (10) :160 - 164.

[3 ] 徐华英,徐秋华,赵 莉,等. 用DS18B20 和单片机构成的最小测温系统[J ] . 测量与控制,2003 , (6) :61. 63

5


基于DS18B20的单总线数字温度计.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大连理工大学数字信号处理实验实验三——IIR滤波器的设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: