基于51单片机的数字温度报警器

合集下载

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

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

1引言 (1)1.1 单片机的应用背景 (1)2 总体设计方案 (2)2.1 功能简介 (2)2.2 设计思路 (2)2.3 芯片器材 (3)3 硬件设计 (3)3.1 AT89C51 (3)3.1.1 AT98C51引脚图 (3)3.1.2 AT89C51结构特点 (5)3.2 温度获取 (5) (7)3.3 时钟电路 (8)3.4 温度显示电路 (8)3.5报警电路 (10) (10)4 程序设计 (10)4.1 程序流程图 (11)4.2 初始化子程序 (11)4.3 读子程序 (12)4.4 写子程序 (13)4.5 数据处理子程序 (13)4.6 显示子程序 (15)4.7报警子程序 (17)5 实验仿真 (18) (18)6 总结 (19)参考文献 (20)附录 (21)1引言1.1 单片机的应用背景目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通信与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机,更不用说自动控制领域的机器人、智能仪表、医疗机械了。

世面上主要的单片机类型有Motorola 单片机、Microchip 单片机、东芝单片机、8051单片机、Atmel 单片机等。

此次课设中用到的是ATMEL公司,下面着重介绍一下ATMEL公司的单片机。

ATMEL 公司是世界上著名的高性能低功耗非易失性存储器和数字集成电路的一流半导体制造公司。

ATMEL 公司最令人注目的是它的EEPROM 电可擦除技术闪速存储器技术和质量高可靠性的生产技术。

在CMOS 器件生产领域中,ATMEL 的先进设计水平优秀的生产工艺及封装技术一直处于世界的领先地位。

这些技术用于单片机生产,使单片机也具有优秀的品质在结构性能和功能等方面都有明显的优势,ATMEL 公司的单片机是目前世界上一种独具特色。

单片机小项目——基于51单片机的温度报警器

单片机小项目——基于51单片机的温度报警器

单⽚机⼩项⽬——基于51单⽚机的温度报警器单⽚机⼩项⽬介绍项⽬功能介绍编程语⾔:C语⾔。

开发环境:keil。

主要功能:1602屏显⽰时间和温度,当温度超过预定值时蜂鸣器⼯作报警。

此项⽬只是作为单⽚机初学者的⼀个⼩测验。

硬件资源分配1602屏——P0,P2^7,P2^5,P2^6。

串⼝——P2^0,P2^1。

传感器——DS18B20 P3^7;DS1302 P3^4,P3^5,P3^6。

蜂鸣器——P1^6。

