基于单片机设计的温度报警器.doc

上传人:wj 文档编号:1233214 上传时间:2023-04-30 格式:DOC 页数:26 大小:1.05MB
下载 相关 举报
基于单片机设计的温度报警器.doc_第1页
第1页 / 共26页
基于单片机设计的温度报警器.doc_第2页
第2页 / 共26页
基于单片机设计的温度报警器.doc_第3页
第3页 / 共26页
基于单片机设计的温度报警器.doc_第4页
第4页 / 共26页
基于单片机设计的温度报警器.doc_第5页
第5页 / 共26页
基于单片机设计的温度报警器.doc_第6页
第6页 / 共26页
基于单片机设计的温度报警器.doc_第7页
第7页 / 共26页
基于单片机设计的温度报警器.doc_第8页
第8页 / 共26页
基于单片机设计的温度报警器.doc_第9页
第9页 / 共26页
基于单片机设计的温度报警器.doc_第10页
第10页 / 共26页
基于单片机设计的温度报警器.doc_第11页
第11页 / 共26页
基于单片机设计的温度报警器.doc_第12页
第12页 / 共26页
基于单片机设计的温度报警器.doc_第13页
第13页 / 共26页
基于单片机设计的温度报警器.doc_第14页
第14页 / 共26页
基于单片机设计的温度报警器.doc_第15页
第15页 / 共26页
基于单片机设计的温度报警器.doc_第16页
第16页 / 共26页
基于单片机设计的温度报警器.doc_第17页
第17页 / 共26页
基于单片机设计的温度报警器.doc_第18页
第18页 / 共26页
基于单片机设计的温度报警器.doc_第19页
第19页 / 共26页
基于单片机设计的温度报警器.doc_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于单片机设计的温度报警器.doc

《基于单片机设计的温度报警器.doc》由会员分享,可在线阅读,更多相关《基于单片机设计的温度报警器.doc(26页珍藏版)》请在冰点文库上搜索。

基于单片机设计的温度报警器.doc

本科毕业论文(设计)

题目:

基于单片机设计的温度报警器

学生:

常彬彬学号:

201040620104

学院:

物理与电子科学学院专业:

电子信息科学与技术

入学时间:

2010年9月15日

指导教师:

董秀英职称:

助教

完成日期:

2014年4月15日

基于单片机设计的温度报警器

摘要

这篇文章主要的讲述了一个在STC89C52单片机上开发的温度报警系统,清晰明了的描写了使用DS18B20温度传感器开发测温系统的过程,对温度传感器每一个系统模块的流程,软件的编程和在C52单片机下的个个硬件连接重点的进行了详细的分析,还有温度控制系统的电路也都逐一去介绍。

最主要的是这一个温度控制系统可以很简单的去进行温度的采集和温度值的显示,也可以根据我们的需要去随意的设置报警温度。

而且这个温度控制系统有很多的优点,比如我们可以使用的很方便,而且它的功耗非常低,体积很小,精确度和灵敏度很高,量程很宽。

关键词:

DS18B20;STC89C52单片机;数码管;

Basedonsingle-chipmicrocomputertemperaturealarm

Abstract

ThisarticlemainlytellsthestoryofadevelopedonSTC89C52single-chipmicrocomputertemperaturealarmsystem,clearthedescriptionofthedevelopmentprocessoftemperaturemeasuringsystemusingDS18B20temperaturesensor,thetemperaturesensoristheprocessofeverysystemmodule,softwareprogrammingandallhardwareconnectionunderC52mainlyhascarriedonthedetailedanalysis,andcircuitoftemperaturecontrolsystemaretointroducethemonebyone.Themainestisitatemperaturecontrolsystemcanbeeasilytothecollectionoftemperatureandtemperaturedisplay,canalsoaccordingtoourneedtosetthealarmtemperatureatwill.Andthetemperaturecontrolsystemhasmanyadvantages,suchaswecanuseisveryconvenient,andit'sverylowpowerconsumption,smallsize,precisionandhighsensitivity,rangeisverywide.

Keywords:

DS18B20.STC89C52single-chipmicrocomputer;Digitaltube;

1引言 1

1.1课题背景和意义 1

1.2国内外发展的现状 2

2系统器件的选择和芯片的介绍 2

2.1DS18B20的概述 2

2.1.1传感器DS18B20的封装和引脚功能 3

2.1.2DS18B20温度传感器的内部结构 4

