基于单片机的数字温度计文档格式.docx

上传人:b****6 文档编号:21991519 上传时间:2023-02-02 格式:DOCX 页数:31 大小:1.36MB
下载 相关 举报
基于单片机的数字温度计文档格式.docx_第1页
第1页 / 共31页
基于单片机的数字温度计文档格式.docx_第2页
第2页 / 共31页
基于单片机的数字温度计文档格式.docx_第3页
第3页 / 共31页
基于单片机的数字温度计文档格式.docx_第4页
第4页 / 共31页
基于单片机的数字温度计文档格式.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

基于单片机的数字温度计文档格式.docx

《基于单片机的数字温度计文档格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的数字温度计文档格式.docx(31页珍藏版)》请在冰豆网上搜索。

基于单片机的数字温度计文档格式.docx

Thedevelopmentofscienceandtechnologymakespeoplealmosthavehigh-techelectronicproducts,airconditioners,refrigerators,andmicrowaveovensoftheseappliancesarecloselyrelatedtotemperature.Weallknowthatthetemperatureisindispensabletolifeandproductionquantity,TV,radioandInternetbroadcastingtheweatherforecast,everytimecan'

tbelackoftemperature,obviouslyitisanimportantpartoflife.

ThisdesignuseSTC89C51singlechipcontrolmodule;

TemperaturedetectionmoduleusingDS18B20intelligenttemperaturesensor;

UsingtheLEDdigitaltubedisplaymodule.Thisthermometerfunctionisstronger,theupperandlowertemperaturerangecanbesetbytheuser,whenthetemperatureexceedsthesetofhighandlowtemperaturethreshold,thealarmsignalissuedbythemastercontrolmoduletostartthebuzzerandlightalarm.Thedesignofthemeasurementrangefor-55℃~125℃,theerrorprecisionof0.1℃,aftermanyexperimentsfoundthethermometerareaccurate,easytouse,theadvantagesofwiderange,canbeusedforavarietyofplaces.

Keywords:

SCM,TemperatureMeasurement,TheTemperatureSensor,DigitalDisplay

目录

1前言1

2设计要求与方案论证1

2.1设计要求1

2.2系统基本方案选择和论证1

2.2.1单片机芯片的选择方案和论证1

2.2.2温度传感器设计方案论证2

2.2.3显示器件选择和论证2

2.3电路设计最终方案2

3主要元件介绍2

3.1STC89C51介绍2

3.1.1STC89C51双列直插封装3

3.1.2单片机最小系统3

3.2DS18B20传感器介绍4

3.2.1DS18B20概述4

3.2.2DS18B20引脚介绍4

3.2.3DS18B20的内部结构4

3.3数码管介绍5

3.3.1数码管的分类和结构5

3.3.2数码管工作原理5

4系统设计框图6

5系统硬件电路图7

6系统PCB图7

7程序流程图8

8在Proteus中仿真结果9

9调试与测量10

9.1硬件调试方案10

9.2实物图11

9.3数据对比12

10总结12

参考文献12

附录1元件清单13

附录2C语言程序13

致谢27

1前言

随着时代的进步,高新技术的一次次革命,传感器技术和单片机技术的应用早已经与我们息息相关,小到日常生活,工作和学习,大到医疗器械,军事,农业生产,机器人技术,汽车工业等。

由于信息技术的不断发展,人们对工农业生产的温度要求也越来越严格。

感知是现代化信息技术的源头,传感器技术在三大信息技术中属于前沿技术,外界环境信息变换正是由传感器转换为系统能运输、处理、存储、显示信息的载体。

此外,传感器技术更是涉及到半导体技术、微波技术、物理学、光学、力学、材料学等众多学科,是自动化技术的重要组成部分。

温度是工农业生产和实验中非常重要的参数,许多的生产过程都必须在一定的温度范围内进行,它是诸多物理现象中具有代表性的物理量。

温度传感器的广泛应用对温度测量的准确性就有了较高的要求。