LCD1602屏配置在h⽂件中声明端⼝和函数:#ifndef __LCD1602_H_#define __LCD1602_H_#include<reg52.h>//重定义关键字#ifndef uchar#define uchar unsigned char#endif#ifndef uint#define uint unsigned int#endif//定义端⼝#define LCD1602_DATAPINS P0sbit LCD1602_E=P2^7;sbit LCD1602_RW=P2^5;sbit LCD1602_RS=P2^6;//函数声明void Lcd1602_Delay1ms(uint c); //延时函数void LcdWriteCom(uchar com); //写⼊命令void LcdWriteData(uchar dat); //写⼊数据void LcdInit(); //LCD初始化⼦程序#endif在LCD1602.c⽂件中写⼊时序和命令等函数代码:#include "LCD1602.h"/***************************延时函数**************************/void Lcd1602_Delay1ms(uint c) //误差 0us{uchar a,b;for (; c>0; c--){for (b=199;b>0;b--){for(a=1;a>0;a--);}}}/***************************底层函数**************************/void LcdWriteCom(uchar com) //写⼊命令{LCD1602_E = 0; //使能LCD1602_RS = 0; //选择发送命令LCD1602_RW = 0; //选择写⼊LCD1602_DATAPINS = com; //放⼊命令Lcd1602_Delay1ms(1); //等待数据稳定LCD1602_E = 1; //写⼊时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}void LcdWriteData(uchar dat) //写⼊数据{LCD1602_E = 0; //使能清零LCD1602_RS = 1; //选择输⼊数据LCD1602_RW = 0; //选择写⼊LCD1602_DATAPINS = dat; //写⼊数据Lcd1602_Delay1ms(1);LCD1602_E = 1; //写⼊时序Lcd1602_Delay1ms(5); //保持时间LCD1602_E = 0;}void LcdInit() //LCD初始化⼦程序{LcdWriteCom(0x38); //开显⽰LcdWriteCom(0x0c); //开显⽰不显⽰光标LcdWriteCom(0x06); //写⼀个指针加1LcdWriteCom(0x01); //清屏LcdWriteCom(0x80); //设置数据指针起点}在main.c⽂件中运⽤:(这⾥先让显⽰屏显⽰⾃定义的内容,稍后再做更改)#include "reg52.h"#include "LCD1602.h"unsigned char Disp[]=" Pechin Science ";void main(){unsigned char i=0;LcdInit();for(i=0;i<16;i++){LcdWriteData(Disp[i]);}while(1){}}DS18B20温度传感器配置(并将其与LCD协同使⽤)在DS18B20.c⽂件中写⼊相关函数:1 #include "DS18B20.h"234/***************************延时函数**************************/5void Delay1ms(unsigned int y)6 {7 unsigned int x;8for( ; y>0; y--)9 {10for(x=110; x>0; x--);11 }12 }131415/***************************底层函数**************************/1617 unsigned char Ds18b20Init() //初始化函数18 {19 unsigned char i;20 DSPORT = 0; //将总线拉低480us~960us21 i = 70;22while(i--); //延时642us23 DSPORT = 1; //然后拉⾼总线,如果DS18B20做出反应会将在15us~60us后总线拉低25while(DSPORT) //等待DS18B20拉低总线26 {27 Delay1ms(1);28 i++;29if(i>5) //等待>5MS30 {31return0; //初始化失败32 }3334 }35return1; //初始化成功36 }373839void Ds18b20WriteByte(unsigned char dat) //写⼊⼀个字节40 {41 unsigned int i, j;4243for(j=0; j<8; j++)44 {45 DSPORT = 0; //每写⼊⼀位数据之前先把总线拉低1us46 i++;47 DSPORT = dat & 0x01; //然后写⼊⼀个数据,从最低位开始48 i=6;49while(i--); //延时68us,持续时间最少60us50 DSPORT = 1; //然后释放总线,⾄少1us给总线恢复时间才能接着写⼊第⼆个数值51 dat >>= 1;52 }53 }545556 unsigned char Ds18b20ReadByte() //读取⼀个字节57 {58 unsigned char byte, bi;59 unsigned int i, j;60for(j=8; j>0; j--)61 {62 DSPORT = 0; //先将总线拉低1us63 i++;64 DSPORT = 1; //然后释放总线65 i++;66 i++; //延时6us等待数据稳定67 bi = DSPORT; //读取数据,从最低位开始读取68/*将byte左移⼀位,然后与上右移7位后的bi,注意移动之后移掉那位补0。

基于51单片机的温度检测报警系统

基于51单片机的温度检测报警系统

基于51单片机的温度检测报警系统摘要本文介绍了一种基于51单片机的温度检测报警系统的设计方案。

该系统能够实时检测环境温度,并在温度超出设定范围时触发报警器进行报警,从而实现对环境温度的监测和控制。

本文将主要涉及系统的硬件设计、软件设计和实现过程。

系统硬件设计本系统所需的核心硬件有:51单片机、温度传感器DS18B20、LED指示器和蜂鸣器,其中51单片机作为系统的控制中心,主要负责对温度传感器进行采集并触发LED指示器和蜂鸣器进行报警处理。

系统硬件电路图如下:TODO: 插入电路图其中,温度传感器DS18B20通过单总线协议连接到51单片机的P1.0引脚。

P1.1引脚连接到LED指示器,P1.2引脚连接到蜂鸣器。

系统软件设计本系统的软件设计主要分为两部分:主程序和温度采集程序。

主程序包括了系统的初始化、温度检测、温度报警、LED指示器和蜂鸣器控制等模块。

温度采集程序则是通过调用DS18B20的寄存器读写命令从传感器读取温度。

具体实现过程如下:主程序TODO: 插入代码主程序包含以下模块:1.系统初始化:配置P1.0引脚为输入模式,P1.1和P1.2引脚为输出模式。

2.温度检测:调用温度采集程序获取当前温度值,并判断是否超出指定范围。

3.温度报警:如果温度超出指定范围,则触发LED指示器和蜂鸣器进行报警处理。

