基于单片机的恒温控制系统设计与模拟毕业论文.docx
《基于单片机的恒温控制系统设计与模拟毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的恒温控制系统设计与模拟毕业论文.docx(33页珍藏版)》请在冰点文库上搜索。
基于单片机的恒温控制系统设计与模拟毕业论文
毕业设计(论文)
题目基于单片机的恒温调控及
proteus仿真
摘要
温度的测量和控制对人类日常生活、工业生产、气象预报、物资仓储等都起着极其重要的作用。
在许多场合,及时准确获得目标的温度是十分重要的,近年来,温度测控领域发展迅速,并且随着数字技术的发展,温度的测控芯片也相应的登上历史的舞台,能够在工业、农业等各领域中广泛使用。
单片机具有体积小控制精度高的且价格低等诸多特点,将单片机与温度传感器相结合,构成的温度控制电路具有良好的测温温控功能。
8952单片机的温度控制系统由AT89C52单片机、七段温度显示数码管、温度传感器DS18B20、工作状态LED灯等模块组成。
恒温系统除有温度检测功能外,还具有温度报警与外部控制功能,调节温度手动设置、可数显各项系统参数、上限温度报警等相关功能。
理论证明该系统能够简单、经济,有效地提高系统的工作效率。
本设计主要做了如下几方面的工作:
一是确定系统温度控制的总体设计,包括实时温度的采集系统应拥有的各项功能,二是进行外部电路设计、显示电路等的设计和基本功能要求。
三是进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,总体上完成了相应要求。
关键词:
温度控制,温度检测,AT89C52,温度显示,上限报警
Abstract
Trafficcontrolsystemisamodernsocietywithlogistics,traveletcoftrafficdevelopmentauniquesetofpublicmanagementsystem。
Toensuretheeffectivesafetytraffic,exceptforaseriesoftrafficrules,stillmustthroughcertaintechnologicalmeanstoachieve。
Basedonanalysisoftrafficcontrol,basedonreal—timedetectionsensor,adjusttheimplementationtechnologyofintelligentcontrol,real—timemonitoring,sensoradjustvehiclestimealgorithmandsingle—chipmicrocomputercontrolfunctionisproposed,whichcombinesthetrafficcontrolsystembasedonsinglechipdesignscheme.
The8051microcontrollercontrolsystemconsistsofthetrafficlightsdisplay,8051monolithicintegratedcircuits,andLEDthecountdown,trafficviolationdetection,emergencyadjustment,manualmode,timeasmodules。
Inadditiontothebasictrafficfunctionoutside,stillhavetimetomanuallyset,canpassthecountdown,carthatforcedthroughtraffic,inspectionandadjustment,transportationandprocessingabnormaldiscriminantfunctions。
Theoryshowsthatthesystemcansimple,economicandeffectiverelievestraffic,improvethecrossroadscapacity.
Thisdesignmainlydothefollowingaspects:
oneistheworkofthetrafficcontrolsystemdesign,includingthecrossroads,specificdesignandsystemshouldberestrictedwitheachfunction,twoisthatthesensor,thehardwarecircuitdesignofthecircuitandthebasicfunctionandrequirement。
Threeissoftwaresystemdesign,thissystemforIMCUassemblylanguage,overallfinishedwritingsoftware.
KeyWords:
trafficcontrol,sensingdetection,display,andcountdownAT89C52abnormaldiscriminationandprocessing.
1绪论
1。
1单片机交通控制系统的选题背景
温度的测量和控制对人类日常生活、工业生产、气象预报、物资仓储等都起着极其重要的作用.在许多场合,及时准确获得目标的温度是十分重要的,近年来,温度测控领域发展迅速,并且随着数字技术的发展,温度的测控芯片也相应的登上历史的舞台,能够在工业、农业等各领域中广泛使用.
温度控制对于社会的工业经济和人们的生活生产中有着十分重要的意义。
随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,温度自动监测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比走进千家万户。
1。
2单片机交通控制系统选题的现实意义
随着制造工艺的快速增长,以及人们对于产品的完美追求,工业生产对于外部因素愈加重视,温度控制就应运而生,在人类的设计生产中,外部环境因素被人们所重视,而其中温度因素扮演着极其重要的角色。
近年来,温度测控领域发展迅速,冰洁随着数字技术的发展,温度的测控芯片业相应的登上了历史的舞台,在工业农业等个领域中广泛使用.
1。
3单片机恒温控制系统主要研究的内容
基于整个恒温控制系统的发展情况,本设计主要进行如下方面的研究:
用智能,集成,且功能强大的单片机芯片为控制中心,设计出一套控制系统,以指挥外部电路进行相应的温度调节。
本设计主要做了如下几方面的工作:
一是确定系统控制的总体设计,包括,环境温度的实时扫描方案设计以及系统应拥有的各项功能,在这里,本设计除了有温度扫描与调节装置能实现基本的温度自动调节功能,还增加了上限温度报警功能,基于实际情况,设计了双温度传感器同时采集信号求取平均值以保证采集信号的准确性,同时对双通道进行监测报警处理和键盘可设置等强大功能.
二是进行智能传感器的硬件电路,显示电路等的设计对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。
三是进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,对单片机内部结构和工作情况做了充足的研究,了解中断以及延时原理,总体上完成了软件的编写.
2单片机交通控制系统总体设计
2.1单片机恒温控制系统的方案设计
设置两个温度传感器,分别同时采集环境温度,求取平均值数显在LED数码管上,外部通过按钮调节设置时间并与所求取的平均值对比以确定外部电路工作状态,另一方面系统设置上限温度,如果环境温度超过40度,系统停止一切工作,状态处绿灯闪烁,当外部温度恢复正常后按下按键区的复位键系统重新开始正常工作.硬件上设置状态灯使外部电路工作情况一目了然,具体外部电路如图2.1所示:
图2.1
通过具体的运行状态演示分析我们可以把整个过程归纳如下:
◆分别取两处环境温度将平均值显示在七段数码管上。
◆将设定温度和上限温度40度显示在七段数码管上。
◆系统通过软件实现设定温度与环境温度想比较以确定外部电路工作状态。
◆外部电路的工作状态我们用以下图表表示:
环境温度与设定温度对比
外电路工作情况
状态指示灯
大于
驱动加热继电器
红灯
小于
驱动降温继电器
蓝灯
等于
等待灯点亮
黄灯
当环境温度大于40度
停止工作
绿灯闪烁
表2.1运行状态及指示灯状态
2。
2单片机恒温控制系统的功能要求
本设计能模拟基本的恒温控制系统,用继电器代表外部调温电路的加热和降温,还能进行设定温度显示,环境温度检测及调整等功能。
(1)设定温度显示
系统默认初始设定温度为25度,用户可以通过按钮区的INC和DEC按钮自行调节设定温度值,以适应用户的不同需求。
(2)环境检测及调整
电路设计两个温度传感器同时检测环境温度通过求取平均以确定环境温度,这样可以减少环境因素对系统精确性的影响。
(3)上限温度设置
除系统自动按照设定环境温度自动控制调整外,系统通过软件写入上限温度,以防止温度因素对硬件电路产生破坏,避免自动故障和意外发生,当环境温度恢复正常时可通过复位按钮恢复系统的工作。
(4)紧急处理
环境温度过高的现象在所难免,但是当因外部因素引起的系统停工后毕并须要有相应的重启动功能,在这种情况下设置了复位按钮用于系统停工后的重启动。
3系统硬件电路的设计
3。
1系统硬件总电路构成及原理
实现本设计要求的具体功能,可以选用AT89C52单片机及外围器件构成最小控制系统,4个发光二极管分成1组红绿黄绿四色灯构成状态灯指示模块,6七段数码管构成3组温度显示模块,温度传感器DS18B20温度传感器采集温度数据,若干按键组成温度设置和复位重启动按钮,以及用1个蜂鸣器进行报警。
3。
1.1系统硬件电路构成
本系统以单片机为核心,组成一个集温度采集、处理、自动控制为一身的闭环控制系统.系统硬件电路由温度检测检测电路,单片机,状态灯,LED显示,按键,蜂鸣器组成。
其具体的硬件电路总图如图3。
1所示。
其中P0口,用于送显六片LED数码管,P1.0和p1.1实现接通DS18B20温度传感器实现外部数据的串行采集,P1。
2用于控制绿色发光二极管通过软件使其闪烁报警,XTAL1和XTAL2接入晶振时钟电路,设计采用12MHZ的晶振,一个汇编指令周期为1us,便于对系统运行时间评估,P3。
2即INT1温度加一INC按钮,P3.3即INT1温度减一DEC按钮,系统采用中断方式相应外部设定温度调节,相比于键盘扫描的方式改变设定温度,中断方式具有受程序扫描周期影响小的特点,P1.5和P1。
6分别接通两个继电器以实现外部温控电路的驱动,P1。
7连接等待灯,表示实时温度与设定温度一致,P3.0、P3.1对环境温度显示的两个数码管进行片选,P3.4、P3。
5对上限温度显示的两个数码管进行片选P3.6、P3.7对设定温度显示的两个数码管进行片选。
因为系统程序未超过4KB,所以为添加外部ROM,故将EA位电平拉高。
图3.1
3。
1.2系统工作原理
系统上电之后,系统默认设定温度为25摄氏度,上限温度为40摄氏度,外部信号采集后,立即求取平均值,系统自动判断环境温度值,并驱动继电器工作,并将工作情况反应在工作状态灯处。
,设定温度通过外部按钮区的INC和DEC按钮实现加一减一,此处通过软件延迟方式去抖动,延时时间为200ms可以在一定程度上去除按钮的抖动.
接下来,系统显示状态灯及LED数码管,将状态码值送至P1。
5、P1。
6、P1.7口,并将状态灯与外部驱动电路连接,以实现外部电路与状态显示的同步化,而温度显示通过数码管的动态显示实现6个数码管显示以1。
2秒的周期不断刷新显示.
但温度高于40度时系统停工,工作灯绿灯闪烁,当外部温度恢复正常后可以通过START/RES按钮实现系统的重启动。
当然,还要开启两个外部中断,其一为设定温度的加一,一旦信号触发,中断开始,进入中断服务子程序,设定温度由系统默认温度25度实现加一功能,200ms后系统中断返回,并于下一周期数显在数码管上。
其二为设定温度的减一,一旦信号触发进入相应的中断子程序,设定温度由系统默认温度25度实现减一功能,200ms后系统中断返回,并于下一周期数显在数码管上,若为自动模式,则须将检测到的车流量数据处理一次,判断两个方向的交通轻重缓急状况,再调整下次状态循环的红绿灯时间,以达到自动控制的目的.
3。
2单片机的选择
3.2.1单片机的概述
单片微型计算机简称单片机,又称微控制器,嵌入式微控制器等,属于第四代电子计算机.它把中央处理器、存储器、输入/输出接口电路以及定时器/计数器集成在一块芯片上,从而具有体积小、功耗低、价格低廉、抗干扰能力强且可靠性高等特点,因此,适合应用于工业过程控制、智能仪器仪表和测控系统的前端装置。
正是由于这一原因,国际上逐渐采用微控制器(MCU)代替单片微型计算机(SCM)这一名称。
“微控制器"更能反映单片机的本质,但是由于单片机这个名称已经为国内大多数人所接受,所以仍沿用“单片机”这一名称。
单片机的主要特点有:
1)具有优异的性能价格比。
2)集成度高、体积小、可靠性高。
3)控制功能强。
4)低电压,低功耗。
3。
2.2AT89C52芯片的主要性能
芯片AT89C52是ATMEL公司生产的带2K字节快闪存储器的8位单片
机。
它具有如下的一些特性:
★指令和89C51产品兼容★内含2K字节可重复编程快闪存储器
★耐久性1,000写/擦除周期★2。
7V~6V的工作电压范围
★全静态操作0Hz~24MHz★二级程序存储器加锁
★内含128*8位内部RAM★15根可编程I/0引线
★2个16位的计数器/定时器★6个中断源
★带有可编程串行通讯口★可直接驱动LED输出
★片内模拟电压比较器★低功耗空载和掉电方式
另外,该单片机还具有体积小,价格低等特点.
3.2。
3AT89C52芯片的内部结构框图
AT89C52是一带有2K字节快闪可编程可擦除存储体(EEPROM)的低电压、高性能8位CMOS微型计算机.它采用ATMEL的高密非易失存储技术制造并和工业标准MCS—51指令集和引脚结构兼容.通过在单块芯片上组合通用的CPL1和快闪存储器,ATMEL公司生产的AT89C52是一强劲的微型计算机,它对许多嵌入式控制的应用,提供了一种高度灵活和成本低的解决办法.图3。
2为AT89C52的内部结构框图.
图3。
2AT89C2051内部结构图
3.2。
4AT89C52芯片最小系统
一个最简单的单片机系统包括晶振、复位、电源、系统的输入控制、输出显示,以及其他外围模块(如通信、数据采集等).
(1)时钟电路
首先介绍一下单片机的晶振电路,即时钟电路。
单片机的工作流程,就是在系统时钟的作用下,一条一条地执行存储器中的程序。
单片机的时钟电路由外接的一只晶振和两只起振电容,以及单片机内部的时钟电路组成,晶振的频率越高,单片机处理数据的速度越快,系统功耗也会相应增加,稳定性也会下降。
单片机系统常用的晶振频率有6MHz、11.0592MHz、12MHz、本系统采用11.0592MHz晶振,电容选22pF或30pF均可。
(2)复位电路
系统刚上电时,单片机内部的程序还没有开始执行,需要一段准备时间,也就是复位时间.一个稳定的单片机系统必须设计复位电路。
当程序跑飞或死机时,也需要进行系统复位。
复位电路有很多种,有上电复位,手动复位等。
(3)EA脚的功能及接法
单片机的EA脚控制程序从内部存储器还是从外部存储器读取程序。
由于现在单片机内部的flash容量都很大,因此基本都是从内部的存储器读取程序,即不需要外接ROM来存储程序,因此,EA脚必须接高电平。
3。
3其它硬件介绍及连接
3。
3。
1车流量检测电路及模拟
为了达到对温度的控制功能,需要对环境温度进行检测.当前比较流行的温度检测器件,是一种串口温度传感器DS18B20。
其工作原理是通过内部电路采集环境温度模拟信号并通过内部AD转化电路将采集的模拟信号转换为数字信号,再将12位数字温度信号串行传输到单片机内部,考虑到单片机系统的便利性,本次采用DS18B20具有众多优点,首先由于DS18B20内部集成AD转换电路节约了外部电路另需添加AD电路的成本,其次由于是串行传输,节省了单片机为数不多的管脚,再者由于DS18B20采用TO-92B封装,在一定程度上节约了PCB面积.
DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,型号多种多样,有LTM8877,LTM8874等等.主要根据应用场合的不同而改变其外观。
封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。
耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
本次设计检测电路如下图3。
4所示。
图3.4温度检测电路
本次设计拟使用单片机内存28H和29H分别存储温度信号,DS18B20串口通信为12位二进制数据,因为12位转化时每一位的精度为0。
0625度,而设计要求是保证温度精度在个位,不要求显示小数,所以可以抛弃29H的低4位,将28H中的低4位移入29H中的高4位,这样获得一个新字节,这个字节就是实际测量获得的温度。
3。
3.2按键电路及模拟
在系统运行时,设定温度是可以自行调整的,本次设计提供了良好的人机界面,使用者可通过按键实时改变设置,按键采用中断方式,提供了温度改变的实时性。
设计提供一个START/RES按钮用于温度报警后的重启动。
按钮电路如图3。
5所示.
图3.5按钮检测电路
其基本设计思想是:
通过按钮INC接通P3。
2实现外部中断0通过软件更改设定温度加一;通过按钮DEC接通P3。
2实现外部中断1通过软件更改设定温度减一;START/RES按钮实现系统在报警状态下的重启动,因为系统报警子程序很简短,所以不需要考虑程序时序问题。
3。
3。
3七段LED数码管
LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。
LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。
以八段共阳管为例,它有7个发光二极管(比八段少一个发光二极管,用来显示小数点),每个发光二极管的阳极连在一起,如图3。
6所示。
这样,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。
为方便起见,本文主要讨论共阳八段LED数码显示管,其他类形的显示管与其类似.
图3.6LED数码管
LED灯的显示原理:
通过同名管脚上所加电平的高低来控制发光二极管是否点亮而显示不同的字形,如dp,g,f,e,d,c,b,a全亮显示为8,采用共阳极连接驱动代码,代码表如下表3.1所示。
显示数值
dp,g,f,e,d,c,b,a
驱动代码
0
11010000
C0H
1
11111001
F9H
2
10100100
A4H
3
10110000
B0H
4
10011001
99H
5
10010010
92H
6
10000010
82H
7
11111000
F8H
8
10000000
80H
9
10010000
90H
表3.1驱动代码表
相应在程序软件上,可以通过调用程序给定的数值通过除十确定余数和商从而确定温度值的个位与十位,然后再通过DPTR调取七段数码管断码表TAB的代码实现相应值的数显。
LED7段数码管的设置为每个方位上的一对2为显示器。
四个方位上总共用7个LED接在单片机的IO口上。
虽然路口不一样,但是显示的时间在数字上是一样的,所以两边连接的IO口是对称的。
如图3.7所示,其中A,B分别是P0,P1的网络标号.
图3。
7LED连接图
3.3。
4其它器件
(1)发光二极管
根据本设计的特点,状态灯的显示不可少,状态灯显示采用普通的发光二极管。
设置4个LED灯使现场运行状况一目了然,如果红灯亮,外部加热电路运行,如果绿灯亮,外部降温电路运行,如果黄灯亮,外部调温电路处于等待状态.如果绿灯亮,系统曾出现过报警信号,现已排除。
如果绿灯闪烁,温度超过上限值系统停工以保证微电子器件的安全。
图3.8状态灯的连接
(2)外部驱动继电器
本设计采用继电器驱动外部电路,通过使用NPN三极管进行驱动控制,当P1.6和P1.7引脚输出为高电平,NPN导通,继电器接通;当P1.6和P1.7引脚输出低电平时,NPN截止,外部继电器停止工作.如下图3。
9所示
图3.9继电器连接
(3)等待灯
本设计设置了外部电路的第三种状态等待状态。
高电平有效,当环境温度与设置温度一致时系统停止外部调温电路运行点亮等待灯。
如下图3。
10所示
图3。
10等待灯示意图
4系统软件程序的设计
4.1程序主体设计流程
全部控制程序实际上分为若干模块:
按键设置处理程序,状态灯控制程序,LED数码管显示程序,消抖动延时程序,温度扫描处理程序,上限温度报警程序,中断服务子程序,设定温度实时稳定比较程序等。
整个软件程序方面主要分两大部分:
实时温度扫描程序,温度对比判断程序。
系统流程图如图4.1所示。
图4。
1系统总流程图
首先是温度扫描程序,89C52通过对P1。
0和P1.1扫描温度传感器,确定实时温度,再与系统内部的设定温度对比,根据ACC累加器的到按键处理程序。
按键处理结果可设置两种工作模式:
红绿灯时间设置模式和红绿灯时间自动模式,次程序相当于系统的模式设置,若想重新设置则要按下复位键。
设置过后进入50ms扫描程序。
50ms扫描程序开始后,先刷新显示模块,若为自动模式则接下来要计数车流量,然后扫描紧停信号和违规信号,若捕获则调用中断,中断服务子程序主要启动蜂鸣器,直至恢复键按下。
50ms已到则重新扫描.扫描20次之后计时到达1s则时间数据减1,在显示模块中修改显示缓冲区内容。
在半个状态对换时,车流量计数程序在一个状态变换循环先后计数两个方向的车流量,然后调用红绿灯时间调整程序,更新红绿灯时间.当前状态时间已到,则判断次状态装入相应数据,然后进入下一状态。
4.2理论基础知识
(1)定时器原理
定时器工作的基本原理其实就是给初值,让它不断加1直至减完为模值,这个初值是送到TH和TL中的。
它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。
因此,我们可以把计数器记满为零所需的计数值,即所要求的计数值设定为C,把计数初值设定为TC可得到如下计算通式:
TC=M-C
式中,M为计数器模值。
计数值并不是目的,目的是时间值,设计1次的时间,即定时器计数脉冲的周期为T0,它是单片机系统主频周期的12倍,设要求的时间值为T,则有C=T/T0.计算通式变为:
T=(M-TC)T0
模值和计数器工作方式有关。
在方式0时M为8192;在方式1时M的值为65536;在方式2和3为256。
就此可以算出各种方式的最大延时。
如单片机的主脉冲频率为12MHZ,经过12分频后,若采用方式0最大延时只有8。
129毫秒,采用方式1最大延时也只有65。
536毫秒。
这就是为什么扫描周期为50ms的原因,
若使用软件则会耽搁程序流程,显然不可行.相反,时间计时方面却不可能只用计数器,因为显然1秒钟已经超过了计数器的最大定时间,所以我们还必须采用定时器和软件相结合的办法才能解决这个问题。
(2