课程设计论文基于单片机温度监测系统.docx

上传人:b****5 文档编号:2934182 上传时间:2022-11-16 格式:DOCX 页数:24 大小:320.03KB
下载 相关 举报
课程设计论文基于单片机温度监测系统.docx_第1页
第1页 / 共24页
课程设计论文基于单片机温度监测系统.docx_第2页
第2页 / 共24页
课程设计论文基于单片机温度监测系统.docx_第3页
第3页 / 共24页
课程设计论文基于单片机温度监测系统.docx_第4页
第4页 / 共24页
课程设计论文基于单片机温度监测系统.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

课程设计论文基于单片机温度监测系统.docx

《课程设计论文基于单片机温度监测系统.docx》由会员分享,可在线阅读,更多相关《课程设计论文基于单片机温度监测系统.docx(24页珍藏版)》请在冰豆网上搜索。

课程设计论文基于单片机温度监测系统.docx

课程设计论文基于单片机温度监测系统

目录

一.前言1

二.基本功能与参数2

2.1系统基本功能2

2.2参数2

三.系统总体设计2

四.硬件设计3

4.1单片机最小系统设计3

4.1.1电源电路3

4.1.2振荡电路与复位电路3

4.2DS18B20与单片机的接口电路4

4.3独立式键盘电路4

4.4报警模块5

4.5数码管显示模块5

4.6proteus仿真图6

4.7DS18B20简单介绍6

五.软件设计7

5.1主程序流程图8

5.2读出温度子程序8

5.3温度转换命令子程序9

5.4计算温度子程序10

5.5按键扫描处理子程序11

六.心得及体会:

11

参考文献:

12

附录Ⅰ元件清单12

附录Ⅱ总体电路图13

附录Ⅲ源程序14

 

基于单片机的温度检测系统设计

沈阳航空航天大学自动化学院

摘要:

随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研等各个领域,已经成为一种比较成熟的技术。

本文主要设计了一个基于AT89C51单片机的温度监测系统,详细描述了利用数字传感器DS18B120完成监测温度的过程,重点对系统的硬件连接,软件编程,各模块系统流程以及各部分的电路进行了分析介绍。

本设计是以AT89C51为核心,通过温度传感器DS18B20将温度值转换为电量输出,可以利用小键盘设定温度的最大值和最小值,对于超过最大值或者最小值的温度数据通过红黄灯进行报警,所以这个系统使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合我们日常生活和工、农业生产中的温度测量,具有广泛的应用前景。

关键词:

单片机AT89C51;温度采集;温度传感器DS18B20;报警功能

一.前言

传统的温度检测以热敏电阻为温度敏感元件。

热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差。

这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。

本设计选用STC89C52型单片机作为主控制器件,DS18B20作为测温传感器,通过LED数码管实现温度显示。

通过DS18B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。

该器件可直接向单片机传输数字信号,便于单片机处理及控制。

另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。

二.基本功能与参数

2.1系统基本功能

a.实现温度的实时测量与显示。

b.可手动设置监测温度范围的上限和下限。

c.超出温度监测范围,可进行声光报警或执行预定操作。

2.2参数

a.DS18B20的温度测量范围为-55°C~+125°C,在-20°C~+60°C范围内,精度为±0.5°C

b.显示温度值精确到0.1°C,监测温度精确到1°C

c.精度误差小于0.5℃

三.系统总体设计

本设计的温度测量报警系统以STC89C52单片机为核心部件,外加温度采集电路、键盘及显示电路、越限报警等电路。

采用数字温度芯片DS18B20测量温度,输出信号全数字化。

由数字温度计DS18B20和STC89C52单片机构成的温度测量装置,它直接输出温度的数字信号。

利用STC89S52芯片控制温度传感器DS18B20进行实时温度检测并显示,快速测量环境温度,并可以根据需要设定上下限温度。

系统框图如图1所示。

图1DS18B20温度测温系统框图

四.硬件设计

4.1单片机最小系统设计

4.1.1电源电路

图2电源电路

 

4.1.2振荡电路与复位电路

晶振采用12MHZ。

复位电路采用上电加按钮复位。

图3振荡电路图4复位电路

4.2DS18B20与单片机的接口电路

 

图5DS18B20与单片机的接口电路

4.3独立式键盘电路

图6独立式键盘电路

4.4报警模块

图7报警电路

4.5数码管显示模块

显示电路采用4位共阴极LED数码管,P0口由上拉电阻提高驱动能力,作为段码输出并作为数码管的驱动。

P2口的低四位作为数码管的位选端。

采用动态扫描的方式显示。

图8数码管显示电路

4.6proteus仿真图