4.LED指示器控制:根据温度超出指定范围的状态,对LED指示器进行开关控制。

5.蜂鸣器控制:根据温度超出指定范围的状态,对蜂鸣器进行开关控制。

温度采集程序TODO: 插入代码温度采集程序包含以下功能:1.向DS18B20发送获取温度命令。

2.从DS18B20读取温度数值。

3.根据读取到的值计算温度并返回。

系统实现过程本系统的实现过程包括系统硬件的组装和系统软件的编写。

硬件组装过程主要是将51单片机、温度传感器、LED指示器和蜂鸣器进行连接。

软件编写过程则是根据系统设计方案,编写相应的主程序和温度采集程序,并将程序烧录进51单片机中。

基于51单片机的温度检测报警系统

基于51单片机的温度检测报警系统

目录温度检测报警系统 (1)摘要 (1)序言 (2)第一章整体设计原理 (3)第二章各模块简介及工作原理 (4)2.1 控制模块 (4)2.1.1 STC89C52简介 (4)2.1.2 STC89C52主要功能 (4)2.2 温度检测模块 (5)2.2.1 DS18B20简介 (5)2.2.2 DS18B20封装及接线说明: (5)2.2.3 DS18B20 主要特点 (6)2.2.4 DS18B20外围电路设计 (7)2.3 显示模块 (7)2.3.1 液晶显示器简介 (8)2.3.2 LCD1602引脚功能说明 (9)2.3.3 LCD1602的指令说明及时序 (9)2.4 报警模块 (11)第三章软件设计与说明 (12)3.1 系统总体软件设计 (12)3.2 温度检测模块软件设计 (12)3.3 显示模块软件设计 (13)第四章调试结果及其说明 (14)第五章心得体会 (15)参考文献 (16)温度检测报警系统摘要该系统引入一种基于51单片机的温度检测报警系统,该系统由主控模块、检测模块、显示模块以及报警模块组成,主控模块采用STC89C52单片机,其控制检测模块中的DS18B20温度传感器检测环境温度,并将检测到的温度传送给显示模块中的LCD1602显示屏显示,而且主控模块在温度超过温度上限值或低于温度下限值时,控制语音报警模块中的蜂鸣器报警。

四大模块协调工作,主要实现温度检测、温度显示以及报警的功能。

关键字:温度,显示,报警,STC89C52Temperature detection alarm systemABSTRACTThe system introduces a 51 microcontroller-based temperature detection alarm system, the system consists of a main control module, the detection module, the display module and alarm module, main control module using STC89C52 microcontroller, which controls the detection module DS18B20 temperature sensor detects the ambient temperature and the detected temperature is transmitted to the display module LCD1602 display, and control module limit or below temperature limits, control the voice alarm module buzzer alarm at the temperature exceeds the temperature. Coordination of four modules, the main temperature detection, temperature display and alarm function.Key words:Temperature, display, alarm, STC89C52序言随着科技的不断发展,日常生活中越来越多的采用高温高热的一些设备及装置,它在方便了人们生活的同时,也留下了安全隐患,因此做好高温预警工作是非常必要的。

基于51单片机数字温度报警器.

基于51单片机数字温度报警器.

摘要电子技术在日常生活中得到了广泛的应用,各类转换电路的不断推出以及电子产品的快速更新,电子技术已成为世界发展和人们生活中必不可少的工具。

同时伴随传感器在生产生活中更加广泛的应用,一种新型的数字式温度传感器实现对温度的测试与控制得到了更快的开发,本文设计了一种基于单片机AT89C51的温度检测及报警系统。

该系统将温度传感器DS18B20接到单片机的一个端口上,单片机对温度传感器进行循环采集。

将采集到的温度值与设定的上下限进行比较,当超出设定范围的上下限时,通过单片机控制的报警电路就会发出报警信号,从而实现了本次课程设计的要求。

本次设计同时应用到许多我们用过的软件设计,将前面所学的知识融汇在一起实现温度监测及其报警的功能。

该系统设计和布线简单、结构紧凑、体积小、重量轻、抗干扰能力较强、性价比高、扩展方便,在工农业等领域的温度检测中有广阔的应用前景。