国内外对于温度传感器技术的应用已经非常广泛,各个领域基本都被涉及到。

农业化生产离不开温度的检测,如花房、蔬菜大棚的实时温度检测;

工业化生产也离不开温度的检测,如电子化器件的生产就需要适宜的温度;

电冰箱需要合适的温度对不同的食物进行保鲜;

气象局需要实时监测温度,以便对外公布,预防一些高低温的危害;

可见温度测量方法及装置的研究具有十分重要的意义。

20世纪90年代,智能传感器问世,被广泛应用于自动控制系统。

如本设计采用的DS18B20这种温控器同时容纳了A/D转换电路、ROM存储器,是一种数字式传感器。

此外,智能传感器的总线技术已经逐步实现了规范化,标准化。

单片机技术与传感器技术的结合,使得温度检测更简便,更精确,可以广泛应用于科研实验室的实时温度检测,恒温水箱的检测。

2设计要求与方案论证

2.1设计要求

基本范围:

-55℃~125℃;

精度误差:

0.1℃;

数码管直读显示;

扩展功能:

上下限温度可以任意设定,不在设定范围内具有报警功能。

2.2系统基本方案选择和论证

2.2.1单片机芯片的选择方案和论证

本设计选用单片机为主控制模块,与一般的微型计算计没有本质上的区别,单片机只是作为微型计算机的一个分支。

单片机是集成在一块芯片上的微型计算机,它与一般的微型计算机相比,在硬件结构和指令设置上有独特的风格。

方案一:

采用STC89C51芯片作为硬件核心。

STC89C51具有高抗静电防护(ESD),片内

具有4KBROM存储空间,512字节RAM存储空间,2K字节的EEPROM存储空间,完全兼容于MCS-51系列单片机,可以通过串口下载[1]。

方案二:

采用AT89C51,AT89C51片内具有4KBROM存储空间,128字节的内部RAM存储空间,也具有EEPROM存储空间,是MCS-51系列单片机的主流芯片之一,具有在线编程可擦除技术[2]。

选择以上两种单片机都能够满足设计的要求,但是STC89C51相对于AT89C51价

格便宜,且抗干扰能力强。

考虑到成本因素,因此选用STC89C51。

2.2.2温度传感器设计方案论证

21世纪是传感器技术蓬勃发展的时期,温度传感器更是经过一次一次的变革,体积越来越小,精度越来越高。

本设计可以采用热敏电阻或者智能温度传感器DS18B20来完成,这两种方法比较常见。

由于本设计是测温电路,可以使用传统的热敏电阻,热敏电阻不能直接输出温度,需要比较多的外部元件支持,经过处理后才能在显示模块上显示温度,而且制作成本较高。

其线性度较差,在较窄温度范围内具有较好的线性度。

采用单片集成智能温度传感器DS18B20,单总线的数据传输,能够和单片机构成温度测量装置,直接输出温度的数字信号,可见其需要的外围元件少,体积也小。

硬件系统和软件设计都比较简单。

根据以上两种方案的相比较,虽然都能够符合本设计检测温度的条件,但是方案二原理图简单,软件设计也简洁,热稳定性强,所以采用方案二。

2.2.3显示器件选择和论证

单片机应用系统中广泛使用LED数码管,是常用的输出设备,软件设计简单。

也可以采用LCD1602,本设计采用1602会浪费屏幕显示,仅仅输出数字温度。

数码管比1602的寿命更长些,价格优异,显示模块更亮,所以采用四位一体的数码管。

2.3电路设计最终方案

根据以上对于此硬件设计各个模块元件选择的论证,采用STC89C51单片机为主

控制模块,DS18B20温度传感器为温度检测模块,数码管为显示模块。

3主要元件介绍

3.1STC89C51介绍

图1为国产的STC89C51单片机是增强型8051单片机,片内资源、性能和速度都有很的改进,使得用户对于单片机系统的开发更简单。

图1STC89C51

3.1.1STC89C51双列直插封装