图9proteus仿真图

4.7DS18B20简单介绍

DS18B20的性能特点如下

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

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

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

●适应电压范围更宽,电压范围:

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

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

●零待机功耗

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

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

●用户可定义报警设置

●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件

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

●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作

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

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

DS18B20的管脚排列、各种封装形式如图11所示,DQ为数据输入/输出引脚。

开漏单总线接口引脚。

当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。

当工作于寄生电源时,此引脚必须接地。

图10外部封装形式

五.软件设计

系统程序主要包括主程序、读取温度子程序、温度转换命令子程序、计算温度子程序、按键扫描处理子程序、显示数据子程序等。

5.1主程序流程图

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

这样可以在一秒之内测量一次被测温度,其程序流程见图11所示。

 

 

图11主程序流程图

5.2读出温度子程序

读出温度子程序的主要功能是读出RAM中的9字节,在读出时需进行CRC校验,校验有错时不进行温度数据的改写。

其程序流程图如图12所示。

5.3温度转换命令子程序

温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms,在本程序设计中采用1s显示程序延时法等待转换的完成。

温度转换命令子程序流程图如上图,图13所示。

 

 

 

图12读温度流程图图13温度转换流程图

5.4计算温度子程序

计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图14所示。

 

 

 

图14 计算温度流程图  

5.5按键扫描处理子程序

按键采用扫描查询方式,设置标志位,当标志位为1时,显示设置温度,否则显示当前温度。

如下图15示。

 

图15按键扫描处理子程序

六.心得及体会:

此次实习我用单片机做一个完整的系统,在完成的过程中走了很多弯路,比如由于对硬件方面的东西尚不熟,查阅资料以及准备材料时都没有考虑到实践的可行性,在这里要特别感谢实验室的老师给予了我们耐心的指导,并给我们提出了建设性的意见。

在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多,,虽然以前写过几次程序,但我觉的写好一个程序并不简单。

正是通过这些弯路我们才真正学到了不少东西。

在做系统的同时,和同学们之间的相互探讨也使我获益匪浅。

我们必须学会独立思考,用自己的能力去完成一件作品。

有好多的东西,只有我们去试着做了,才能真正的掌握。

参考文献:

[1]张鑫.单片机原理与应用电子工业出版社2010.1

[2]马忠梅,张凯,等.单片机的C语言应用程序设计(第四版)北京航空航天大学出版社

[3]包建华,张兴奎等.单片机原理实验与实训教程东南大学出版社2008.9

[4]刘文涛.单片机语言C51典型应用设计.北京:

人民邮电出版社,1998

[5]尹勇,李宇.μVision2单片机应用程序开发指南.北京:

科学出版社,1998

[6]蔡朝洋.单片机控制实习与专题制作.北京:

北京航天航空大学出社,2000

[7]刘复华.单片机及其应用系统.北京:

清华大学出版社,1992

[8]彭为.单片机典型系统设计实例精讲及其应用系统.北京:

电子工业出版社,2006

[9]李斌,董慧颖.可重组机器人研究和发展现状.沈阳工业学院学报,2000,19(4):

23-27

[10]张道德.单片机接口技术(C51版).北京:

水利水电出版社,1995

 

附录Ⅰ元件清单

元件名称

型号

数量

单片机

AT89C51

1

电平转换芯片

74HC573

2

数码管

7SEG-MPX4-CA

1

按键

BUTTON

4

电阻

RES

2

 

附录Ⅱ总体电路图

 

 

附录Ⅲ源程序

源程序如下

#include

#defineuintunsignedint

#defineucharunsignedchar

sbitds=P2^0;

sbitdula=P2^6;

sbitwela=P2^7;

sbitbeep=P2^1;

sbitSET1=P2^2;//定义上限显示调整键

sbitDEC=P2^3;//定义增加减少键

sbitADD=P2^4;//定义增加减少键

sbitSET2=P2^5;//定义下限显示调整键

inttemp;

floatf_temp;

intwarn_l1=50;

intwarn_l2=0;

intwarn_h1=300;

intwarn_h2=1000;

/************************xianshi*********************/

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,

0xbf,0x86,0xdb,0xcf,

0xe6,0xed,0xfd,0x87,

0xff,0xef,

0x40

};

voiddelay(intz)

{

inta,b;

for(a=0;a

for(b=0;b<120;b++);

}

voiddisplay(ucharnum,uchardat)

{

uchari;

dula=0;

wela=0;

wela=1;

i=0x00;

i=i|(~(((0x01)<<(num))));

P0=i;

wela=0;

dula=1;

P0=table[dat];

dula=0

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

当前位置:首页 > 高中教育 > 英语

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

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