您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 基于51单片机的恒温控制系统
1课程设计报告项目名称:基于51单片机的恒温控制系统项目主持人:_________孔亮___________班级:_______09电子信息工程_________学号:_________0928401116___________2摘要本恒温控制系统设计采用现在流行的51系列单片机,配以DS18B20数字温度传感器,能够较精确的控制温度,并显示设定温度与当前温度。单片机将检测到的温度信号与设定的温度进行比较,根据两者差值输出相应占空比的PWM波,近而实现对温度的线性控制。本系统的加热功率为0~10W,供电电源为直流10V,调温范围理论上可达+0℃~100℃,温度调节精度为±0.5℃。关键词:51单片机;恒温控制;DS18B20;线性控制。AbstractThistemperaturecontrolsystemdesignusingpopularMCS-51microcontroller,withdigitaltemperaturesensorDS18B20,cancontroltemperaturequiteaccuratelyanddisplaythetemperaturehasbeensetandthetemperatureatthepresent.Themicrocontrollerwillcomparethetempaturedetectedwiththesetone,outputthePWMwavewhoseDutyRatiowillchangeaccordingtothedifferenceofthetwotempratures,andtoachievethelinearcontrolofthetemprature.Theheatingpoweris0~10W,powersupplyis10V(DC),Temperaturerange+0℃~+100℃theoretically,temperaturecontrolaccuracyof±0.5℃.Keywords:MCS-51microcontroller;temperaturecontrolsystem;DS18B20;linearcontrol.3目录摘要………………………………………………………………………21引言……………………………………………………………………41.1恒温控制系统设计的背景、发展历史及意义………………………………….41.2温度控制系统的目的…………………………………………………………….41.3温度控制系统完成的功能……………………………………………………….42总体设计方案…………………………………………………………52.1单片机主控制电路……………………………………...………………………..52.2人机交互模块……………………………...……………………………………..52.3温度测量与控制模块……………………...……………………………………..63硬件电路详细设计……………………………………………………73.1单片机最小系统……………………...…………………………………………..73.2人机交互模块……………………...……………………………………………..73.3测温模块………………...…………………..……………………………………93.4温度控制模块………………...………………………..…………………………93.5总电路图………...………………………………..…..…………………………103.6硬件实物图………...………………………..…………………………..………104系统软件设计………………………………………………………..114.1原理框图…...………………………..…………………………………………..114.2详细程序…...………………………..…………………………………………..135系统性能测试与分析………………………………………………..215.1数据记录……………………..………………………………….………………215.2数据分析与结论……………………..……………………………….…………216结束语…………………………………………………………….….2241引言1.1恒温控制系统设计的背景、发展历史及意义随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。特别是近年来,温度控制系统已应用到人们生活的各个方面,但温度控制一直是一个未开发的领域,却又是与人们息息相关的一个实际问题。针对这种实际情况,设计一个温度控制系统,具有广泛的应用前景与实际意义。温度是科学技术中最基本的物理量之一,物理、化学、生物等学科都离不开温度。在工业生产和实验研究中,像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;炼油过程中,原油必须在不同的温度和压力条件下进行分馏才能得到汽油、柴油、煤油等产品。没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度控制的要求都越来越高。可见,温度的测量和控制是非常重要的。单片机在电子产品中的应用已经越来越广泛,在很多的电子产品中也用到了温度检测和温度控制。随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的智能温度控制器应运而生。1.2温度控制系统的目的本设计的内容是恒温控制系统,控制对象是温度。温度控制在日常生活及工业领域应用相当广泛,比如温室、水池、发酵缸、电源等场所的温度控制。而以往温度控制是由人工完成的而且不够重视,其实在很多场所温度都需要监控以防止发生意外。针对此问题,本系统设计的目的是实现一种可连续高精度调温的温度控制系统,它应用广泛,功能强大,是一款既实用又廉价的控制系统。1.3温度控制系统完成的功能本设计是对温度进行实时监测与控制,设计的恒温控制系统实现了基本的温度控制功能:当温度低于设定温度1℃时,系统输出占孔比为1的波形,使加热电阻全功率加热,使温度快速上升,同时红灯亮;当温度上升到与设定温度差值小于1℃时,系统开始输出相应占空比的PWM波,随着温度的上升而不断减小加热电阻功率;当温度上升到设定温度时,系统输出占孔比为0的波形,停止加热,同时绿灯亮。数码管即时显示温度,精确到小数点一位。同时可以通过4个按键进行对设定温度的调节。52总体设计方案系统总体框图如图1所示。图1系统总框图2.1单片机主控制电路主控制电路准备用STC89C52的单片机作为控制主机。之所以选择89C52作为主机,是因为89C52作为51系列单片机的一种,其使用性能稳定,价格便宜,完全能够满足此次设计的需求。而且89C52内部集成了程序存储器,可以装载用户程序,方便后续的课程设计需要。图2单片机最小应用系统框图2.2人机交互模块人机交互模块主要包括键盘、数码管、LED指示灯等功能模块,其中键盘用于供用户输入温度期望值,数码管用于显示用户设定温度及容器中水温,LED指示灯用于指示系统工作状态(加热中、保温中)。6图3人机交互模块系统框图2.3温度测量与控制模块温度测量模块准备采用美国DALLAS半导体公司的DS18B20温度传感器。该传感器与传统的热敏电阻等测温元件相比,它能直接读出被测温。这一部分主要完成对温度信号的采集和转换工作,由DS18B20数字温度传感器及其与单片机的接口部分组成。数字温度传感器DS18B20把采集到的温度通过数据引脚传到单片机的IO口,单片机接受温度并存储。此部分只用到DS18B20和单片机,硬件很简单温度控制模块准备采用FAIRYCHILD的8N60C开关管、10W10Ω的水泥电阻。由单片机根据设定温度与测量温度之差输出相应占空比的PWM波,控制8N60C开关管的通断,近而控制水泥电阻的加热功率。图3温度测量与控制模块系统框图73硬件电路详细设计3.1单片机最小系统:包括复位电路、时钟电路、电源电路、烧录口共四个单元,其中电源电路与烧录口省略。电路图如下:其中,31端口接高电平,表明单片机复位后访问内部程序存储器;由于P0口作为输出口时处于漏极开路状态,所以必须外接上拉电阻,如果后期实验中不使用其作为输出口,则此处可省略。3.2人机交互模块:(1)、数码管:其中,采用8段共阴数码管,P0口输出段码、位码,P2.2和P2.3分别为段锁存和位锁存。数码管前四位显示用户测量温度,后四位显示测量温度。8(2)、LED指示灯:其中,指示灯绿色用于指示保温中、红色用于指示加热中,当两个LED均亮起时,表示正处于设置温度状态。(3)、按键:其中,四个按键分别表示温度设置、上升1摄氏度、下降1摄氏度、确定。温度设置键用于触发外部中断,以进行温度的调节。93.3测温模块:测温模块采用美国DALLAS半导体公司的DS18B20温度传感器。其输出与P1.0相连。3.4温度控制模块:8N60C的栅极(G)与P1.1相连,源级(S)接地(注意与单片机控制端共地,否则将导致无法关断),漏极(D)接水泥电阻,水泥电阻另一端接10V直流电。水泥电阻是将电阻线绕在无碱性耐热瓷件上,外面加上耐热、耐湿及耐腐蚀之材料保护固定并把绕线电阻体放入方形瓷器框内,用特殊不燃性耐热水泥充填密封而成。水泥电阻的外侧主要是陶瓷材质。8N60C是仙童公司出品的一款N沟道的MOSFET,最小开启电压为4V,最大关断电压为2V,故可以直接接在单片机IO口,由高低电平控制通断。DS18B20引脚图水泥电阻实物图103.5总电路图:3.6硬件实物图:114系统软件设计4.1原理框图:(1)、主程序:12(2)、定时中断0程序:(2)、外部中断0程序:根据加减按键情况改变设定温度是否按下确定键?NY外部中断0中断返回134.2详细程序:(1)、main.c#includereg52.h#include18b20.h#includedelay.h#defineDataPortP0//定义数据端口程序中遇到DataPort则用P0替换sbitPWM=P1^1;sbitLED_G=P1^2;sbitLED_R=P1^3;sbitLATCH1=P2^2;//定义锁存使能端口段锁存sbitLATCH2=P2^3;//位锁存sbitUP=P3^3;sbitDOWN=P3^4;sbitOK=P3^5;bitReadTempFlag;//定义读时间标志unsignedcharcodeDuanMa[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示段码值0~9unsignedcharcodeWeiMa[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//分别对应相应的数码管点亮,即位码unsignedcharTempData[8]={0x3f,0xbf,0x3f,0x39,0x6d,0xbf,0x3f,0x39};//存储显示值的全局变量unsignedinttemp;volatileintusertemp=50;voidDisplay(unsignedcharNum);//数码管显示函数voidInit_Timer0(void);//定时器初始化voidInit_Int0(void);//外部中断初始化/*------------------------------------------------主函数------------------------------------------------*/voidmain(void){unsignedintTempH,TempL,temp,CYCLE=100,DELTA;Init_Timer0();Init_Int0();while(1)//主循环{14if(ReadTempFl
本文标题:基于51单片机的恒温控制系统
链接地址:https://www.777doc.com/doc-6170640 .html