单片机温控系统的设计.docx
- 文档编号:23884915
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:60
- 大小:494.12KB
单片机温控系统的设计.docx
《单片机温控系统的设计.docx》由会员分享,可在线阅读,更多相关《单片机温控系统的设计.docx(60页珍藏版)》请在冰豆网上搜索。
单片机温控系统的设计
烟台南山学院
毕业论文
题目单片机温控系统的设计
姓名:
___李秀文__
所在学院:
自动化工程学院
所学专业:
__电气工程___
班级__08级电气工程2+2
学号200806608930
指导教师:
____王选诚_
完成时间:
__2012年3月3日_
毕业论文(设计)任务书
论文题目
单片机制冷温控系统的设计
院部
自动化工程学院
专业
电气工程
班级
2+2
毕业论文(设计)的要求
本设计是对温度进行实时监测与控制,该系统实现了基本的温度控制功能:
当温度高于设定上限温度时,系统自动启动制冷继电器进行制冷,使温度下降,同时绿灯亮,当温度下降到下限温度时,停止制冷。
当温度在上下限温度之间时,执行机构不执行。
本系统使用AT89C52作为中央控制器,使用DS18B20进行实时温度采集,并在1602液晶上实时显示当前运行状态和温度,精确到小数点一位(0.1℃)。
毕业论文(设计)的内容与技术参数
本设计使用的软件有keil和proteus。
keil主要用来进行单片机程序的编写和编译,proteus可以用来进行单片机的仿真,并能方便和直观的验证程序的正确性。
技术参数:
(1)利用DS18B20进行实时温度采集,精度为0.1。
(2)单片机获取当前温度,控制继电器的断开与闭合,将温度控制在10~20度。
(3)单片机控制1602液晶显示当前工作状态和实时温度,刷新时间为1s。
毕业论文(设计)工作计划
2011.12看关于单片机原理的书籍;2012.01看有关温度采集电路的书籍;2012.01看有关显示电路,输出控制电路的书籍;2012.03制定开题报告;2012.04开始编写论文:
a编写所用到的各种元器件的原理和简单介绍b完成主题设计思路完成电路图设计;2012.04编写主程序;2012.05完成装置的调试工作;2012.05.10完成设计总结
接受任务日期2011年12月6日要求完成日期2012年3月8日
学生(签名)2012年3月8日
指导教师(签名)年月日
院长(主任)(签名)年月日
摘要:
随着计算机在日常生活中的广泛应用,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应该有硬件软件的结合。
我设计的基于AT89C52的高精度家用空调温度控制系统,系统硬件主要由电源电路、温度采集电路(DS18B20)、键盘、显示电路、输出控制电路及其他辅助电路组成;软件采用8051C语言编程;这是一种符合机械温控要求的低成本的控制器,在温差和湿度超过用户设定值范围时,启动制冷通风设备,否则自动关闭制冷通风设备。
该系统可以完成温度的显示、温度的设定、空调的控制等多项功能。
从而满足了大多数人对于空调的日常要求。
本系统采用DS18B20充当测温器件。
外部温度信号经DS18B20将输入的模拟信号转换成8位的数字信号,通过并口传送到单片机系统(AT89C52)。
单片机系统将接收的数字信号译码处理,通过LCD1602将温度显示出来,同时单片机系统还将完成键盘扫描、按键温度设定、超温报警等程序的处理,将处理的温度信号与系统设定温度值比较,形成可以控制空调制冷、制热与停止工作三种工作状态,从而实现空调的智能化。
关键词:
单片机;制冷系统;空调;温度
Abstract:
Alongwiththecomputerthewideapplicationinourdailylife,theapplicationofSCMiscontinuouslytothedeepening,andpushthetraditionalcontroltestonthenewbeneficialupdate.Inrealtimedetectionandautomaticcontrolofthemicrocomputerapplicationsystem,themicrocontrollerisoftenasacorecomponenttouse,onlysinglechipmicrocomputeraspectsknowledgeisnotenough,thereshouldbeacombinationofhardwareandsoftware.
BasedonAT89C52homehigh-precisionair-conditioningtemperaturecontrolsystemIdesigned,thesystemhardwarebythepowersupplycircuit,thetemperatureacquisitioncircuit(DS18B20),keyboard,displaycircuit,theoutputcontrolcircuitandotherauxiliarycircuit;softwareusingthe8051Clanguageprogramming;ameettherequirementsofthemechanicaltemperaturecontrolleroflow-cost,thedifferenceintemperatureandhumidityexceedsausersetvaluerangetostarttherefrigerationandventilationequipment,orautomaticallyshutdowntherefrigerationandventilationequipment.Thesystemcancompletethedisplayofthetemperature,temperaturesetting,air-conditioningcontrolandmanyotherfeatures.Tomeetthedailyrequirementsofmostpeoplefortheairconditioning.ThissystemusestheDS18B20asatemperaturemeasuringdevice.ExternaltemperaturesignalbytheDS18B20inputanalogsignalinto8-bitdigitalsignalsenttotheSCMsystem(onAT89C52)throughtheparallelport.SCMsystemwillreceivethedigitalsignaldecodingprocessing,thetemperaturedisplayedbyLCD1602,theSCMsystemwillcompletethekeyboardscanbuttontemperaturesetting,over-temperaturealarmprogramprocessing,theprocessingtemperaturesignalandsystemsettemperaturethevalueofcomparison,theformationcanbecontrolledairconditioningandrefrigeration,heatingstoppedworkingthreemodesofoperationinordertoachievetheair-conditioningintelligent.Keywords:
SCM;Refrigerationsystem;Airconditioning;temperature
1设计目的
1.1设计背景
温度是大自然中与人们日常生产和生活息息相关的一个物理量,它的瞬息万变对我们人类产生着巨大的影响。
研究温控系统,可以更好的控制温度,从而使人们更好的掌控温度,使温度可以更好的为人类服务。
随着微机测量和控制技术的迅速发展和广泛应用,以单片机为核心的温度采集及控制系统的研发与应用在很大程度上提高了日常生产与生活中对温度的控制水平。
本设计就是基于单片机AT89C52的一个空调温控制冷系统。
通过本次设计,我更加明确了单片机在工业方面的广泛应用和使用方法,并且了解了单片机的工作原理。
1.2设计目的和意义
随着人们生活质量不断提高,同时也对高科技电子产业提出了更高的要求,为了使人们生活更人性化、智能化。
我设计了这一基于单片机的空调温度控制系统,人们只有生活在一定的温度环境内才能长期感觉舒服,才能保证不中暑不受冻,所以对室内温度要求要高。
对于不同地区空调要求不同,有的需要升温,有的需要降温。
一般都要维持在21~26°C。
目前,虽然我国大量生产空调制冷产品,但由于我国人口众多,需求量过盛,在我国的北方地区,尤其是山东这个四季分明的地方,还有好多家庭还没有安装有效地室内温控系统。
温度不能很好的控制在一定的范围内,夏天室内温度过高,冬天温度过低,这些均对人们正常生活带来不利的影响,温度、湿度均达不到人们的要求。
以前温度控制主要利用机械通风设备进行室内、外空气的交换来达到降低室内温度,实现室内温度适宜人们生活。
以前通风设备的开启和关停,均是由人手动控制的,即由人们定时查看室内外的温度、湿度情况,按要求开关通风设备,这样人们的劳动强度大,可靠性差,而且消耗人们体力,劳累成本过高。
为此,需要有一种符合机械温控要求的低成本的控制器,在温差和湿度超过用户设定值范围时,启动制冷通风设备,否则自动关闭制冷通风设备。
鉴于目前大多数制冷设备现在状况,我设计了一款基于AT89C52单片机的空调温度控制系统。
1.3设计要求
要求利用单片机设计一空调温度控制器,系统能够实时检测并显示室温,能够利用键盘设定温度,并且和室温进行比较,当室温低于设定温度时,系统能够驱动加热系统工作,当室温高于设定温度时,系统能够驱动制冷系统工作,当两者温度相等时,无动作。
2电路设计
2.1总体设计
空调温度控制系统,主要要完成对温度的采集、显示以及设定等工作,从而实现对空调的控制。
传统采用铂电阻充当测温器件的方案,虽然其中段测量线性度好,精度较高,但是测量电路的设计难度高,且测量电路系统庞大,难于调试,而且成本相对较高。
鉴于上述原因,本系统采用DS18B20充当测温器件。
外部温度信号经DS18B20将输入的模拟信号转换成8位的数字信号,通过并口传送到单片机系统(AT89C52)。
单片机系统将接收的数字信号译码处理,通过LCD1602将温度显示出来,同时单片机系统还将完成键盘扫描、按键温度设定、超温报警等程序的处理,将处理的温度信号与系统设定温度值比较,形成可以控制空调制冷、制热与停止工作三种工作状态,从而实现空调的智能化。
另外,键盘输入方面,采用了软件来修正误操作输入,即输入的温度范围必须在系统硬件所确定的范围内,直接降低由于误操作带来的风险,提高了系统的可靠性,体现了人性化的系统设计原则。
系统的整体框图如图2.1所示:
图2.1系统整体框图
2.2功能模块电路设计
2.2.1单片机的选型及其功能简介
由于本系统只需要单片机完成矩阵键盘检测以及处理DS18B20送来的温度数据并送LCD1602进行显示对于I/O资源以及处理速度无特殊要求,故选择ATMEL公司生产的AT89C52单片机,AT89C52增加了在线调试功能,即程序可以通过JTAG接口下载,调试和固化,因而该芯片的开发不再需要昂贵的硬件仿真器,可实现实时仿真,所有的资源都可以为用户所使用,可以在线编程或在系统编程,更进一步地说,在线编程或在系统编程是开发的系统具有了通过网络进行升级、维护的潜在功能。
AT89C52的性能及特点[1]:
●与MCS-51系列单片机兼容。
●片内有8K可在线重复编程的快速内
存可擦写存储器(FlashMemory)。
●存储器可循环写入/擦写10000次以上。
●存储器数据保存时间为10年以上。
●宽工作电压范围:
Vcc可为2.7V-6.5V。
●全静态工作:
可从0Hz-24MHz。
●程序存储器具有三级加密保护。
●256字节的内部RAM。
●32条可编程I/O口线。
●三个16位定时器/计数器。
●中断结构具有5级(6级)中断源和两个优下级。
●可编程全双工串行通讯。
●空闲维持低功耗和掉电状态保护存储数据。
AT89C52引脚图如图2.2所示。
图2.2AT89C52引脚图
VCC:
+5V电源输入
GND:
接地
P0口是一个双向8位三态I/O口,每个口可独立控制。
使用时需外接上拉电阻。
P1口是一个准双向8位I/O口,它的功能是单一的,只能用作数据的输入或者输出。
P2口是一个准双向8位I/O口,输出时,从P2.x端口可输出CPU写到锁存器上的信号。
当该接口用做数据输入接口是,应先向该位写1,然后,读该位即可读入输入数据。
P3口是具有第二功能的准双向8位I/O口。
ALE/PROG:
地址所存/编程信号线。
当P0口工作在第二功能时从该端口可复用工作,某时刻该端口可以送出地址信号A0~A7,而另外的时刻该端口传送的是数据信号D0~D7。
利用ALE可以将地址信号A0~A7锁存到地址锁存器。
/VPP:
该控制信号线也具有双重功能,是允许访问片外ROM/编程高电压引线。
:
程序存储器允许输出控制端,常用作片外ROM的读控制信号,低电平有效。
RESET:
复位引脚,当该端加上超过24个时钟周期的高电平时,可是8051复位。
系统复位电路如图2.3所示。
X1、X2:
外接时钟引脚。
X1为片内振荡电路的输入端,X2为片内振荡电路的输出端。
特殊功能寄存器
在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE),SFR的地址空间映象如表2所示。
并非所有的地址都被定义,从80H—FFH共128个字节只有一部分被定义,还有相当一部分没有定义。
对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。
不应将数据“1”写入未定义的单元,由于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。
AT89C52除了与AT89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时/计数器2。
定时/计数器2的控制和状态位位于T2CON,T2MOD,寄存器对(RCAO2H、RCAP2L)是定时器2在16位捕获方式或16位自动重装载方式下的捕获/自动重装载寄存器,数据存储器AT89C52有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM和特殊功能寄存器的地址是相同的,但物理上它们是分开的。
当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。
如果指令是直接寻址方式则为访问特殊功能寄存器。
例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2口)地址单元。
MOV0A0H,#data
间接寻址指令访问高128字节RAM,例如,下面的间接寻址指令中,R0的内容为0A0H,则访问数据字节地址为0A0H,而不是P2口(0A0H)。
MOV@R0,#data
堆栈操作也是间接寻址方式,所以,高128位数据RAM亦可作为堆栈区使用。
·定时器0和定时器1:
AT89C52的定时器0和定时器1的工作方式与AT89C51相同。
定时器2
基本特性:
定时器2是一个16位定时/计数器。
它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表3)的C/T2位选择。
定时器2有三种工作方式:
捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择。
定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/12。
在计数工作方式时,当T2引脚上外部输入信号产生由1至0的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。
若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1期间寄存器加1。
由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24。
为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。
捕获方式:
在捕获方式下,通过T2CON控制位EXEN2来选择两种方式。
如果EXEN2=0,定时器2是一个16位定时器或计数器,计数溢出时,对T2CON的溢出标志TF2置位,同时激活中断。
如果EXEN2=1,定时器2完成相同的操作,而当T2EX引脚外部输入信号发生1至0负跳变时,也出现TH2和TL2中的值分别被捕获到RCAP2H和RCAP2L中。
另外,T2EX引脚信号的跳变使得T2CON中的EXF2置位,与TF2相仿,EXF2也会激活中断。
自动重装载(向上或向下计数器)方式:
当定时器2工作于16位自动重装载方式时,能对其编程为向上或向下计数方式,这个功能可通过特殊功能寄存器T2CON的DCEN位(允许向下计数)来选择的。
复位时,DCEN位置“0”,定时器2默认设置为向上计数。
当DCEN置位时,定时器2既可向上计数也可向下计数,这取决于T2EX引脚的值,当DCEN=0时,定时器2自动设置为向上计数,在这种方式下,T2CON中的EXEN2控制位有两种选择,若EXEN2=0,定时器2为向上计数至0FFFFH溢出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2L的值可由软件预置。
若EXEN2=1,定时器2的16位重装载由溢出或外部输入端T2EX从1至0的下降沿触发。
这个脉冲使EXF2置位,如果中断允许,同样产生中断。
定时器2的中断入口地址是:
002BH——0032H。
当DCEN=1时,允许定时器2向上或向下计数,如图6所示。
这种方式下,T2EX引脚控制计数器方向。
T2EX引脚为逻辑“1”时,定时器向上计数,当计数0FFFFH向上溢出时,置位TF2,同时把16位计数寄存器RCAP2H和RCAP2L重装载到TH2和TL2中。
T2EX引脚为逻辑“0”时,定时器2向下计数,当TH2和TL2中的数值等于RCAP2H和RCAP2L中的值时,计数溢出,置位TF2,同时将0FFFFH数值重新装入定时寄存器中。
当定时/计数器2向上溢出或向下溢出时,置位EXF2位。
波特率发生器:
当T2CON(表3)中的TCLK和RCLK置位时,定时/计数器2作为波特率发生器使用。
如果定时/计数器2作为发送器或接收器,其发送和接收的波特率可以是不同的,定时器1用于其它功能。
若RCLK和TCLK置位,则定时器2工作于波特率发生器方式。
波特率发生器的方式与自动重装载方式相仿,在此方式下,TH2翻转使定时器2的寄存器用RCAP2H和RCAP2L中的16位数值重新装载,该数值由软件设置。
在方式1和方式3中,波特率由定时器2的溢出速率根据下式确定:
方式1和3的波特率=定时器的溢出率/16定时器既能工作于定时方式也能工作于计数方式,在大多数的应用中,是工作在定时方式(C/T2=0)。
定时器2作为波特率发生器时,与作为定时器的操作是不同的,通常作为定时器时,在每个机器周期(1/12振荡频率)寄存器的值加1,而作为波特率发生器使用时,在每个状态时间(1/2振荡频率)寄存器的值加1。
波特率的计算公式如下:
方式1和3的波特率=振荡频率/{32*[65536-(RCP2H,RCP2L)]}式中(RCAP2H,RCAP2L)是RCAP2H和RCAP2L中的16位无符号数。
T2CON中的RCLK或TCLK=1时,波特率工作方式才有效。
在波特率发生器工作方式中,TH2翻转不能使TF2置位,故而不产生中断。
但若EXEN2置位,且T2EX端产生由1至0的负跳变,则会使EXF2置位,此时并不能将(RCAP2H,RCAP2L)的内容重新装入TH2和TL2中。
所以,当定时器2作为波特率发生器使用时,T2EX可作为附加的外部中断源来使用。
需要注意的是,当定时器2工作于波特率器时,作为定时器运行(TR2=1)时,并不能访问TH2和TL2。
因为此时每个状态时间定时器都会加1,对其读写将得到一个不确定的数值。
然而,对RCAP2则可读而不可写,因为写入操作将是重新装载,写入操作可能令写和/或重装载出错。
在访问定时器2或RCAP2寄存器之前,应将定时器关闭(清除TR2)。
可编程时钟输出:
定时器2可通过编程从P1.0输出一个占空比为50%的时钟信号。
P1.0引脚除了是一个标准的I/O口外,还可以通过编程使其作为定时/计数器2的外部时钟输入和输出占空比50%的时钟脉冲。
当时钟振荡频率为16MHz时,输出时钟频率范围为61Hz—4MHz。
当设置定时/计数器2为时钟发生器时,C/T2(T2CON.1)=0,T2OE(T2MOD.1)=1,必须由TR2(T2CON.2)启动或停止定时器。
时钟输出频率取决于振荡频率和定时器2捕获寄存器(RCAP2H,RCAP2L)的重新装载值,公式如下:
输出时钟频率=振荡器频率/{4*[65536-(RCP2H,RCP2L)]}在时钟输出方式下,定时器2的翻转不会产生中断,这个特性与作为波特率发生器使用时相仿。
定时器2作为波特率发生器使用时,还可作为时钟发生器使用,但需要注意的是波特率和时钟输出频率不能分开确定,这是因为它们同使用RCAP2L和RCAP2L。
时钟振荡器:
AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。
这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。
外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。
对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF±10pF,而如使用陶瓷谐振器建议选择40pF±10pF。
用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 温控 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)