基于单片机设计的温度报警器_第1页
基于单片机设计的温度报警器_第2页
基于单片机设计的温度报警器_第3页
基于单片机设计的温度报警器_第4页
基于单片机设计的温度报警器_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、 本 科 毕 业 论 文 (设 计 题 目:基于单片机设计的温度报警器学 生:常彬彬 学号: 201040620104 学 院:物理与电子科学学院 专业:电子信息科学与技术 入学时间: 2010 年 9 月 15 日 指导教师:董秀英 职称:助教 完成日期 : 2014 年 4 月 15 日1基于单片机设计的温度报警器摘要这篇文章主要的讲述了一个在 STC89C52单片机上开发的温度报警系统,清晰明了的 描写了使用 DS18B20温度传感器开发测温系统的过程,对温度传感器每一个系统模块的流 程,软件的编程和在 C52单片机下的个个硬件连接重点的进行了详细的分析,还有温度控 制系统的电路也都逐一

2、去介绍。 最主要的是这一个温度控制系统可以很简单的去进行温度的 采集和温度值的显示, 也可以根据我们的需要去随意的设置报警温度。 而且这个温度控制系 统有很多的优点, 比如我们可以使用的很方便, 而且它的功耗非常低,体积很小,精确度和 灵敏度很高,量程很宽。关键词:DS18B20; STC89C52单片机;数码管;Based on single-chip microcomputer temperature alarmAbstractThis article mainly tells the story of a developed on STC89C52 single-chip microco

3、mputer temperature alarm system, clear the description of the development process of temperature measuring system using DS18B20 temperature sensor, the temperature sensor is the process of every system module, software programming and all hardware connection under C52 mainly has carried on the detai

4、led analysis, and circuit of temperature control system are to introduce them one by one. The mainest is it a temperature control system can be easily to the collection of temperature and temperature display, can also according to our need to set the alarm temperature at will. And the temperature co

5、ntrol system has many advantages, such as we can use is very convenient, and it's very low power consumption, small size, precision and high sensitivity, range is very wide.Key words:DS18B20. STC89C52 single-chip microcomputer; Digital tube;1引言 . . 1 1.1课题背景和意义 . . 11.2国内外发展的现状 . . 22.2 STC89C52

6、的概述 . . 73 设计内容及性能指标 . 94 系统方案比较、设计与论证 . 9 4.1主控制器模块 . . 9 4.2 温度测量 . . 10 4.3 设置温度 . . 10 4.4 显示模块 . . 114.5 电源选取 . . 115 硬件实现以及单元电路设计 . 11 5.1 主控制模块 . . 12 5.2 显示模块电路 . . 12 5.3数码管显示驱动电路 . 135.4 温度传感器 (DS18B20电路 . . 147 系统的安装与调试 . 17 7.1 安装步骤 . . 17 7.2 电路的调试 . . 18 7.3 本章小结 . . 19结 论 . . 20参考文献 .

7、 . 21附录 A . . 22致谢:. . 231引言1.1课题背景和意义在这个高速发展的科技社会中, 温度对于我们言是特别的重要。 在我们的工业 中它也是作为一个主要的参数, 比如说各种各样化工生产, 食品生产还有冶金业。 在这个快速发展的科技社会里,我们对于各式各样信息的精确度要求也越来越 高, 如何准确而又快速的去得到这些参数又受限制与当今社会基础信息的发展水 平。计算机技术,通信技术,传感器技术这三大信息即分别对应着信息处理,信 息传输, 信息采集对我们来说都是非常重要的, 而其中的传感器技术属于信息技 术的高端产品,而温度传感器技术又是重中之重,在我们国家中应用特别广泛, 毫不夸张

8、的说已经渗透在我们生活里的方方面面。 我们的生活和温度是分离不开 的,在工业的生产中需要精确的温度控制, 在农业中也需要温度的测量, 所以呢 研究如何测量温度和温度报警装置有着非常大的意义。而温度传感器又是温度测量必不可少的,温度传感器经过长久的发展有三个阶 段:传统的分立式温度传感器模拟集成温度传感器智能集成温度传感器。其中在工业中应用最广泛的即传统的分立式温度传感器 (热电偶传感器 它是需 要和被测对象直接接触,但是不会受到中间介质的影响,具有非常高的精度, 测 量范围也比较广,测量范围可在 -501600°C 之间进行连续的测量。模拟集成温度传感器是经过半导体集成工艺制作而成,

9、 它又被称作硅传感器, 是 在发明在 20世纪 80年代, 这种传感器集成在一个芯片上面, 可以完成温度的测 量和模拟信号的输出等功能。 它的功能比较单一但是它的测量误差比较小价格也 低,响应的速度快,传输距离远,体积小,功耗低。发明于 20世纪 90年代的智能温度传感器,它是三种技术的结晶,即 ATE 技术、 计算机技术和微电子技术。 他是可以输出温度数据和相关的温度控制量, 适应每 一种的 MCU (微控制器 。随着社会快速的发展,我们对传感器的要求也慢慢增 加, 如今的温度传感器在单片机的基础上从模拟式向数字式, 从集成化向智能化、 网络化的方向快速的发展,向着更高精确度, 更多功能总线

10、标准化、 高可靠性以1 1及安全性等高科技的方向发展着。 这篇文章就是介绍了智能集成温度传感器的结 构特点和控制方法,而且利用这个传感器、 STC89C52单片机为控制器设计的温 度控制装置的工作原理和程序设计进行了全面的介绍。 这个装置可以比较方便的 读数、 控制和进行输出温度的数字显示, 主要在一些对温度控制要求高的场所和 科研试验所所使用。这个温度传感器利用了 STC89C52单片机、 DS18B20温度传 感器和数码管实现温度的显示。1.2国内外发展的现状温度是在工业、农业、 国防和科研等部门中应用最普遍的被测物理量。 有资料表 明,温度传感器的数量在各种传感器中位居首位,约占 50%

11、左右。因此,温度测 量在保证产品质量,提高生产效率,节约能源,安全生产,促进国民经济发展等 诸多方面起到了至关重要的作用。2系统器件的选择和芯片的介绍2.1 DS18B20的概述DS18B20是在 Dallas 公司推出 DS1820传感器后的一种改进的传感器,它属 于智能数字温度传感器, 和传统的热敏电阻比较它只需要一根线就可以直接的读 出被测量的温度值,而且可以根据实际情况用编程去实现 912位数字值的读数 方式。2图 2.1 温度传感器 DS18B20的封装形式和引脚功能如图 2.1所示,温度传感器 DS18B20 的形状像一只三极管,个个引脚的名称 和作用下示:GND :接地端。DQ

12、:数据输出 /输入脚,与 TTL 电平相兼容VDD :接电源 /接地。每一个温度传感器 DS18B20都有两种供电方式:外部供 电和数据总线供电。数据总线供电的方式是 VDD 接地,可以省下来一根传输线, 但是测量数据完成的时间特别长;而另一种外部供电的方式需要 VDD 接 +5V,需 要多用一根数据线,但是加快了速度的测量。 图 2.2 传感器内部结构(1 64位 ROM 是芯片的标识号。(2温度传感器。 温度传感器是 DS18B20的最重要组成部分也是核心, 它的 功能是来完成测量温度时通过编程可将 -50°C125°C 范围内的温度值按照 9位、 10位、 11位、

13、12位的分辨率进行量化,上面所描述的每一种的分辨率都是 包含有一个符号位,它所对应着不同的温度量化值分别是 0.5°C 、 0.25°C 、 0.125°C 、 0.0625°C ,它的最高的分辨率是 0.0625°C 。芯片出厂的时候是有 一个默认值 12位的转换精度,当它接收到 44H (温度转换信号之后,就会开 始转换,转换后的温度是以 16位带符号扩展的二进制补码形式所表示的,保存 在高速缓存器 RAM 的第 0, 1字节中,它的前五位的二进制数是符号位。当它所 测的温度大于 0的时候,前五位符号位都为零,只需要将测得的温度数值乘于 0

14、.0625就可以得到实际上的温度;如果测得的温度小于 0的时候,前五位符号 位均为一,这时候需要将测得的温度数值全部取反然后在乘上 0.0625即可以得 到我们想要得到的实际数值。(3高速缓存器。 它内部的高速缓存器包含一个高速缓存器 RAM 和一个非易 失性可电擦除的 EEPRAM 。 而这个 EEPRAM 是用来存放配置寄存器、 低温触发器 TL 和高温触发器 TH 中的信息。(4配置寄存器。它的作用就是用来确定温度值的数值转化率。 DS18B20的 工作是根据这个寄存器的分辨率将温度值转化为比较精确的数值。 DS18B20是需要一个单线端口通讯。在这个条件下,它必须先建立 ROM 的操

15、作协议, 才可以去完成存储器和控制的工作。 所以, 操作器必须要先完成下完五 个 ROM 操作命令之一:读 ROM ;匹配 ROM ;搜索 ROM ;跳过 ROM ;报警搜索。上面所描述的每一个命令对器件的激光 ROM 部分进行操作的时候,在单线总 线上挂有多个器件的时候。 是可以区分出来单个器件的, 同时也可以向总线控制 器指明有几个器件以及它们是什么类型的器件。 当一条控制操作命令指示传感器 DS18B20完成一次问的测量的时候, 他的测量结果会存放在传感器 DS18B20的暂 存器里面, 然后我们在用一条读取暂存器内容的存储操作命令就可以将暂存器里 面的内容读取出来。(1外部电源供电模式

16、:这种供电模式是将 DS18B20的 GND 接地, DQ 作为信 号线与总线相连,而 VDD 和外部电源的正极相连接。(2 这种供电模式是将 GND 端口和 VDD 端口都直接接地, 而 DQ 和单总线相连 接, 51单片机中的一个 I/0口和 DQ 相连。主要是由温度存储器、 斜率累加器、温度系数振荡器、减法计数器等功能部件 所组成完成。 图 2.3DS18B20的原理图DS18B20的测温流程程:在一个高温度系数的振荡器去确定一个门周期,内部 的计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温 度值。 计数器被预置到对应 -55°C 的一个值。 如果在这个门周

17、期内计数器达到 0, 那么温度寄存器的值增加,表明所测温度大于 -55°C 。在这个同时, 计数器就会被复位到一个由斜坡式累加器电路确定的值, 而这个电路有是用来补偿感温振荡 器的抛物线特性。之后计数器便开始计数到 0为止,在这个门周期内, 会重复这 个过程。DS18B20遵循单总线协议, DS18B20完成温度转换必须经过 3个过程:初始化;ROM 操作指令;存储器操作指令;DS18B20有六条控制命令:温度转换(Convert T 44H 启动 DS18B20进行一次的温度转换 。读暂存器(Read scartchpad BEH 读取暂存器第一到第九字节的内容,并 且可以随时随刻

18、发出复位命令去停止数据读取的操作。写暂存器(Write scartchpad 4EH 允许将数据写入暂存器的两个字节 内即 TH 、 TL 字节。 第一个写进 TH 字节中,第二个写进 TL 字节中。复制暂存器(Copy scartchpad 48H 把暂存器的 TH 、 TL 字节复制到 EEPRAM 中。如果主机在发出这个命令的同时又发出其他的操作, DS18B20就会输出一个 “ 0” ,如果已经转换结束就会输出一个“ 1” 。重新调 EEPRAM (Recall E2 B8H 把 EEPRAM 中的 TH 、 TL 字节重新写到暂 存器 TH 、 TL 字节内。读电源供电方式(Read

19、 power supply B4H 启动 DS18B20发送电源供电方 式的信号给主 CPU , DS18B20就会回到它的电源使用模式,外部电源为 1,寄生 电源为 0。2.2 STC89C52的概述STC89C52是一种带 8K 字节闪烁可编程可檫除只读存储器(FPEROM-Flash Programable and Erasable Read Only Memory 的低电压,高性能 COMOS8的 微处理器,俗称单片机。该器件采用 ATMEL 搞密度非易失存储器制造技术制造, 与工业标准的 MCS-51指令集和输出管脚相兼容。STC89C52具体介绍如下: 主电源引脚(2根VCC(Pi

20、n40:电源输入,接+5V 电源GND(Pin20:接地线外接晶振引脚(2根XTAL1(Pin19:片内振荡电路的输入端XTAL2(Pin20:片内振荡电路的输出端控制引脚(4根RST/VPP(Pin9:复位引脚,引脚上出现 2个机器周期的高电平将使单片机复 位。ALE/PROG(Pin30:地址锁存允许信号PSEN(Pin29:外部存储器读选通信号EA/VPP(Pin31:程序存储器的内外部选通,接低电平从外部程序存储器读指 令,如果接高电平则从内部程序存储器读指令。可编程输入 /输出引脚(32根STC89C52单片机有 4组 8位的可编程 I/O口,分别位 P0、 P1、 P2、 P3口,

21、每 个口有 8位(8根引脚 ,共 32根。PO 口(Pin39Pin32 :8位双向 I/O口线,名称为 P0.0P0.7P1口(Pin1Pin8 :8位准双向 I/O口线,名称为 P1.0P1.7P2口(Pin21Pin28 :8位准双向 I/O口线,名称为 P2.0P2.7P3口(Pin10Pin17 :8位准双向 I/O口线,名称为 P3.0P3.7STC89C52主要功能如表所示。表一 STC89C52主要功能 3 设计内容及性能指标这个设计主要就是去介绍在 51单片机下设计的温度报警系统,清楚的描述了 它的硬件的设计和软件的设计,并且对它的每个功能模块做了比较详细的介绍, 它的主要功

22、能和指标如下:单片机在实时检测温度传感器 DS18B20的工作状态的同时将 DS18B20所得到的测 量数据进行处理。 通电后数码管将显示当时环境的温度, 并且通过按键去设置高 温和低温的报警温度, 当检测到的温度高于设置的报警值的时候, 报警系统的指 示灯会熄灭,温度检测的精确度是 0.1度。并具有掉电保存功能, 数据保存在单 片机内部 EEPOM 中,进入设置界面后如果没有键按下系统会在 15秒后自动退出 设置界面。4 系统方案比较、设计与论证这个系统主要是由温度的测量和温度的设置以及系统状态的显示三个部分的电 路组成,下面将介绍实现这个系统功能的方案。4.1主控制器模块方案 1:选择可编

23、程逻辑器件(CPLD 作为我们设计的控制器。 CPLD 可以完成多种 复杂的逻辑功能,而且它的稳定性高、规模比较大、体积比较小、 IO 资源非常 丰富、且易于我们进行多种功能的扩展。 采用并行的输入输出方式, 提高了系统 的处理速度, 适合作为大规模控制系统的控制核心。 但是我们的系统不需要那么 复杂的逻辑功能而且对数据的处理数度要求也很低, 最主要的是这个控制器的成 本比较高,所以我们就放弃了这个方案。方案 2:选择 STC89C52单片机作为我们系统设计的控制核心, 用它来控制温度的测量 来完成我们所需要的性能指标, 充分的去分析我们的系统, 完成温度测量的自动 控制。而在这一点上,单片机

24、就凸显出来它的优势控制快速、方便、简单。根据我们设计的要求来看单片机就可以完全发挥它资源丰富、 强大的控制功能以 及可位寻址操作功能。并且, C52单片机的价格也很低廉,它的性能也能完全满 足我们对控制器的要求,所以就选择了这个方案。4.2 温度测量 方案 1:采用数字温度芯片 DS18B20和单片机结合来测量实际温度。 单片机和温度传 感器的结合所需要的电路非常少,且容易控制。系统的结构设计也比较简单 , 体 积也小。 单片机的软件编程的自由度大, 可通过实现很多种算法和逻辑控制。 单 片机不仅可以和 DS18B20连接使用也可以和 PC 机连接方便操作。 方案 2:采用热电偶温差电路测温,

25、通过将参考结点保持在已知温度并测量该电压, 便可推断出检测结点的温度。数据采集部分可以使用 A/D 转化,将所测量的温 度由模拟信号转化为数字信号, 在单片机的显示模块进行显示。 但是它们也存在 着输出电压小、 容易遭受来自导线环影响和漂移较高的缺点, 而且这种设计需要 用到 A/D 转换电路,感温电路比较麻烦。 图 1 热电偶电路图从上面两种方案, 可以轻易的看出来方案二的测温装置能够测温度范围宽、 体积 小,但是线性误差较大。而方案一的测温装置电路比较简单、精确度也很高、实 现方便、软件的设计也比较简单,因此本次的设计选择了方案一。4.3 设置温度 方案 1:采用键盘输入设置温度, 键盘则

26、可以用 4个按键,一个复位键,一个功能设定键, 一个加减一个减键。 四个键比较常用, 而且用到的接口得到了极好的利用, 仅需要 4个接口。方案 2:可采用 4*4矩阵键盘,该键盘需要 8个接口,而我们不需这么多键。综上所述,我们选择第一种方案。4.4 显示模块方案 1:用数码管进行显示。数码管的显示非常简单,而且使用起来也很方便, 显示 的效果简洁明了故此得到了非常广泛的应用。方案 2:用 LCD 液晶进行显示。 LCD 由于它的显示清晰,显示的内容也比较丰富,显示的 信息量大, 快速的显示和方便的使用也使得它得到了广泛应用。 单对于此系统我 们不需要显示丰富的内容,而且 LCD 液晶价格贵,

27、因此我们选择了此方案。 综上所述我们选择方案 14.5 电源选取由于本系统采用电池供电,我们考虑了如下几种方案为系统供电。方案 1:选择 5V 蓄电池作为测温系统电源。 5V 的蓄电池的电流驱动能力比较强而且 它的电压输出稳定。 但是蓄电池的体积过于庞大, 在单片机测温系统中使用的特 别麻烦,因此我们放弃了这个个方案。方案 2:选择 3节 1.5 V的干电池共 4.5V 做作为系统电源。经过实验的验证系统工 作时,单片机、传感器的工作电压稳定,可以满足系统对电源的要求,而且它的 更换使用更加方便。所以选择方案 2。5 硬件实现以及单元电路设计硬件是一个工程设计项目的重要组成部分,他支撑并构成一

28、个完整的系统骨架,缺少这一骨架,就只能纸上谈兵,虚无缥缈。所以,系统的硬件设计是设计中的重点考虑对象。5.1 主控制模块主控制最系统电路如图 5.1所示。 图 5.1 单片主控电路5.2 显示模块电路显示采用四位数码管显示, 当位选打开时,送入相应的段码,则相应的数码管打开,关掉位选,打开另一个位选,送入相应的段码,则数码管打开,而每次打开关掉相应的位选时,时间间隔低于 20ms ,从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。显示电路如图 5.2 图 5.2 数码管显示5.3 数码管显示驱动电路三极管 8550 4位数码管,不仅简单,而且价格便宜。 图 5.3 驱动电路5.4 温度

29、传感器 (DS18B20电路 6 系统软件设计6.1 程序结构分析主程序调用了 3个子程序,分别是数码管显示程序、温度信号处理程序、 按 键设定报警温度程序。温度信号处理程序:对温度芯片送过来的数据进行处理, 进行判断和显示。 数码管显示程序:向数码管的显示送数, 控制系统的显示部分。 按键设定程序:可以设定低温和高温报警可精确到 0.1度。6.2 系统程序流图主程序的主要功能是负责温度的实时显示、 读出并处理 DS18B20的测量的当 前温度值,温度测量每 1s 进行一次。这样可以在一秒之内测量一次被测温度, 主程序的主要功能是负责温度的实时显示,读出并处理 DS18B20的当前温度值, 与

30、设定的报警温度比较,其程序流程见图 6.1所示。通过调用读温度子程序把存入内存储中的整数部分与小数部分开分存放在 不的的两个单元中,然后通过调用显示子程序显示出来。图 6.1 DS18B20温度流程图 在 DS18B20工作之前需要进行初始化,流程图如下: 图 6.2 初始化程序流程图读温度子程序的主要功能是从 DS18B20中读出温度数据,移入温度暂存器保 存。其程序流程图如下: 图 6.3 温度子程序流程图7 系统的安装与调试7.1 安装步骤1. 检查元件的好坏按电路图买好元件后首先检查买回元件的好坏, 按各元件的检测方法分别进 行检测, 一定要仔细认真。而且要认真核对原理图是否一致, 在检查好后才可上 件、焊件,防止出现错误焊件后不便改正。2. 放置、焊接各元件按原理图的位置放置各元件, 在放置过程中要先放置、焊接较低的元件,后 焊较高的和要求较高的元件。 特别是容易损坏的元件要后焊, 在焊集成芯片时连 续焊接时间不要超过 1

温馨提示

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

评论

0/150

提交评论