STC89C51单片机的40个引脚封装图如图2所示:

图2STC89C51封装图

3.1.2单片机最小系统

电源VCC与电阻相连接在RST引脚上实现手动电平复位,外接晶振已与对应的引脚XTAL1和XTAL2相连。

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

图3单片机最小系统电路

3.2DS18B20传感器介绍

3.2.1DS18B20概述

DS18B20是美国DALLAS半导体公司生产的一种改进型智能温度传感器,通过I/O口直接输出温度。

传感器和数字转换电路都集成在芯片内部,具有唯一的64位序列

号。

采用数字输出方式,不需要A/D转换器就可以完成,非常适用于远距离多点测温

系统。

DS18B20的主要性能特点如下:

(1)仅需一个端口就可实现通信;

(2)数据线供电,电压范围为+3.0~+5.5V;

(3)不需要其他元件的辅助;

(4)测温范围为-55℃~+125℃,固有测温分辨率为0.5℃;

(5)9位至12位的数字读数方式输出温度;

(6)电源极性接反不会导致温度计烧毁,却不能正常工作;

(7)内部有温度上、下限告警设置。

用户可通过软件设置上、下限温度报警值;

(8)每个芯片唯一编码,支持联网寻址,零待机功耗;

3.2.2DS18B20引脚介绍

图4为DS18B20的封装图,各引脚功能为:

●DQ为数据输入/输出端(即单线总线),它属于漏极开路输出,外接上拉电阻后,常态下呈高电平;

●VDD是可供选用的外部+5V电源端,不用时接地;

●GND为地;

●NC为空脚。

图4DS18B20封装结构

3.2.3DS18B20的内部结构

DS18B20的内部结构有以下七个部分组成,如图5所示:

图5DS18B20内部结构

3.3数码管介绍

3.3.1数码管的分类和结构

数码管有七段和八段之分,下图6为八段共阳极和共阴极数码管结构和外形,七段没有dp引脚。

图68段LED数码管结构及外形

3.3.2数码管工作原理

图7所示为4位LED数码管的结构原理图,能够显示4位字符。

位选线为各个LED数码管的公共端,控制着某位数码管的亮暗,段码线控制显示何种字型。

下面将介绍数码管的两种显示方式:

图74位数码管结构原理图

(1)静态显示:

数码管工作在此状态下,各位的公共端连接在一起,每位的数码管段码线与一个8位的I/O口相连,该方式显示无闪烁,亮度较高,软件控制比较简单。

但是数码管的显示位数增加,就需要较多的I/O口。

所以一般数码管位数多的情况下,电路连接比较复杂,不易采用该种方式。

(2)动态显示:

将段码线并联在一起连接在相同的I/O下,公共端由I/O口控

制,目的在于简化电路。

单片机对各位数码管进行“扫描”,它们不可能同时显示。

用户可以在软件设计中,可以根据需要选通某位数码管的位选线,关闭其他的位选线,此时,选通的那位数码管输出要显示的字符。

虽然数码管不能同时显示,但是在实际操作时,由于LED余辉和人眼无法视觉停留,用户设置的显示时间间隔足够短,就会造成同时亮的假象,达到数码管同时显示的效果。

如图8所示,四位数码管只占用12个I/O口,静态下则需要33个I/O口,对比之下,动态方式大大节省了I/O口。

本设计S1、S2、S3、S4分别表示4个数码管的位

(见系统原理图)。

图84位数码管动态显示电路

4系统设计框图

系统设计框图如图9所示,由单片机最小系统,即复位和振荡电路,报警点按键,

DS18B20传感器,数码管显示,蜂鸣器报警这五个部分组成。

报警点按键采用软件控制即C语言编程,也可手动来控制,作为输入电路,可设置上下限温度值。

DS18B20传感器检测实时温度,数字输出温度,经过主控制器由数码管显示数字温度。

若温度高于上限温度或低于下限温度,蜂鸣器会报警。

图9系统设计框图

5系统硬件电路图

