数字显示温度计的设计与研究论文.doc_第1页
数字显示温度计的设计与研究论文.doc_第2页
数字显示温度计的设计与研究论文.doc_第3页
数字显示温度计的设计与研究论文.doc_第4页
数字显示温度计的设计与研究论文.doc_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

摘要 温度是一种最基本的环境参数 人们生活与环境温度息息相关 日常生活以及工 业生产过程中都时常需要测量温度 因此研究温度测量的方法和控制有重要的意义 本文介绍了一种以单片机为主要控制器件 以 DS18B20 为温度传感器的一台数 字显示温度计 它主要包括硬件电路的设计和系统程序的设计 硬件电路主要包括主 控制器 测温控制电路和显示电路等 主控制器采用单片机 AT89S51 温度传感器则 采用美国 DALLAS 半导体公司成产的 DS18B20 显示电路采用 8 位共阴极 LED 数码管 ULN2803A 为驱动的动态扫描直读显示 测温控制电路由温度计传感器和预置温度值比 较报警电路组成 当实际测量温度值大于预置温度值时 发出报警信号 系统程序主 要包括主程序 测温子程序和显示子程序等 DS18B20 新型单总线数字温度传感器是 DALLAS 公司生产的单线数字温度传感器 集温度测量和 A D 转换于一体 直接输出数 字量 具有接口简单 精度高 抗干扰能力强 工作稳定可靠等特点 由于采用了智能温度传感器 DS18B20 作为检测元件 与传统的温度计相比 本数 字温度计减少了外部的硬件电路 具有低成本和易使用的特点 DS18B20 温度计还可 以在高温报警 远距离多点测温控制等方面进行应用开发 具有很好的发展前景 关键词 单片机 温度检测 AT89S51 DS18B20 显示电路 Abstract Temperature is one of the most basic environmental parameters and environmental temperature is closely related to people s life daily life and industrial production process are often need to measure temperature therefore the research on the temperature measurement and control has important significance This paper introduces a microcontroller as the main control device based on DS18B20temperature sensor a digital display thermometer It mainly includes the hardware circuit design and system design procedures the hardware electric circuit mainly comprises a main controller temperature control circuit and display circuit The main controller chip AT89S51 the temperature sensor is used in the United States of America DALLAS semiconductor company into production DS18B20 display circuit uses8 common cathode LED digital tube ULN2803A is driven by the dynamic scanning of direct reading Temperature control circuit composed of a thermometer sensor and a preset temperature value alarm circuit When the measured temperature value is larger than the preset temperature value send out alarm signal System program including the main program testing Wen Zi program and display subroutine and so on DS18B20new kind of single bus digital temperature sensor is the production company DALLAS digital temperature sensor temperature measurement and A D conversion in one Direct digital output has a simple interface high precision strong anti interference ability stable and reliable working characteristics Due to the adoption of the intelligent temperature sensor DS18B20as a detecting element compared with the traditional thermometer digital thermometer the decrease of the external hardware circuit with low cost and easy to use features DS18B20thermometer can also be in high temperature alarm remote multipoint temperature measurement and control and other aspects of application development has the very good development prospect Keywords microcontroller temperature detection AT89S51 DS18B20 目录 第 1 章 引言 1 1 1 本文研究的背景目的和意义 1 1 2 国外研究状况 1 1 3 国内研究状况 2 1 4 本文研究主要内容 2 第 2 章 设计内容及性能指标 4 2 1 温度检测技术介绍 4 第 3 章 系统方案论证与比较 6 第 4 章 系统器件选择 7 4 1 单片机的选择 7 4 2 温度传感器的选择 9 4 2 1 DS18B20 简介 9 4 2 2 DS18B20 使用中的注意事项 10 4 2 3 DS18B20 内部结构 11 4 2 4 DS18B20 测温原理 12 4 2 5 提高 DS18B20 测温精度的途径 13 4 3 显示及报警模块器件选择 14 第 5 章 硬件设计电路 15 5 1 主控制器 15 5 2 显示电路 15 5 2 1 并行译码显示方式 15 5 2 2 串行译码显示方式 16 5 3 温度检测电路 16 5 4 温度报警电路 19 第 6 章 软件设计 21 6 1 概述 21 6 2 主程序模块 21 6 3 各模块流程设计 22 6 3 1 温度检测流程 23 6 3 2 报警模块流程 24 6 3 3 中断设定流程 24 第 7 章 总结和体会 25 参考文献 26 致谢 27 附录 28 1 数字显示温度计的设计与研究 第 1 章 引言 1 1 本文研究的背景目的和意义 随着人们生活水平的不断提高 单片机无疑成为人们追求的目标之一 他给人们 带来的方便是不可否定的 其中数字温度计就是一个典型的例子 但人们对他的要求 越来越高 要是现代人工作 科研生活显得更好的更方便的设备需要从单片机技术入 手 一切向着数字化发展 智能化控制为目标 通过课程设计是我进一步熟悉了单片机的内部结构和工作原理 掌握了单片机应 用系统设计的基本方法和步骤 通过学习 MCS 51 单片机 了解单片机在自动化装置 中的作用以及掌握单片机的编程和调试方法 通过一个简单的实际输入控制以及显示 系统 掌握 protel 和 keil 软件的使用 随着单片机技术的不断发展 单片机在日用电子产品中的应用越来越广泛 温度 传感器 DS1620 具有线性优良 性能稳定 灵敏度高 抗干扰能力强 使用方便等 广泛应用于冰箱 空调 粮仓等日常用生活中温度的测量和控制 1 2 国外研究状况 最早的温度计是在 1593 年由意大利科学家伽利略 1564 1642 发明的 后来又 相继出现华氏温度计 列式温度计 摄氏温度计 均用水银和酒精等制作 现在英 美国家多用华氏温度计 德国多用列氏温度计 而世界科技界和工农业生产中 以及 我国 法国等大多数国家则多用摄氏温度计 随着科学技术的发展和现代工业技术的 需要 测温技术也在不断地改进和提高 由于测温范围变得越来越广 根据不同的要 求 又制造出不同需要的测温仪器 气体温度计 电阻温度计 温差电偶温度计 高 温温度计等 而我需要研究的是数字温度计 它是通过一定的电路和温度传感器进行 测控 将温度用数字准确的显示出来 数据显示比较直观而且测量精度也比较高 范 围也比较大 2 1 3 国内研究状况 随着国内外工艺的日益发展 温度检测技术也不断的进步 目前的温度检测使用 的温度计种类繁多 应用范围也较广泛 大致包括一些几种方法 利用物体热胀冷缩原理制成的温度计 包括玻璃温度计 双金属温度计 压力温 度计等 2 利用热电效应技术制成的温度检测元件 利用此项技术制成的温度检测元件主要是热电偶 热电偶发展较早 比较成熟 至今仍未应用最广泛的检测元件 热电偶具有结构简单 制作方便 测量范围宽 精 度高 热惯性小等特点 常用热电偶镍铬 镍硅 镍铬 康铜 铂铑 铂 铂锗 30 铂锗 6 等 3 利用热阻效应制成的温度计 可分为电阻测温元件 导体测温元件 陶瓷热敏测温元件 4 利用热幅原理制成的高温计 辐射测温在近年相对其他的测温领域显得活跃些 热辐射高温计通常分为两种 一种是单色辐射高温计 一般称为光学高温计 另一种是全辐射高温计 它的原理是 物体受热辐射后 视物体本身的性质 能将其吸收 透过或反射 而受热物体放出 的辐射能的多少 与他的温度有一定的关系 热辐射式高温计就是根据这种热辐射原 理制成的 5 利用声学原理进行温度测量 声学法温度检测技术是近年来发展起来的一项新技术 利用该技术 可以对炉内 的烟气温度测量值和火焰分布进行检测 判断炉的燃烧状况 进行实时调节和控制 1 4 本文研究主要内容 本设计介绍数字显示温度计 具有方便测温范围广 测温准确 其输出温度采用 数字显示 该设计控制使用单片机 AT89S51 测温传感器使用 DS18B20 用 3 位共阳 极 LED 数码管以串口传送数据 实现温度显示 能准确达到以上要求 随着科技的不断发展 现代社会对各种信息参数的准确度和精确度的要求有很大 的增长 而如何准确而又迅速的获得这些参数就需要受制于现代信息基础的发展水平 单片机控制无疑是人们追求的目标之一 在三大信息信息采集 即传感器技术 信息 3 传输 通信技术 和信息处理 计算机技术 中 传感器属于信息技术的尖端产品 尤其 是温度传感器技术 在我国各领域已经引用的非常广泛 人民的生活与环境的温度息 息相关 不仅在工业生产过程中需要实时测量温度 在农业生产中也离不开温度的测 量 因此研究温度的测量方法和装置具有重要现实意义 4 第 2 章 设计内容及性能指标 本课题主要研究如何利用 DS18B20 智能温度传感器实时显示温度 并利用 DS18B20 智能温度传感器 DS1302 时间基准电路和单片小系统 设置一个数字温度采集系统 并设计一个人机接口电路 并将其与 LED 显示键盘合并使用 制成一个能实时显示温 度的数字温度计 本次课题还要求学会并掌握电路的焊接与组装 软件的结构化编程 并对软件进 行调试 掌握系统联调的方法 2 1 温度检测技术介绍 近年来 在温度检测技术领域 多种新的检测原理与技术的开发应用 已取得了 重大进展 新一代的温度检测元件正在不断地出现和完善化 1 晶体管温度检测元件 半导体温度检测元件是具有代表性的温度检测元件 半导体的电阻温度系数比金 属打 1 2 个数量级 二极管和三极管的 PN 结电压 电容对温度灵敏度很高 基于上 述测温原理已研制了各种温度检测元件 2 集成电路温度检测元件 利用硅结晶管基极 发射极间电压与温度关系 即半导体 PN 结的温度特性 进行温度检测 并把测温 激励 信号处理电路和放大电路集成一体 封装于小型管 壳内 即构成了集成电路温度检测元件 目前 国内外业进行了生产 3 磁核共振温度检测器 所为磁核共振现象是指具有核自旋的物质置于静磁场中时 当于静磁场垂直方向 加以电磁波 会发生对某频率电磁的吸收现象 利用共振吸收频率随温度上升而减少 的原理研制成的温度检测器 成为核磁共振温度检测器 这种检测器精度极高 可以 测量出千分之一开尔文 而且输出的频率信号是用于数字化运算处理 故是一种性能 十分良好的温度检测器 在常温下 可做理想的标准温度计之用 4 热噪声温度检测器 他的原理是利用热电阻元件产生的噪声电压与温度的相关性 5 其特点是 1 输出噪声电压大小与温度是正比例关系 2 不受压力影响 3 感温元件的阻值几乎不影响测量精确度 所以它是可以直接读出绝对温度值而不受材料和条件限制的温度检测器 5 石英晶体温度检测器 它采用 LC 或 Y 型切割的石英晶片的共振频率随温度的变化来制作的 它利用P 技术 自动补偿石英晶片的非线性 测量精度较高 一般可检测到 0 001 所以可 做标准检测之用 6 激光温度检测器 激光测温特别适用于远程测量和特殊环境下的温度测量 用氦氖激光源的激 光作反射计可测得很高的温度 精度达 1 用激光干涉和反射原理制作的温度检 测器可测得更高温度 上限可达 3000 专门用于核聚变研究 但在工业上应用还需 进一步开发和实验 7 微波温度检测器 采用微波测温可以达到快速测量高温的目的 它是利用在不同的温度下 温度与 控制电压呈线性关系的原理制成的 这种检测器的灵敏度为 250kHZ 精度为1 左右 检测范围为 20 1400 8 纯贵金属热电偶的研究 由两种纯金属组成的热电偶 因其材料均匀性远优于合金材料 因而稳定性好得 多 在铂铑合金热电阻 S R 型 的不确定度已很难提高之后 人们开始寻找由纯贵 金属组成的热电偶 以代替 S 和 R 型热电偶 作为传递的标准 9 信息技术时代自动化系统中的温度检测仪表 现代的工业进程自动化系统是现场总线控制系统 它是信息技术进入工业自动化 后出现的新一大自动控制系统 现场总线是安装在制造或过程区域的现场装置与控制 室内的自动化装置之间的数字式 串行 多点通信的数据总线 所有的现场仪表均接 到现场总线上 在这样的系统中 通常不应使用各种不同输出的温度计 必须将输出 转变成统一的电信号 这样的 温度计 就变成了 温度变送器 在现场总线控制 系统中的温度变送器主要是有热电偶和热电阻变送器 也有辐射温度变送器 6 第 3 章 系统方案论证与比较 该系统主要由温度测量和数据采集两部分电路组成 实现的方法有很多种 下面 对一种方案进行具体分析 采用热电偶温差电路测温 温度检测部分可以使用低温热偶 热电偶由两个焊接 在一起的异金属导线所组成 热电偶的构成如图 3 1 热电偶产生的热电势由两种 金属的接触电势和单一导体的温差电势组成 通过将参考结点保持在已知温度并测量 该电压 便可推断出检测结点的温度 数据采集部分则使用带有 A D 通道的单片机 在将随被测温度变化的电压或电流采集过来 进行 A D 转换后 就可以用单片机进行 数据的处理 在显示电路上 就可以将被测温度显示出来 热电偶的优点是工作温度 范围非常宽 且体积小 但是它们也存在着输出电压小 容易遭受来自导线环路的噪 声影响以及漂移较高的缺点 并且这种设计需要用到 A D 转换电路 感温电路比较麻 烦 t B B 图 3 1 热电偶电路图 系统主要包括对 A D0809 的数据采集 自动手动工作方式检测 温度的显示等 这几项功能的信号通过输入输出电路经单片机处理 此外还有复位电路 晶振电路 启动电路等 故现场输入硬件有手动复位键 A D 转换芯片 处理芯片为 51 芯片 执行机构有 4 位数码管 报警器等 系统框图如图 3 2 所示 数码管 报警电路 测温电路 晶振电路 复位电路 单 片 机 A D0809 按键防抖动 图 3 2 热电偶温差电路测温系统框图 AA U 7 第 4 章 系统器件选择 4 1 单片机的选择 AT89S51 是美国 ATMEL 公司生产的低功耗 高性能 CMOS 8 位单片机 片内含 4kbytes 的可编程的 Flash 只读程序存储器 兼容标准 8051 指令系统及引脚 它集 Flash 程序存储器既可在线编程 ISP 也可用传统方法进行编程 所以低价位 AT89S51 单片机可为提供许多高性价比的应用场合 可灵活应用于各种控制领域 对 于简单的测温系统已经足够 单片机 AT89S51 具有低电压供电和体积小等特点 四个 端口只需要两个口就能满足电路系统的设计需要 很适合便携手持式产品的设计使用 系统可用二节电池供电 主要特性如下 1 与 MCS 51 兼容 2 4K 字节可编程闪烁存储器 3 寿命 1000 写 擦循环 4 数据保留时间 10 年 5 全静态工作 0Hz 24Hz 6 三级程序存储器锁定 7 28 8 位内部 RAM 8 32 可编程 I O 线 9 两个 16 位定时器 计数器 10 5 个中断源 11 可编程串行通道 12 低功耗的闲置和掉电模式 13 片内振荡器和时钟电路 图 4 1 AT89S51 单片机引脚图 AT89S51 引脚功能介绍 AT89S51 单片机为 40 引脚双列直插式封装 其引脚排列和逻辑符号如图 4 1 所示 各引脚功能简单介绍如下 1 VCC 供电电压 8 2 GND 接地 3 P0 口 P0 口为一个 8 位漏级开路双向 I O 口 每个管脚可吸收 8TTL 门电流 当 P1 口的管脚写 1 时 被定义为高阻输入 P0 能够用于外部程序数据存储器 它 可以被定义为数据 地址的第八位 在 FLASH 编程时 P0 口作为原码输入口 当 FLASH 进行校验时 P0 输出原码 此时 P0 外部电位必须被拉高 4 P1 口 P1 口是一个内部提供上拉电阻的 8 位双向 I O 口 P1 口缓冲器能接收 输出 4TTL 门电流 P1 口管脚写入 1 后 电位被内部上拉为高 可用作输入 P1 口被外部下拉为低电平时 将输出电流 这是由于内部上拉的缘故 在 FLASH 编程和 校验时 P1 口作为第八位地址接收 5 P2 口 P2 口为一个内部上拉电阻的 8 位双向 I O 口 P2 口缓冲器可接收 输 出 4 个 TTL 门电流 当 P2 口被写 1 时 其管脚电位被内部上拉电阻拉高 且作为 输入 作为输入时 P2 口的管脚电位被外部拉低 将输出电流 这是由于内部上拉的 缘故 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时 P2 口输 出地址的高八位 在给出地址 1 时 它利用内部上拉的优势 当对外部八位地址 数据存储器进行读写时 P2 口输出其特殊功能寄存器的内容 P2 口在 FLASH 编程和 校验时接收高八位地址信号和控制信号 6 P3 口 P3 口管脚是 8 个带内部上拉电阻的双向 I O 口 可接收输出 4 个 TTL 门电流 当 P3 口写入 1 后 它们被内部上拉为高电平 并用作输入 作为输入时 由于外部下拉为低电平 P3 口将输出电流 ILL 也是由于上拉的缘故 P3 口也可作 为 AT89S51 的一些特殊功能口 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INT0 外部中断 0 P3 3 INT1 外部中断 1 P3 4 T0 记时器 0 外部输入 P3 5 T1 记时器 1 外部输入 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 同时 P3 口同时为闪烁编程和编程校验接收一些控制信号 7 RST 复位输入 当振荡器复位器件时 要保持 RST 脚两个机器周期的高电平 9 时间 8 ALE PROG 当访问外部存储器时 地址锁存允许的输出电平用于锁存地址 的地位字节 在 FLASH 编程期间 此引脚用于输入编程脉冲 在平时 ALE 端以不变 的频率周期输出正脉冲信号 此频率为振荡器频率的 1 6 因此它可用作对外部输出 的脉冲或用于定时目的 然而要注意的是 每当用作外部数据存储器时 将跳过一个 ALE 脉冲 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0 此时 ALE 只有在执行 MOVX MOVC 指令时 ALE 才起作用 另外 该引脚被略微拉高 如果微处理器在外部执 行状态 ALE 禁止 置位无效 9 PSEN 外部程序存储器的选通信号 在由外部程序存储器取址期间 每个机 器周期 PSEN 两次有效 但在访问外部数据存储器时 这两次有效的 PSEN 信号将不出 现 10 EA VPP 当 EA 保持低电平时 访问外部 ROM 注意加密方式 1 时 EA 将内 部锁定为 RESET 当 EA 端保持高电平时 访问内部 ROM 在 FLASH 编程期间 此引脚 也用于施加 12V 编程电源 VPP 11 XTAL1 反向振荡放大器的输入及内部时钟工作电路的输入 12 XTAL2 来自反向振荡器的输出 4 2 温度传感器的选择 由于传统的热敏电阻等测温元件测出的一般都是电压 再转换成对应的温度 需 要比较多的外部元件支持 且硬件电路复杂 制作成本相对较高 这里采用 DALLAS 公司的数字温度传感器 DS18B20 作为测温元件 4 2 1 DS18B20 简介 DS18B20 数字温度传感器接线方便 封装成后可应用于多种场合 如管道式 螺 纹式 磁铁吸附式 不锈钢封装式 型号多种多样 有 LTM8877 LTM8874 等等 主 要根据应用场合的不同而改变其外观 封装后的 DS18B20 可用于电缆沟测温 高炉水 循环测温 锅炉测温 机房测温 农业大棚测温 洁净室测温 弹药库测温等各种非 极限温度场合 耐磨耐碰 体积小 使用方便 封装形式多样 适用于各种狭小空间 设备数字测温和控制领域 DS18B20 的性能特点如下 10 1 采用单总线专用技术 即可将通过串行口线 也可通过其它 I O 口线与微机接 口 无需经过其它变换电路 直接输出被测温度值 9 位二进制数 含符号位 2 测温范围为 55 至 125 测量分辨率为 0 0625 3 内含 64 位经过激光修正的只读存储器 ROM 4 用户可分别设定各路温度的上 下限 5 内含寄生电路 4 2 2 DS18B20 使用中的注意事项 Dallas 公司的单总线数字温度计 DS18B20 被广泛应用于测控系统中 如仓库 机 房 温室等温度监控地点 DS18B20 虽然具有测温系统简单 测温精度高 连接方便 占用口线少等优点 但在实际应用中也应注意以下几方面的问题 1 较小的硬件开销需要相对复杂的软件进行补偿 由于 DS18B20 与微处理器间 采用串行数据传送 因此 在对 DS18B20 进行读写编程时 必须严格的保证读写时序 否则将无法读取测温结果 在使用 PL M C 等高级语言进行系统程序设计时 对 DS18B20 操作部分最好采用汇编语言实现 2 在 DS18B20 的有关资料中均未提及单总线上所挂 DS18B20 数量问题 容易使 人误认为可以挂任意多个 DS18B20 在实际应用中并非如此 当单总线上所挂 DS18B20 超过 8 个时 就需要解决微处理器的总线驱动问题 这一点在进行多点测温 系统设计时要加以注意 3 连接 DS18B20 的总线电缆是有长度限制的 试验中 当采用普通信号电缆传 输长度超过 50m 时 读取的测温数据将发生错误 当将总线电缆改为双绞线带屏蔽电 缆时 正常通讯距离可达 150m 当采用每米绞合次数更多的双绞线带屏蔽电缆时 正 常通讯距离进一步加长 这种情况主要是由总线分布电容使信号波形产生畸变造成的 因此 在用 DS18B20 进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配 问题 4 在 DS18B20 测温程序设计中 向 DS18B20 发出温度转换命令后 程序总要等 待 DS18B20 的返回信号 一旦某个 DS18B20 接触不好或断线 当程序读该 DS18B20 时 将没有返回信号 程序进入死循环 这一点在进行 DS18B20 硬件连接和软件设计时也 要给予一定的重视 11 4 2 3 DS18B20 内部结构 DS18B20 内部结构如图 3 所示 主要有 64 位光刻 ROM 温度传感器 非易失性 温度报警触发器 TH 和 TL 配置寄存器等组成 1 64 位光刻 ROM 是生产厂家给每一个出厂的 DS18B20 命名的产品序列号 可以看作 为该器件的地址序列号 其作用是使每一个出厂的 DS18B20 地址序列号都各不相同 这样 就可以实现一根总线上挂接多个 DS18B20 的目的 2 DS18B20 中的温度传感器完成对温度的测量 输出格式为 16 位符号扩展的二进 制补码 当测温精度设置为 12 位时 分辨率为 O 0625 即 O 0625 LSB 其 二进制补码格式如图 2 所示 温度值得低字节 D7D6D5D4D3D2D1D0 温度值得高字节 SSSSSD10D9D8 图 2 其中 S 为符号位 S 1 表示温度 为负值 S 0 表示温度为正值 例如 125 的数字输出为 07D0H 55 的数字输出为 FC90H 一些温度值对应的数字输出如图 4 所示 3 DS18B20 中的低温触发器 TL 高温触发器 TH 用于设置低温 高温的报警数值 DS18B20 完成一个周期的温度测量后 将测得的温度值和 TL TH 相比较 如果小于 TL 或大于 TH 则表示温度越限 将该器件内的告警标志位置位 并对主机发出的告 警搜索命令作出响应 需要修改上 下限温度值时 只需使用一个功能命令即可对 TL TH 写入 十分方便 64 位 ROM 和一 线接 口 存储和控制器 高速暂存器 8 位 CRC 生成器 温度传感器 低温触发器 高温触发器 配置寄存器 12 图三 4 DS18B20 中的高速暂存器是一个 9 字节的存储器 其含意如图 5 所示 开始两个字节为被测温度的数字量 其含义如图 2 所示 第 3 4 5 字节分别为 TH TL 配置寄存器的复制 每一次上电复位时被重写 配置寄存器有 R0 R1 组成 其值决定温度转换的精度位数 转换时间等 含义如图 6 所示 第 7 字节为测温计数 的剩余值 第 8 字节为测温时每度的计数值 第 9 字节读出的是前 8 个字节的 CRC 校 验码 通过此码 可判断通讯是否正确 温度值二进制十六进制 850000 0011 0111 00000370H 10 1250000 0000 1010 001000A2H 0 50000 0000 0000 10000008H 0 51111 1111 1111 1000FFF8H 10 1251111 1111 0101 1110FF5FH 551111 1100 1001 0000FC90H 图 4 R1R0 转换精度温度分辨率转换时间 MS 0090 593 75 01100 25187 5 10110 125375 11120 0625750 图 6 4 2 4 DS18B20 测温原理 DS18B20 测温原理如图 1 示 图中低温度系数晶振的振荡频率受温度影响很小 用于产生固定频率的脉冲信号送给计数器 1 高温度系数晶振随温度变化其振荡率明 显改变 所产生的信号作为计数器 2 的脉冲输入 计数器 1 和温度寄存器被预置在 55 所对应的一个基数值 计数器 1 对低温度系数晶振产生的脉冲信号进行减法计 数 当计数器 1 的预置值减到 0 时 温度寄存器的值将加 1 计数器 1 的预置将重新 被装入 计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数 如此循环直 到计数器 2 计数到 0 时 停止温度寄存器值的累加 此时温度寄存器中的数值即为所 测温度 图 2 中的斜率累加器用于补偿和修正测温过程中的非线性 其输出用于修正 计数器 1 的预置值 暂存器内容字节地址 温度最低数字位 0 温度最高数字位 1 高温上限 TH 2 低温下限值 TL 3 配置寄存器 4 保留 5 计数剩余值 6 每度计数值 7 CRC 效验 8 图 5 13 斜率叠加器 预置 比较 预置计数器 1 温度寄存器 0 计数器 2 0 高温系数振荡器 低温系数振荡器 Tx 停止 加 1 图 1 DS18B20 原理图 在正常测温情况下 DS1820 的测温分辩率为 0 5 以 9 位数据格式表示 其 中最低有效位 LSB 由比较器进行 0 25 比较 当计数器 1 中的余值转化成温度后 低于 0 25 时 清除温度寄存器的最低位 LSB 当计数器 1 中的余值转化成温度后 高于 0 25 置位温度寄存器的最低位 LSB 4 2 5 提高 DS18B20 测温精度的途径 1 DS18B20 高精度测温的理论依据 DS18B20 正常使用时的测温分辨率为 0 5 这对于水轮发电机组轴瓦温度监测 来讲略显不足 在对 DS18B20 测温原理详细分析的基础上 我们采取直接读取 DS18B20 内部暂存寄存器的方法 将 DS18B20 的测温分辨率提高到 0 1 0 01 DS18B20 内部暂存寄存器的分布 其中第 7 字节存放的是当温度寄存器停止增值 时计数器 1 的计数剩余值 第 8 字节存放的是每度所对应的计数值 这样 我们就可 以通过下面的方法获得高分辨率的温度测量结果 首先用 DS18B20 提供的读暂存寄存 器指令 BEH 读出以 0 5 为分辨率的温度测量结果 然后切去测量结果中的最低有效 位 LSB 得到所测实际温度整数部分 T 整数 然后再用 BEH 指令读取计数器 1 的计 数剩余值 M 剩余和每度计数值 M 每度 考虑到 DS18B20 测量温度的整数部分以 0 25 0 75 为进位界限的关系 实际温度 T 实际可用下式计算得到 T 实际 T 整数 0 25 M 每度 M 剩余 M 每度 14 根据 DS18B20 的通讯协议 主机控制 DS18B20 完成温度转换必须经过三 个步骤 每一次读写之前都要对 DS18B0 进行复位 复位成功后发送一条 ROM 指令 最后发送 RAM 指令 这样才能对 DS1B20 进行预定的操作 复位要求主 CPU 将数据线 下拉 500 微秒 然后释放 DS1B20 收到信号后等待 16 60 微秒左右 后发出 60 240 微秒的存在低脉冲 主 CPU 收到此信号表示复位成功 2 测量数据比较 为采用直接读取测温结果方法和采用计算方法得到的测温数据比较 通过比较可 以看出 计算方法在 DS18B20 测温中不仅是可行的 也可以大大的提高 DS18B20 的测 温分辨率 4 3 显示及报警模块器件选择 在本设计中温度测量范围为 0 125 精度为 0 5 因此只需要数码管 就可以完成相关的显示功能 报警器可以用蜂鸣器配合三极管来代替 15 第 5 章 硬件设计电路 温度计电路设计总框图如图 5 1 所示 控制器使用单片机 AT89S51 温度计传感器 使用 DS18B20 用 LED 数码管实现温度显示 图 5 1 温度计电路设计总框图 本温度计大体分三个工作过程 首先 由 DS18B20 温度传感器芯片测量当前的温 度 并将结果送入单片机 然后 通过 AT89S51 单片机芯片对送来的测量温度读数进 行计算和转换 经显示电路显示于 LED 数码管上本电路主要由 DSl820 温度传感器芯 片 LED 显示电路和 AT89S51 单片机芯片组成 其中 DSI820 温度传感器芯片采用 一线制 与单片机相连 它独立地完成温度测量以及将温度测量结果送到单片机的 工作 5 1 主控制器 单片机 AT89S51 具有低电压供电和小体积等特点 两个端口刚好满足电路系统的 设计需要 很合适携手特式产品的使用 主机控制 DS18B20 完成温度转换必须经过三 个步骤 初始化 ROM 操作指令 存储器操作指令 必须先启动 DS18B20 开始转换 再读出温度转换值 5 2 显示电路 常用的 LED 显示驱动电路有并行译码方式 串行 并行转换方式 显示驱动接口 芯片方式等 5 2 1 并行译码显示方式 右图为单片机 AT89S51 输出显示的一个例子 4 位 BCD 码数据从其 P1 0 P1 3 并行输出 经 7 段 LED 显示驱动电路 CD4511 译码后驱动 LED 显示 这样只 需向 P1 0 P1 3 写入欲显示数字的 BCD 码 即可显 传感器A D 转换器显示器控制器 16 示出相应的数字 这种方式虽然简单 但占用单片机口线较多 资源利用率低 因此 不常采用 5 2 2 串行译码显示方式 右图所示为 AT89S51 的串口驱动数码管的电路 其中串口工作在方式 0 74LS164 是 8 位串入并出移 位寄存器 负责将 RXD 输出的串行数据转换成并行信 号 显然 这种方式显示同样的位数使用单片机的口 线大大减少 并且可以让 LED 显示 BCD 码以外的字符 如 A B C D 等 但是 当 要显示的位数较多时 仍需占用较多的口线 并且在许多情况下需要串口工作在 UART 方式 以便进行串行通信 从而限制了这种方式的使用范围 本设计显示电路是使用的串口显示 这种显示最大的优点就是使用口资源比较少 只用 p3 口的 RXD 和 TXD 串口的发送和接收 四只数码管采用 74LS164 右移寄存器驱 动 显示比较清晰 5 3 温度检测电路 DS18B20 最大的特点是单总线数据传输方式 DS18B20 的数据 I O 均由同一条线 来完成 DS18B20 的电源供电方式有 2 种 外部供电方式和寄生电源方式 工作于寄 生电源方式时 VDD 和 GND 均接地 他在需要远程温度探测和空间受限的场合特别有 用 原理是当 1 W ire 总线的信号线 DQ 为高电平时 窃取信号能量给 DS18B20 供电 同时一部分能量给内部电容充电 当 DQ 为低电平时释放能量为 DS18B20 供电 但寄 生电源方式需要强上拉电路 软件控制变得复杂 特别是在完成温度转换和拷贝数据 到 E2PROM 时 同时芯片的性能也有所降低 因此 在条件允许的场合 尽量采用 外供电方式 无论是内部寄生电源还是外部供电 I O 口线要接 5K 左右的上拉电 在这里采用前者方式供电 外部电源供电方式是 DS18B20 最佳的工作方式 工作稳定可靠 抗干扰能力强 而且电路也比较简单 可以开发出稳定可靠的多点温度监控系统 推荐大家在开发中 使用外部电源供电方式 毕竟比寄生电源方式只多接一根 VCC 引线 在外接电源方式 下 可以充分发挥 DS18B20 宽电源电压范围的优点 即使电源电压 VCC 降到 3V 时 17 依然能够保证温度量精度 由于 DS18B20 只有一根数据线 因此它和主机 单片机 通信是需要串行通信 而 AT89S51 有两个串行端口 所以可以不用软件来模拟实现 经过单线接口访问 DS18B20 必须遵循如下协议 初始化 ROM 操作命令 存储器操作命令和控制操作 要使传感器工作 一切处理均严格按照时序 主机发送 Tx 复位脉冲 最短为 480 s 的低电平信号 接着主机便释放此 线并进入接收方式 Rx 总线经过 4 7K 的上拉电阻被拉至高电平状态 在检测到 I O 引脚上的上升沿之后 DS18B20 等待 15 60 s 并且接着发送脉冲 60 240 s 的低电平信号 然后以存在复位脉冲表示 DS18B20 已经准备好发送或接收 然后给 出正确的 ROM 命令和存储操作命令的数据 DS18B20 通过使用时间片来读出和写入数 据 时间片用于处理数据位和进行何种指定操作的命令 它有写时间片和读时间片两 种 写时间片 当主机把数据线从逻辑高电平拉至逻辑低电平时 产生写时间片 有 两种类型的写时间片 写 1 时间片和写 0 时间片 所有时间片必须有 60 微秒的持续 期 在各写周期之间必须有最短为 1 微秒的恢复时间 读时间片 从 DS18B20 读数据时 使用读时间片 当主机把数据线从逻辑高电平 拉至逻辑低电平时产生读时间片 数据线在逻辑低电平必须保持至少 1 微秒 来自 DS18B20 的输出数据在时间下降沿之后的 15 微秒内有效 为了读出从读时间片开始 算起 15 微秒的状态 主机必须停止把引脚驱动拉至低电平 在时间片结束时 I O 引脚经过外部拉电阻拉回高电平 所有读时间片的最短持续期为 60 微秒 包括两个 读周期间至少 1 s 的恢复时间 一旦主机检测到 DS18B20 的存在 它便可以发送一个器件 ROM 操作命令 所有 ROM 操作命令均为 8 位长 所有的串行通讯 读写每一个 bit 位数据都必须严格遵守器件的时序逻辑来编程 同时还必须遵守总线命令序列 对单总线的 DS18B20 芯片来说 访问每个器件都要遵 守下列命令序列 首先是初始化 其次执行 ROM 命令 最后就是执行功能命令 ROM 命令和功能命令后面以表格形式给出 如果出现序列混乱 则单总线器件不会响应 主机 当然 搜索 ROM 命令和报警搜索命令 在执行两者中任何一条命令之后 要返 回初始化 18 基于单总线上的所有传输过程都是以初始化开始的 初始化过程由主机发出的复 位脉冲和从机响应的应答脉冲组成 应答脉冲使主机知道 总线上有从机 且准备就 绪 在主机检测到应答脉冲后 就可以发出 ROM 命令 这些命令与各个从机设备的唯 一 64 位 ROM 代码相关 在主机发出 ROM 命令 以访问某个指定的 DS18B20 接着就 可以发出 DS18B20 支持的某个功能命令 这些命令允许主机写入或读出 DS18B20 便笺 式 RAM 启动温度转换 软件实现 DS18B20 的工作严格遵守单总线协议 1 主机首先发出一个复位脉冲 信号线上的 DS18B20 器件被复位 2 接着主机发送 ROM 命令 程序开始读取单个在线的芯片 ROM 编码并保存在单 片机数据存储器中 把用到的 DS18B20 的 ROM 编码离线读出 最后用一个二维数组 保存 ROM 编码 数据保存在 X25043 中 3 系统工作时 把读取了编码的 DS18B20 挂在总线上 发温度转换命令 再总 线复位 4 然后就可以从刚才的二维数组匹配在线的温度传感器 随后发温度读取命令 就可以获得对应的度值了 在主机初始化过程 主机通过拉低单总线至少 480us 来产生复位脉冲 接着 主机释放总线 并进入接收模式 当总线被释放后 上拉电阻将单总线拉高 在单总 线器件检测到上升沿后 延时 15 60us 接着通过拉低总线 60 240us 以产生应答 脉冲 写时序均起始于主机拉低总线 产生写 1 时序的方式 主机在拉低总线后 接着 必须在 15us 之内释放总线 产生写 0 时序的方式 在主机拉低总线后 只需在整个 时序期间保持低电平即可 至少 60us 在写字节程序中的写一个 bit 位的时候 没 有按照通常的分别写 0 时序和写 1 时序 而是把两者结合起来 当主机拉低总线后在 15us 之内将要写的位 c 给 DO 如果 c 是高电平满足 15us 内释放总线的要求 如果 c 是低电平 则 DO c 这条语句仍然是把总线拉在低电平 最后都通过延时 58us 完 成一个写时序 写时序 0 或写时序 1 过程 写时间时序 当主机把数据从逻辑高电平拉到逻辑低电平的时候 写时间隙开始 有两种写时间隙 写 1 时间隙和写 0 时间隙 所有写时间隙必须最少持续 60 s 包 括两个写周期至少 1 s 的恢复时间 I O 线电平变低后 DS18B20 在一个 15 s 到 19 60 s 的窗口内对 I O 线采样 如果线上事高电平 就是写 1 如果是低电平 就是 写 0 主机要生成一个写时间隙 必须把数据线拉到低电平然后释放 在写时间隙开 始后的 15 s 内允许数据线拉到高电平 主机要生成一个写 0 时间隙 必须把数据 线拉到低电平并保存 60 s 每个读时隙都由主机发起 至少拉低总线 1us 在主机发起读时序之后 单总线 器件才开始在总线上发送 0 或 1 所有读时序至少需要 60us 读时间时序 当从 DS18B20 读数据时 主机生成读时间隙 当主机把数据从高电 平拉到低电平时 写时间隙开始 数据线必须保持至少 1 s 从 DS18B20 输出的数据 在读时间隙的下降沿出现后 15 s 内有效 因此 主机在读时间隙开始后必须把 I O 脚驱动拉为的电平保持 15 s 以读取 I O 脚状态 在读时间隙的结尾 I O 引脚将被外部上拉电阻拉到高电平 所有读时 间隙必须最少 60 s 包括两个读周期至少 1 s 的恢复时间 复位时序 复位要求主 CPU 将数据线下拉 500 微秒 然后释放 DS18B20 收到信 号后等待 16 60 微秒左右 后发出 60 240 微秒的存在低脉冲 主 CPU 收到此信号 表示复位成功 5 4 温度报警电路 本设计采软件处理报警 利用有源蜂鸣器进行报警输出 采用直流供电 当所测 温度超过获低于所预设的温度时 数据口相应拉高电平 报警输出 也可采用发光 二级管报警电路 如过需要报警 则只需将相应位置 1 当参数判断完毕后 再看报 警模型单元 ALARM 的内容是否与预设一样 如不一样 则发光报警 报警电路硬件连 接见图 5 10 sperker R7 1K 5v GND 20

温馨提示

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

评论

0/150

提交评论