关键字温度传感器;单片机;报警;数码管显示目录1绪论 (1)1.1温度报警系统简介 (1)1.2课题背景与研究意义 (1)1.3 课题设计主要研究目的 (1)2系统整体方案设计 (2)2.1系统的基本方案 (2)2.2各模块方案选择 (2)2.2.1 单片机的选择 (2)2.2.2 温度传感器的选择 (2)2.2.3 显示模块的选择 (3)3系统的硬件设计与实现 (4)3.1系统硬件概述 (4)3.2电路模块 (4)3.2.1 单片机 (4)3.2.2复位电路模块 (5)3.2.3显示电路模块 (6)3.2.4传感器电路模块 (6)4.系统的软件设计 (9)4.1软件设计应用环境与设计语言 (9)4.2系统设计设计流程图 (9)5系统仿真设计 (10)5.1 Proteus 软件介绍 (10)5.2 Proteus 仿真图 (10)5.3 硬件调试 (11)5.4调试结果 (11)结论 (12)参考文献 (13)附录 (14)附录1 元件清单与仿真图 (14)附录2 源程序 (16)1绪论1.1温度报警系统简介温度报警系统广泛的用于工业农业等领域,是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。

基于51单片机智能温度检测报警

基于51单片机智能温度检测报警

DS18B20初始化
读取存储在 EEPROM的数据
按键检测与处理
判断是否正常 显示set_f==0? 是 DS18B20温度采集 读取

判断是否设置 上限set_f==1? 是

判断温度是否 超限? 是 报警提示
显示设置上限 否
显示设置下限
关闭提示
显示温度值
四、软件设计——数码管显示子程序设计
开始
A
V
P2.0
P2.1
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
L
C
E
C
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
4
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
0
V
C
C
V
1
R
K
C
5
1
2
D
C W
1
2
9
W
2
8 4位数码管
S
Q W
3
8
3 6
5
W
4
5
K
K
K
E
E
E
Y
Y
Y
R
4
3
2

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

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

基于51单片机的温度报警器设计引言:温度报警器是一种用来检测环境温度并在温度超过设定阈值时发出警报的装置。

本文将基于51单片机设计一个简单的温度报警器,以帮助读者了解如何利用单片机进行温度监测和报警。

一、硬件设计硬件设计包括传感器选择、电路连接以及报警装置的设计。

1.传感器选择温度传感器的选择非常重要,它决定了监测温度的准确性和稳定性。

常见的温度传感器有热敏电阻(如NTC热敏电阻)、热电偶以及数字温度传感器(如DS18B20)。

在本设计中,我们选择使用DS18B20数字温度传感器,因为它具有高精度和数字输出的优点。

2.电路连接将DS18B20与51单片机连接,可以采用一根三线总线(VCC、GND、DATA)的方式。

具体连接方式如下:-将DS18B20的VCC引脚连接到单片机的VCC引脚(一般为5V);-将DS18B20的GND引脚连接到单片机的GND引脚;-将DS18B20的DATA引脚连接到单片机的任意IO引脚。

3.报警装置设计报警装置可以选择发出声音警报或者显示警报信息。

在本设计中,我们选择使用蜂鸣器发出声音警报。

将蜂鸣器的一个引脚连接到单片机的任意IO引脚,另一个引脚连接到单片机的GND引脚。

二、软件设计软件设计包括温度读取、温度比较和报警控制的实现。

1.温度读取通过51单片机的IO引脚和DS18B20进行通信,读取DS18B20传感器返回的温度数据。

读取温度数据的具体步骤可以参考DS18B20的通信协议和单片机的编程手册。

2.温度比较和报警控制将读取到的温度数据和设定的阈值进行比较,如果温度超过阈值,则触发报警控制。

可以通过控制蜂鸣器的IO引脚输出高电平或低电平来控制蜂鸣器是否发出声音警报。

三、工作原理整个温度报警器的工作原理如下:1.首先,单片机将发出启动信号,要求DS18B20开始温度转换。

2.单片机等待一段时间,等待DS18B20完成温度转换。

3.单片机向DS18B20发送读取信号,并接收DS18B20返回的温度数据。

基于51单片机数字温度报警器

基于51单片机数字温度报警器

摘要电子技术在日常生活中得到了广泛的应用,各类转换电路的不断推出以及电子产品的快速更新,电子技术已成为世界发展和人们生活中必不可少的工具。