根据系统设计思路和系统设计框图,可以设计出系统的硬件电路图,如图10所示。

DS18B20传感器外接10K上拉电阻与P3.7引脚相连,进行数据双向传输;

按键K1、K2、K3直接接在了P3.1、P3.2和P3.3引脚上;

4位一体共阳极数码管由4个PNP三极管驱动,S1、S2、S3、S4位选线接在P2.6、P2.4、P2.2和P2.0,这些端口变成低电平时,且P0口写入相应的数字代码,三极管导通驱动数码管显示对应的字符。

报警电路中加一PNP三极管,P3.6端口为低电平时,三极管导通驱动蜂鸣器报警。

图10系统原理图

6系统PCB图

根据系统原理图使用Protel画图软件[7]画出的系统PCB图如11所示:

图11系统PCB图

7程序流程图

程序流程图如图12所示,系统硬件电路完成后,使用流程图可以使软件设计更加清晰和简单。

该温度计上电就开始工作,主控制器控制各个模块,数码管进行初始化。

DS18B20开始读取报警温度,然后判断用户设置按键的状态,有0,1和2的状态,为0的时候是检测温度,为1的时候是可以重新设置上限温度,为2的时候是重新设置下限温度。

检测温度不超过报警温度,DS18B20转换温度,数据通过I/O口传给单片机,单片机对数据进行处理,控制数码管显示。

若当前温度超过设置的上限温度,蜂鸣器响,红灯亮;

低于设置的下限温度时,蜂鸣器响,黄灯亮。

对此可以反复执行报警温度读取,判定设置状态,温度显示,重新设置报警温度,是否报警。

图12程序流程图

8在Proteus中仿真结果

在Keil中将程序代码(见附录)输入并编译,编译无错的hex文件调入到Proteus中并运行,图13为初始状态:

图13仿真的初始化

调节温度传感器DS18B20的数值,数码管会显示温度值。

在这里按下设置键保证

了设定上限温度值的前提,在此基础上通过改变加、减键可以重新设置上下限温度值。

图14为上限温度显示:

图14上限温度

根据上段提到的设置键的功能,同时按两次即显示模块显示下限温度,此时再利用加、减键可以重新设置下限温度值,图15为下限温度显示:

图15下限温度

当温度不在设置的温度范围,系统会自动报警,发出“滴、滴、滴…”的声音。

9调试与测量

9.1硬件调试方案

将焊接好的实物逐个模块的进行调试,再检查一次焊接时有没有空焊,以确保每个模块都能正常工作,接下来对整机进行调试。

对于不同错误进行不同分析处理,包括元件错件,电路连接错误,单片机引脚断裂等情况。

对于可预见的一些情况进行正确处理,调试时尽量使元件正确。

9.2实物图

调试完成的实物图如图15所示,数码管显示的是当前温度;

重新设置上限温度为22℃,温度超过上限温度,黄灯闪烁,蜂鸣器响,如图16所示;

重新设置下限温度为24℃,温度低于下限温度,红灯闪烁,蜂鸣器响,如图17所示。

图15当前温度

图16上限报警

图17下限报警

9.3数据对比

将该温度计与水银温度计测温数据相比较,测量时均是在同一位置测量。

如表1所示:

表1数据比较

温度计类型

台灯下半小时温度

手的体表温度

腋下温度

水银温度计

40.4℃

35.4

36.8

数字温度计

40.2℃

35.3

36.7

两个温度计的精度可以相比拟,但是对于水银温度计测量一次过后,温度不能直接冷却下来,需要手动恢复,数字温度计可以实时检测温度;

水银温度计会受到大气压强的影响,数字温度计不会。

相比而言,数字温度计更实用,适合于多种场所。

10总结

经过长久的努力,终于完成了本设计,我从中学到了很多的东西,对知识点也做了一定的回顾。

编写论文的过程中,经常搜集资料,然后再对自己掌握的知识和对一些知识点的理解进行汇总,这也是考验个人的耐心和综合能力的过程,使我沉下心来完成了此次的设计,也发现了自身的很多问题。