2.1.3DS18B20的供电模式 5

2.1.4DS18B20测量温度原理 6

2.1.5DS18B20控制方法 7

2.2STC89C52的概述 7

3设计内容及性能指标 9

4系统方案比较、设计与论证 9

4.1主控制器模块 9

4.2温度测量 10

4.3设置温度 10

4.4显示模块 11

4.5电源选取 11

5硬件实现以及单元电路设计 11

5.1主控制模块 12

5.2显示模块电路 12

5.3 数码管显示驱动电路 13

5.4温度传感器(DS18B20)电路 14

6系统软件设计 14

6.1程序结构分析 14

6.2系统程序流图 14

6.2.1 DS18B20初始化程序流程图 16

6.2.2读温度子程序流程图 16

7系统的安装与调试 17

7.1安装步骤 17

7.2电路的调试 18

7.3本章小结 19

结论 20

参考文献 21

附录A 22

致谢:

23

1引言

1.1课题背景和意义

在这个高速发展的科技社会中,温度对于我们言是特别的重要。

在我们的工业中它也是作为一个主要的参数,比如说各种各样化工生产,食品生产还有冶金业。

在这个快速发展的科技社会里,我们对于各式各样信息的精确度要求也越来越高,如何准确而又快速的去得到这些参数又受限制与当今社会基础信息的发展水平。

计算机技术,通信技术,传感器技术这三大信息即分别对应着信息处理,信息传输,信息采集对我们来说都是非常重要的,而其中的传感器技术属于信息技术的高端产品,而温度传感器技术又是重中之重,在我们国家中应用特别广泛,毫不夸张的说已经渗透在我们生活里的方方面面。

我们的生活和温度是分离不开的,在工业的生产中需要精确的温度控制,在农业中也需要温度的测量,所以呢研究如何测量温度和温度报警装置有着非常大的意义。

而温度传感器又是温度测量必不可少的,温度传感器经过长久的发展有三个阶段:

①传统的分立式温度传感器

②模拟集成温度传感器

③智能集成温度传感器。

其中在工业中应用最广泛的即传统的分立式温度传感器(热电偶传感器)它是需要和被测对象直接接触,但是不会受到中间介质的影响,具有非常高的精度,测量范围也比较广,测量范围可在-50~1600°C之间进行连续的测量。

模拟集成温度传感器是经过半导体集成工艺制作而成,它又被称作硅传感器,是在发明在20世纪80年代,这种传感器集成在一个芯片上面,可以完成温度的测量和模拟信号的输出等功能。

它的功能比较单一但是它的测量误差比较小价格也低,响应的速度快,传输距离远,体积小,功耗低。

发明于20世纪90年代的智能温度传感器,它是三种技术的结晶,即ATE技术、计算机技术和微电子技术。

他是可以输出温度数据和相关的温度控制量,适应每一种的MCU(微控制器)。

随着社会快速的发展,我们对传感器的要求也慢慢增加,如今的温度传感器在单片机的基础上从模拟式向数字式,从集成化向智能化、网络化的方向快速的发展,向着更高精确度,更多功能总线标准化、高可靠性以及安全性等高科技的方向发展着。

这篇文章就是介绍了智能集成温度传感器的结构特点和控制方法,而且利用这个传感器、STC89C52单片机为控制器设计的温度控制装置的工作原理和程序设计进行了全面的介绍。

这个装置可以比较方便的读数、控制和进行输出温度的数字显示,主要在一些对温度控制要求高的场所和科研试验所所使用。

这个温度传感器利用了STC89C52单片机、DS18B20温度传感器和数码管实现温度的显示。

1.2国内外发展的现状

温度是在工业、农业、国防和科研等部门中应用最普遍的被测物理量。

有资料表明,温度传感器的数量在各种传感器中位居首位,约占50%左右。

因此,温度测量在保证产品质量,提高生产效率,节约能源,安全生产,促进国民经济发展等诸多方面起到了至关重要的作用。

2系统器件的选择和芯片的介绍

2.1DS18B20的概述

DS18B20是在Dallas公司推出DS1820传感器后的一种改进的传感器,它属于智能数字温度传感器,和传统的热敏电阻比较它只需要一根线就可以直接的读出被测量的温度值,而且可以根据实际情况用编程去实现9~12位数字值的读数方式。

2.1.1传感器DS18B20的封装和引脚功能

图2.1温度传感器DS18B20的封装形式和引脚功能

