基于单片机的智能温度报警系统Word格式.docx
- 文档编号:20332515
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:25
- 大小:344.95KB
基于单片机的智能温度报警系统Word格式.docx
《基于单片机的智能温度报警系统Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能温度报警系统Word格式.docx(25页珍藏版)》请在冰豆网上搜索。
年月日
本人声明:
该学位论文是本人指导学生完成的研究成果,已经审阅过论文的全部内容,并能够保证题目、关键词、摘要部分中英文内容的一致性和准确性。
学位论文指导教师签名:
年月日
Basedonsinglechipmicrocomputerintelligenttemperaturealarmsystem
Zhang,Jing
摘要
本论文介绍了一种以STC89C52RC单片机为核心的智能温度报警系统。
以STC89C52单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。
该控制系统可以实时存储相关的温度数据。
系统设计了相关的硬件电路和相关应用程序。
硬件电路主要包括STC89C52单片机最小系统,测温电路、按键处理电路、数码管显示电路以及状态显示电路等。
系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、数码管显示程序以及数据存储程序等。
STC89C52RC单片机可以在宽范围的性能要求下实现高度集成,低成本的解决方案。
而且该系统可由用户通过键盘自行设置所需要的温度,并由数码管显示电路实时显示被控温度及设定温度,使系统应用更加方便、直观。
关键词:
STC89C52单片机;
DS18B20;
显示电路
Abstract
Alongwiththecomputermeasurementandcontroltechnologyoftherapiddevelopmentandwideapplication,basedonsinglechiptemperaturegatheringandcontrolsystemdevelopmentandapplicationgreatlyimprovetheproductionoftemperatureinlifelevelofcontrol.ThisdesignSTC89C52describesakindofmainlybyMCUcontrolunit,fortemperaturesensorDS18B20temperaturecontrolsystem.Thecontrolsystemcanreal-timestoragetemperaturedataandrecordrelatedtothecurrenttime.Systemdesignrelatedhardwarecircuitandrelatedapplications.STC89C52microcontrollerhardwarecircuitincludetemperaturedetectioncircuitsmallestsystem,andkeyprocessingcircuit,digitaltubedisplaycircuitandstatedisplaycircuitetc.Systemprogrammingmainlyincludemainprogram,readtemperaturesubroutine,thecalculationoftemperaturesubroutines,keyprocessingprocedures,Segmentdisplayproceduresanddatastorageprocedures,etc.
STC89C52RCsingle-chipmicrocomputercanberealizedinawiderangeofperformancerequirementsunderthehighlyintegrated,lowcostsolution.Andthesystemcouldbeusedbytheuserthroughthekeyboardtosettherequiredtemperature,andthedigitaltubedisplaycircuitreal-timedisplaywaschargedwithtemperatureandsettemperature,makesystemmoreconvenientandintuitive.
Keywords:
STC89C52singlechipmicrocomputer;
DS18B20;
Displaycircuit
目录
绪论1
1.1课题研究的背景1
1.2本课题所研究的内容1
第二章系统硬件设计3
2.1设计方案:
3
2.1.1方案列举3
2.1.2方案论证:
4
2.2STC89C52RC单片机简介4
2.3STC89C52RC芯片的特性5
2.4基于STC89C52RC的温度控制系统的总体设计6
2.4.1系统硬件基本结构6
2.4.2STC89C52的复位电路7
2.4.3键盘电路8
2.4.4温度传感器电路9
2.4.5系统电源电路的设计10
2.4.6报警电路11
2.4.7电路状态显示电路12
2.4.8数码管显示电路12
2.4.9设计总电路13
第三章系统软件设计14
3.1应用程序模块整体设计14
3.1.1系统资源分配14
3.2主程序及循环15
3.2.1温度读取子程序15
3.3按键与温度处理16
3.3.1按键处理子程序16
3.3.2计算温度子程序17
3.3.3显示数据刷新子程序18
第四章系统调试及问题解决20
4.1硬件电路调试20
4.2系统软件调试21
4.3系统联调21
结论24
致谢25
参考文献26
附录127
绪论
1.1课题研究的背景
工业现场的温度检测以及控制是微机测控的重要学科,微机测控的迅猛发展正是为了适应工控现场和日常生活需要,在工业控制及生产中,将微机技术,软件技术以及自动控制原理融入其中,并且设计出所需要的计算机控制系统。
特别是以51单片机为核心的温度测量与控制系统的研究与应用在一定程度上提高了生活生产中对温度的控制水平。
本次毕业设计就是基于单片机STC89C52温度控制系统的研究设计,通过本次毕业设计实践,使我认识到了单片机测控系统的广泛用途和使用方法,以及其工作的原理。
如今工控及日常生活中的温度采集控制技术取得了日新月异的成就。
随着现代工业生产以及电子技术的迅猛发展,特别是大规模集成电路与高性能微处理器的相继问世,使诸多领域的自动控制技术水平和自动化程度得到大幅度的提高。
计算机的飞速发展和广泛的普及,使生产过程中温度控制系统的应用与研发得到了一个前所未有的黄金时期。
随着大规模及超大规模集成电路的问世,计算机发展朝着更加智能、更加快速和小型化的方向前进。
单片机的工业及日常应用达到了空前的高度。
在温度采集、工业控制等方面更是如此。
其根本原因就是单片机体积小、低功耗、低价、可靠的特点决定的。
自从1980年以后。
计算机测控技术发展日新月异,成为各大高校乃至国家发展的重点研究方向。
温度控制是又是计算机测控技术中的重要分支。
现代工业的生产朝着自动化,智能化的方向发展,温度测量控制是重要的一环,为实现工业生产的指标提供有效的参考。
为提升社会效益、经济效益提高生产效率节能环保起到了重要的保障。
1.2本课题所研究的内容
由于工业控制领域对于温度采集控制的需要,其重要性也日益凸显。
本设计采用单片机STC89C52设计了温度实时测量及控制系统。
单片机STC89C52能够根据温度传感器DS18B20所采集的温度在数码管上实时显示。
能够对温度实施有效的监控及控制。
所有温度数据均通过数码管显示出来。
系统可以根据时钟存储相关的数据。
本次的毕业设计不仅仅使我们在计算机测控方面加深了学习,锻炼了实际动手能力。
也使我对单片机实现微机测控有了一定的了解,也学习到了对于单片机编程的一些方法和心得体会。
掌握了51单片机应用电路和硬件以及软件的设计思路、方法。
第二章系统硬件设计
2.1.1方案列举
方案一:
实验硬件电路框图如图2-1所示:
图2-1方案1硬件电路框图
此中方案直接选用模拟电路,该方法采用的是传统的一位式模拟控制回路,如上图所示。
此系统采用模拟电路设计,其主要过程是通过电位器给出模拟温度值,经过过信号放大后与预先设定的数值进行比较。
再通过信号放大之后执行型赢得报警操作。
系统所得结果的精度不高并且调节动作频繁,系统误差大、不稳定,但是优点是电路简单、易于实现。
而且系统受环境影响大,不能用数码显示,不能用键盘设定并且操作者与系统之间信息交流教难。
方案二:
硬件电路如图2-2所示:
图2-2方案2硬件电路框图
可以采用以51单片机为核心进行整个系统的管理、协调。
该方案有隔离、A/D转换、测量和控制等部分。
比第一种方案有设计灵活、精度高等特点。
单片机软件编程灵活、自由度大,可用软件编程实现控制STC89C52RC单片机高速/低功耗/超强抗干扰等优点。
用户应用程序空间为8K字节,片上集成512字节RAM。
单片机系统可以用数码管显示外界温度的实际值,能用键盘输入设定值。
本方案选用STC89C52RC芯片,可使系统整体结构更为简单。
方案一的硬件电路所是以传统的模拟方式进行控制,虽然比较容易实现,但是精度不高,而且当温度改变时与方案二相比不灵活,调整比较难。
而方案二采用以51单片机为控制系统的核心元器件,在此系统中,使用单片机具有很多优点,理想的控制效果,对于显示模块、报警模块的实现更为简单。
杜宇报警限定值的设置也更方便。
系统的精度也是模拟电路所不能比拟的。
所以设计采用方案二。
2.2STC89C52RC单片机简介
STC89C52是宏晶公司出品的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
STC89C52使用经典的MCS-51内核,在传统的51系列单片机上进行改造使其具有许多新功能。
在系统可编程Flash和灵巧的8位CPU使STC89C52为许多计算机控制系统提供高度灵活、行之有效的解决方案。
STC89C52单片机具有512字节RAM,8k字节Flash,P0~P3一共32位输入输出端口,看门狗定时器功能,MAX810复位电路,3个16位定时器/计数器,内置4KBEEPROM,4个外部中断,一个7向量4级中断结构,全双工串行口。
另外STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
第一种是空闲模式,RAM、定时计数器、串口和中断可以正常工作,但是CPU停止工作。
第二种是掉电模式,RAM可以进行保存内容,但是单片机一切工作停止,直到下一个中断或硬件复位为止。
单片机最高运作的频率为35MHz,可以选择6T/12T两种模式。
2.3STC89C52RC芯片的特性
主要特性如下:
1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.
2.单片机工作电压:
5.5V~3.3V(5V单片机本设计采用)
3.工作频率范围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
4.用户应用程序空间为8K字节
5.片上集成512字节RAM
6.32个通用I/O端口,电路复位后P1/P2/P3/P4是准双向口(弱上拉),P0口是漏极开路输出,P0口作为总线扩展时不加上拉电阻,作为I/O口时需加上拉电阻。
7.ISP/IAP模式下无需专用编程器和专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)使用ISP软件直接下载程序,数秒钟即可下载完成
8.具有EEPROM功能
9.具有看门狗功能
10.有T0、T1、T2三个个16位定时器/计数器
11.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒
12.通用异步串行口(UART),还可用定时器软件实现多个UART
13.工作温度范围:
-40~+85℃(工业级)/0~75℃(商业级)
14.PDIP封装
图2-3STC89C52RC单片机引脚图
2.4基于STC89C52RC的温度控制系统的总体设计
2.4.1系统硬件基本结构
在本次设计中,考虑到完成该项设计的现实条件因素,在进行本系统的设计时,着重点在于系统的基本原理及整个思想的体现。
因此在设计中,未考虑用于现实工业控制过程中,应有的一些控制机构,如加热、制冷装置以及相关涉及到的驱动电路(弱电驱动强电)等。
本次设计采用DS18B20温度传感器采集温度信息。
通过软件对温度信号进行分析处理,并发出相应的命令。
单片机对外设发出指令,单片机发出启动相应电路的命令,外设执行相应动作。
具体电路框图如图2-4所示:
图2-4系统硬件电路基本框架
2.4.2STC89C52的复位电路
在本次毕业设计的温度测控报警系统中,核心原件是STC89C52单片机,这是一种8位增强型51系列单片机。
单片机的复位电路可以在在单片机系统运行中,受到干扰出现程序抛费的时候,按下复位键可以将系统复位从头开始执行。
其最小系统主要包括:
复位电路、震荡电路以及存储器选择模式,其中系统晶振的振荡频率直接影响单片机的处理速度。
频率越大处理速度也越快。
电路如下图2-5所示:
图2-5单片机最小系统电路图
2.4.3键盘电路
键盘是重要的人机交互设备,能够向单片机实时输入数据,是使用者与单片机交流的重要手段。
但是消除抖动是使用按键时不可回避的问题。
主要有硬件消抖和软件消抖两种方式。
那么如何消除抖动呢?
软件消抖是最常采用的方法。
软件来消抖基本思路是:
按键按下时对应低电平,执行延时程序若干毫秒的后,确认该按键是否还是低电平,如果仍为低电平,可以确定按键被按下。
当按键松开时,行线的低电平为高电平,执行一段延时程序后,仍为高电平时,说明按键已经松开。
采取以上措施,避开两个抖动时间,从而消除了按键抖动的影响。
键盘接口的工作原理:
键盘接口比较常见的有独立键盘和矩阵键盘。
独立按键键盘:
独立键盘的各个按键是独立存在的,每个按键输出接到单片机I/O口上,通过检测电平状态确定哪一个按键被触发。
在按键数量比较多的时候,独立按键需要占用很多单片机I/O口,电路结构也比较繁复。
按键较少时才合适用独立按键。
本课题所用4个按键来设置温度方式,所以用的就是独立式键盘,所以以下就只介绍几种独立式键盘的接口,行列式键盘接口将不做介绍。
中断方式:
当有按键按下的时候,就向单片机发出中断请求,在中断服务程序对按下那个键进行识别。
查询方式:
独立按键直接接在单片机I/O口上,通过查询读取各个I/O口的电平状态,即可以识别出按下的键。
此外,也可以使用扩展芯片8255A等的扩展I/O口作为独立式键盘的接口电路。
本次设计只用了四个按键。
四个独立按键的编码十分灵活简便。
以下图2-8为该系统所用的键盘电路:
图2-6键盘电路
在本系统中,由于按键数目较少,(只有五个)而I/O又有空闲,故采用独立式键盘。
如上图2-6所示,在系统中按键占用了STC89C52单片机的P2口.。
2.4.4温度传感器电路
采用数字温度传感器DS18B20来作为此次毕业设计的温度传感器。
DQ端口引脚和共地引脚之间接上拉电阻到P1.1端口。
DS18B20温度传感器是美国达拉斯(DALLAS)半导体公司推出的应用单总线技术的数字温度传感器。
该器件将半导体温敏器件、A/D转换器、存储器等做在一个很小的集成电路芯片上。
本设计采用此温度传感器出于以下几点原因:
(1)原件特性:
测温范围比较广,从-55℃~+125℃,测温精度高,可以达到士0.5℃;
转换时间短,12位精度转换时间仅仅需要750ms;
可以通过数据线供电,超低功耗工作方式十分的节能环保。
(2)成本低廉:
随着大规模集成电路的迅猛发展,电子元器件体积越来越小,功能越来越强大,夹克越来越低。
一支DS18B20的体积与普通三极管相差无几,价格只需要六七元。
(3)易于使用:
DS18B20是单总线器件,CPU与其接口时仅需占用1个I/O端口且一条总线上接挂几十个DS18B20也是可行的,测温时电路十分简单,降低系统的复杂度,大大降低了难度和工作量。
DS18B20温度传感器有三根引脚:
DQ为单线数据总线传输端口,VDD为外部电源端口,GND为共地端口。
DS18B20传感器与单片机的连接采用外部供电的方式,其电路如图2-7所示:
图2-7温度传感器接口
2.4.5系统电源电路的设计
本系统采用LM2596电源稳压芯片,LM2596是降压型的电源管理集成电路输出+5V电压,具有良好负载调节特性,同时具有优良的线性。
内部集成固定150KHz的频率发生器,可以使用小规格滤波器件。
该器件还有自我保护电路,在特定电压下可以保持低误差。
在该温度控制系统中,其电源电路设计如下图2-8所示:
图2-8系统电源模块
2.4.6报警电路
在温度测控报警系统发生故障或者触发报警是,单片机测控系统必须要发出提示使用者的报警信号或者提示音,本设计采用蜂鸣器发声报警的方式。
本系统中的报警电路主要是用来监控当前的水温,当水温超过设定的温度值时,便发出报警声提示操作者。
在本次设计中只采用简单的蜂鸣器来进行报警。
课题中用STC89C52单片机的P1.0接S8550三极管基极输入端。
当P1.0输入高电平时,三极管导通,蜂鸣器两端获得约处罚电压而发出鸣叫;
当P1.0输出低电平,三极管截止,蜂鸣器停止发声。
由此看出,三极管的作用相当于一个开关。
蜂鸣器驱动电路如下图2-9所示:
图2-9蜂鸣器驱动电路
若想使蜂鸣器的发音有多重频率,可以使用555定时器设计多谐震荡电路,使蜂鸣器的发音随着震荡器的频率改变而产生高低不同的报警音。
2.4.7电路状态显示电路
设计中提到系统中所须的单片机报警电路工作状态用两个发光二极管来模拟。
当进行报警温度上下限时,由温度上下限指示灯进行状态显示。
外界温度的正负值由正负温度指示灯进行状态指示。
若单片机发出启动相应电路的命令,则点亮相关的指示灯表示当时电路状态。
课题中用STC89C52单片机的P1.4作为报警指示、P1.6和P1.7作为温度上下限指示P1.2和[1.3作为正负温度指示外接LED表示系统的控制工作状态。
要使LED发光,只要在所接I/O口线发出高电平信号即可,所以该部分电路很简单。
电路图如图2-10所示:
图2-10输出状态显示电路
2.4.8数码管显示电路
LED是发光二极管的英文缩写。
LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。
LED显示器在单片机系统中的应用非常普遍。
LED显示器分为共阴共阳两种。
所有的发光二极管阳极连接到一起形成公共阳极,这就是共阳数码管,共阳数码管应将公共阳极接到+5V电源,当某段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管的原理和共阳是一样的,所以不多做介绍。
本课题设计的温度控制系统是采用4位数码管作为显示模块,数码管的段选断接在单片机P0口,位选端接在P2口。
由软件实现对数码管的段选位选显示。
其接口原理图如下图6所示:
图2-11输出显示电路
2.4.9设计总电路
电路中温度数据采集用DS18B20,当采集温度实时变化,单片机发出相关指令,外围电路执行相应操作。
温度值在数码管中实现实时显示。
在实现温度控制时,因为最后同样要通过传感器将数据传送至单片机内,发光二极管进行状态显示。
本系统中的报警电路主要是用来监控当前的温度,可以使用独立键盘对报警值进行预设值,当温度超过设定的温度上下限值时,便发出报警声提示操作者。
在本次设计中采用简单的蜂鸣器来进行报警,当温度回归到正常温度以内,就停止报警。
最终所设计的硬件电路图见附录1所示。
第三章系统软件设计
3.1应用程序模块整体设计
系统的软件编程主要是采用单片机C语言,对单片机进行编程实现系统各项功能。
主程序对各模块模块进行初始化操作,而后调用读温度、处理温度、显示、键盘等模块。
用的是循环查询方式,来显示和控制温度,主程序调用各个子程序对DS18B20所采集的数据进行实时显示读出与处理,其程序流程如图3-1系统程序流程图。
图3-1系统程序流程图
3.1.1系统资源分配
在控制温度报警系统的整个实时调度过程中,如何合理的利用系统资源是能否提高系统的控制精度和工作效率的关键所在。
各种控制任务是以中断方式实现的,发生中断时,CPU立即执行中断服务程序,本系统采用定时中断,来实现系统的实时控制。
用定时/计数器1和软件计数结合定时作为系统的时钟基准(1s),并兼作采集现场温度值的采样周期。
对I/O口的定义,分配如下所示:
P1.1作为DS18B20传感器温度采集数据进入端口
P1.6、P1.7为温度上下限的工作指示灯端口
P1.4为温度过限报警指示灯端口
P1.2、P1.3为正负温度指示灯端口
P2.4~P2.7为键盘与单片机的接口
P0口为数码管段选接口
P1.0为蜂鸣器报警电路接口
P2.0~P2.3为数码管位选接口
通过对各个I/0编程和有效的资源分配,可以实现本系统的功能。
3.2主程序及循环
3.2.1温度读取子程序
读出温度子程序的主要功能包括DS18B20的初始化,判断DS18B20是否存在,检测到DS18B20存在则进行ROM操作命令,再进一步进行存储操作命令。
最后读取传感器所测量到的温度数据。
如果检测到DS18B20不存在则返回。
在读取温度过程中跳过读取温度传感器序列号。
对DS18B20初始化的可以参考下面几个语句。
DS18B20初始化:
Init_DS18B20();
读字节操作:
Readonechar();
写字节操作:
Writeonechar();
跳过温度传感器序列号读取:
Writeonochar(0XCC);
启动温度转换:
Writeonocha
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 智能 温度 报警 系统