基于DS18B20的温度测量系统设计
基于DS18B20的低功耗温度测量系统设计

作 者 简 介 : 莉( 92~) 女 , 津 市人 , 津 城 市 职 业 学 院机 电 与信 息 工程 系讲 师 , 于 18 , 天 天 主要 从 事 高职 机 电 应 用
电子 专业 教 学和 研 究 工 作 ; 师建 军( 93一) 男 , 西 省人 , 津 城 市 职ห้องสมุดไป่ตู้业 学 院机 电 与信 息 工 程 系 18 , 山 天 助教 , 主要 从 事应 用 电子 技 术 专 业 教 学 工 作 ; 文玲 (9 1 , , 津 市 人 , 津城 市 职 业 学 院 路 1 7 一)女 天 天 机 电与 信 息 工 程 系副 教授 , 要 从 事 应 用 电子技 术 专 业教 学 工作 。 主
度 传感器 直接 输 出的就是 温度 的数字 量 。主 控芯 片 采用 T 公 司 的低 功 耗 MS 4 0 1 3单 片机 , I P 3F 2 只 需 要 3 6 供 电 。二者 构成 的低 功 耗 测 温 系统 结 构 简 单 、 差 率低 、 .V 误 功耗 低 、 干 扰能 力 强 、 展 性 抗 扩 好, 可应 用于环 境控 制和生 产过程 监控 等领域 。
目前 , 测量温 度有 多种方 法 , 采用 热 电偶 或者热 电阻测量 。这 两种方 法被测 温度 信号从 敏感 元 如
件接 收 的非 电模 拟量 开始 , 到转换 为微 处理 器 可处 理 的数 字信 号 之 间 , 计 者须 考 虑 的 线路 环 节 较 设
多, 相应测 温装 置 中元器件数 量难 以下 降 , 随之影 响产 品 的可 靠性 以及 体积 的微小 化 o ] 两种 方 式 D这 存 在着故 障率 高 、 干扰能力 差 、 抗 调试 困难 的缺点 。 本文设 计 的温度 测量 系统 , 用美 国 Da a 公 司推 出的一 总线 数 字温 度 传 感 器 D 1B 0 该 温 采 ls l S8 2 ,
基于DS18B20的温湿度采集系统设计

