您好,欢迎访问三七文档
淮海工学院课程设计报告书课程名称:智能仪器课程设计题目:智能多点温度计系(院):电子工程学院学期:2014-2015-2专业班级:姓名:学号:评语:成绩:签名:日期:智能多点温度计摘要本文介绍了基于DS18B20和AT89C51的多点温度测量的方法和原理,利用DSI8B20单总线温度传感器和单片机与其它外围设备结合在一起实现温度的测量和显示。该设计主要分为以下三大部分:硬件设计、软件设计和整个系统的调试与实现。其中硬件设计主要是由proteus软件进行电路的设计与仿真;软件设计采用C语言编写实现。采用该解决方案,实现了基于DS18B20进行的各项软硬件的设计、调试和处理,实现了多点温度测量和显示。关键词:温度测量;硬件;软件;温度传感器DS18B201绪论本章主要讨论本课题研究的现状及意义,设计选用的主要元器件简介及系统的设计及实现方案。1.1概述1.1.1课题研究的现状及意义在实际工业生产及日常生活中,为了避免局部的温度过高或过低,需要对某个空间内多个点的温度进行监测,如在粮库测温系统、智能建筑自控系统、冷库测温系统、中央空调系统等多种系统中都需要多点温度测量。为了改善监测人员的工作条件,监测人员一般需要远离监测对象。因此,多点温度远程监测在实际生产中具有重要的应用价值。1.1.2DS18B20温度传感器简介DS18B20是Dallas半导体公司的数字化温度传感器,DS18B20通过一个单线接口发送或接受信息,因此在中央处理器和DS18B20之间仅需一条连接线(加上地线)。它的测温范围为-55~+125℃,并且在-10~+85℃精度为±0.5℃。除此之外,DS18B20能直接从单线通讯线上汲取能量,除去了对外部电源的需求。每个DS18B20都有一个独特的64位序列号,从而允许多只DS18B20同时连在一根单线总线上;因此,很简单就可以用一个微控制器去控制很多覆盖在一大片区域的DS18B20。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。图1.1是DS18B20的引脚排列,表1.1是DS18B20的引脚说明,图1.2是DS18B20的方框图。64位只读存储器储存器件的唯一片序列号。高速暂存器含有两个字节的温度寄存器,这两个寄存器用来存储温度传感器输出的数据。除此之外,高速暂存器提供一个直接的温度报警值寄存器(TH和TL),和一个字节的的配置寄存器。配置寄存器允许用户将温度的精度设定为9,10,11或12位。TH,TL和配置寄存器是非易失性的可擦除程序寄存器(EEPROM),所以存储的数据在器件掉电时不会消失。因为DALLAS公司生产的温度传感器DS18B20具有单总线传输、接线简单、精度高、价格低等优点,所以本设计决定选用数支温度传感器DS18B20实现多点温度的测量。表1.1温度传感器DS18B20引脚说明表图1.1温度传感器DS18B20引脚排列图1.2温度传感器DS18B20方框图DS18B20引脚详细说明8引脚SOIC封装*T0-92封装符号说明51GND接地。42DQ数据输入/输出引脚。对于单线操作:漏极开路。当工作在寄生电源模式时用来提供电源。33VDD可选的VDD引脚。工作于寄生电源模式时VDD必须接地。*所有表中未提及的脚均都无连接。1.2系统方案设计以单片机接口原理,DS18B20芯片功能与接口设计等理论知识为基础,设计出完整的系统原理图。根据原理图,将硬件系统资源通过proteus仿真。根据系统功能,设计编写固件程序,下载后进行调试,通过DS18B20及LED显示正常工作实现系统的多点温度测量。本课题涉及的理论知识主要是DS18B20多点温度测量原理及LED显示原理,重点在于硬件设计,难点在于编程和整机的调试。经过论证,在实现设计要求的前提下,控制器选取AT89C51;而且这款单片机支持在线编程,通过串口下载程序,这给程序的下载和使用带来方便。电路设计采用proteus,程序设计采用C语言进行编程,软件仿真采用KeilμVison4。系统的组成框图如下图所示。它主要由四部分组成:图1.3系统的组成框图1.3预期结果通过硬件电路的设计和软件程序的编写实现以下功能:1、完成硬件电路的设计,让整个系统供电正常;2、完成软件程序的编写,单片机能独立控制电路板上元件工作;3、通过系统硬件与软件的调试,所有DS18B20能正常测量环境温度,LED能正确显示各点温度;4、利用C语言编程实现对单片机硬件的操作,培养在此方面工程开发的能力。多点温度测量温度显示单片机驱动温度报警2硬件电路设计本设计的硬件电路设计分为单片机驱动电路设计、温度显示模块电路设计、温度测量模块电路设计及温度报警电路设计。单片机驱动电路是单片机正常运作的条件,即单片机最小系统。温度显示模块是本系统设计的显示装置,可以选择数码管或者液晶显示屏作为显示装置,本设计采用的是LED作为显示装置。各模块的具体电路设计请看下文。2.1单片机驱动电路设计单片机能正常工作,必须要有它的驱动电路,即单片机最小系统。单片机最小系统主要包括其供电系统,时钟电路和复位电路。本系统单片机的复位电路采用手动复位。单片机驱动电路设计如图2.1所示。图2.1单片机驱动电路设计2.2温度测量模块电路设计前面介绍到,温度传感器DS18B20的供电电路有两种接法,一种是DS18B20通过从VDD引脚接入一个外部电源供电,另一种是VDD引脚接地,工作于寄生电源模式,该模式允许DS18B20工作于无外部电源需求状态。寄生电源在进行远距离测温时是非常有用的。然而,当DS18B20正在执行温度转换或从高速暂存器向EPPROM传送数据时,工作电流可能高达1.5mA。这个电流可能会引起连接单总线的弱上拉电阻的不可接受的压降,这需要更大的电流,而此时Cpp无法提供。为了保证DS18B20由充足的供电,当进行温度转换或拷贝数据到EEPROM操作时,必须给单总线提供一个强上拉。在发出温度转换指令[44h]或拷贝暂存器指令[48h]之后,必须在至多10us之内把单总线转换到强上拉,并且在温度转换时序(tconv)或拷贝数据时序(ter=10ms)必须一直保持为强上拉状态。当强上拉状态保持时,不允许有其它的动作。当温度高于100℃时,DS18B20在这种温度下表现出的漏电流比较大,使用寄生电源,通讯可能无法进行。因此,本设计选择DS18B20传统供电模式的电路接法,从VDD引脚接入一个外部电源,这样做的好处是单总线上不需要强上拉,而且总线不用在温度转换期间总保持高电平。温度传感器DS18B20内部均有一个独立的64位序列号,单片机通过序列号可以对一条总线上的多支DS18B20进行控制,读取它们的温度。但要完成这个操作,软件设计比较复杂,同时存在一个缺点就是速度太慢。无法适用于一些实时性要求高的测温场合。所以本设计采取一种利用单片机的并口,同步快速读取4支DS18B20的方法。本系统的温度测量模块电路设计如图2.2所示,接线电路具体说明如下:四支温度传感器DS18B20的第1脚接地;四支温度传感器DS18B20的第2脚分别串联一个10kΩ的电阻;四支温度传感器DS18B20的第2脚分别接单片机的P2.0~P2.3口;四支温度传感器DS18B20的第2脚及第3脚图2.3系统温度测量模块电路设计2.3系统硬件电路设计图由DS18B20和单片机AT89C51以及相关外围电路组成的高精度、多点温度测量系统的电路设计如图2.3所示。图2.3系统的硬件电路设计2.4小结本章介绍了系统硬件电路设计的方法,根据课题需求,重点讨论了DS18B20芯片在多点测量温度时与单片机的接法。外围硬件资源根据框图设计出实验电路图,这些电路是做出系统电路板及软件能够正确运行的基础。3软件程序设计及调试3.1系统软件程序设计图3.1系统主程序执行流程图主程序执行流程如图3.1所示,主程序先对各DS18B2O及LED进行初始化,然后重复调用DS18B20的写命令和读数据模块,最后将数据处理后送LED显示.设置读数据命令BEH调用写命令子程序开始调用初始化子程序设置跳过ROM命令CCH调用写命令子程序设置启动温度转换令44H调用写命令子程序延时调用初始化子程序设置跳过ROM命令CCH调用写命令子程序调温度数据处理子程序读取温度数据调LED显示子程序4结论本课题将多个DS18B20和AT89C51单片机相结合实现了多点温度测量。对于单片机的独立控制外设而言,在技术上难度不大,所以,本文没有重点介绍,然而,多点温度测量技术,本文结合接口芯片DS18B20用很大的篇幅进行介绍固件编程直接使用单片机的C语言,在速度上相对于单片机的汇编语言而言比较慢,但是具有很好的可读性。在多点温度测量应用范围越来越宽的今天,只有掌握了固件程序的编写,才可能开发出一个好多点温度测量系统。在多个DS18B20与单片机的通信中,通过I/O并口传输,能快速测量多点温度,并循环显示到LED上。从结果来看,依据DS18B20单总线协议和单片机的应用知识,本次实验成功地实现了基于DS18B20的多点温度测量系统的功能,并开发了其温度差显示功能,如果有需要,想要显示温度平均值,只要通过更改几个语句就可以完成,需要继续测量更多的温度点,则只要按照前面讨论的DS18B20的接口电路与单片机连接好,再继续多加相应的温度测量、显示和报警程序就能实现。因此,本设计的拓展性很强。参考文献[1]王红玲等.基于AT89C51的多点温度检测系统设计[J].现代电子技术,2010(9):126-128.[2]潘勇,孟庆斌.基于DS18B20的多点温度测量系统设计[J].电子测量技术,2008(9):91-93.
本文标题:智能仪器课程设计
链接地址:https://www.777doc.com/doc-2315161 .html