基于单片机控制的总线式多路高精度温度采集系统

上传人:hs****ma 文档编号:433261623 上传时间:2023-05-17 格式:DOC 页数:19 大小:264.50KB
返回 下载 相关 举报
基于单片机控制的总线式多路高精度温度采集系统_第1页
第1页 / 共19页
基于单片机控制的总线式多路高精度温度采集系统_第2页
第2页 / 共19页
基于单片机控制的总线式多路高精度温度采集系统_第3页
第3页 / 共19页
基于单片机控制的总线式多路高精度温度采集系统_第4页
第4页 / 共19页
基于单片机控制的总线式多路高精度温度采集系统_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于单片机控制的总线式多路高精度温度采集系统》由会员分享,可在线阅读,更多相关《基于单片机控制的总线式多路高精度温度采集系统(19页珍藏版)》请在金锄头文库上搜索。

1、 目 录1引言12总体设计方案1 2.1设计思路 12.2硬件设计框图22.3软件设计框图23设计组成及原理分析 2 3.1传感器模块设计2 3.1.1 DS18B20内部结构2 3.1.2 时序3 3.1.3 DS18B20控制字 4 3 .1 .4 DS18B20高速暂存器 4 3 .1 .5 64位ROM结构 4 3.2 显示电路的设计 4 3.3 软件设计 64总结与体会 8参考文献 8附录 1 9附录 2 10基于单片机控制的总线式多路高精度温度采集系统摘要:本设计主要内容是基于单片机控制的单总线式多路高精度温度采集系统,该系统用多个DS18B20与单片机连接实现温度测量和采集,并用

2、74LS245驱动六位数码管显示DS18B20所测的温度及DS18B20的路数。关键词:电子线路 51单片机 DS18B20 温度采集1 引言近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。单片微型计算机是随着超大规模集成电路技术的发展而诞生的,由于它具有体积小、功能强、性价比高等特点,所以广泛应用于电子仪表、家用电器、节能装置、军事装置、机器人、工业控制等诸多领域,使产品小型化、智能化,既提高了产品的功能和质量,又降低了成本,简化了设计。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具

3、体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。本文主要介绍单片机在温度测量采集中的应用。本系统采用单片机AT89C51为中心器件来设计,系统实用性强、操作简单、扩展性强。2 总体设计方案2.1 设计思路2.1.1 总体结构整个温度采集系统由温度传感器模块和温度转换模块以及显示电路模块组成,由于DS18B20包含了温度传感模块与温度转换模块,所以整个系统由温度传感器DS18B20和单片机以及六位数码管显示电路组成,DS18B20的使用,使硬件电路简单。2.1.2方案确立(1)传感器的选择DS18S20是美国Dallas公司生产的单总线数字温度传感器。它可以把温度信号直接转换成串行数字

4、信号供单片机处理,特别适合构成多点温度巡回检测系统。由于每片DS18S20都含有惟一的产品号,所以从理论上来说,在一条总线上可以挂接任意多个DS18S20芯片。从DS18S20读出或写入信息仅需一根口线(单线接口)。读/写及温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18S20供电,而无需额外电源。DS18S20提供9位温度读数,构成多点温度检测系统而无需任何外围硬件。1线热电偶测量温度是将传统的热电偶与一款新推出的多功能芯片DS2760结合起来,组成一种可直接将冷结温度信号数字化的变送器。该变送器可以通过单条双绞线与PC机(或微控制器)主机通信。其显著的优势之一是,每一个变送器都

5、可赋予单独的64位地址,这大大方便了总线主机的识别和选通。采用这种独特的地址识别之后,多个传感器可以形成一个网络,由软件自动识别和处理来自特定传感器的数据。与热电偶有关的信息可以由多功能芯片本身存储,不过这种独特的识别方法还可以让参考数据储存在总线主机中。由于DS18B20电路简单,轻巧方便且温度可直接转换成数字信号,所以选择DS18B20.(2)串并口显示的选择并口显示用74LS245驱动,串口显示用74LS164驱动,并口驱动速度快,但占用太多I/O口,由于本系统I/O口闲置多,从速度方面考虑用并口显示。2.2 硬件设计方框图(如图1)89C51复位电路晶振电路显示电路传感器电路图1 设计