文章编号:1 一 10 钾 (D )3 00 一I (8 21 c — 14 ( OI 2
1 引言
在 目前的各种温湿度采集系统中 , 多点温湿度采集是其
D1 ̄) S I 可采用外接 电源或寄生供 电方式 。寄生供 电方 8
式是 1 一wr 总线器件从 数据线获得 电能 , 可 以省去 电 e 这样
超强抗干扰、 高速 、 低功耗的单片机 。其指令代码完全兼容传
片。电源供 电范围 30 55 。温 度测量范 围为 一 5 + .— . V 5℃ 1  ̄。在 一l ~ 5 围内, 2C 5 0 8℃范 ℃ 测量精度为 ± . 分辨率为 0 ℃, 5
程控可调的 05 ~ . 2℃。具有独特的 1 i .℃ 00 5 6 一W r e总线接 口,
收稿 日 :1— 4 0 期 2 0 0—1 0
流为 3 I 采用半双工通讯方式。它具有转换 1 L电平 和 0 , 0 T
基金项 目: 南京工业职业技 术学院院级基金 资助项 目 RD 在手持 式粮库粮情测控管理仪 中的应 用”编号 :oY 0 一 一5 “ IS , N .K8 1。
ห้องสมุดไป่ตู้
源线 , 用两根 导线 实现供 电和数据 传输 。由于每 个 1 i 一Wr e 总线器件有唯一 的 6 位序列号作为标识( 4 地址)主机可搜索 , 连接到该总线上的所有器 件 , 总线上的每一个器件进行访 对 问和控制 。该传 感器直接 将被测 量 的温度 转换为数字 量并 进行存储 , 接收到主机 的“ 指令后 , 读” 以串行方式输 出温度数 据。与传统的热电偶 、 电阻等模拟量传感器相比 , 以省 热敏 可 去通道切换 、 信号放大 、/ A D转换等 , 系统结构更加简单 , 使 性
基于DS18B20的温度采集显示系统的设计

目录1.引言 (1)1.1绪论 (1)1.2课程设计任务书 (1)2.设计方案 (3)3.硬件设计方案 (3)3.1最小系统地设计 (3)3.2LED发光报警电路 (5)3.3DS18B20地简介及在本次设计中地应用 (5)3.3.1 DS18B20地外部结构及管脚排列 (5)3.3.2 DS18B20地工作原理 (6)3.3.3 DS18B20地主要特性 (7)3.3.4 DS18B20地测温流程 (8)3.3.5 DS18B20与单片机地连接 (8)3.4报警温度地设置 (8)3.5数码管显示 (9)3.5.1数码管工作原理 (9)3.5.2数码管显示电路 (10)3.6硬件电路总体设计 (11)4.软件设计方案 (12)4.1主程序介绍 (12)4.1.1主程序流程图 (12)4.1.2主流程地C语言程序 (13)4.2部分子程序 (17)4.2.1 DS18B20复位子程序 (17)4.2.2 写DS18B20命令子程序 (18)4.2.3读温度子程序 (20)4.2.4计算温度子程序 (22)4.2.5显示扫描过程子程序 (23)5.基于DS18B20地温度采集显示系统地调试 (25)6.收获和体会 (27)7.参考文献 (27)1.引言1.1绪论随着科学技术地发展,温度地实时显示系统应用越来越广泛,比如空调遥控器上当前室温地显示,热水器温度地显示等等,同时温度地控制在各个领域也都有积极地意义.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.本文介绍了基于DS18B20地温度实时采集与显示系统地设计与实现.设计中选取单片机AT89C51作为系统控制中心,数字温度传感器DS18B20作为单片机外部信号源,实现温度地实时采集.并且用精度较好地数码管作为温度地实时显示模块.利用单片机程序来完成对DS18B20与AT89C51地控制,最终实现温度地实时采集与显示.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.1.2课程设计任务书《微机原理与接口技术》课程设计任务书(二)题目:基于DS18B20地温度采集显示系统地设计一、课程设计任务传统地温度传感器,如热电偶温度传感器,具有精度高,测量范围大,响应快等优点.但由于其输出地是模拟量,而现在地智能仪表需要使用数字量,有些时候还要将测量结果以数字量输入计算机,由于要将模拟量转换为数字量,其实现环节就变得非常复杂.硬件上需要模拟开关、恒流源、D/A转换器,放大器等,结构庞大,安装困难,造价昂贵.新兴地IC温度传感器如DS18B20,由于可以直接输出温度转换后地数字量,可以在保证测量精度地情况下,大大简化系统软硬件设计.这种传感器地测温范围有一定限制(大多在-50℃~120℃),多适用于环境温度地测量.DS18B20可以在一根数据线上挂接多个传感器,只需要三根线就可以实现远距离多点温度测量.本课题要求设计一基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块(可用数码管或液晶显示)和键盘输入模块及报警模块.所设计地系统可以从键盘输入设定温度值,当所采集地温度高于设定温度时,进行报警,同时能实时显示温度值.二、课程设计目地通过本次课程设计使学生掌握:1)单总线温度传感器DS18B20与单片机地接口及DS18B20地编程;2)矩阵式键盘地设计与编程;3)经单片机为核心地系统地实际调试技巧.从而提高学生对微机实时控制系统地设计和调试能力.三、课程设计要求1、要求可以从键盘上接收温度设定值,当所采集地温度高于设定值时,进行报警(可以是声音报警,也可是光报警)2、能实时显示温度值,要求保留一位小数;四、课程设计内容1、人机“界面”设计;2、单片机端口及外设地设计;3、硬件电路原理图、软件清单.五、课程设计报告要求报告中提供如下内容:1、目录2、正文(1)课程设计任务书;(2)总体设计方案(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序地名称及其功能);(6)调试、运行及其结果;3、收获、体会4、参考文献六、课程设计进度安排七、课程设计考核办法本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%.2.设计方案本次地课题设计要求是基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块和键盘输入模块及报警模块.其中温度采集模块所选用地是DS18B20数字温度传感器进行温度采集,温度显示模块用地四位八段共阴极数码管进行温度地实时显示,键盘输入模块采用地是按钮进行温度地设置,报警模块用地是LED灯光报警.具体方案见图2-1.图2-1 总体设计方案3.硬件设计方案3.1最小系统地设计本次设计单片机采用地是AT89C51系列地,它由一个8位中央处理器(CPU),4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个串行I/O口及中断系统等部分组成.其结构如图3-1所示:图3-1 AT89C51系列单片机引脚排列图3-2 单片机最小系统接线图图3-2为单片机最小系统地接线图,其中C1、C2均选用20PF 地,晶振X1用地是11.0592MHZXTAL1XTAL2 RST EA地.晶振电路中外接电容C1,C2地作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率地作用,一般选用10~30pF地瓷片电容.并且电容离晶振越近越好,晶振离单片机越近越好.晶振地取值范围一般为0~24MHz,常用地晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz 等.晶振地振荡频率直接影响单片机地处理速度,频率越大处理速度越快.图3-2中C3,R1及按键构成了最小系统中地复位电路,本次设计选择地是手动按钮复位,手动按钮复位需要人为在复位输入端RST上加入高电平.一般采用地办法是在RST端和正电源Vcc之间接一个按钮.当人为按下按钮时,则Vcc地+5V电平就会直接加到RST端.由于人地动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位地时间要求.在单片机最小系统中还要将EA地非接高电平,如图3-2也有体现出来.3.2 LED发光报警电路P1.7图3-3 LED发光报警电路图3-3为LED报警电路地接法,其中一根线接单片机地8号P1.7口,另外一根接地.当温度超过预设温度值时LED灯被接通发光报警.3.3 DS18B20地简介及在本次设计中地应用3.3.1 DS18B20地外部结构及管脚排列DS18B20地管脚排列如图3-4所示:DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)图3-4 DS18B20地引脚排列及封装3.3.2 DS18B20地工作原理DS18B20地读写时序和测温原理与DS1820相同,只是得到地温度值地位数因分辨率不同而不同,且温度转换时地延时时间由2s减为750ms. DS18B20测温原理如图3-5所示.图中低温度系数晶振地振荡频率受温度影响很小,用于产生固定频率地脉冲信号送给计数器1.高温度系数晶振随温度变化其振荡率明显改变,所产生地信号作为计数器2地脉冲输入.计数器1和温度寄存器被预置在-55℃所对应地一个基数值.计数器1对低温度系数晶振产生地脉冲信号进行减法计数,当计数器1地预置值减到0时,温度寄存器地值将加1,计数器1地预置将重新被装入,计数器1重新开始对低温度系数晶振产生地脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值地累加,此时温度寄存器中地数值即为所测温度.图中地斜率累加器用于补偿和修正测温过程中地非线性,其输出用于修正计数器1地预置值.图3-5 DS18B20测温原理图3.3.3 DS18B20地主要特性(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电;(2)独特地单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20地双向通讯;(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一地三线上,实现组网多点测温;(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管地集成电路内;(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;(6)可编程地分辨率为9~12位,对应地可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强地抗干扰纠错能力;(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作.3.3.4 DS18B20地测温流程图3-6 DS18B20地测温流程图3.3.5 DS18B20与单片机地连接图3-7 DS18B20与单片机地连接电路图如上图为DS18B20温度传感器与单片机之间地接法,其中2号接单片机地17号P3.7接口.DS18B20通过P3.7口将采集到地温度实时送入单片机中.3.4 报警温度地设置P2.5 P2.6 P2.7P3.7图3-8 报警温度地设置电路图3-8为报警温度地设置电路,其中K1,K2,K3分别接到单片机地P2.5,P2.6,P2.7口.其中K1用于报警温度设定开关,K2用于报警温度地设置时候地加温度(每次加一),K3用于报警温度地设置时地减温度(每次减一).实现了报警温度地手动设置.3.5 数码管显示3.5.1数码管工作原理图3-9 数码管地引脚排列及结构图3-9为数码管地外形及引脚排列和两种接法(共阴极和共阳极)地结构图.共阳极数码管地8个发光二极管地阳极(二极管正端)连接在一起.通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为低电平时,则该端所连接地字段导通并点亮.根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能吸收额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.共阴极数码管地8个发光二极管地阴极(二极管负端)连接在一起.通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为高电平时,则该端所连接地字段导通并点亮,根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能提供额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.要使数码管显示出相应地数字或字符,必须使段数据口输出相应地字形编码.字型码各位定义为:数据线D0与a字段对应,D1与b字段对应……,依此类推.如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮.如要显示“0”,共阳极数码管地字型编码应为:11000000B(即C0H);共阴极数码管地字型编码应为:00111111B(即3FH).依此类推,可求得数码管字形编码如表3-5所示.表3-5数码管字符表显示地具体实施是通过编程将需要显示地字型码存放在程序存储器地固定区域中,构成显示字型码表.当要显示某字符时,通过查表指令获取该字符所对应地字型码.3.5.2数码管显示电路图3-10 四位八段数码管动态显示电路图3-10为本次设计所用到地四位八段数码管动态显示,其中段选接到单片机地P0口,位选接到单片机地P2口地低四位.其中P0口也接地有上拉电阻,图中未标示出来,会在下面地总体电路中标示出来.采用地是动态显示方式.3.6 硬件电路总体设计图3-11为本次设计地硬件总体设计图,其中利用K1,K2,K3处进行报警温度地设置,然后有DS18B20进行实时温度采集,并在数码管上同步显示,若采集到地温度达到或者超过预设地报警温度,则LED 灯会发光报警,若低于该报警温度,则不会报警.P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1P2.2 P2.3图3-11 硬件电路总体设计图4.软件设计方案4.1主程序介绍4.1.1主程序流程图本次设计首先对程序进行初始化,然后打开报警温度设定开关,对报警温度进行设定,确认设定值后,DS18B20温度传感器进行温度采集并送入单片机中,单片机将传感器所检测到地温度同步显示在数码管上,并且与设置地报警温度进行比较,若达到或者超过报警温度时,LED灯发光报警,如果没有达到,则继续进行温度采集.图4-1主程序流程图4.1.2主流程地C语言程序main (){ALERT=0。
基于AT89C51DS18B20的数字温度计设计

基于AT89C51DS18B20的数字温度计设计一、本文概述Overview of this article本文旨在探讨基于AT89C51微控制器和DS18B20数字温度传感器的数字温度计设计。
我们将详细介绍如何利用这两种核心组件,结合适当的硬件电路设计和软件编程,实现一个能够准确测量和显示温度的数字温度计。
This article aims to explore the design of a digital thermometer based on AT89C51 microcontroller and DS18B20 digital temperature sensor. We will provide a detailed introduction on how to utilize these two core components, combined with appropriate hardware circuit design and software programming, to achieve a digital thermometer that can accurately measure and display temperature.我们将对AT89C51微控制器和DS18B20数字温度传感器进行简要介绍,包括它们的工作原理、主要特性和适用场景。
然后,我们将详细阐述硬件电路的设计,包括微控制器与温度传感器的连接方式、电源电路、显示电路等。
We will provide a brief introduction to the AT89C51 microcontroller and DS18B20 digital temperature sensor, including their working principles, main characteristics, and applicable scenarios. Then, we will elaborate on the hardware circuit design, including the connection method between the microcontroller and temperature sensor, power circuit, display circuit, etc.在软件编程方面,我们将介绍如何使用C语言对AT89C51微控制器进行编程,实现温度数据的读取、处理和显示。
基于DSPTMS320F2812和DS18B20的温度测量系统设计

基于DSP TMS320F2812和DS18B20的温度测量系统设计摘要:本文介绍了一种基于TI公司DSP TMS320F2812 的高精度温度测量系统的设计。
该系统采用TMS320F2812为微处理器,配合高精度DS18B20数字温度传感器和外部扩展的模数转换器采集温度数据,并经过滤波算法处理控制输出,能够得到比较精确的温度值。
主要介绍了系统的结构、工作原理、软硬件的设计,并对系统设计的特点进行了详细的说明。
关键词: TMS320F2812;DS18B20;温度测量;模数转换1 概述温度在航空、航天领域中是个重要的物理量,由于温度变化对设备可能产生影响,包括降低系统的成像质量,影响分辨率,因此,在这些系统中对温度的实时采集测量十分重要。
以传统的单片机为核心的温度测量控制系统,由于受到处理器自身硬件资源和速度的限制,硬件电路设计复杂,数据实时处理能力差,温度测量时间长。
而随着计算机技术尤其是招超大规模集成电路技术的发展,具有更强处理能力的DSP芯片,以其运算速度快、实时性强、功耗低、抗干扰能力强等特点,越来越多地被应用。
采用了DS18B20数字温度传感器、外部扩展ADC模数转换器,使用内部集成外设功能的DSP TMS320F2812 微处理器作为整个系统的核心控制单元,简化了硬件电路设计;在温度采集控制软件上采用“通道滤波”温度采集控制算法,使得温度采集具有速度快、精度高的特点。
2 系统方案设计温度测量系统设计以DSP TMS320F2812为中央处理器为核心,采用DS18B20型号数字温度传感器为温度传感器,使用AD7892型号的ADC模数转换器进行A/D 转换,并将采集结果代入温度曲线方程计算出当前温度值,并且将温度值通过通信系统发送到上位机。
高精度温度测量控制系统由两大部分组成,第1部分为以DSP TMS320F2812为核心处理器的数据采集及处理部分,主要由产品温度环境、温度传感器、ADC模数转换器、DSP TMS320F2812、电源构成;第2部分由温度采集处理软件构成,完成对DSP采集到的数据进行分析、处理等任务。
基于DS18B20的多路温度检测系统设计

i to u e e i n wh c a e tt m p r t r s o i e e t p i t , W ih d g tlt mp r t r e s rD S 8 0 n r d c sa d sg i h c n t s e e a u e fd f r n o n s t i i e e au e s n o 1 B2 a a he t m p r t r e s r m e t d v c s st e e a u e m a u e n e i e ,wih AT8 C5]a o t o n t fm u t—p i e t 9 s c n r l u i o li o ntt mpe a u e c n b s rt r a e d t c e n o to y t m , n i e h y t m a d r ic i a d s fwa e f w h r . n t e s s m ,d t e e t d a d c n r ls se a d g v s t e s se h r wa e cr u t n o t r o c a t I h y t l e aa
术和通信 网络的发展[ . J 电讯技术, 1 . 】 2 0 0
陈小芳. 于泰克R A 基 s 的分析评估和优化R I FD
系统 [. 测试, 0 () J电子 】 2 76. 0
10 1010 1010 0 001 0010 ,为 1110 1010 100 0 11 1 0 0 0
价格便宜,具有很高的性价 比,可 以定时循环检 测和通过 L D 62 C 10 显示 多路 的温 度,因此 选择
LCD1 0 6 2。
23 串 口通 讯 电路 设 计 .
A 8C 1 T 9 5 有一个全双工的串行通讯口,所以
基于DS18B20的单片机温度检测与调节系统设计

ajs betm ea r ,hg rc i ,es o t l n p l ai , t a e c adrg l ee v dut l e p rt e i peio a u h s n ayc nr dapi t n icnd t t n ua ni oa c o e e t —
as a e a p i ae o e r y a i g g e n o s n o c lu e p o u t n. lo c n b p lc t d t ne g -s vn r e h u e a d f r u t r r d c i li o Ke r s: DS1 y wo d 8B2 0; t mp r t e dee to e e aur t cin; t mp r t r e u a in; sn l c i e eaue rg lt o i ge— h p
的设计 方法 ¨ 。 J
D 1B 0 供 电 的 数 据 总 线 。 所 以 系 统 选 用 B8 2 D 1B 0作 为 温 度 传 感 器 可 大 大 简 化 系 统 硬 件 结 S8 2
周 秀明 ,曹 隽 ,张春龙
( 黑龙 江生 态工程 职 业 学院 ,黑龙 江 哈 尔滨 102 ) 50 5
摘 要 :文章介绍 了一 种基于 D 1 B 0的单 片机温度检测 调节系统 的设计 方法 。该温度 检测调节 系统具有 测 S8 2
温范围宽 、精 度高 、控 制简单 、实用 ,能对环境温度进行实 时检 测与调节等优点 ,适用 于一般的工农业 场合 , 也可应用于节能温室花卉生产 。 关键词 :D 1 B 0 S 8 2 ;温度检测 ;温度调 节 ;单 片机
位 ,5 ms2位 的数字 量 , 且 一根 口线 就可 以完 成 70 1 并 对 从 D 1 B 0读 出 的信 息 或 写 入 D 1 B 0的信 息 S82 S8 2 进 行 读 取 , 温 度 变 换 功 率 来 源 于 可 同 时 向 其
(完整版)基于DS18B20数字温度传感器的仿真与设计应用

精度是传感器的一个重要的性能指标,它是关系到整个测量系统测量精度的一个重要环节。传感器的精度越高,其价格越昂贵,因此,传感器的精度只要满足整个测量系统的精度要求就可以,不必选得过高。这样就可以在满足同一测量目的的诸多传感器中选择比较便宜和简单的传感器。
如果测量目的是定性分析的,选用重复精度高的传感器即可,不宜选用绝对量值精度高的;如果是为了定量分析,必须获得精确的测量值,就需选用精度等级能满足要求的传感器。对某些特殊使用场合,无法选到合适的传感器,则需自行设计制造传感器。自制传感器的性能应满足使用要求。
本课题的整个系统是由单片机、显示电路、键盘电路、声光报警电路等构成。
3.1温度传感器
3.1.1温度传感器选用细则
现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的问题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。
1.2温度传感器的发展趋势
进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
1.3传感器在温控系统中的应用
目前市场主要存在单点和多点两种温度测量仪表。对于单点温测仪表,主要采用传统的模拟集成温度传感器,其中又以热电阻、热电偶等传感器的测量精度高,测量范围大,而得到了普遍的应用。此种产品测温范围大都在-200℃~800℃之间,分辨率12位,最小分辨温度在0.001~0.01之间。自带LED显示模块,显示4位到16位不等。有的仪表还具有存储功能,可存储几百到几千组数据。该类仪表可很好的满足单个用户单点测量的需要。多点温度测量仪表,相对与单点的测量精度有一定的差距,虽然实现了多路温度的测控,但价格昂贵。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计(论文)题目名称基于DS18B20温度测量系统设计课程名称单片机原理及应用学生姓名尹彬涛学号**********系、专业电子信息工程指导教师江世民2015年 6 月12 日摘要随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术, 本文主要介绍了一个基于STC89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程。
对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。
DS18B20与STC89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。
关键词:单片机; DS18B20; 温度传感器; 数字温度计; STC89C52目录摘要 (1)引言 (3)一、方案介绍 (3)1、显示部分 (3)2、温度采集 (5)3、方案流程图 (5)二、总体方案设计 (6)1、硬件设计 (6)1.1 温度采集设计 (6)1.2温度显示设计 (6)2、软件设计 (7)2.1 DS18B20程序设计 (7)2.2显示部分程序设计 (8)三、实验调试过程 (10)1、软件调试 (10)1.1 显示部分调试........................................ . (10)四、心得体会 (10)五、致谢 (11)六、参考文献 (12)七、附录 (12)附录一程序代码 (12)附录二仿真电路图 (18)引言在日常生活及工农业生产中经常要涉及到温度的检测及控制,传统的测温元件有热点偶,热敏电阻还有一些输出模拟信号得温度传感器,而这些测温元件一般都需要比较多的外部硬件支持。
其硬件电路复杂,软件调试繁琐,制作成本高,阻碍了其使用性。
因此美国DALLAS半导体公司又推出了一款改进型智能温度传感器——DS18B20。
本设计就是用DS18B20数字温度传感器作为测温元件来设计数字温度计。
本设计所介绍的数字温度计与传统温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示。
本设计显示精度为1,只能用于日常生活粗测。
该设计控制器使用单片机STC89C51,测温传感器使用DS18B20,显示器使用液晶显示。
一、方案介绍1、显示部分显示部分是本次设计的重要部分,一般有以下两种方案:方案一:采用LED显示,分静态显示和动态显示。
对于静态显示方式,所需的译码驱动装置很多,引线多而复杂,可靠性也较低。
对于动态显示方式,虽可以避免静态显示的问题,占用单片机IO口少,节约资源,而且接线简单。
方案二:采用LCD显示。
LCD液晶显示具有丰富多样性、灵活性、电路简单、易于控制而且功耗小等优点,对于信息量多的系统,是比较适合的。
鉴于该系统信息量少,我们采用方案一。
2、温度采集由于现在用品追求多样化,多功能化,给系统加上温度测量显示模块,能够方便人们的生活,使该设计具有人性化。
本次实验是设计列车车轴实时温度检测系统,所以我们采用温度传感器DS18B20,用DS18B20测温度就无需外接A/D转换电路,其输出的温度值就是已经经过了A/D转换,已经是数字量了。
DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,且DS18B20测量精度高,精度为0.0625摄氏度,固有的测温分辨率为0.5℃,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。
基于DS18B20的以上优点,我们决定选取DS18B20来测量温度。
3、方案流程图温度传感器DS18B20集成了A/D转换的功能,所以在连接单片机时无需进行A/D转换电路的连接,将采集的温度数据经过DS18B20的处理将温度值输出给单片机,通过单片机的控制输出使数码管显示,倘若实测的温度大于人为设置的温度时,单片机I/O口P3.0输出高电平,使报警系统工作报警。
流程图如图1.3所示:图1.3 流程图二、总体方案设计1、硬件设计1.1 温度采集设计温度传感器采用DSl8820,其是一种单总线智能型温度传感器,只有三线接口,分别为地线(GND)、数据线(DQ)、电源线(VCC)。
DSl8820输出信号为数字信号,处理器与DSl8820通过数据线(DQ)来完成双向通信,因此采用DSl8820使得电路十分简单。
温度变换功率可以来源于外电源,也可以来源于数据总线,总线本身也可以向所挂接的DSl8820供电。
DSl8820的电压范围为+3.0~+5.5 V,测温范围为-55~+125℃,固有的测温分辨率为0.5℃,最高精度可达0.062 5℃,最大的转换时间为200 ms。
一条总线上面可以挂接多个DSl8820实现多点测温。
本实验温度路数只有一路,所以单独使用一个+5V电源对DS18B20供电。
引脚图如图2.1.1(a),元件图如图2.1.1(b):图2.1.1(a)图2.1.1(b)1.2温度显示设计在实验中,我们采用四位一体LED共阴极数码管显示,段选端由单片机P0口控制,之间外接上拉电阻。
理想情况下单片机P0口输出的高电平为+5V,足以使数码管点亮,但在实际接线中,要接一个上拉电阻,这样才能使数码管正常工作。
数码管的位选端与单片机P2口连接,通过程序控制P2口输出高低电平来控制数码管位选。
图2.12(a)、图2.1.2(b)分别为数码管引脚图和实物图:图2.1.1(a)数码管引脚图2.1.2(b)实物图2、软件设计2.1 DS18B20程序设计对于DS18B20的程序编写要特别注意时序问题,如果采用C语言编程,其对时序要求很严,倘若时序错误会导致单片机读不到数据,或是读到的数据都是错误的,更严重就是传感器不工作,无法进行温度采集;汇编语言对时序要求没有那么严格,因为程序运行每一条汇编语句都会有一个机器周期。
下面就是DS18B20各个状态下得时序介绍:1、DS18B20复位初始化时序先通过单片机把DQ电平拉低,即DQ=0,然后通过一个480us到960us的延时,再拉高电平等待15us,当对传感器进行复位操作时,成功了则DS18B20会自动将DQ拉低,此时单片机对DQ温度值进行读取;倘若不成功则DQ一直保持高电平,单片机无法从DS18B20读取温度值。
复位时序如图2.2.1(a)所示:图2.2.1(a)DS18B20复位初始化时序图2、写DS18B20温度时序写周期一开始做为主机先把总线拉低1微秒表示写周期开始。
随后若主机想写0,则继续拉低电平最少60微秒直至写周期结束,然后释放总线为高电平。
若主机想写1,在一开始拉低总线电平1微秒后就释放总线为高电平,一直到写周期结束。
而做为从机的DS18B20则在检测到总线被拉低等待15微秒然后从15us到45us开始对总线采样,在采样期内总线为高电平则为1,若采样期内总线为低电平则为0。
温度写时序如图2.2.1(b):图2.2.1(b)写DS18B20温度时序图3、读DS18B20温度时序先将DQ电平拉低,然后单片机再将DQ电平拉高,如果DQ的数据是“1”时,则单片机在采样时就会采到一个高电平;如果在DQ的数据变成了“0”,则说明DS18b20自动将电平拉低,单片机采样时就会得到一个低电平。
温度读时序如图2.2.1(c):图2.2.1(c)读DS18B20温度时序图2.2显示部分程序设计显示有静态显示和动态显示,两者区别在于静态显示接线多,用到的IO口多,所以对单片机资源浪费大,但是其编程简单;动态显示接线少,占用的IO口少,资源利用充分,但是其编程比较复杂。
本实验采用动态显示,采用四位一体共阴极数码管,段选端用P0口控制,位选端用P2口控制,显示图如图2.2.2(a)所示图2.2.2(a)显示图因此,整个的程序流程图如图2.2.2 (b),单片机上电,进行单片机初始化,之后进行DS18b20的初始化,将原有的温度擦除。
初始化完成后,当总线接收到从高电平到低电平的脉冲时,则温度传感器进行写操作,将温度值写入。
温度数据转换完成后,单片机P1口将温度值读入单片机中,经过程序处理显示到数码管上。
在单片机进行数据处理时,倘若实际温度大于设定温度时,触发报警电路工作,产生报警,如果温度正常则报警电路不工作。
图2.2.2(b)程序流程图三、实验调试过程1、软件调试1.1 显示部分调试为了减少错误的发生,我们采用了分步调试,首先直接将一位数码管接地选通,然后通过单片机控制显示;如果没有错误,再进行两位显示,在两位显示之前要将数据进行处理,取出十位,个位,如此依次将三位温度值显示出来。
但是在显示过程中我们发现显示的数据一直在闪烁,不是静止的,我们试着把延时时间延长,但是任然不起作用,没有任何变化。
经过多番努力,江老师一语惊醒梦中人,我们在将P2口置了数选通数码管之后,下一个数据在选通数码管时没有重新将P2口初始化即还原(MOV P2, #0FFH)。
程序如下:MOV A, 32HMOV DPTR, #SGTB1MOVC A,@A+DPTRMOV P2, #0FFH ;P2口复位MOV P0,A ;显示温度"个位"值MOV P2, #0FDH ;位选LCALL DELAY有了P2口的复位这条程序,显示的闪烁问题就解决了,数据显示变得稳定。
四、心得体会在第十周星期五上午刚考完,江老师就过来布置课设任务,讲了很多很多,当时听完也很有兴趣,应为在实验室是个能出成就的地方,每当你取得一点点的成功,你都会感觉很充实,就会觉得这一天没有虚度,学到了东西。
下午,大家网上选题,什么事都讲究效率,我们还在睡午觉,二班的同学就在选题了,看到那个题目我都晕了,不知道从何处下手,纠结啊,硬着头皮选了个挑战性的题目。
搞得星期六上课都在想到底要怎么开始,自己什么都不懂,什么东西都得从开始学起,所以星期天开始从基础开始学。
基础就得从一些基础软件开始,起初我对画电路图用什么软件,编程用什么软件,程序,仿真用哪种软件以及如何烧单片机程序一无所知。
所以星期天慢慢的熟悉一下这些软件的基本操作,这个过程很痛苦,什么东西都不懂要去问别人是件很痛苦的事情。
经过一天的熟悉之后,我们弄了一个最简单的汇编语句,想让数码管显示一个“5”,体验一下整个过程到底是怎么样的,经过一番折腾终于出来了,当时很高兴,慢慢的对自己的题目如何开展有了信心了。