1、数字式温度表数字式温度表 摘要摘要: 温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生 活中的更加广泛的应用,利用数字温度传感器实现对温度的测试与控制得到更快的开发, 随着时代的进步和发展,数字式温度表已经普及到我们生活、工作、科研各个领域。数显 温度表可以准确的判断和测量温度以数字显示, 而非指针或水银显示。 故称数字温度计或 数字温度表。此电路是用数字温度传感器 DS18B20 作感温元件,并利用温度传感器和 4 位共阳极 LED 数码管动态扫描来完成温度显示。 关键词关键词 数字控制 温度计 一一 实实验目的:验目的: 1、 掌握电子产品的设计思想及数显温度表的原
2、理和设计方法; 2、 掌握电子产品安装的一般工艺流程; 3、 掌握本电路所用元器件的原理、检测、安装、调试方法及工艺; 4、 掌握各种常用电子安装工具及电子测量仪表、仪器的正确使用; 二二 系统各模块简介系统各模块简介 1.主控制器。 主控制器使用STC89C52RC。 2. 显示电路 本设计的显示部分由四位数码管构成,采用的是动态扫描方式。 在多个LED数码管显示时,为了简化电路,通常将所有位的段选线相应地并联在一起,由 一个8位的I/O口控制,形成段选线的多路复用。而各位的共阳极(或共阴极)分别由相应的 I/O口线控制,实现各位的分时选通。 3.测温电路(温度传感器) 温度传感器使用DS1
3、8B20。 DS18b20温度传感器能直接读出被测温度 , 并根据实际要求通过简单的编程实现912 位的数字直读方式。DS18B20的性能特点如下: 独特的单线接口仅需要一个端口引脚进行通信 多个DS18B20可以并联在唯一的三线上,实现多点组网功能 不需要外部器件 可通过数据线供电,电压范围3.05.5V 温度以912位数字量读出 用户可定义的非易失性温度报警装置 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件 负电压特性,电源极性接反时,温度计不会因发热而烧毁,只是不能正常工作。 三三 系统原理与设计系统原理与设计 1.硬件设计硬件设计 按照系统设计功能的要求,确定系统由3个
4、模块组成:主控制器、测温电路及显示电 路。 数字温度计电路设计控制器为 STC89C52RC,温度传感器为 DS18B20,用四位共阳 LED 数码管以动态扫描法实现温度显示。 STC89C52RC 的 P1.01.7 口接 8 个 510电阻作为缓 冲驱动器控制四位数码管的段选, P3.0P3.3 接 9012 三极管驱动四为数码管。 P3.7 接温 度传感器 DS18B20 的 DQ 端实现与 DS18B20 通信。 2. 软件设计软件设计 软件采用模块化的设计思想来实现。 系统程序主要包括:主程序,读温度子程序,温度转换命令子程序,计算温度子程序 和显示数据刷新子程序。 (1)主程序 主
5、程序的主要功能是负责温度的实时显示,读出并处理 DS18B20 的测量温度值。温 度测量每 1s 进行一次。 (2)读温度子程序 读温度子程序的主要功能是读出 RAM 中的 9 字节。在读出时必须进行 CRC 校验, 校验有错是不能进行温度数据的改写。 (3)温度转换子程序 温度转换子程序主要是发温度转换开始命令。当采用 12 位分辨率时,转换时间约为 750ms。在本程序设计中,采用 1s 显示程序延时法等待转换的完成。 (4)计算温度子程序 计算温度子程序将 RAM 中读取的 BCD 码转换运算,并进行温度正负值的判定。 (5)显示数据刷新子程序 显示数据刷新子程序主要是对显示缓冲器中的显
6、示数据进行刷新操作, 当最高数据显 示位为 0 时,将符号显示位移入下一位。 3.系统调试系统调试 系统调试以程序调试为主。 硬件调试比较简单, 首先检查短路的焊接是否正确, 然后可用万用表测试或通电检测。 软件调试可以先编写程序并进行硬件的正确性检查, 然后分别进行主程序, 读温度子 程序,温度转换命令子程序,计算温度子程序和显示刷新子程序等的编程和测试。 由于 DS18B20 与 STC89C52RC 采用串行数据传送,因此对 DS18B20 进行读或写程 序必须严格保证读/写时序;否则将无法读取测量结果。本程序采用 C 语言编写,用 TKS 或 Keil C51 编译器编程调试。 软件调试到能显示温度值,而且在有温度变化时(例如用手接触)显示温度改变,就 基本完成。 本设计重点研究了温度传感器的工作原理和应用。 主要根据数字温度传感器DS18B20的结构特点、工作原理和通信协议设计DS18B20数 字温度计,同时结合软件编程实现采集并显示温度的功能。硬件设计根据STC89C52RC引 脚的功能和结构同时结合数字温度传感器DS18