同时伴随传感器在生产生活中更加广泛的应用,一种新型的数字式温度传感器实现对温度的测试与控制得到了更快的开发,本文设计了一种基于单片机AT89C51的温度检测及报警系统。

该系统将温度传感器DS18B20接到单片机的一个端口上,单片机对温度传感器进行循环采集。

将采集到的温度值与设定的上下限进行比较,当超出设定围的上下限时,通过单片机控制的报警电路就会发出报警信号,从而实现了本次课程设计的要求。

本次设计同时应用到许多我们用过的软件设计,将前面所学的知识融汇在一起实现温度监测及其报警的功能。

该系统设计和布线简单、结构紧凑、体积小、重量轻、抗干扰能力较强、性价比高、扩展方便,在工农业等领域的温度检测中有广阔的应用前景。

关键字温度传感器;单片机;报警;数码管显示目录1绪论 (1)1.1温度报警系统简介 (1)1.2课题背景与研究意义 (1)1.3 课题设计主要研究目的 (1)2系统整体方案设计 (2)2.1系统的基本方案 (2)2.2各模块方案选择 (2)2.2.1 单片机的选择22.2.2 温度传感器的选择22.2.3 显示模块的选择33系统的硬件设计与实现 (4)3.1系统硬件概述 (4)3.2电路模块 (4)3.2.1 单片机 (4)3.2.2复位电路模块53.2.3显示电路模块63.2.4传感器电路模块64.系统的软件设计 (10)4.1软件设计应用环境与设计语言 (10)4.2系统设计设计流程图 (10)5系统仿真设计 (11)5.1 Proteus 软件介绍 (11)5.2 Proteus 仿真图 (11)5.3 硬件调试 (11)5.4调试结果 (12)结论 (12)参考文献 (13)附录 (14)附录1 元件清单与仿真图 (15)附录2 源程序 (16)1绪论1.1温度报警系统简介温度报警系统广泛的用于工业农业等领域,是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要:随着传感器在生产生活中更加广泛的应用,一种新型的数字式温度传感器实现对温度的测试与控制得到了更快的开发。

本文设计了一种基于单片机AT89C52的温度检测及报警系统。

该系统将温度传感器DS18B20接到单片机的一个端口上,单片机对温度传感器进行循环采集。

将采集到的温度值与设定的上下限进行比较,当超出设定范围的上下限时,通过单片机控制的报警电路就会发出报警信号,从而实现了本次课程设计的要求。

该系统设计和布线简单、结构紧凑、体积小、重量轻、抗干扰能力较强、性价比高、扩展方便,在工农业等领域的温度检测中有广阔的应用前景。

本次课程设计的测量范围为0℃--99℃,测量误差为±2℃。

关键字:温度传感器、单片机、报警、数码管显示一、概述本次设计可以应用到许多我们用过的软件设计,将前面所学的知识融汇在一起实现温度监测及其报警的功能,来提醒农民当前大棚内温度是否适合农作物的生长。

电子技术是在十九世纪末、二十世纪初开始发展起来的新兴技术,在二十世纪发展最迅速,应用最广泛,成为近代科学技术发展的一个重要标志。

随着电子技术的飞速发展,电子技术在日常生活中得到了广泛的应用,各类转换电路的不断推出以及电子产品的快速更新,电子技术已成为世界发展和人们生活中必不可少的工具。

本次课设应用Protues软件设计一个温度检测报警系统,用温度传感器DS18B20采集大棚内的温度,当大棚内的温度高于30℃。

或低于15℃。

时,电路发出报警信号并显示当前温度,达到提醒农民的效果。

本次课设要求设计一个温度监测报警显示电路,要求温度范围:0℃--99℃;测量误差为±2℃;报警下限温度为:15℃;报警上限温度为:30℃。

二、方案论证设计一个用于温室大棚温度监测系统。

大棚农作物生长时,其温度不能太低,也不能太高,太低或太高均不适合农作物生长。

该系统可实时测量、显示大棚的温度,当大棚温度超过农作物生长的温度范围时,报警提醒农民。

方案一:方案一原理框图如图1所示。

图1 大棚温度检测系统的原理框图方案二:方案二原理框图如图2所示。

