基于STC89C52单片机温度报警器毕业论文

更新时间:2023-04-19 05:23:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于STC89C52单片机温度报警器

摘要

温度的检测与控制是工业生产过程中比较典型的应用之一,随着传感器在生产和生活中的更加广泛的应用,利用新型单总线式数字温度传感器实现对温度的测试与控制得到更快的开发,本文设计了一种基于STC89C52的温度检测及报警系统。该系统将多个单总线温度传感器DS18B20并接在控制器的一个端口上,对各个传感器温度进行循环采集,将采集到的温度值与设定值进行比较,当超出设定的上限温度时,通过蜂鸣器报警信号。该系统设计和布线简单,结构紧凑,体积小,重量轻,抗干扰能力强,性价比高,扩展方便,在大型仓库,工厂,智能化建筑等领域的多点温度检测中有广阔的应用前景。

关键词:数字温度传感器;DS18B20;STC89C52;蜂鸣器。

基于STC89C52单片机温度报警器

Abstract

Temperature detection and control of industrial production process, one of the more typical applications, with sensors in production and life is more widely used, using a new single-bus digital temperature sensor to achieve the test and control the temperature more rapidly development, this paper is designed based on STC89C52 temperature detection and alarm systems. The system will be more than a single-bus temperature sensor

DS18B20 and connected to a port on the controller, the temperature sensors on each loop collection, the temperature will be collected to compare with the set value, when the temperature exceeds the upper limit set , Through the buzzer alarm. The system design and layout simple and compact structure, small size, light weight, anti-jamming capability, cost-effective to expand convenience, in large warehouses, factories, construction and other areas of intelligent

multi-point temperature measurement in a wide range of applications prospects.

Key words: digital temperature sensor; DS18B20; STC89C52; alarm signal.

2

基于STC89C52单片机温度报警器

毕业论文(设计)原创性声明

本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。

作者签名:日期:

毕业论文(设计)授权使用说明

本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。学校可以公布论文(设计)的全部或部分内容。保密的论文(设计)在解密后适用本规定。

作者签名:指导教师签名:

日期:日期:

3

基于STC89C52单片机温度报警器

注意事项

1.设计(论文)的内容包括:

1)封面(按教务处制定的标准封面格式制作)

2)原创性声明

3)中文摘要(300字左右)、关键词

4)外文摘要、关键词

5)目次页(附件不统一编入)

6)论文主体部分:引言(或绪论)、正文、结论

7)参考文献

8)致谢

9)附录(对论文支持必要时)

2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。

4.文字、图表要求:

1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写

2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画

3)毕业论文须用A4单面打印,论文50页以上的双面打印

4)图表应绘制于无格子的页面上

5)软件工程类课题应有程序清单,并提供电子文档

5.装订顺序

1)设计(论文)

2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订

3)其它

4

基于STC89C52单片机温度报警器

目录

一、绪论

1.1 设计的意义及目标 (4)

1.2 单片机的概述 (4)

1.3 设计方案的论证 (5)

二、硬件的设计

(一)、主要器件的选择

2.1.1 主控制器的选择 (6)

2.1.2 DS18B20温度传感器 (7)

2.1.3 蜂鸣器的报警原理 (13)

2.1.4 1602LCD显示原理 (14)

(二)、电路的设计

2.2.1最小系统电路设计 (18)

2.2.2温度传感器DS18B20电路图设计 (18)

2.2.3显示电路设计 (19)

三、软件设计

(一)、主程序设计 (20)

(二)、部分程序设计

3.2.1获取温度子程序 (22)

3.2.2温度计算BCD码转换子程序 (22)

3.2.3DS18B20初始化子程序 (26)

3.2.4LCD1602液晶显示程序 (29)

四、调试

4.1 硬件调试 (30)

4.2 软件调试 (30)

五、总结 (31)

六、致谢 (32)

七、参考文献 (32)

八、附录 (33)

5

基于STC89C52单片机温度报警器

一绪论

1.1 选题的意义与内容

防潮、防霉、防腐、防爆是仓库日常工作的重要内容,是衡量仓库管理质量的重要指标。它直接影响到储备物资的使用寿命和工作可靠性。为保证日常工作的顺利进行,首要问题是加强仓库内温度与湿度的监测工作。但传统的方法是用与湿度表、毛发湿度表、双金属式测量计和湿度试纸等测试器材,通过人工进行检测,对不符合温度和湿度要求的库房进行通风、去湿和降温等工作。这种人工测试方法费时费力、效率低,且测试的温度及湿度误差大,随机性大。因此,研究温度的测量方法和装置具有重要意义,温度测控技术也在各个领域应用越来越广泛。采用单片机对温度进行控制,不仅具有控制方便和组态简单的优点,而且可以提高被控温度的技术指标。我们设计了这种造价低廉、使用方便且测量准确的温湿度测量仪。

1.2 单片机的概述

单片机自1976年由Intel公司推出MCS-48开始,迄今已有三十多年了。由于单片机集成度高、功能强、可靠性高、体积小、功耗低、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面。单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC机外围以及网络通讯等广大领域,对各个行业的技术改造和产品更新换代起着重要的推动作用。

6

基于STC89C52单片机温度报警器

目前使用的MCS-51系列单片机及其兼容产品通常分成以下几类:基本型、增强型、低功耗型、专用型、超8位型、片内闪烁存储器型。其中ATMEL公司的标准型AT89单片机因其与MCS-51的完全兼容性、优良的工作性能、使用的灵活性以及较高的性能价格比,成为AT89系列单片机的主流机型,在嵌入式控制系统中获得广泛应用。

1.3 设计方案的论证

方案一

