基于51单片机数字温度计的设计毕业论文.docx
《基于51单片机数字温度计的设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于51单片机数字温度计的设计毕业论文.docx(22页珍藏版)》请在冰豆网上搜索。
![基于51单片机数字温度计的设计毕业论文.docx](https://file1.bdocx.com/fileroot1/2022-11/27/c3b45db0-2ccd-448e-bd6d-040a71406f6f/c3b45db0-2ccd-448e-bd6d-040a71406f6f1.gif)
基于51单片机数字温度计的设计毕业论文
学士学位论文
基于51单片机数字温度计的设计
姓名:
徐萍
学号:
2009093110
院系:
信息技术工程学院
专业:
通信工程
指导教师:
丽
申请学位:
工学学士
二○一三年五月
重声明
本人呈交的毕业设计论文,是在导师的指导下,独立进行研究工作所取得的成果,所有数据、图片资料真实可靠。
尽我所知,除文中已经注明引用的容外,本学位论文的研究成果不包含他人享有著作权的容。
对本论文所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确的方式标明。
本学位论文的知识产权归属于培养单位。
学生签名:
日期:
分类号:
TP2XX密级:
公开
UDC:
654学校代码:
11390
师学院
本科毕业设计(论文)
基于51单片机数字温度计的设计
BasedOn51Single-chipDesignOfDigitalThermometer
作者徐萍学号**********
申请学位工学学士指导教师丽
学科专业通信工程培养单位师学院
答辩委员会负责人评阅人
2013年5月
基于51单片机数字温度计的设计
摘要
本文设计了一个基于单片机的数字温度计系统,其采用AT89C51芯片作为控制中心,DS18B20温度传感器为测温元件,LCD1602为显示器件,详细介绍整个设计的硬软件设计过程,其中硬件与单片机的连接过程是核心部分,软件编程中的各个模块设计和系统流程是重点,对每个电路设计过程作了详细介绍。
其中,硬件设计部分包括最小系统设计、温度传感电路和报警电路设计、温度控制电路设计及显示电路设计;软件设计部分包括主程序设计、读温度子程序设计、温度转换命令子程序和计算温度子程序设计。
根据设计方案,设计出来的温度计能实现温度采集和显示功能,能测量0~100℃之间的温度,测量精度为0.5℃,超过设定上下限报警提示。
能根据需要任意设定上下限,使用方便,操作简单,具有高精度、高准确率、体积小和功耗低等优点,有一定的应用情景。
关键词:
单片机温度传感器数字温度计
BasedOn51Single-chipDesignOfDigitalThermometer
Abstract:
Thispaperdesignedasystemofdigitalthermometerbasedonsinglechipmicrocomputer,theAT89C51chipasthecontrolcenter,DS18B20temperaturesensorfortemperaturemeasuringelement,LCD1602todisplaydevice,andintroducesindetailthedesignofhardandsoftwaredesignprocess,includingthehardwareandtheMCUconnectionprocessisthecorepartoftheeachmoduledesignandsystemsoftwareprogrammingprocessisthekey,foreachcircuitdesignprocessisintroducedindetail.Amongthem,thehardwaredesignpartincludestheminimumsystemdesign,temperaturesensingcircuitandalarmcircuitdesign,temperaturecontrolcircuitanddisplaycircuitdesign;Softwaredesignincludesthemainprogramdesign,thereadtemperaturesubroutinedesign,temperatureconversioncommandsubroutineandcalculationsubroutinedesigntemperature.Accordingtodesignscheme,designedthermometercanrealizetemperatureacquisitionanddisplayfunction,canmeasurethetemperatureisbetween0~100℃,themeasurementprecisionof0.5℃,exceedthesetupperandloweralarmprompt.Canaccordingtoneedanysetupperandlower,easytouse,simpleoperation,highprecision,highaccuracy,smallsizeandlowpowerconsumptionadvantages,hasthecertainapplicationsituations.
Keyords:
singalchipmicrocomputertemperaturesensorsdigitalthermometer
第一章引言
1.1研究的背景和意义
当今时代是一个信息技术不断发展创新的时代,而单片机自问世以来,其性能不断提高和完善,集多种优点于一身,如集成度高、功能强、速度快、体积小、功耗低、应用方便、价格低廉等,因此,它在工业检测、智能仪器仪表、数据采集和处理、家用电器等多种领域的应用日渐广泛,正以快速的步伐取代现有的多片微机应用系统。
同时,随着人们生活水平的提高,许多基于单片机技术的电子产品也逐渐深入人心,例如,温度计的应用在日常生活中或科研方面就占据着不可或缺的地位。
然而,传统温度计的测温特点已经无法满足现代社会生产或生活方面的需要,温度计若要为现代人提供更好的服务则需要从数字化、智能化方向发展。
由美国MAXIM/DALLAS半导体公司生产的单总线数字式温度传感器DS18B20具有性能稳定,灵敏度高,抗干扰能力强,使用方便等优点,能将采集到的温度直接发送给单片机进行处理,不需要进行A/D转换,代替了传统的热敏电阻[1]。
传统温度计主要以热敏电阻为温度传感器,虽然其成本低廉,但需后续信号处理电路,且可靠性和准确性低,实时性差,检测系统存在一定误差,此类温度计已无法满足现代社会的需求。
而本论文要求设计的数字温度计与传统温度计相比具有多方面的优势,如测温围广,准确度高,温度传感器直接向单片机输送信号进行处理,且采用数字显示测量温度值等优势。
因此,设计基于单片机的数字温度计必将成为社会必然趋势。
1.2电路工作原理
系统工作原理:
首先,把整体电路设计划分为主控电路设计、温度采集和报警电路设计、温度控制电路设计以及显示电路设计。
其次,按照系统的设计要求,采用DS18B20器件作为本系统的温度传感器进行温度采集,AT89C51单片机芯片为系统的控制中心,完成数据采集,处理,显示,报警等功能。
最后,设计按键电路模块把设定的温度最高值和最低值存入单片机的数据存储器中,系统运行后,温度传感器把采集到的数据与单片机里存储的数据进行比较完成温度控制。
采用LCD1602作为系统的显示部分,实时显示温度值。
采用数字温度传感器具有以下优势:
省却了传统温度计测温过程中的许多电路转换,如A/D转换电路等,简化了电路,缩短了系统的工作时间,过多的软件程序降
低了系统的硬件成本。
1.3论文结构安排
本论文在对单片机原理及接口技术、DS18B20温度传感器、LCD液晶显示屏等容了解的基础上,根据设计要求,做了以下结构安排:
第一章,引言。
本章简述了设计研究的背景及意义、电路的总体工作原理及设计思路,对电路的各个模块所要实现的功能作了简要介绍。
第二章,数字温度计的设计方案。
本章通过对器材的优缺点对比、论证后,
制定了合理的设计方案。
第三章,硬件电路的设计。
本章根据论文的设计方案,详细介绍硬件电路设计的各个模块以及所要实现的功能。
第四章,系统的软件设计。
本章详细介绍了各个子程序模块、各自的流程图、设计思路及功能介绍。
第五章,仿真及性能分析。
本章主要使用keil软件和proteus软件进行电路仿真,并将电路仿真结果与制作好的实物进行对比,分析其性能。
第六章,总结与展望。
本章总结了整个论文设计过程中所做的工作以及对未来的展望。
第二章数字温度计的设计方案
2.1数字温度计的功能要求
(1)温度测量围:
0~100℃
(2)测量精度:
0.5℃
(3)显示方式:
LCD1602液晶显示屏进行数值显示
(4)使用keil软件编写程序并编译后能生成HEX文件
(5)采用proteus仿真软件把HEX文件加载到芯片上进行仿真
(6)做出实物进行调试后能实现功能
2.2单片机的选择
单片机是在一片IC芯片上集成了中央处理单元(CPU)、数据存储器(RAM)、程序存储器(ROM、EPROM、Flash)、并行I/O接口、定时器/计数器、串行接口、中断系统等组成一台计算机必须具有的一些部件[2]。
随着单片机技术在日常生活和科研发展中的广泛运用,许多集成电路生产厂家都相继推出了各种类型的单片机,使得单片机类型日新月异,其性能也逐渐变得更齐全,其中MCS-51系列单片机以其优越的性能、成熟的技术、高性价比脱颖而出,迅速占领市场,在我国单片机应用领域占据一定的地位。
其处理器处理功能强,运行速度快,可靠性高,抗干扰能力强。
而在MCS-51系列单片机中,ATMEL公司生产的AT89C51单片机具有低功耗、体积小等特点,其部结构满足设计的需要。
因此,选用AT89C51单片机芯片作为本设计的控制中心最为合适。
2.3温度传感器的选择
2.3.1水银温度计
水银温度计在人们的日常生活中被广泛应用,具有测温方便、可随身携带以便应急等优点,但也有一定的弊端,如测温时,其热胀冷缩原理会导致读数结果有一定偏差,数据不准确;测温前必须通过人工操作使其达到稳定状态后方可测量;读数过程繁杂,对视力会造成一定影响。
所以,依照现代科技的发展水平,终将被淘汰。
2.3.2传统温度敏感元件
传统温度敏感元件主要有热电偶和热电阻两种。
这两种测温元件测出来的都是电
压值,需转换成数字温度值后才能被单片机处理,而要转换成数字温度值则需通过采样/保持电路、运放、数/模等电路转换,过程繁杂,其硬件电路和调试也非常复杂,硬件成本较高,测温准确度和精确度较低。
因此,此类测温元件也不适用于大规模的测温系统设计。
2.3.3数字温度传感器DS18B20
DS18B20是数字温度传感器,又称为智能温度传感器。
数字温度传感器部包含了温度传感器、A/D转换器、信号处理器、中央处理器、存储器和接口电路,简少了外部硬件电路,可以直接读出测量温度,只采用三个接口与单片机相连,集成度高,成本低,易使用[3],与传统的测温元件相比,是一种新一代的测温元件,非常适用于现代测温电子产品的设计。
综合上述三种情况对比后选择DS18B20作为本设计的温度传感器。
2.4显示器的选择
2.4.1LED显示器
传统的七段数码LED显示器部为发光二极管,因此又称为发光数码管。
根据部二极管的连接方式,又分为共阳极和共阴极两种类型。
虽然其价格低廉,且能满足显示功能的一般要求,但是现代社会生产的许多仪表仪器、高端电子产品对显示功能的要求极高,LED显示器无法满足其功能,在科技迅猛发展的时代,LED显示器终将不适用于大规模的电子产品开发。
2.4.2LCD1602液晶显示屏
LCD1602液晶显示屏是一种低电压、微功耗的显示器件,只需要2~3伏的电压即可工作,工作电流仅为几个微安,在现代显示器件中,是最高端的一种。
它不仅能显示数字,还能显示文字、曲线,比传统的LED显示器能显示更多的容,在现代电子产品中得到广泛的应用。
它具有很多优点,如:
(1)显示质量高。
液晶显示屏的每一个点收到信号后会一直保持原来的色彩和亮度恒定发光,其画质高而且不会闪烁,减少眼睛对显示屏的视觉疲劳。
(2)采用数字式接口。
液晶显示屏采用数字式接口,方便与单片机接口相连。
(3)功耗低。
液晶显示器是一个低电压低电流器件,工作时,耗功率小。
综合上述LED显示器和LCD显示屏的特点概述,选择LCD液晶显示屏作为本设计的显示电路部分。
2.5小结
本章主要对单片机、温度传感器和显示屏的功能、结构通过对比论证后,选择了适合最本设计所需的硬件器材,制定了合理的设计方案。
第三章硬件电路的设计
3.1本论文的总体设计思路
(1)采用AT89C51单片机芯片作为系统的控制中心,完成数据处理,显示,报警等功能;
(2)以DS18B20作为温度传感器件完成温度采集,LCD1602液晶显示屏完成温度数字显示功能;
(3)依照以上所述器件设计一个温度计,能够测量0~100℃之间的温度,且测量精度为0.5℃,通过按键设置设计两个温度值,与通过单片机处理后的温度数据值相比较,当处理后温度高于上限值或低于下限值时,LED灯闪烁进行报警提示。
总设计框图如图3.1所示
图3.1数字温度计总体设计框图
(1)主控电路模块:
整个系统采用AT89C51芯片作为微处理控制系统,单片机AT89C51具有低电压低电流和体积小等特点,四个端口只需两个就能满足电路系统的设计需要,片上Flash允许程序存储器在系统可编程,对整个系统进行控制。
(2)温度采集模块:
以DS18B20为温度传感器对温度进行采集,与传统的热敏电阻等测温元件相比,能直接读出被测温度,并且可直接通过器件上的按键调节模拟温度。
(3)温度控制模块:
通过按键对温度上下限进行实时设置。
(4)报警模块:
超过设定的上下限温度值时则发出报警提示。
(5)显示模块:
采用LCD1602液晶显示屏正确显示温度计检测到的数据。
3.2总体硬件电路的设计
1 单片机最小系统设计:
此部分电路设计的目的是为整个电路系统的正确运行提供时钟控制和初始化操作控制。
2 温度传感电路和报警电路设计:
温度传感电路和报警电路组成一个有机整体,其功能为:
采集的温度通过单片机处理后与存储在存储器中的温度值相比较,当不在设定的温度值围时,则报警提示。
3 温度控制电路设计:
此部分设计采用按键电路与单片机相连组成温度控制电路,通过按键设定温度上下限以供单片机计算、识别。
4 显示电路设计的功能:
对经单片机处理后的温度及设定的上下限实时显示。
本论文的总体硬件设计电路图如图3.2所示
图3.2总体硬件电路设计
3.3单片机最小系统设计
单片机最小系统是指能够使单片机工作的最少器件组成的应用系统,且单片机部已经包含了数据存储器和程序存储器,所以只需在单片机外部引脚加上时钟电路和复位电路则可构成最小系统,给一些大型的电路设计提供最小控制,避免重复电路。
其特点是:
(1)所有的I/O接口线均可供用户使用。
(2)部存储器的容量仅4KB。
如图3.3所示
图3.3最小系统图
本设计的最小系统如图3.1所示,其中单片机上拥有4个双向的8位并行I/O口,分别记作P0、P1、P2、P3,都可以用于数据的输入和输出。
时钟电路在运行的过程中产生时钟控制信号,用于控制单片机工作;利用单片机部一个高增益反相放大器,把一个晶振体和两个电容器组成自激振荡电路,接于XTAL1引脚和XTAL2引脚之间,构成时钟电路[4]。
其中晶体振荡器振荡频率为12MHZ,微调电容为33pf左右。
计算机每次运行时,CPU和其他部件都必须有一个确定的初值,则需通过复位电路来实现。
RST引脚接一个电容和电阻组成复位电路,在单片机接通电源时,C1进行充电,则在RST两端产生正脉冲,由于RST是高电平有效,此时,系统即可复位,外部电路还可设置按键进行自动复位。
3.4温度传感电路和报警电路设计
此部分设计主要采用数字温度传感器DS18B20进行温度采集,把采集到的数据通过单片机处理后,采用LED灯闪烁与否进行报警提示。
DS18B20结构如图3.4所示
图3.4DS18B20管脚图
引脚功能说明:
(1)VCC:
可选电源脚,电源电压围3~5.5V,当工作于寄生电源时,此引脚必须接地。
(2)I/O(DQ):
数据输入/输出脚。
(3)GND:
地址信号。
其功能特点:
(1)采用单总线技术。
(2)低压供电,电源电压围3~5.5V。
(3)测温围广,可测量-55℃~125℃的温度围,在-10℃~85℃时,精度为0.5℃[5]。
(4)用户可自行设置上下限温度。
(5)可将检测到温度值直接转化为数字,并进行显示。
(6)含寄生电源。
温度传感电路和报警电路的整体电路如图3.5所示
图3.5温度传感电路和报警电路
DS18B20的DQ口接单片机的P2.4口,VCC接电源,GND接地且与一个LED灯进行串联,再接到单片机的P2.3口,通过单片机对温度进行处理和报警提示。
CPU对DS18B20的操作步骤:
先对DS18B20系统初始化,然后执行ROM操作命令,最后对存储器的数据进行转换。
在此电路中,DS18B20完成对温度的采集、转换、比较、计算和显示功能。
DS18B20将采集的温度传送给单片机进行数据处理,单片机发出温度转换命令,则DS18B20接收此命令完成温度转换后,显示的数据与贮存在温度报警触发器的值相比较。
由于这些寄存器仅仅是8位,所以比较时自动忽略0.5℃位。
若温度测量的结果高于DS18B20设定的最高值或低于设定的最低值,则器件的报警标志将置位,因此每次测量温度时需将报警标志置位。
只要报警标志置位,DS18B20将对告警搜索命令做出响应。
如果温度超过设定上下限,则将通过LED灯闪烁报警进行提示。
3.5温度控制电路设计
在温度控制电路设计中,采用轻触按键调节温度值,把实际测量温度值与设定的上下限进行比较,来控制单片机的P1.0、P1.1、P1.2、P1.3端口的高低电平,把这四个端口分别与四个轻触开关相连,按一下与P1.0相连的开关,则温度上限加1,按一下与P1.1口相连的开关,则温度上限减1,按一下与P1.2口相连的开关,则下限加1.按一下与P1.3口相连的开关,则下限减1,通过这四个开关则可设置温度的上下限,并在LCD1602液晶显示屏显示。
此部分的电路设计如图3.6所示
图3.6温度控制电路设计
3.6显示电路设计
3.6.1液晶显示屏LCD1602简介
显示电路部分将液晶显示屏、单片机、多个电容电阻通过连线把端口分别连在一起,构成一个完整的显示电路[6]。
根据显示容和方式的不同可以分为数显LCD,点阵图形LCD,点阵字符LCD,在此设计中我们采用点阵字符LCD,而更常用的是2行16个字的1602点阵字符型液晶模块。
其特性为:
(1)+5V电压,对比度可调。
(2)含复位电路。
(3)有80KB显示数据存储器DDRAM。
(4)部含有160个5×7点阵字型的字符发生器CGROM。
(5)8个可由用户自定义的5×7的字符发生器CGROM。
3.6.2LCD与单片机接口的连接
如图3.7所示:
(1)电源VSS、VDD和读写信号RW接地,VCC接电源。
(2)寄存器选择引脚RS接单片机的P2.0引脚。
(3)E端为使能端,接单片机的P2.0引脚。
当E端电平由高电平向低电平跳变时,液晶模块执行命令。
(4)D0~D7是8位双向数据线,分别与单片机的P0(P0.0~P0.7)口相连。
整个电路所测的温度将通过LCD1602显示出来,再根据所测的温度还可以进行调整。
图3.7显示电路的设计
3.7小结
本章详细介绍了数字温度计的设计思路及硬件电路设计,把硬件电路设计细分为单片机最小系统设计、温度传感和报警电路设计、温度控制电路设计及显示电路设计,对以上所述的部分电路设计详细说明其电路结构、功能实现等容。
第四章系统软件设计
基于51单片机数字温度计的软件设计部分主要包括主程序设计、读温度子程序设计、温度转换命令子程序设计等,对这些子程序进行C语言编程,经keil软件编译调试后生成供电路仿真的HEX文件,下面对这些子程序设计详细说明:
4.1主程序设计
主程序作为系统的主要控制程序,在系统运行的过程中必须进行初始化,包括温度命令子程序、DS18B20初始化及器件各控制端口的初始化,其主要功能是负责温度的实时显示,对DS18B20采集的温度进行处理,处理后通过显示设计部分显示。
其设计步骤为:
Step1:
系统进行初始化;
Step2:
DS18B20采集温度发送给单片机AT89C51进行处理;
Step3:
系统读取温度转换值;
Step4:
调用温度转换子程序对读出的温度值进行BCD码转换,计算温度值;
Step5:
调用报警子程序:
把通过计算后的数据与预先设定的温度上下限进行
比较,通过LED灯报警提示。
当温度高于设定上限时,LED闪烁,当温度低于设定下限时,LED闪烁,而当温度在设定围时,LED不闪烁。
程序流程图如图4.1所示
图4.1主程序设计流程图
4.2读温度子程序
读温度子程序的功能:
读出通过A/D转换后的温度值,并保存。
其设计思路如下:
Step1:
系统初始化。
Step2:
当DS18B20的DQ引脚接高电平,温度传感器则复位。
Step3:
通过一个判决对是否读温度进行判断。
即FLAG1=1?
。
Step4:
若FLAG1=1,系统发出一个跳过ROM匹配命令,单片机接收到此命令后发出一个温度转换命令存储在寄存器RAM中,此时系统将调用一个延时程序,接着DS18B20重新初始化,系统又发一个跳过ROM匹配命令,单片机收到此命令后调用存储在RAM中的温度转换命令直接进行温度转换,转换成功后调用读数据子程序,读出温度值则存入存储器。
Step5:
若FLAG1=0,则直接退出程序。
系统流程图如图4.2所示
图4.2读温度子程序流程图
4.3温度转换命令子程序
温度转换命令子程序的功能:
系统对执行温度转换过程发出命令。
其算法步骤为:
Step1:
系统初始化。
Step2:
温度传感器DS18B20复位成功。
Step3:
复位成功后,发一个跳过ROM命令。
Step4:
系统接收到此ROM命令后发一个温度转换开始命令,单片机接收到此转换命令则执行温度转换命令。
温度转换命令子程序流程图如图4.3所示:
图4.3温度转换命令子程序流程图
4.4计算温度子程序
4.4.1功能
系统将存储在RAM寄存器中的容转换成BCD码,完成温度计算和显示功能。
其算法如下:
Step1:
系统初始化。
step2:
调用计算温度子程序对温度进行正负判断。
Step3:
当温度低于0摄氏度时,对温度值取补码置“—”符号,然后再对转换后温度值进行BCD码计算;
Step4:
当温度高于零摄氏度时,不需要显示“+”符号,直接对数据进行计算。
程序流程图如图4.4所示
图4.4计算温度子程序