图2 方案二原理框图本设计采用方案二,设计电路较为简单不复杂且硬件实现及调试比方案一理想,比较容易实现,性价比较高。

三、电路设计1.单片机最小系统的设计单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU 随机存储器RAM 、只读存储器ROM 、多种I/O 口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的计算机系统。

本次课程设计中选用AT89C52式单片机,其最小系统主要由电复位、振荡电路组成。

单片机的最小系统如图3所示。

单片机的复位电路原理是在单片机的复位引脚RST 上电阻和电容,实现上电复位。

当复位电平持续两个时钟周期以上时复位有效。

复位电路由按键复位和上电复位两部分组成,上电复位是在复位引脚上连接一个电容到VCC ,再连接一个电阻到GND ;按键复位是在复位电容上并联一个开关,当开关按下时电容被放电、RST 也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。

AT89C51单片机使用12MHZ 的晶振最为振荡源,由于单片机内部有振荡电路,所以外部只要连接一个晶振和两个电容即可,电容一般在15pF 至50pF 之间。

外部晶振结合单片机内部电路产生单片机所需的时钟频率。

图3 单片机最小系统2.温度采集电路的设计温度采集电路部分,采用数字温度传感器DS18B20进行温度采集。

DS18B20是DALLAS 公司生产的一线式数字温度传感器,具有3个引脚;温度侧量范围为-55℃—+125℃,测量精度为0.5℃;被测温度用符号扩展的16位数字量方式串行输出;CPU只需用一个端口线就可以与DS18B20通信。

温度采集电路如图4所示。

图4 温度采集电路3.LED显示报警电路的设计LED数码管与单片机的P0口相连,单片机将采集到的温度值转化为与数码管对应的数据,通过P0口输出显示。

即信号通过译码管的端口a、b、c、d、e、f、g 、dp 端来控制每段译码管的亮灭与否,同时通过端口1、2、3、4 四个端口来控制四个译码管。

在本次设计中,用集成芯片74HC245驱动数码管。

同时当采集到的温度值超过所设置的范围时,单片机会输出一信号,通过三极管放大后驱动蜂鸣器发出报警信号。

LED数码管报警电路如图5所示。

图5 LED显示报警电路四、程序流程1.主程序流程图主程序中对单片机做了初始化的设计,包含温度的读取、数码管显示、报警三个子系统,运行时由主程序先调用DS18B20读取温度的子函数进行温度采集,再将数据送入数码管显示。

同时判断所采集的数据是否超出所设置的温度范围。

如果超出,调用报警子系统;未超出,程序自动返回。

主程序流程图如图6所示。

图6 主程序流程图2.DS18B20读取温度流程图根据DS18B200的通讯协议,单片机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作(复位要求主CPU将数据线下拉500微秒然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功)。

DS18B20读取温度时先读取温度低字节,在读取温度高字节。

程序中命令0xCC:跳过读序号列号的操作;命令0x44:启动温度转换;命令0xBE:读取温度寄存器等,前两个字节就是温度。

后面的寄存器省略不读。

DS18B20读取温度流程图如图7所示。

图7 DS18B20读取温度流程图3.译码显示流程图。

译码显示程序中,要先将初始标识清除。

将温度的个位送至低位数码管显示,清除标志再将温度值的高位送到高位数码管显示。

之后延时,清除标志返回继续显示下一数据。

译码显示流程图如图8所示。

图8 译码显示流程图4.报警程序流程图程序中首先判断所读取的温度是否超出所设定的下限,如果超出下限,报警器报警;如果没超出下限,再跟上限值比较判断是否超出上限。

如果超出,则报警;若无,程序返回。

报警程序流程图如图9所示。

图9 报警程序流程图五、电路性能的测试1.软件测试在PROTUES软件中,连接好电路图后将在Keil中生成的“温度监测.HEX”程序文件导入单片机中。

由于DS18B20系统中设置的温度初值为85℃,所以当开始仿真时报警器会报警,数码管显示也为85。

4至5秒后数字温度传感器会显示当前温度,数码管也相应显示其数值。

在PROTUES软件仿真中,调节DS18B20的左右按钮可是温度值对应加减,数码管会显示当前值。

当减到15℃以下或加到30℃以上时,报警器会报警。

调节数字温度传感器DS18B20使其温度减到10℃,此时报警器报警,数码管显示10。

