测控技术课程设计说明书设计题目烘箱温度测控系统的设计姓名班级学号专业测控技术与仪器指导教师完成日期2011-12-19提交日期2011-12-20摘要随着电子产品向智能化和微型化的不断发展,单片机已成为电子产品研制和开发中首选的控制器。为了更好地推广单片机在实际生活和生产中的应用,本文介绍一种应用AT89C51单片机设计的烘箱温度控制系统。该烘箱温度系统采用温度传感器DS18B20通过按键设定值与实际值相比较进而进行温度的加热或制冷系统自动控制升温的操作,将温度稳定在所设定的温度值。系统由温度检测电路、单片机系统和温度控制电路三部分组成。其中,温度检测电路采用数字式温度传感器,温度控制电路采用场效应管驱动制冷片加热,单片机系统不仅能够完成温度信号的采集和控制信号的输出,而且还能够实时显示温度值,通过键盘实现温度值和工作方式的设定。经实验表明该烘箱温度控制系统具有体积小、操作灵活、可靠性高、实用、成本低等特点具有一定的实际意义。关键词:单片机;温度传感器;温度控制;场效应管ABSTRACTWiththedevelopmentofelectronicproductsintelligenceandmicrominiaturized,SMChasbeenthepriorityforcontrollerinelectronicproductsresearchanddevelopment.InordertobetterpromoteSMCapplicationinreallifeandproduction,thispaperintroducescontrollingsystemofoventemperaturebasedonSCM—AT89C51.Byapplyingtemperaturesensor—DS18B20,comparedsettingvaluewithactualvalue,itcancontrolwarmingupoperationanddestabilizethetemperatureintherangeofsettingvalue.Thesystemconsistsoftemperaturedetectingcircuit,whichusestemperaturesensor—DS18B20,SCMandcontrollingcircuit,whichdrivesrefrigerationfilmheatingbyusingMOSFET.TheSCMsystemsaccomplishestemperaturesignalcollectionsandcontrolmessageoutput,butalsobringaboutreal-timedisplayandtemperatureandmannerofworkingsettingthoughkeyboards.Practiceindicatescontrollingsystemofoventemperatureissmaller,lighter,flexibleoperationandfunctional.Keywords:SCM;temperaturesensor;controllingtemperature;MOSFET11.概述1.1主要任务:将温度控制在设定的温度值,设定范围为2°~98°,针对在生产和日常生活中温度智能化控制系统的实现。1.2原始资料:烘箱(恒温干燥箱)是一种广泛用于工业、农业、医疗和科研项目的温度控制设备,它可以根据实际的工作需要实现升温、保温、降温等控制,从而实现物料的烘干和产品的老化等功能。本课程设计采用数字式温度传感器DS18B20和半导体制冷片构成温度测量与加/降温系统,实现温度控制的智能化和自动化。1.3基本设计原则:在该烘箱温度控制系统中,单片机作为核心部件进行检测控制,增强了设计的通用性,适时性。在该烘箱温度控制系统中温度检测采用DS18B20温度传感器,它不仅具有较高的精度,而且适用电压宽。温度控制分为升温和降温控制。1.4设计所要完成的基本内容:系统的基本框图如图1所示:2总体设计框图如图2所示2.单片机人机接口系统的软件设计2.1软件设计主要包括键盘扫描程序voidkeyscan(void)温度测控系统的设计温度控制系统的设计智能测控系统的设计风扇控制电路设计温度传感器程序设计数据处理程序设计风扇控制器程序设计数码管显示程序设计键盘操作程序设计制冷片控制电路设计制冷片控制程序设计温度显示键盘盘单片机系统温度控制电路LU路温控箱DS18B20制冷片图1烘箱温度控制系统框图风扇风扇控制电路图2总体设计框图3{if(m%2==0){xianshi=key*10;}elsexianshi=TT;if(P22==0)m++;while(!P22){display();}if(P20==0)key++;while(!P20){display();}if(P21==0)key--;while(!P21){display();}}2.2四位数码管动态显示程序/*********************************************************************名称:Delay_1ms()*功能:延时子程序,延时时间为1ms*x*输入:x(延时一毫秒的个数)4*输出:无***********************************************************************/voidDelay_1ms(uinti)//1ms延时{ucharx,j;for(j=0;ji;j++)for(x=0;x=148;x++);}display(){P0=table[xianshi/100];P24=0;P25=1;P26=1;P27=1;Delay_1ms(5);P0=table[xianshi%100/10]+0x80;P25=0;P24=1;P26=1;P27=1;5Delay_1ms(5);P0=table[xianshi%10];P25=1;P24=1;P26=0;P27=1;Delay_1ms(5);//P0=table[key%10];//P25=1;//P24=1;//P26=1;//P27=0;//Delay_1ms(5);}2.3任意浮点数显示程序voidTime0_Init(){TMOD=0x11;IE=0x82;TH0=(65536-3000)/256;TL0=(65536-3000)%256;6TR0=1;}voidTime0_Int()interrupt1{l++;TH0=(65536-30000)/256;TL0=(65536-30000)%256;if(lk){P10=1;}if(lT){P10=0;l=0;}}voidmain(){uintftemp;floattt;T=100;k=99;Time0_Init();while(1)7{keyscan();//if(k!=5)if(tt=key-0.5){TR0=0;P10=0;P11=0;P12=0;}if((ttkey-0.5)&&(tt=key-0.2)){k=90;}if((ttkey-0.2)&&(tt=key-0.1))k=70;if(tt=key&&ttkey-0.5){TR0=1;P11=0;P12=0;}if(tt=key){TR0=0;P11=1;P11=1;P12=1;}Reset();write_byte(jump_ROM);write_byte(start);Delay_1ms(5);display();Reset();write_byte(jump_ROM);8write_byte(read_EEROM);TMPL=read_byte();TMPH=read_byte();ftemp=TMPL&0x0f;tt=ftemp/15.0*0.95;temp=TMPL/16+TMPH*16;if(temp60)temp=temp1;temp1=temp;tt+=temp;TT=tt*10;display();}}3温度测量模块的设计3.1DS18B20介绍DS18B20温度传感器是DALLAS公司生产的1-Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的温度传感器,十分方便。93.1.1DS18B20的特性:DS18B20是美国DALLAS公司继DS1820之后推出的增强型单总线数字温度传感器,它在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,这给用户带来了更方便的使用和更令人满意的效果。其特点如下:(1)单线接口:仅需一根口线与单片机连接;(2)由总线提供电源,也可用数据线供电,电压范围:3.0~5.5V;(3)测温范围为:-55~+125℃,在-10~+85℃时,精度为0.5℃;(4)可编程的分辨率为9~12位,对应的分辨率为0.5~0.0625℃;(5)用户可编程的温度报警设置;(6)12位分辨率时最多在750ms内把温度值转换为数字量。3.1.2DS1820温度数据格式:在DS1820中,转换温度值是以9位二进制形式表示的,而输出温度则是以16位符号扩展的二进制补码读数形式提供。采用的办法是将低八位用补码表示,第九位以符号扩展形式扩展至其它七位。3.1.3DS18B20的测温原理:内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时,振荡器的脉冲无法通过门电路。计数器设置为-55℃时的值,如果计数器到达0之前门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55℃。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补偿,计数器重10新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程。温度转换所需时间不超过750ms,得到的温度值的位数因分辨率不同而不同3.2DS18B20的驱动程序总结:传统的温度计反应速度慢、读数麻烦、测量精度不高、误差大。利用集成温度传感器DS18B20设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。其中温度传感器DS18B20,它集温度测量、A/D转换于一体,其测量范围宽(-55℃~125℃),DS18B20是一款具有单总线结构的器件。由DS18B20组建的温度测量单元体积小,便于携带、安装。同时,DS18B20的输出为数字量,可以直接与单片机连接,无需后级A/D转换,控制简单。4温度控制模块设计4.1光电隔离控制电路的设计图光电隔离控制电路图114.2风扇PWM驱动程序4.3制冷片的控制以及程序设计/*********************************************************************名称:Reset()*功能:复位DS18B20*输入:无*输出:无***********************************************************************/voidReset(void){DQ=0;delayus(29);DQ=1;delayus(28);}/********************************************************************12*名称:read_bit()*功能:从DS18B20读一个位值*输入:无*输出:从DS18B20读出的一个位值***********************************************************************/ucharread_bit(void){uchari;DQ=0;DQ=1;for(i=0;i3;i++);return(DQ);}/**********