基于单片机温度控制系统的设计.docx
《基于单片机温度控制系统的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机温度控制系统的设计.docx(19页珍藏版)》请在冰豆网上搜索。
基于单片机温度控制系统的设计
郑州交通职业学院
毕业论文(设计)
论文(设计)题目:
基于单片机温度控制系统的设计
所属系别信息工程系
专业班级11级大专电子信息工程1班
姓 名胡兴凯
学 号1106020126
指导教师李诺薇
撰写日期2014年5月
摘要
温度是工业控制对象主要被控制参数之一,在温度控制中,由于受到温度被控对象特性(如惯性大、滞后大、非线性等)的影响,使得控制性能难以提高,有些工艺过程其温度控制的好坏直接影响着产品的质量,因而设计一种较为理想的温度控制系统是非常有价值的。
为了实现高精度的水温测量和控制,本系统设计了一种以Atmel公司的低功耗、高性能COMS单片机AT89C51为核心,以智能温度传感器DS18B20为控制对象来实现的水温控制系统,其硬件电路还包括温度控制、状态指示、温度显示、键盘输入等电路。
该系统可实现对温度的测量,并能根据设定值对温度进行调节,实现控温的目的。
关键词:
AT89C51,温度检测,温度控制,温度传感器DS18B20
Abstract
Temperatureismainlytargetedatindustrialcontroloneoftheparameterstobecontrolledatatemperatureofcontrol,duetothetemperaturecharacteristicsofthecontrolledobject(suchasinertia,delaylarge,nonlinear,etc.),willmakeitdifficulttoimprovecontrolperformance,andsomeofitsprocesstemperaturecontrolhaveadirectimpactonproductquality,andthustodesignamoreidealtemperaturecontrolsystemisveryvaluable.Inordertoachievehigh-precisiontemperaturemeasurementandcontrol,thesystemdesigntoAtmelCorporation,alow-power,high-performanceCOMSAT89C51microcontrollerasthecore,intelligenttemperaturesensorDS18B20toachievethetargetforthecontrolofwatertemperaturecontrolsystem,thehardwarecircuitalsoincludestemperaturecontrol,statusindicator,temperaturedisplay,keyboardinputandothercircuits.Thesystemcanmeasurethetemperature,andaccordingtosetvaluetoadjustthetemperaturetoachievetemperaturecontrolpurposes.
Keywords:
AT89C51,Temperaturedetection,Temperaturecontrol,temperaturesensorDS18B20
目录
1引言1
2方案论证1
3系统硬件设计2
3.1主控芯片的论证与设计3
3.2温度检测器件的论证与设计6
4系统软件设计7
4.1系统主程序设计7
4.2系统子程序设计8
4.2.1温度检测DS18B20程序设计9
5系统仿真与调试9
5.1系统Proteus仿真设计过程及功能仿真9
5.1.1系统Proteus仿真设计过程9
5.1.2系统的Proteus功能仿真与分析9
6结论12
参考文献13
致谢14
1引言
当今社会温度测量系统被广泛地应用于社会生产、生活的各个领域。
在工业环境检测、医疗、家庭等多方面均有应用。
同时单片机在电子产品中的应用已经越来越广泛。
在很多电子产品中也将用到温度监测和温度控制。
目前温度监控系统的种类繁多,功能参差不齐。
采用AT89C51单片机来对温度进行控制,不仅具有控制方便、组态简单和灵活性强等优点,而且可以较大幅度提高被控温度的技术指标,从而能够大大地提高产品的质量与数量。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,为自动化和各个控制领域广泛应用,尤其是在生活中发挥的作用也越来越大,因此,单片机对温度控制问题是一个日常生活中经常会遇到的问题。
本系统以上述问题为出发点,设计实现了温度的检测、状态的指示、温度的显示以及温度的控制。
以DS18B20为温度采集器,AT89C51为处理器,结合相关的外围电路来完成设计任务提出的温度控制要求。
设计过程流畅,所设计的电路单元较为合理。
本系统在硬件方案设计单元电路设计元件选择方面颇具特色,整个设计性价比较高,实用价值较强。
2方案论述
本系统采用AT89C51单片机作为控制芯片,采用数字式温度传感器DS18B20作为温度采集器。
温度传感器DS18B20从设备环境采集温度,单片机AT89C51获取采集的温度值,再根据当前设定的温度值,通过加热和降温对当前温度进行调整。
当获得的采集温度超过设定的温度值时,系统断开加热设备,进行自然降温,此时LED黄灯亮,表示系统处于降温状态;当获得的采集温度低于设定温度值时,单片机通过三极管驱动继电器开启加热设备(加热器),此时LED红灯亮,表示系统处于加热状态;当获得的采集温度等于设定温度值时,LED绿灯亮,表示系统处于温度保持状态。
温度值的设定通过键盘电路实现,温度值显示通过LCD1602液晶模块实现。
本系统功能由硬件和软件两大部分协调完成,硬件部分主要完成传感器信号的采集处理,信息的显示等;软件主要完成对采集的温度信号进行处理及显示控制等功能。
系统结构框图如图2-1所示:
图2-1系统结构框图
3系统硬件设计
单片机应用系统的硬件电路设计就是为本单片机温控系统选择合适的、最优的系统配置,即按照系统功能要求配置外围设备,如键盘、显示器、打印机、接口电路等。
系统设计应遵循以下原则:
(1)尽可能选择典型电路,并符合单片机常规用法。
本系统采用了典型的显示电路,为硬件系统的标准化、模块化打下良好的基础。
(2)硬件结构应结合应用软件方案一并考虑。
软件能实现的功能尽可能由软件实现,以简化硬件结构。
由软件实现的硬件功能,一般响应时间比硬件实现长,且占用CPU时间。
由于本设计的响应时间要求不高,所以有一些功能可以用软件编程实现,如键盘的去抖动问题。
(3)系统中的相关器件要尽可能做到性能匹配。
系统中所有芯片都应尽可能选择低功耗产品。
本系统的硬件电路主要包括AT89C51主控电路、温度采集电路、LCD温度显示电路、键盘控制电路、加热降温电路、LED系统状态指示电路。
系统硬件原理图如图3-1所示。
图3-1系统硬件原理图
3.1主控芯片的论证与设计
单片机就是在一块硅片上集成了微处理器、存储器和各种输入输出接口电路的微型计算机,简称单片机。
单片机以其较高的性能价格比受到了人们的重视和关注。
它的优点就是体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。
单片机根据其基本操作处理的位数可分为4、8、16、32位单片机,应用最为广泛的是八位单片机。
根据本次设计的实际情况和要求,在本次设计中采用AT89C51作为系统的控制芯片。
AT89C51是一种低功耗、高性能CMOS8位微控制器,具有4K的系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
因此本系统选择AT89C51作为主控机。
该单片机的主要特性如下:
·与MCS-51兼容;
·4K字节可编程闪烁存储器;
·寿命:
1000写/擦循环;
·数据保留时间:
10年
·全静态工作:
0Hz-24Hz;
·三级程序存储器锁定;
·128*8位内部RAM;
·32可编程I/O线;
·两个16位定时器/计数器;
·5个中断源;
·可编程串行通道;
·低功耗的闲置和掉电模式;
·片内振荡器和时钟电路;
该单片机的引脚如图3-2所示:
图3-2AT89C51单片机引脚图
管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EA/VPP:
当EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
本系统采用AT89C51作为主控芯片,在系统中起核心控制的作用,完成温度读取、系统温度状态的控制、液晶显示、按键信息处理等。
其主要由晶振电路、复位电路和单片机构成,电路如图3-3所示。
图3-3AT89C51单片机最小系统
3.2温度检测器件的论证与设计
DS18B20是DALLAS公司生产的一线式数字温度传感器,它具有微型化、低功耗、高性能抗干扰能力、强易配处理器等优点,特别适合用于构成温度监控系统,可直接将温度转化成串行数字信号(按9位二进制数字)给单片机处理。
它具有三引脚小体积封装形式,温度测量范围-55~+125℃,可编程为9~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出,其工作电源既可在远端引入,业可采用寄生电源方式产生,CPU只需一根端口线就能与DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。
从而可以看出DS18B20可以非常方便的用于温度监控系统。
综上,在本系统中采用温度芯片DS18B20测量温度。
该芯片的物理化学性很稳定,它能用做工业测温元件,且此元件线形较好。
在0—100摄氏度时,最大线形偏差小于1摄氏度。
该芯片直接向单片机传输数字信号,便于单片机处理及控制。
故DS18B20是温度测量的很好选择。
如图3-4所示,为单片机与DS18B20的接口电路。
DS18B20只有三个引脚,一个接地,一个接电源,一个数字输入输出引脚,接单片机的P0.0口,电源与数字输入输出脚间需要接一个4.7K的电阻。
图3-4DS18B20与单片机接口电路
DSl8B20虽然具有测温系统简单,测温精度高、连接方便、占用I/O口线少等优点,但在实际应用中也应注意以下问题:
(1)在实际使用中发现,应使电源电压保持在5V左右,如果电压过低,会使所测得到温度与实际温度出现偏高现象,使温度输出定格在85℃;
(2)连接DSl8B20的总线电缆是有长度限制的。
当采用普通信号电缆传输长度超过50m时,读取的测温数据发生错误,当采用双绞线带屏蔽电缆为总线电缆时,正常通讯距离可达l50m,当采用每米胶合次数更多的双绞线带屏蔽电缆时,正常通讯距离可以进一步加长。
这种情况主要由总线分布电容使信号波形产生畸变造成的。
因此,存进行长距离测量时要充分考虑总线分布电容和阻抗匹配问题。
4系统软件设计
4.1系统主程序设计
根据硬件电路及其所需实现的功能编写软件程序。
系统总流程图如图4-1所示。
流程图分析:
首先系统初始化,系统开始运行,当有设置键按下时进入温度设置模式,无按键按下时直接读取温度数据,并送入液晶屏显示;在温度设置模式下设置温度完成后送温度设定数据到液晶屏显示,并启动相应的加热降温设备。
图4-1系统总流程图
4.2系统子程序设计
由于本系统程序涉及的主要芯片有DS18B20以及LCD1602液晶,这两芯片的控制字及数据读写如果混杂,将会使程序可读性大大降低,因此采用子程序的方法进行调用,并将其封装于各自的头文件中。
4.2.1温度检测DS18B20程序设计
本系统采用DS18B20实现温度检测。
DS18B20是美国DALLAS半导体公司生产的可组网的一线式数字温度传感器,由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。
DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。
该协议定义了几种信号的时序:
初始化时序、读时序、写时序。
所有时序都是将主机作为主设备,单总线器件作为从设备。
而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。
数据和命令的传输都是低位在先。
5系统仿真与调试
5.1系统Proteus仿真设计过程及功能仿真
5.1.1系统Proteus仿真设计过程
首先,用ProteusISIS绘制温度控制系统的电路原理图(如图14所示);其次,用KeilC51编写程序,编译无误后生成hex文件;再次,在ProteusISIS中将hex文件“下载”到AT89C51芯片中,其方法是鼠标右击AT89C51,然后左击,出现相应元件属性对话框,在该对话框“ProgramFile”一项中选择要加入的hex文件;最后,点击ProteusISIS窗口下方Play键便可以观察到电路仿真结果。
5.1.2系统的Proteus功能仿真与分析
点击全速运行按钮,系统运行,LCD1602显示、系统状态指示灯如图5-1所示。
此时没按下温度设定键,即没有进行温度设定,系统默认处于自然降温状态,因此黄灯亮。
图5-1LCD1602显示、系统状态指示灯图
按下温度设定键,设定温度低于当前温度。
当前温度为39°C,设定温度为21°C,LCD1602显示、系统状态指示灯如图5-2所示。
此时设定温度低于当前温度,系统处于降温状态,黄灯亮,同时继电器断开,加热器不工作。
图5-2LCD1602显示、系统状态指示灯图
按下温度设定键,设定温度高于当前温度。
当前温度为39°C,设定温度为50°C,LCD1602显示、系统状态指示灯如图5-3所示。
此时设定温度高于当前温度,系统处于加热状态,红灯亮,同时继电器接通,加热器加热。
图5-3LCD1602显示、系统状态指示灯图
按下温度设定键,设定温度等于当前温度。
当前温度为39°C,设定温度为39°C,LCD1602显示、系统状态指示灯如图5-4所示。
此时设定温度等于当前温度,系统处于保持状态,绿灯亮,同时继电器断开,加热器不工作。
图5-4LCD1602显示、系统状态指示灯图
6结论
本文介绍了用DSl8B20采集温度,用单片机AT89C51控制,LCD1602显示屏显示的温度控制系统。
系统分析各单元电路的设计,以及各电路与单片机的接口技术。
着重分析系统软件的设计过程,使用C进行程序设计。
本文是采用模块化的方式进行叙述,对各模块的设计进行了比较详细地阐述。
本次设计的基于单片机的温度控制系统可以对温度实现测量和监控,广泛应用于电力工业、煤矿、森林、火灾、高层建筑等场合。
经过这一次毕业设计,本人学到不少的知识,学会了怎样查阅资料和利用工具,以及熟练地使用PROTEUS仿真软件和KEIL开发工具。
通过这次毕业设计,本人更加深刻地认识到只有将书本与具体的实践相结合,才会有真正的收获,才能巩固自己的所学,认识到自己的不足。
参考文献
[1]曹巧媛主编.单片机原理及应用(第二版).[M].北京:
电子工业出版社,2002.5
[2]何力民编.单片机高级教程.[M].北京:
北京航空大学出版社,2000.8
[3]金发庆等编.传感器技术与应用.[M].北京:
北京机械工业出版社,2002.6
[4]王锦标.方崇智.过程计算机控制.[M].北京:
清华大学出版社,1997.5
[5]邵惠鹤.工业过程高级控制.[M].上海:
上海交通大学出版社,1997.4
[6]胡寿松.自动控制原理.[M].北京:
国防工业出版社,2000.2
[7]刘伯春.智能PID调节器的设计及应用.[J].电子自动化,1995.9
[8]周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真[M].北京:
航空航天
大学出版社,2006.7
[9]王忠飞,胥芳.MCS-51单片机原理及嵌入式系统应用[M].西安:
西安电子科技大学出版社,2007.5
[10]刘国钧,陈绍业,王凤翥.图书馆目录.[M].北京:
高等教育出版社,1957.5
[11]傅承义,陈运泰,祁贵中.地球物理学基础.[M].北京:
科学出版社,1985.8
[13].YuanN,YeoTS,NieXC,LiLW,etal.AnalysisofSca-tteringfromCompositeConductingandDielectricTargetsusingthePrecorrected-FFTAlgorithm[J].Electromagn.WaveandAppl,2003.5
[14].StreetMQ1Themicroelectronicsandcomputersystemslaboratory[J]1MicroelectronicsJournal,1993.8
致谢
三年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。
在这三年的求学生涯中师长、亲友给与了我大力支持,在这个翠绿的季节我将迈开脚步走向远方,怀念,思索,长长的问号一个个在求学的路途中被知识的举手击碎,而人生的思考才刚刚开始。
感谢我教书育人的老师,我不是你们最出色的学生,而你们却是我最尊敬的老师。
大学时代的老师治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。
授人以鱼不如授人以渔,置身其间,耳濡目染,潜移默化,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了对待知识,走向社会的思考方式。
在这里尤其要感谢李诺薇老师,从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”。
感谢父母,焉得谖草,言树之背,养育之恩,无以回报;感谢同学在我遇到困境时向我伸出援助之手,同窗之谊我们社会再续;感谢这段时间对我帮助给与关怀的叔叔,阿姨,是你们让我看到了人间真情暖人心,激励我时时刻刻努力,奋发向上,排除万难勇往直前。
在论文即将完成之际,我的心情无法平静,从开始进入课题到论文的顺利完成,有多少可敬的师长、同学、朋友给了我无言的帮助,在这里请接受我诚挚谢意!
同时也感谢学院为我提供良好的做毕业设计的环境。
最后再一次感谢所有在毕业设计中曾经帮助过我的良师益友和同学,以及在设计中被我引用或参考的论著的作者。