基于单片机的温度检测报警装置.docx

上传人:b****3 文档编号:12869976 上传时间:2023-04-22 格式:DOCX 页数:28 大小:287.08KB
下载 相关 举报
基于单片机的温度检测报警装置.docx_第1页
第1页 / 共28页
基于单片机的温度检测报警装置.docx_第2页
第2页 / 共28页
基于单片机的温度检测报警装置.docx_第3页
第3页 / 共28页
基于单片机的温度检测报警装置.docx_第4页
第4页 / 共28页
基于单片机的温度检测报警装置.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

基于单片机的温度检测报警装置.docx

《基于单片机的温度检测报警装置.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度检测报警装置.docx(28页珍藏版)》请在冰豆网上搜索。

基于单片机的温度检测报警装置.docx

基于单片机的温度检测报警装置

 

摘要

随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术,本文主要介绍了一个基于89C52单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现实现温度采集和显示,并可根据需要任意设定上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当作温度处理模块嵌入其它系统中,作为其他主系统的辅助扩展。

DS18B20与AT89C52结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。

关键词:

温度测量;DS18B20;AT89C52

 

目录

引言1

1.设计背景2

1.1课题背景2

1.2设计内容2

2.数字温度计系统简介3

2.1方案选择3

2.2系统设计原理4

2.3系统组成4

3.系统硬件设计6

3.1主控制器选择6

3.2显示电路8

3.3温度传感器简介8

3.4DS18B20温度传感器与单片机的接口电路10

3.5报警电路

3.6时钟电路与复位电路10

3.7系统总体电路图11

4.软件设计简介13

4.1C语言简介13

4.2程序设计13

5.电路仿真14

5.1Proteus软件介绍14

5.2数字温度计Ptoteus仿真16

6.总结17

参考文献18

附录:

源程序代码19

引言

 

1.设计背景

1.1课题背景

本次设计可以应用到许多我们用过的软件设计,将前面所学的知识融汇在一起实现温度监测及其报警的功能,来提醒农民当前大棚内温度是否适合农作物的生长。

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

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

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

或低于15℃。

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

本次课设要求设计一个温度监测报警显示电路,要求温度范围:

0℃--99℃;测量误差为±2℃;报警下限温度为:

15℃;报警上限温度为:

30℃。

1.2设计内容

本设计主要是介绍了单片机控制下的温度检测系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:

(1)利用温度传感器(DS18B20)测量某一点环境温度;

(2)测量范围为0℃~+99℃,精度为±0.5℃;

(3)用LED进行实际温度值显示。

2数字温度计系统简介

2.1方案选择

方案一:

基于AT89C52单片机通过读取温度传感器DS18B20

测量温度后存储的数据,之后送去数码管显示。

此方案DS18B20测量温度范围为0℃~+99℃,但由于本系统中DS18B20是用于测量水的实时温度,仅需范围为0~100℃,所以该系统可以采取这种方式,这种方案接线简单易行。

方案二:

采用51系列单片机作为整机的控制单元

将0-5V模拟电压信号通过AD0808模数转换成模拟温度值0-255℃,然后通过数码管显示其温度值。

这种方式采用了AD0808模数转换装置,提高了测温范围,但是相比方案一来说,成本有所提高。

本设计采用第一种方案。

直接用AT89C52单片机通过读取温度传感器DS18B20,此种方案简单易行,大大降低了装置的成本。

2.2系统设计原理

1.单片机最小系统的设计

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

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

2.温度采集电路的设计

温度采集电路部分,采用数字温度传感器DS18B20进行温度采集。

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

3.LED显示报警电路的设计

LED数码管与单片机的P0口相连,单片机将采集到的温度值转化为与数码管对应的数据,通过P0口输出显示。

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

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

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

LED数码管报警电路

2.3系统组成

 

3.系统硬件设计

3.1主控制器选择

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

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

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

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

兼容MCS51指令系统、8k可反复擦写(>1000次)FlashROM、32个双向I/O口、256x8bit内部RAM、3个16位可编程定时/计数器中断。

时钟频率0-24MHz、2个串行中断。

可编程UART串行通道、2个外部中断源。

共6个中断源、2个读写中断口线、3级加密位、低功耗空闲和掉电模式·软件设置睡眠和唤醒功能。

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

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

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

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

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