如图2.1所示,温度传感器DS18B20 的形状像一只三极管,个个引脚的名称和作用下示:

GND:

接地端。

DQ:

数据输出/输入脚,与TTL电平相兼容

VDD:

接电源/接地。

每一个温度传感器DS18B20都有两种供电方式:

外部供电和数据总线供电。

数据总线供电的方式是VDD接地,可以省下来一根传输线,但是测量数据完成的时间特别长;而另一种外部供电的方式需要VDD接+5V,需要多用一根数据线,但是加快了速度的测量。

2.1.2DS18B20温度传感器的内部结构

图2.2传感器内部结构

(1)64位ROM是芯片的标识号。

(2)温度传感器。

温度传感器是DS18B20的最重要组成部分也是核心,它的功能是来完成测量温度时通过编程可将-50°C~125°C范围内的温度值按照9位、10位、11位、12位的分辨率进行量化,上面所描述的每一种的分辨率都是包含有一个符号位,它所对应着不同的温度量化值分别是0.5°C、0.25°C、0.125°C、0.0625°C,它的最高的分辨率是0.0625°C。

芯片出厂的时候是有一个默认值12位的转换精度,当它接收到44H(温度转换信号)之后,就会开始转换,转换后的温度是以16位带符号扩展的二进制补码形式所表示的,保存在高速缓存器RAM的第0,1字节中,它的前五位的二进制数是符号位。

当它所测的温度大于0的时候,前五位符号位都为零,只需要将测得的温度数值乘于0.0625就可以得到实际上的温度;如果测得的温度小于0的时候,前五位符号位均为一,这时候需要将测得的温度数值全部取反然后在乘上0.0625即可以得到我们想要得到的实际数值。

(3)高速缓存器。

它内部的高速缓存器包含一个高速缓存器RAM和一个非易失性可电擦除的EEPRAM。

而这个EEPRAM是用来存放配置寄存器、低温触发器TL和高温触发器TH中的信息。

(4)配置寄存器。

它的作用就是用来确定温度值的数值转化率。

DS18B20的工作是根据这个寄存器的分辨率将温度值转化为比较精确的数值。

DS18B20是需要一个单线端口通讯。

在这个条件下,它必须先建立ROM的操作协议,才可以去完成存储器和控制的工作。

所以,操作器必须要先完成下完五个ROM操作命令之一:

①读ROM;

②匹配ROM;

③搜索ROM;

④跳过ROM;

⑤报警搜索。

上面所描述的每一个命令对器件的激光ROM部分进行操作的时候,在单线总线上挂有多个器件的时候。

是可以区分出来单个器件的,同时也可以向总线控制器指明有几个器件以及它们是什么类型的器件。

当一条控制操作命令指示传感器DS18B20完成一次问的测量的时候,他的测量结果会存放在传感器DS18B20的暂存器里面,然后我们在用一条读取暂存器内容的存储操作命令就可以将暂存器里面的内容读取出来。

2.1.3DS18B20的供电模式

(1)外部电源供电模式:

这种供电模式是将DS18B20的GND接地,DQ作为信号线与总线相连,而VDD和外部电源的正极相连接。

(2)这种供电模式是将GND端口和VDD端口都直接接地,而DQ和单总线相连接,51单片机中的一个I/0口和DQ相连。

2.1.4DS18B20测量温度原理

主要是由温度存储器、斜率累加器、温度系数振荡器、减法计数器等功能部件所组成完成。

斜坡累加器

比较

预置

预置

低温度系数振荡器

计数器

清零

温度寄存器

增加

高温度系数振荡器

计数器

停止

图2.3DS18B20的原理图

DS18B20的测温流程程:

在一个高温度系数的振荡器去确定一个门周期,内部的计数器在这个门周期内对一个低温度系数的振荡器的脉冲进行计数来得到温度值。

计数器被预置到对应-55°C的一个值。

如果在这个门周期内计数器达到0,那么温度寄存器的值增加,表明所测温度大于-55°C。

在这个同时,计数器就会被复位到一个由斜坡式累加器电路确定的值,而这个电路有是用来补偿感温振荡器的抛物线特性。

之后计数器便开始计数到0为止,在这个门周期内,会重复这个过程。

DS18B20遵循单总线协议,DS18B20完成温度转换必须经过3个过程:

初始化;

ROM操作指令;

存储器操作指令;