6、方框图2.3 软件设计方框图(如图2)图2 软件设计方框图电路原理图与软件见附录3 设计原理分析3.1 传感器模块设计DALLAS公司最新单线数字温度系统Ds18B20是新的“一线器件”,其体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器Ds18B20是世界上第一片支持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,用户可轻松地组建传感器网络,为测量系统构建引入了全新的概念。其测量温度的范围为 -55 +125度,在 10 +85 度范围内,可以程序设定 912 位的分辨率精度为正负0.5度。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰能力

7、。适合于恶劣环境的温度测量。从性价比出发,其已经能够胜任我们一般设计的要求。3.1.1 1 Ds18B20 内部结构(1) 64 位光刻ROM (其中的64位序列号是出厂前被光刻好的,它可以看作该Ds18B20的地址序列码,并且其中的48位为该Ds18B20的自身唯一序列号。其作用就是使每一个Ds18B20都不相同,这样就可以实现一根总线上挂多个Ds18B20的目的)图3 DS18B20引脚图Ds18B20封装及引脚排列(如图3)(2) 温度传感器 (完成对温度的测量)(3) 非挥发的温度报警触发器TH和TL、(4) 配置寄存器 (出厂时被设定为12位数据格式)2.引脚功能说明DQ 数字信号输

8、入输出端GND 电源地VCC 为外接供电电源输入端3. DS18B20的性能特点:采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位) 测温范围为-55-+125,测量分辨率为0.0625内含64位经过激光修正的只读存储器ROM适配各种单片机或系统机用户可分别设定各路温度的上、下限内含寄生电源。3.1.2 时序DS18B20的执行序列 初始化(发一个不少于480 s的低脉冲); 执行ROM命令,主要用于定位; 执行DS18S20的存储控制命令,用于转换和读数据; DS18S20的I/O信号有复位脉冲、回应脉冲

9、、写0、读0、写1和读1等几种。3.1.3 18B20控制命令字表1 18B20的ROM命令指令说明读ROM(33H)读18B20的序列号匹配ROM(55H)继续读完64位序列号的命令,用于多个18B20时定位跳过ROM(CCH)此命令执行后的在存储器打操作针对在线所有18B20搜ROM(F0H)识别总线上各器件的编码,为操作各器件做准备报警搜索(ECH)公温度越限的器件对此命令作出响应表2 18B20存储控制命令 指令 说明温度转换(44H)启动在线18B20做温度AD转换读数据(BEH)从高速暂存器读9位温度值和CRC值写数据(4EH)将数据写入高速暂存的第3和第4字节中复制(48H)将高

10、速暂存器中第3和第4字节复制到EERAM读EERAM(B8H)将EERAM内容写入高速暂存器中第3和第4字节读电源供电方式(B4H)了解18B20的供电方式3.1.4 DS18B20高速暂存器共9个存储单元,如表3所示:表3 存储单元序号 寄存器名称 作 用 序号 寄存器名称 作 用 0 温度低字节 以16位补码形式存放 4 配置寄存器 1 温度高字节 5、6、7 保留 2 TH/用户字节1 存放温度上限 8 CRC 3 HL/用户字节2 存放温度下限 以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位

11、是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。 3.1.5 64位ROM结构,如图4所示LSBMSB8位检验CRC 48位序列号 8位工厂代码(10H) 图4 64位ROM结构图3.2 显示电路的设计LED显示器接口方法(1)以硬件为主的接口方法,如图5 图5 以硬件为主的接口电路 (2)以软件为主的接口方法如图6 图6 以软件为主的接口电路由于并口驱动数码管有速度上的优势,故本设计使用74LS245并口驱动.原理图如图7图7 74LS245并口驱动数码管3.3

12、 软件设计3.3.1 主程序主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次,其程序流程图如图8所示。3.3.2 读出温度子程序读出温度子程序的主要功能是读出RAM中的9字节,在读出时需要进行CRC校验,校验有错时不进行温度数据的改写。其程序流程图如图9所示。3.3.3 温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令,当采用12位分辩率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。温度转换命令子程序流程图如图10所示。3.3.4 计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其流程图如图11所示。3.3.5 显示数据刷新子程序显示数据刷新子程序主要是对显示缓冲区中的显示数据进行刷新操作,流程图如图12所示。Y 发DS18B20复位命令发匹配ROM命令 发读取温度命令 读取操作,CRC校验 9字节完?CRC校验正?确?移入温度暂存器结束NNY初始化调用显示子程序 1S到?初次上电读出温度值温度计算处理显示数据刷新 发温度转换开始命令NYNY 图8 主程序流程图图9 读出温度子程序流程图 发DS18B20复位命令 发匹配ROM命令发温度转换开始命令 结束图1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号