图2-3单片机最小系统

3.2显示电路

LED数码管与单片机的P0口相连,单片机将采集到的温度值转化为与数码管对应的数据,通过P0口输出显示。

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

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

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

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

3.3温度传感器简介

温度采集电路部分,采用数字温度传感器DS18B20进行温度采集。

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

温度传感器是DS18B20的核心部分,该功能部件可完成对温度的测量通过软件编程可将-55~125℃范围内的温度值按9位、10位、11位、12位的分辨率进行量化,以上的分辨率都包括一个符号位,因此对应的温度量化值分别为0.5℃、0.25℃、0.125℃、0.0625℃,即最高分辨率为0.0625℃。

芯片出厂时默认为12位的转换精度。

当接收到温度转换命令(44H)后,开始转换,转换完成后的温度以16位带符号扩展的的二进制补码形式表示,存储在高速缓存器RAM的第0,1字节中,二进制数的前5位是符号位。

如果测得的温度大于0,这5位为0,只要将测得的数值乘上0.0625即可得到实际温度;如果温度小于0,这5位为1,测得的数值需要取反加1再乘上0.0625即可得到实际温度。

DS18B20内部结构主要由四部分组成:

64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

DS18B20的内部结构如2-4所示。

DS18B20的主要性能指标如下:

1、适应电压范围更宽,电压范围:

3.0~5.5V,在寄生电源方式下可由数据线供电。

2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。

4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内。

5、温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃。

6、可编程分辨率为9~12位,对应的可分辨温度为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温。

7、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快。

8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。

9、负压特性:

电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。

DS18B20接线图的电路接线图如2-5所示:

图2-5DS18B20接线图

3.4DS18B20温度传感器与单片机的接口电路

S18B20接线图的电路接线图如2-5所示:

图2-5DS18B20接线图

3.5报警电路

 

3.6时钟电路与复位电路

3.7系统总体电路图

4.软件设计简介

4.1C语言简介

以前计算机的系统软件都是有汇编语言编写,对于单片机系统来说更是如此,由于汇编语言的可读性和可移植性差,采用汇编语言写的单片机程序周期长,而且调试麻烦,为了学习和提高,最好使用C语言编程,C语言具有如下优点

1语言简单,使用方便灵活

2可移植性,表达性能强

3可进行结构化程序设计

4可直接操作计算机硬件

5生成的目标代码质量高

4.2程序设计

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

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

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

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

图6主程序流程图

5.电路仿真

5.1Proteus软件介绍

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

功能特点

Proteus软件具有其它EDA工具软件(例:

multisim)的功能。

这些功能是:

1.原理布图

2.PCB自动或人工布线

3.SPICE电路仿真

革命性的特点

1.互动的电路仿真

用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。

2.仿真处理器及其外围电路

可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。

还可以直接在基于原理图的虚拟原型

上编程,再配合显示及输出,能看到运行后输入输出的效果。

配合系统配置的虚拟逻辑分析仪、示波器等,Proteus建立了完备的电子设计开发环境.

 

5.2数字温度计Ptoteus仿真

在PROTUES软件中,连接好电路图后将在Keil中生成的“温度监测.HEX”程序文件导入单片机中。

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

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

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

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

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

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

6.总结

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

通过本学期对单片机课程和传感器课程的学习我们不但对以前学过的知识点有了更深一步的掌握,同时还学到了更多书本中所没有涉及到的东西。

从开始做期末作品后就不断地去图书馆借书查找相关资料、上网搜索信息、与同组同学讨论方案。

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

因为实验室要为电子竞赛准备,所以不能能打印PCB版做出实物,这也是本次作品遗憾的地方。

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

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

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

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

参考文献

[1]孙涵芳.MCS-51/96系列单片机原理及应用(修订版).北京航空航天大学出版社.1994

[2]李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.2005

[3]叶景,基于单片机的温度控制系统的设计经验与交流,2008

[4]杨光友.单片机微型计算机原理及接口技术[M].北京:

中国水利水电出版社,2002

[5]李丹妮,单片机温度控制系统设计[J]九江学院报2005

[6]阎石.数字电子技术基础(第四版).高等教育出版社.2004

[7]谭浩强.C程序设计(第二版)[M].北京:

清华大学出版社,1999

附录:

源程序代码

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitDQ=P3^7;

