毕业设计(论文)基于单片机的温度计设计.doc
江苏科技大学毕业论文(设计)题目:基于单片机的温度计设计学院:成教学院专业:电气工程及其自动化姓名:指导老师: 2010年6月15日基于单片机的温度计设计摘要本文介绍一种基于AT89C51单片机作为控制器、使用数字温度传感器DS18B20作为温度采集器的数字温度计。重点阐述了AT89C51的结构性能和引脚功能,DS1B20的性能结构、工作原理和控制方法,以及单片机AT89C51和数字温度传感器DS18B20之间的接口、数据传递。该数字温度计能够测出55125之间的温度,适合日常生活、工业生产和科学研究等领域对温度测量的需要。关键词:温度测量;DS18B20;AT89C51Design of Digital Thermometer Based on SinglechipAbstractThis article describes a controller based on AT89C51 microcontroller, digital temperature sensor DS18B20 as the temperature of the collector's digital thermometer. AT89C51 focuses on the structural performance and pin functions, DS18B20 performance structure, working principle and control methods, and the interface between the data transfer of the AT89C51 microcontroller and digital temperature sensor DS18B20. The digital thermometer can be measured between -55 +125 temperature, suitable for daily life, industrial production and scientific research in the field of temperature measurement needs.Keywords: temperature measurement; DS18B20; AT89C51目录 引言1 温度计的总体设计22.1 总体论述22.2 设计思路2 硬件说明33.1 测量输入模块33.1.1 传感器选择33.1.2 DS18B20的介绍33.2 键盘输入模块113.3 显示模块123.3.1 1602外观及尺寸123.3.2 管脚功能123.3.3 操作控制133.3.4 指令说明133.4 报警模块143.5 低功耗设计153.5.1 设计思路153.5.2 80C51的低功耗措施153.5.3 分块间断供电16 软件和功能说明174.1 人为读取174.2 自动读取184.3 DS18B20的软件设计19 C语言源程序22 结论28 致谢29 参考文献30 引言温度是一种最基本的环境参数,与人民生活和工农业生产有着密切的关系,在电力供应中离不开温度测量。液压操作动机的断路器是电网的重要设备,保证断路器液压操作机构油路的正常运转对保证电网安全具有重要意义。当环境温度降低到一定程度后,断路器的油路流动受到影响,液压油黏度增大不利于油路的流动,影响断路器的特性。正常情况下,该装置显示当时温度值。当气温升高或降低到规定值时,此装置会立即自动安全关闭或打开加温装置,防止发生事故,是变电站不可缺少的保护装置。因此研究温度的测量方法和测量装置在实际生产中有着重要的意义。随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机,测温传感器(DS18B20),用3位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到以上要求。 温度计的总体设计2.1 总体论述此次所讨论的数字温度计,除了完成基本的温度测量外,还能够满足最高最低温度设置及报警,在不同的环境中,所要求的最高温度和最低温度是不同的,因此最高温度和最低温度应能够根据环境不同而设置成不同的数值。还有些场合要求每隔一定得时间段进行读取一次数值,当相隔的时间比较长而所需要读取的数据又比较多时,认为的读取就比较麻烦,因此应具备自动读取和存储若干组温度值的功能。另外,在野外工作时能够选择其工作模式以降低功耗。2.2 设计思路由论述可知,所设计的这种温度计的功能是传统的物理温度计无法完成的。在分析之后决定采用以单片机AT89C51为核心的系统进行设计。主要有以下几个模块:测量输入模块,键盘设置模块,运算处理模块,显示模块和报警模块。有这几个模块组成的系统框图如图1所示:图1 温度计总体框图 硬件说明3.1 测量输入模块3.1.1 传感器选择设计单片机数字温度计需要考虑以下3个方面·温度传感器芯片的选择;·单片机和温度传感器的接口电路;·控制温度传感器实现温度信息采集以及数据传输的软件。单片机的接口信号是数字信号。要想用单片机获取温度这类非电信号的信息,必须使用温度传感器,将温度信息转换为电流或电压输出。如果转换后的电流或电压输出是模拟信号,还必须进行A/D转换,以满足单片机接口的需要。传统的温度检测大多以热敏电阻作为温度传感器。但是,热敏电阻的可靠性较差、测量温度准确率低,而且还必须经专门的接口电路转换成数字信号后才能由单片机进行处理。20世纪90年代中期出现了智能温度传感器(亦称数字温度传感器)。智能温度传感器的内部都包含温度传感器、A/D转换器、信号处理器、存储器(或寄存器)和接口电路,其特点是能直接输出数字化的温度数据及相关的温度控制量,适配各种微控制器(MCU)。其中DS18B20就是一种应用相当广泛的单总线数字温度传感器,它结构简单、不需外接元件,采用一根I/O数据线既可供电又可传输数据、并可设置温度报警界限等特点,广泛用于工业、民用等领域的温度测量中。3.1.2 DS18B20的介绍1. DS18B20芯片简介DS18B20是美国DALLAS半导体器件公司推出的单总线数字化智能集成温度传感器。单总线(1-Wire)是DALLAS公司的一项专有技术,它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。与其它温度传感器相比,DS18B20具有以下特性:独特的单线接口方式,在与微处理器连接时仅需要一条接口线即可实现微处理器与DS18B20的双向通信。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的信号线上,实现多点测温。DS18B20在使用中不需要任何外围元件。测温范围-55+125,固有测温分辨率0·625。测量结果以912位数字量方式串行传送。2. DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。 DS18B20的管脚排列如图2所示。图2 DS18B20引脚分布图图 3 DS18B20内部结构图 引脚功能如下:NC:空引脚,悬空不使用;VDD:可选电源脚,电源电压范围35.5V。工作于寄生电源时,此引脚应接地;DQ:数据输入/输出脚,漏极开路,常态下高电平。DSl8B20的核心功能部件是它的数字温度传感器,其分辨率可配置为9、10、11和12位,出厂默认设置为12位分辨率,对应的温度值分辨率分别为0.5、0.25、0.125和0.0625。温度信息的低位、高位字节内容中,还包括了符号位S(是正温度还是负温度)和二进制小数部分,具体形式为:低位字节:MSB232221202-12-2LSB2-32-4高位字节:MSBSSSSS26LSB2524这是12位分辨率的情况,如果配置为低的分辨率,则其中无意义位为0。实测温度和数字输出的对应关系如表1所示。表1实测温度和数字输出的对应关系温度/数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FF6FH-551111 1100 1001 0000FC90H在DSl8B20完成温度变换之后,温度值与储存在TH和TL内的告警触发值进行比较。由于是8位寄存器,所以912位在比较时忽略。TH或TL的最高位直接对应于16位温度寄存器的符号位。如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位,每次温度测量都会更新此标志。只要告警标志置位,DSl8B20就将响应告警搜索命令,这也就允许单线上多个DSl8B20同时进行温度测量,即使某处温度越限,也可以识别出正在告警的器件。DS18B20有4个主要的数据部件: (1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2) DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。 表 2 DS18B20温度值格式表 这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。 表 3 DS18B20温度数据表(3)DS18B20温度传感器的存储器 DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 (4)配置寄存器 该字节各位的意义如下: 表 4 配置寄存器结构TMR1R011111低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)分辨率设表: 表 5 温度值分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms3. DS18B20控制方法 DS18B20有六条控制命令,如表6所示: 表6六条控制命令指 令约定代码操 作 说 明温度转换44H启动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重新调E2RAMB8H把E2RAM中的TH、TL字节写到暂存器TH、TL字节读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPU4. DS18B20的通信协议DS18B20器件要求采用严格的通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲,应答脉冲时隙;写0,写1时隙;读0,读1时隙。与DS18B20的通信,是通过操作时隙完成单总线上的数据传输。发送所有的命令和数据时,都是字节的低位在前,高位在后。复位和应答脉冲时序:每个通信周期起始于微控制器发出的复位脉冲,其后紧跟DS18B20发出的应答脉冲,在写时隙期间,主机向DS18B20器件写入数据,而在读时隙期间,主机读入来自DS18B20的数据。在每一个时隙,总线只能传输一位数据。时序图见图4。图4 复位和应答脉冲时隙写时序:当主机将单总线DQ从逻辑高拉到逻辑低时,即启动一个写时隙,所有的写时隙必须在60120us完成,且在每个循环之间至少需要1us的恢复时间。写0和写1时隙如图所示。在写0时隙期间,微控制器在整个时隙中将总线拉低;而写1时隙期间,微控制器将总线拉低,然后在时隙起始后15us之释放总线。时序图见图5。读时序:DS18B20器件仅在主机发出读时隙时,才向主机传输数据。所以在主机发出读数据命令后,必须马上产生读时隙,以便DS18B20能够传输数据。所有的读时隙至少需要60us,且在两次独立的读时隙之间,至少需要1us的恢复时间。每个读时隙都由主机发起,至少拉低总线1us。在主机发起读时隙之后,DS18B20器件才开始在总线上发送0或1,若DS18B20发送1,则保持总线为高电平。若发送为0,则拉低总线当发送0时,DS18B20在该时隙结束后,释放总线,由上拉电阻将总线拉回至高电平状态。DS18B20发出的数据,在起始时隙之后保持有效时间为15us。因而主机在读时隙期间,必须释放总线。并且在时隙起始后的15us之内采样总线的状态。时序图见图5。图5 读写时序DS18B20的测温原理 : DS18B20的测温原理如图所示,图中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在 -55 所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。 另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。操作协议为:初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令处理数据。各种操作的时序图与DS1820相同。3.2 键盘输入模块键盘模块使用的是四个键,分别命名为enter、done、+和-。enter为选择要调节的参数,done为确定并退出,+和-为参数菜单的选择。在开机时按enter键进入一级菜单,然后按+和-进行选择要调节的参数,按enter键锁定该参数进行调节,在这段过程的任一时间按done键确定并退出。菜单如表7所示:表7 相关参数菜单一级菜单二级菜单三级菜单工作模式正常模式(默认)低功耗模式温度极限最大值(按+和-调整)最小值(按+和-调整)读取方式人为读取自动读取间隔时间(按+和-调整)读取组数(按+和-调整)数据查看读取(按+和-翻看)删除(删除已存数据)3.3 显示模块显示部分采用液晶显示器1602,能够同时显示16x02即32个字符。(16列2行)其相关介绍见下文。3.3.1 1602外观及尺寸1602液晶显示器的外观如图6所示:图6 液晶显示器1602外观1602的外形尺寸如图7所示:图7 1602的外形尺寸3.3.2 管脚功能1602采用标准的16脚接口,其中:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。3.3.3 操作控制操作控制表如表8所示:表8 1602操作控制表操作控制表操作读状态写指令读数据写数据输入RS=0RW=1E=1RS=0RW=0D07=指令码,E=H脉冲RS=1RW=1E=1RS=1RW=0D07=数据,E=H脉冲3.3.4 指令说明(1) 初始化设置:显示模式设置以及显示开/关及光标设置表9 显示模式设置指令码功能00111000设置16*2显示,5*7点阵,8位数据接口表10 显示开/关及光标设置指令码功能00001DCBD=1开显示; D=0关显示C=1显示光标;C=0不显示光标B=1光标闪烁;B=0光标不闪烁000001NSN=1当读或写一个字符后地址指针加一,且光标加一N=0当读或写一个字符后地址指减一,且光标减一S=1当写一个字符,整屏显示左移(N=1)(2)初始化过程(复位过程)延时12ms写指令38H(不检测忙信号)延时5ms写指令38H(不检测忙信号)延时5ms写指令38H(不检测忙信号)(以后每次写指令、读/写数据操作之前均需检测忙信号)写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示光标移动设置写指令0CH:显示开及光标设置3.4 报警模块报警模块采用的是声光报警电路,当检测温度超过设定的上下限值时,单片机就会发出报警脉冲,使得报警电路工作,产生报警信号,如图9所示。单片机光报警分频电路声报警图8 报警模块框图3.5 低功耗设计3.5.1 设计思路系统设计的总体思路是围绕如何实现低功耗开展。控制功耗,必须从内部着手。对于数字化的测量系统,通过适当地选择采样周期,在一个采样周期内,迅速地测量温度,然后进入电流消耗较低的“休息”状态,就可以大幅度地减小整个系统的电流的消耗。假设采样可以在Ts=10 ms之内完成,采样时消耗的电流为Is=1mA,采样周期为TA=1 s,非测量状态的电流消耗为Ib=0.04 mA,整个系统的平均电流消耗为:I平均= (Ts×Is+(TA-Ts)×Ib) /TA=Ib+Ts/TA×(Is-Ib) =0.0496 mA从公式中得出,在Ts/TA采样时消耗的电流对整个系统的平均电流影响并不很大,只要恰当地选择Ib, Is,Ts,TA就可以达到降低功耗的目的。可以从以下几个方面入手:(1)减小Ib,减小休息时的电流消耗,方法一是尽量减少在“休息”状态下还要工作的模块数量,二是选用低功耗元器件。(2)减小Is,采样时,工作的元件要尽量降低功耗,选择电流消耗较小的型号。(3)减小Ts,减小工作时间,完成采样后尽快结束工作。(4)增大TA,加大采样周期,尽量多“休息”,使系统的响应变慢。3.5.2 80C51的低功耗措施80C51是采用CMOS工艺的低功耗8位单片机芯片,在工作电压为5V时,8051工作电流为150mA,而80C51为2.4mA一24mA。8OC51具有正常、空闲、掉电三种工作状态。它的时钟频率范围为1.2MHz一12MHz,在工作电压5V的正常状态下运行,工作电流为24mA;在空闲方式下运行时,工作电流为3mA,在掉电方式下,工作电流为50uA。空闲和掉电方式都可以用软件选择运行,如果单片机处在空闲方式或掉电方式下,需要时才进人正常运行状态,就可以大大减少单片机的功耗。空闲方式时,CPU停止工作,而RAM、串行口、计数器/定时器和中断系统仍在工作,CPU内部的状态(程序计数器、堆栈指针、程序状态字、累加器、片内RAM的状态)完整地保留下来。使用中断或复位可以把CPU从空闲状态唤醒进人正常状态。掉电方式时,片内振荡器停止工作,所有的运行状态都停止了,只加电维持片内RAM内容不被破坏。解除掉电工作方式,只能用硬件复位的方法,复位时不改变片内RAM的内容。80C51的功耗随主振频率的提高而增加,频率越高,CMOS管处于放大区的时间越长,功耗就越大。通常在速度要求不高的测控系统中选择6MHz晶振频率。这不但降低了功耗,还增强了系统的稳定性。3.5.3 分块间断供电在一个系统中,并非电路的各部分都同时有效地工作,而给不工作的电路加上电压,就是无谓地消耗功率,为此我们可以用局部供电,分块供电,间断供电的方法来控制某些电路的供电,在需要其工作时再给它加电,不需要时就不给它供电,即只要保证供电的电路能按预定的进程使系统正常工作,并且把供电电压“传递”给另一部分电路就可,那么这个系统的功耗就会大大降低。实践证明,分块间断供电是极为有效的一种降低功耗的措施。电路分块时,一般是按电路的功能来划分的。完成相同功能的电路划分在一起,如果有两部分电路的功耗都比较大,最好能将它们分开,给它们间断供电降低功耗。另外,采用尽量缩短功耗大的电路的工作时间办法,也可以降低系统勘功耗。 软件和功能说明开机时对温度计的工作模式可进行选取,主要有两种数据读取方式:人为读取和自动读取。4.1 人为读取在该读取方式下的工作模式是需要人参与读取的,其大致程序流程如图9所示:开始键盘扫描键盘扫描相关参数设置温度检测是超过极限值?否报警温度显示延时结束程序并显示此刻温度图9 人为读取程序流程图4.2 自动读取在一些工作场合要求测得一段时间内的若干组温度,此时若是人为地进行数据读取,显然效率不高。所以在这次设计的温度计的功能中包含了自动读取这一功能。当参数设置为自动读取的时候,系统会将显示模块关闭,并在RAM中开辟一个缓冲区用以存放要读的数据。当此时数据读完后系统将会进入待机状态。激活后通过键盘进入数据查看栏目可进行数据查看和删除。其程序流程图如图10所示:开始键盘扫描否自动读取?是执行其他方式相关参数设置关显示温度检测是超过限定值?否报警存入缓冲区结束程序延时图10 自动读取方式流程图4.3 DS18B20的软件设计系统软件设计系统对温度检测控并实时显示温度值。所选用的温度传感器芯片DS18B20属于新一代适配微处理器的智能温度传感器,时序复杂,在编程及运行中均须严格安照时序进行。测温系统的工作流程:初始化-获取序列号的ROM操作命令-写存储器操作命令-读转换数据-处理数据-显示温度-启动控制设备。主程序功能是调用各功能子程序、控制电热设备开启与停止。子程序包括:对DS18B20初始化子程序、读子程序、写子程序、温度转换子程序、数值计算子程序、显示子程序。(见程序方框图)此系统程序编写虽然比AD590测温复杂,但省去A/D转换环节硬件,提高精度及抗干扰能力,系统稳定。程序框图如11所示:开始显示传感器初始化发SKIP ROM命令读取温度计发温度转换命令转移为显示代码发读存储器命令图11 程序框图单片机实现温度转换读取温度数值程序的流程如图12所示:开始初始化DS18B20否应答脉冲发起skip rom的命令发起Convert T的命令延时1s等待温度转换完成初始化DS18B20否应答脉冲是发起read scratchpad命令读取第一二字节即为温度数据是图12 单片机实现温度转换读取温度数值程序流程 C语言源程序 #include<stdio.h>#include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit DQ=P37;sbit P1_0=P10;sbit P1_1=P11;sbit P1_2=P12;uchar LED_code10=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09;uchar integer,point;void delayms(uint x)int i,j;for(i=0;i<x;i+) for(j=0;j<100;j+); void RST18B20(void)uint i;DQ=0;i=103;while(i>0) i-;DQ=1;i=4;while(i>0)i-;void tmpre(void) uint i; while(DQ); while(DQ); i=4;while(i>0)i-;void WR18B20(uchar n) uint i; uchar j; bit testb;for(j=1;j<=8;j+) testb=n&0x01; n=n>>1;if(testb) DQ=0;i+;i+;DQ=1;i=8; while(i>0) i-;else DQ=0; i=8; while(i>0)i-; DQ=1; i+; i+; bit RDbit(void) uint i; bit n; DQ=0; i+; DQ=1; i+; i+; n=DQ; i=8; while(i>0)i-; return n;uchar RD18B20(void) uchar i,j,n; n=0; for(i=1;i<=8;i+) j=RDbit( ); n=(j<<7/(n>>1); return n;void start(void) RST18B20( ); tmpre( ); delayms(1); WR18B20(0xcc); WR18B20(0x44);void Temp(void) uchar i;uchar j;uchar m;uchar n;RST18B20( ); tmpre( ); delayms(1); WR18B20(0xcc); WR18B20(0xbe); i=RD18B20( ); j=RD18B20( );m=i>>4; n=j<<4; integer=m/n; point=(i&0x0f);void main( ) uint data1,data2,data3,data4; uchar P0_LED_code1,P0_LED_code2; int i;data1=0;data2=0;data3=0;data4=0;for(;) delayms(2); start( ); for(i=0;i<50;i+) P1_0=1; P0_LED_code1=LED_codedata2; P0=P0_LED_code1; delayms(5); P1_0=0; P1_1=1; P0_LED_code2=LED_codedata3; P0=P0_LED_code2; delayms(5); P1_1=0; Temp( );if(!(integer&0x80)data1=integer/100;data2=integer%100/10;data3=integer%10;data4=(int)(6.25*point)/10;else data1=0;data2=0;data3;data4; 结论温度计的整体设计大致如上文所述,经过分析可知该温度计的思路是可行的。由上述可知该温度计能够适应多种场合的需要同时其工作效率较高,而且低功耗模式的功能由让其具有较低的经济投资。随着电子技术的不断发展,按着此思路设计的温度计的性能也一定会越来越好。我们已成功地将DS18B20应用于所开发的“LCD显示气温”的控制系统中,其测温系统简单,测温精度高,连接方便,占用口线少,转换速度快,与微处理器的接口简单,给硬件设计工作带来了极大的方便,能有效地降低成本,缩短开发周期。本文创新点采用的是DS18B20是最新的单线数字温度传感器,其技术含量高,时序复杂,但成本低,在测温要求精度高的情况下也能满足,是首选元器件。本装置采用89C2051单片机+串行智能传感器来完成此功能。不管从经济还是技术上看都是优等的选择。经过此次设计,我了解了一些传感器的知识,对智能仪器的设计有了一个整体的认识,这有利于我以后深入学习或参加工作。 致谢感谢江苏科技大学给我提供良好的学习环境和条件,我在论文设计过程中得到了冯雨宁老师的亲切关怀和悉心指导,她严谨求实的治学态度,一丝不苟、精益求精的工作作风,不仅授我以文,而且教我做人,深深地感染和激励着我。从论文开题到最终完成,冯老师始终给予我细心的指导和不懈的支持。在毕业设计的过程中,冯老师多次询问我的进度,并为我指点迷津,帮助我开拓研究思路,精心点拨、热忱鼓励。让我按时完成了毕业论文的设计。在几年的大学生活中,经过各位老师的悉心教导,学到了丰富的知识和做人的道理,为我走向社会、迎接挑战打下了坚实的基础。此时此刻我才真正体会到老师们的苦心和所学知识的重要性。最后,我要再次向给予我帮助的所有老师和同学表示深深的谢意,感谢大家在学习、生活中对我的帮助,谢谢大家! 参考文献1 沙占友.智能温度传感器的发展趋势J.电子技术应用,2002(5):6-7.2 王经卓.单总线温度监测网络的设计与实现J.微计算机信息,2006(7):21-23.3 于永学,葛建. 1-Wire总线数字温度传感器DS18B20及应用J.电子产品世界,2003(24):80-82.4 张萍.基于数字温度计DS18B20的温度测量仪的开发J.自动化仪表, 2007,28(6):64-66.5 胡学海.单片机原理及应用系统设