作为新时代的我们,更应该掌握单片机技术和传感器技术,尤其是单片机技术,现在很多现代化产品都有单片机芯片的嵌入和传感器的引入。

软件设计是如此的灵活,促使我们更要经常练习一些程序的键入,才能对知识做不停的回顾。

知识来自于实践,只有亲力亲为,才能体会其中的乐趣。

如果只纯粹学习知识点,最终只会被社会淘汰。

参考文献

[1]张毅刚,彭喜元,彭宇.单片机原理及应用[M].北京:

高等教育出版社,2010.5

[2]赵晓安.MCS-51单片机原理及应用[M].天津:

天津大学出版社,2001.3.

[3]吴建平.传感器原理及应用[M].北京:

高等教育出版社,2012.1

[4]谭浩强.C程序设计(第四版)学习辅导[M].北京:

清华大学出版社,2010.7

[5]韩裕生,乔志花,张金.传感器技术及应用[M].北京:

电子工业出版社,2013.2

[6]康华光,陈大钦,张林.电子技术基础:

模拟部分[M].北京:

高等教育出版社,2006.1

[7]及力.Protel99SE原理图与PCB设计教程[M].北京:

电子工业出版社,2007

[8]闫石.数字电子技术基础[M].北京:

高等教育出版社,2006.5

[9]杨欣.电子设计从零开始[M].北京:

清华大学出版社,2005.2

[10]潘炼.传感器原理及应用[M].北京:

电子工业出版社,2012.1

[11]杜树春.基于Proteus和KeilC51的单片机设计与仿真[M].北京:

电子工业出版社,2012.2

附录1元件清单

2.2K电阻*7,STC89C51单片机,40脚IC座,DS18B20温度传感器,10K排阻,10K电阻*2,10uF电解电容,按键*3,12M晶振,30P瓷片电容*2,9012三极管*5,5mm红发红LED,5mm黄发黄LED,5V有源蜂鸣器,4位一体共阳数码管,DC电源插座,自锁开关,USB电源线

附录2C语言程序

#include<

AT89X52.h>

#defineuintunsignedint

#defineucharunsignedchar

#defineSETP3_1

#defineDECP3_2

#defineADDP3_3

#defineBEEPP3_6

#defineLED_HP1_6

#defineLED_LP1_7

#defineDQP3_7

bitshanshuo_st;

bitbeep_st;

bitH_ZF=0,L_ZF=0;

signedcharshangxian=35;

signedcharxiaxian=15;

bitfuhao=0;

uintwendu=0;

ucharx=0;

ucharqian=0,bai=0,shi=0,ge=0;

sbitDIAN=P0^5;

ucharset_st=0;

ucharcodeLEDData[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};

/*****延时子程序*****/

voidDelay_DS18B20(intnum)

{

while(num--);

}

/*****初始化DS18B20*****/

voidInit_DS18B20(void)

unsignedcharx=0;

DQ=1;

Delay_DS18B20(8);

DQ=0;

Delay_DS18B20(80);

Delay_DS18B20(34);

/*****读一个字节*****/

unsignedcharReadOneChar(void)

unsignedchari=0;

unsignedchardat=0;

for(i=8;

i>

0;

i--)

{

dat>

>

=1;

if(DQ)

dat|=0x80;

Delay_DS18B20(4);

}

return(dat);

/*****写一个字节*****/

voidWriteOneChar(unsignedchardat)

i>

i--)

DQ=dat&

0x01;

Delay_DS18B20(5);

/*****读取温度*****/

unsignedintReadTemperature(void)

unsignedchara=0;

unsignedcharb=0;

unsignedintt=0;

floattt=0;

Init_DS18B20();

WriteOneChar(0xCC);

WriteOneChar(0x44);

WriteOneChar(0xBE);

a=ReadOneChar();

b=ReadOneChar();

t=b;

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

当前位置:首页 > 经管营销 > 人力资源管理

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

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