sbitbeep=P3^0;

voidreset();//DS18B20复位函数

voidwrite_byte(ucharval);//DS18B20写命令函数

ucharread_byte(void);//DS18B20读1字节函数

voidread_temp();//温度读取函数

voidLED_display();

voidalarm();

uchartempH,tempL,num;

uchartable[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//0~9的LED字符编码

ucharsetValue_low=15;

ucharsetValue_high=30;

main()

{

while

(1)

{

read_temp();

LED_display();

alarm();

}

}

voiddelay(uintt)

{

for(;t>0;t--);

}

voidreset()//DS18B20的复位

{

ucharpresence=1;

while(presence)

{

while(presence)

{

DQ=1;_nop_();_nop_();

DQ=0;

delay(50);

DQ=1;

delay(6);

presence=DQ;

}

delay(45);

presence=~DQ;

}

DQ=1;

}

voidwrite_byte(ucharval)//DS18B20写一个字节

{

uchari;

for(i=8;i>0;i--)

{

DQ=1;_nop_();_nop_();

DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();

DQ=val&0x01;

delay(6);

val=val>>1;

}

DQ=1;

_nop_();

}

ucharread_byte(void)//DS18B20读一个字节

{

uchari;

ucharvalue=0;

for(i=8;i>0;i--)

{

DQ=1;_nop_();_nop_();

value>>=1;

DQ=0;

_nop_();_nop_();_nop_();_nop_();

DQ=1;_nop_();_nop_();_nop_();_nop_();

if(DQ)

value|=0x80;

delay(6);

}

DQ=1;

return(value);

}

voidread_temp()//从DS18B20读取温度值

{

ucharch1,ch2;

reset();

write_byte(0xcc);

write_byte(0x44);

reset();

write_byte(0xcc);

write_byte(0xbe);

ch1=read_byte();//DS18B20的温度数值是16位的二进制,精度高,最后四位是温度的小数部分,最高五位为符号位(即正负温度)

ch2=read_byte();

num=(ch2<<4)|(ch1>>4);//只取温度值的中间八位,小数部分舍去,符号位舍去四位。

tempH=num/10;//温度的十位

tempL=num-tempH*10;//温度的个位

}

voidLED_display()//显示检测的温度

{

P2=0x0;

P2=2;

P0=table[tempL];

delay(50);

P2=0x0;

P2=1;

P0=table[tempH];

delay(50);

P2=0x0;

}

voidalarm()//报警

{

if(setValue_low<=num&&setValue_high>=num)

beep=1;//在温度允许范围,不报警

else

beep=~beep;

}

参考文献

[1]孙育才.《单片微型计算机及其应用》.南京:

东南大学出版社.2004

[2]潘新民王燕芳.《微型计算机控制技术》.北京:

电子工业出版社2003

[4]李群芳.《单片机原理及接口技术》.北京:

电子工业出版社,2008

[5]李光飞.《单片机课程设计实例指导》.北京:

北京航空航天大学出版社,2004

附录:

源程序代码

毕业设计(论文)原创性声明和使用授权说明

原创性声明

本人郑重承诺:

所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:

     日 期:

     

指导教师签名:

     日  期:

     

使用授权说明

本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:

按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:

     日 期:

     

学位论文原创性声明

本人郑重声明:

所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:

日期:

年月日

学位论文版权使用授权书

本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权    大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:

日期:

年月日

导师签名:

日期:

年月日

指导教师评阅书

指导教师评价:

一、撰写(设计)过程

1、学生在论文(设计)过程中的治学态度、工作精神

□优□良□中□及格□不及格

2、学生掌握专业知识、技能的扎实程度

□优□良□中□及格□不及格

3、学生综合运用所学知识和专业技能分析和解决问题的能力

□优□良□中□及格□不及格

4、研究方法的科学性;技术线路的可行性;设计方案的合理性

□优□良□中□及格□不及格

5、完成毕业论文(设计)期间的出勤情况

□优□良□中□及格□不及格

二、论文(设计)质量

1、论文(设计)的整体结构是否符合撰写规范?

□优□良□中□及格□不及格

2、是否完成指定的论文(设计)任务(包括装订及附件)?

□优□良□中□及格□不及格

三、论文(设计)水平

1、论文(设计)的理论意义或

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1