由于本设计实现的是测温电路,首先我们可以使用热敏电阻之类的器件,利用其感温效应,将其随被测温度变化的电压或电流值采集过来,进行A/D转换后,就可以用单片机进行数据的处理,通过显示电路就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。因此,我们引出第二种方案。

方案二

我们可以采用技术成熟、操作简单、精确度高的温度传感器,在此,可以选用数字温度传感器DS18B20,根据它的特点和测温原理,很容易就能直接读取被测温度值并进行转换,这样就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故在本设计中采用了方案二。

通过方案二设计的温度计总体电路图如附录图C所示,控制器

7

基于STC89C52单片机温度报警器

8

采用单片机STC89C52,温度传感器采用DS18B20,用4位LED 数码管以串口并行输出方式传送数据实现温度显示。

图1.1 方案二的总体设计框图

二、硬件的设计

(一)、主要器件的选择

2.1.1 主控制器的选择

STC89C52 是低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的Flash 只读程序存储器和256 bytes 的随机存取数据存储器(RAM ),器件采用高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU )和 Flash 存储单元,功能强大 STC89C52 单片机适合于许多较为复杂控制应用场合。STC89C52单片机为40引脚双列直插芯片,有四个I/O 口P0、P1、P2、P3,每一条I/O 线都能独立地作输出或输入。STC89C52 PDIP 管脚封装,如图2.1.1所示。

LCD1602

显示

温度传感器

单片机主控制器

单片机复位

蜂鸣器报警 时钟震荡

基于STC89C52单片机温度报警器

9

图2.1 STC89C52 PDIP 管脚封装

STC89c52包含以下部分:

(1)一个8位微处理器CPU

(2)片内数据存储器RAM 和特殊功能寄存器SFR

(3)片内程序存储器ROM

(4)两个定时/计数器T0、T1,可用作定时器,也可用以对外部脉冲进行计数

(5)四个8位可编程的并行I/O 端口,每个端口既可作输入,也可作输出

(6)一个串行端口,用于数据的串行通信

(7)中断控制系统

(8)内部时钟电路

2.1.2 DS18B20温度传感器

基于STC89C52单片机温度报警器

10 (1) DS18B20的主要特征:

▲ 全数字温度转换及输出。

▲ 先进的单总线数据通信。

▲ 最高12位分辨率,精度可达土0.5摄氏度。

▲ 12位分辨率时的最大工作周期为750毫秒。

▲ 可选择寄生工作方式。

▲ 检测温度范围为–55°C ~+125°C (–67°F

~+257°F)

▲ 内置EEPROM ,限温报警功能。

▲ 64位光刻ROM ,内置产品序列号,方便多机

挂接。

▲ 多样封装形式,适应不同硬件系统。

图2.2

(2) DS18B20内部结构

:

图2.3 DS18B20内部结构框图

基于STC89C52单片机温度报警器

温度传感器DS18B20的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图2.4所示。

图2.4 高速暂存RAM结构图

其中,前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。

暂存存储器的第5个字节是配置寄存器,可以通过相应的写命令进行配置,其内容如下:

0 R1 R0 1 1 1 1 1 1

MSB

LSB

其中R0和R1是温度值分辨率位,可按表2.1进行配置。

11

基于STC89C52单片机温度报警器

表2.1 温度值分辨率配置表

最大转换时间R1 R0 分辨率

(ms)

93.75ms(t conv/8

0 0 9位

)

183.50ms(t conv

0 1 10位

/4)

1 0 11位375ms(t conv /2)

1 1 12位750ms(t conv)

当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可通过单线接口读到该数据,读取时低位在前、高位在后,数据格式以0.0625℃/LSB形式表示。温度值格式如下:

低232221202-12-22-32-4

高S S S S S 262524

MSB

LSB

这是12位转化后得到的12位数据,存储在DS18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这

12

基于STC89C52单片机温度报警器

5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。格式中,S表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H.

表2.2 部分温度的二进制数表示

温度数字输出(二进制)数字输出(16进制)

+125℃00000111 11010000 07D0H

+85℃00000101 01010000 0550H +25.0625℃00000001 10010001 0191H

+10.125℃00000000 10100010 00A2H

+0.5℃00000000 00001000 0008H

0℃00000000 00000000 0000H

-0.5℃11111111 11111000 FFF8H

-10.125℃11111111 01011110 FFE5H

-25.0625℃11111110 01101111 FF6FH

-55℃11111100 10010000 FC90H

13

基于STC89C52单片机温度报警器

14 (3) DS18B20测温原理

DS18B20的 测温原理如图2.5所示,图中低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

图2.5 DS18B20测温原理图

减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器 1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时, 低温度系数振荡器 高温度系数振荡器 减法计数器1 减法计数器2 减到0 减到0 预置

温度寄存器

斜率累加器计数比较器

预置

基于STC89C52单片机温度报警器

15 停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

在正常测温情况下,DS18B20的测温分辨力为0.5℃,可采用下述方法获得高分辨率的温度测量结果:首先用DS18B20提供的读暂存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度的整数部分Tz ,然后再用BEH 指令取计数器1的计数剩余值Cs 和每度计数值CD 。实际温度Ts 可用式(2-1)计算:

Ts=(Tz-0.25℃)+(CD-Cs)/CD (2-1)

2.1.3 蜂鸣器的报警原理

(1)三极管驱动的蜂鸣器报警电路

图2.6 三极管驱动的蜂鸣器报警电路

压电式蜂鸣器约10mA 的驱动电流,可以使用TTL 系列集成电路7406或7407低电平驱动,这里我选用了一个三极管来做驱动。

P1.0接三极管输入端。当P1.0输出低电平时,三极管导通,压电式蜂鸣器两端获得的+5V 电压而鸣叫:当P1.0输出P. 1.0 STC 89S52 R +5V

本文来源:https://www.bwwdw.com/article/a84q.html

Top