2.1.5DS18B20控制方法

DS18B20有六条控制命令:

①温度转换(ConvertT)44H启动DS18B20进行一次的温度转换。

②读暂存器(Readscartchpad)BEH读取暂存器第一到第九字节的内容,并且可以随时随刻发出复位命令去停止数据读取的操作。

③写暂存器(Writescartchpad)4EH允许将数据写入暂存器的两个字节内即TH、TL字节。

第一个写进TH字节中,第二个写进TL字节中。

④复制暂存器(Copyscartchpad)48H把暂存器的TH、TL字节复制到EEPRAM中。

如果主机在发出这个命令的同时又发出其他的操作,DS18B20就会输出一个“0”,如果已经转换结束就会输出一个“1”。

⑤重新调EEPRAM(RecallE2)B8H把EEPRAM中的TH、TL字节重新写到暂存器TH、TL字节内。

⑥读电源供电方式(Readpowersupply)B4H启动DS18B20发送电源供电方式的信号给主CPU,DS18B20就会回到它的电源使用模式,外部电源为1,寄生电源为0。

2.2STC89C52的概述

2.2.1单片机STC89C52的介绍

STC89C52是一种带8K字节闪烁可编程可檫除只读存储器(FPEROM-FlashProgramableandErasableReadOnlyMemory)的低电压,高性能COMOS8的微处理器,俗称单片机。

该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

STC89C52具体介绍如下:

①主电源引脚(2根)

VCC(Pin40):

电源输入,接+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口,每个口有8位(8根引脚),共32根。

PO口(Pin39~Pin32):

8位双向I/O口线,名称为P0.0~P0.7

P1口(Pin1~Pin8):

8位准双向I/O口线,名称为P1.0~P1.7

P2口(Pin21~Pin28):

8位准双向I/O口线,名称为P2.0~P2.7

P3口(Pin10~Pin17):

8位准双向I/O口线,名称为P3.0~P3.7

STC89C52主要功能如表所示。

表一STC89C52主要功能

主要功能特性

兼容MCS51指令系统

8K可反复擦写FlashROM

32个双向I/O口

256x8bit内部RAM

3个16位可编程定时/计数器中断

时钟频率0-24MHz

2个串行中断

可编程UART串行通道

2个外部中断源

共6个中断源

2个读写中断口线

3级加密位

低功耗空闲和掉电模式

软件设置睡眠和唤醒功能

3设计内容及性能指标

这个设计主要就是去介绍在51单片机下设计的温度报警系统,清楚的描述了它的硬件的设计和软件的设计,并且对它的每个功能模块做了比较详细的介绍,它的主要功能和指标如下:

单片机在实时检测温度传感器DS18B20的工作状态的同时将DS18B20所得到的测量数据进行处理。

通电后数码管将显示当时环境的温度,并且通过按键去设置高温和低温的报警温度,当检测到的温度高于设置的报警值的时候,报警系统的指示灯会熄灭,温度检测的精确度是0.1度。

并具有掉电保存功能,数据保存在单片机内部EEPOM中,进入设置界面后如果没有键按下系统会在15秒后自动退出设置界面。

4系统方案比较、设计与论证

这个系统主要是由温度的测量和温度的设置以及系统状态的显示三个部分的电路组成,下面将介绍实现这个系统功能的方案。

4.1主控制器模块

方案1:

选择可编程逻辑器件(CPLD)作为我们设计的控制器。

CPLD可以完成多种复杂的逻辑功能,而且它的稳定性高、规模比较大、体积比较小、IO资源非常丰富、且易于我们进行多种功能的扩展。

采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模控制系统的控制核心。

但是我们的系统不需要那么复杂的逻辑功能而且对数据的处理数度要求也很低,最主要的是这个控制器的成本比较高,所以我们就放弃了这个方案。

方案2:

选择STC89C52单片机作为我们系统设计的控制核心,用它来控制温度的测量来完成我们所需要的性能指标,充分的去分析我们的系统,完成温度测量的自动控制。

而在这一点上,单片机就凸显出来它的优势——控制快速、方便、简单。

根据我们设计的要求来看单片机就可以完全发挥它资源丰富、强大的控制功能以及可位寻址操作功能。

并且,C52单片机的价格也很低廉,它的性能也能完全满足我们对控制器的要求,所以就选择了这个方案。

4.2温度测量

方案1:

采用数字温度芯片DS18B20和单片机结合来测量实际温度。