10℃时的电路仿真如图10所示。

图10 10℃时,仿真电路图调节DS18B20的温度值使其在0℃—99℃之间变化,电路仿真情况如表1所示。

表1 0℃—99℃温度范围内电路仿真情况统计表2.硬件测试完成硬件焊接并检查电路无误后,给电路加5V电压。

用万用表测量各点电压均正确,将相关的C语言程序导入单片机中,打开开关进行硬件测试。

测试时发现了如下几个问题:(1)数码管不显示——经过查找资料发现由于我们把晶振焊接的离单片机内部的振荡电路太远,导致无振荡产生。

重心将晶振焊接离单片机较近的地方,数码管显示正常。

(2)单片机的复位电路不工作——由于软件仿真比较理想,复位电路选择的电容在硬件中不起作用。

将复位电路的电容并联一个较大的电容,并将单片机EA脚接电源后,单片机复位电路有效。

六、结论及性价比应用方案二设计的简易温度检测报警系统,符合课设任务的要求。

测温范围:0℃--99℃;误差:≤±2℃报警下限温度:15℃;报警上限温度:30℃。

当温度低于15℃或高于30℃时报警器会报警同时数码管也会显示当时温度。

此次课程设计所需要的元件在实验室都可以找到,同时价格也比较合理。

做出来的硬件实现功能比较理想,具有体积小、重量轻、抗干扰能力强、精确度高等优点。

同时也可以做进一步的扩展,可扩展为多路温度采集系统。

总体来说符合了性价比要求。

七、课设体会及合理化建议本次课程设计是一次综合性的应用,全方位考察了我们对所学软件的理解与掌握。

通过近三周的课程设计我不但对以前学过的知识点有了更深一步的掌握,同时我还学到了更多书本中所没有涉及到的东西。

从我拿到任务书后就不断地去图书馆借书查找相关资料、上网搜索信息、与同组同学讨论方案。

在我们的共同努力下,在第一周里成功的完成了软件的设计。

因为我们之前有过焊接收音机和电视机的经验,所以在硬件焊接方面没有遇到太大的困难。

虽然不难,但是它需要我们必须一丝不苟,如果有一点疏忽很有可能会带来很大的麻烦。

在焊接过程中,就由于同组成员的不小心将单片机的电源和地接反了,我们在调试时给它的电源又有点大所以导致了单片机爆破,当时吓了我们一跳,但还好没有伤到我们。

经过我们进两天的不懈努力下,终于完成了硬件的设计。

这其中我是受益匪浅,虽然很累,但是当看到我们所设计的东西可以实现并能应用时,那种快乐是无法有语言描绘的。

虽然在设计的过程中遇到各种各样的困难,但最终在老师和同学的帮助下完成了设计。

极大的培养了我们的科研精神,激发了我们的专业兴趣,积累了实践经验,为将来的继续学习和工作打下了基础。

虽然这是我们在毕业前的最后一个简单的课程设计,但却让我们学到了很多。

所以希望学院能够多安排一些类似的实践训练,能让学弟学妹们有更多的机会接触具有现实意义的项目,能接触更多的硬件,更好的提升自己的实践能力和综合能力。

参考文献[1].沙占友、李学芝著.中外数字万用表电路原理与维修技术.[M]北京:人民邮电出版社,1993年.P157-P180。

[2].黄志伟主编.全国大学生电子设计竞赛电路设计.[M]北京:北京航空航天大学出版社,2006年.P5-P21。

[3].戴伏生主编.基础电子电路设计与实践.[M]北京:国防工业出版社,2002年.P65-68。

[4].谭博学主编.集成电路原理与应用.[M]北京:电子工业出版社,2003年.P134-P140。

[5].张毅刚、刘杰主编.单片机原理与应用.[M]哈尔滨:哈尔滨工业大学出版社,2010年.P55-P60。

[6].田立、田清、代方震主编.51单片机C语言程序设计快速入门.[M]北京:人民邮电出版社,2007年.P123-P144。

[7].刘文涛主编.单片机语言C51典型应用设计.[M]北京:人民邮电出版社,2005年.P211-P213。

[8].张学昭、王东云主编.单片机原理、接口技术及应用(含C51).[M]西安:西安电子科技大学出版社,2009年.P33-P45。

相关文档
最新文档