单片机和温度传感器的结合所需要的电路非常少,且容易控制。

系统的结构设计也比较简单,体积也小。

单片机的软件编程的自由度大,可通过实现很多种算法和逻辑控制。

单片机不仅可以和DS18B20连接使用也可以和PC机连接方便操作。

方案2:

采用热电偶温差电路测温,通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。

数据采集部分可以使用A/D转化,将所测量的温度由模拟信号转化为数字信号,在单片机的显示模块进行显示。

但是它们也存在着输出电压小、容易遭受来自导线环影响和漂移较高的缺点,而且这种设计需要用到A/D转换电路,感温电路比较麻烦。

图1热电偶电路图

从上面两种方案,可以轻易的看出来方案二的测温装置能够测温度范围宽、体积小,但是线性误差较大。

而方案一的测温装置电路比较简单、精确度也很高、实现方便、软件的设计也比较简单,因此本次的设计选择了方案一。

4.3设置温度

方案1:

采用键盘输入设置温度,键盘则可以用4个按键,一个复位键,一个功能设定键,一个加减一个减键。

四个键比较常用,而且用到的接口得到了极好的利用,仅需要4个接口。

方案2:

可采用4*4矩阵键盘,该键盘需要8个接口,而我们不需这么多键。

综上所述,我们选择第一种方案。

4.4显示模块

方案1:

用数码管进行显示。

数码管的显示非常简单,而且使用起来也很方便,显示的效果简洁明了故此得到了非常广泛的应用。

方案2:

用LCD液晶进行显示。

LCD由于它的显示清晰,显示的内容也比较丰富,显示的信息量大,快速的显示和方便的使用也使得它得到了广泛应用。

单对于此系统我们不需要显示丰富的内容,而且LCD液晶价格贵,因此我们选择了此方案。

综上所述我们选择方案1

4.5电源选取

由于本系统采用电池供电,我们考虑了如下几种方案为系统供电。

方案1:

选择5V蓄电池作为测温系统电源。

5V的蓄电池的电流驱动能力比较强而且它的电压输出稳定。

但是蓄电池的体积过于庞大,在单片机测温系统中使用的特别麻烦,因此我们放弃了这个个方案。

方案2:

选择3节1.5V的干电池共4.5V做作为系统电源。

经过实验的验证系统工作时,单片机、传感器的工作电压稳定,可以满足系统对电源的要求,而且它的更换使用更加方便。

所以选择方案2。

5硬件实现以及单元电路设计

硬件是一个工程设计项目的重要组成部分,他支撑并构成一个完整的系统骨架,缺少这一骨架,就只能纸上谈兵,虚无缥缈。

所以,系统的硬件设计是设计中的重点考虑对象。

5.1主控制模块

主控制最系统电路如图5.1所示。

图5.1单片主控电路

5.2显示模块电路

显示采用四位数码管显示,当位选打开时,送入相应的段码,则相应的数码管打开,关掉位选,打开另一个位选,送入相应的段码,则数码管打开,而每次打开关掉相应的位选时,时间间隔低于20ms,从人类视觉的角度上看,就仿佛是全部数码管同时显示的一样。

显示电路如图5.2

图5.2数码管显示

5.3数码管显示驱动电路

三极管85504位数码管,不仅简单,而且价格便宜。

图5.3驱动电路

5.4温度传感器(DS18B20)电路

6系统软件设计

6.1程序结构分析

  主程序调用了3个子程序,分别是数码管显示程序、温度信号处理程序、按键设定报警温度程序。

温度信号处理程序:

对温度芯片送过来的数据进行处理,进行判断和显示。

数码管显示程序:

向数码管的显示送数,控制系统的显示部分。

按键设定程序:

可以设定低温和高温报警可精确到0.1度。

6.2系统程序流图

主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值,温度测量每1s进行一次。

这样可以在一秒之内测量一次被测温度,主程序的主要功能是负责温度的实时显示,读出并处理DS18B20的当前温度值,与设定的报警温度比较,其程序流程见图6.1所示。

通过调用读温度子程序把存入内存储中的整数部分与小数部分开分存放在不的的两个单元中,然后通过调用显示子程序显示出来。

图6.1DS18B20温度流程图

6.2.1DS18B20初始化程序流程图

在DS18B20工作之前需要进行初始化,流程图如下:

发复位命令

发跳过ROM命令

初始化成功

结束

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2