版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
室内温度自动控制系统摘要在现代人类的生活环境中,温度扮演着极其重要的角色。在人们的生产生活中,无论生活在哪里,从事什么工作,都要时时刻刻与温度打着交道。尤其是在18世纪工业革命以来,工业发展与农业生产都与能否掌握温度,有着密不可分的联系。因此,温度的监测与控制与人类的生产生活有着十分重要的意义。我们通过STC12C5A60S2单片机和DALLAS公司DS18B20温度传感器对室内温度进行实时监测与控制实现温度的相对稳定具有极其重要的现实意义。通过该系统的设计制作实践对电子系统设计运动控制理论应用,研究新技术学习知识增强动手能力具有重要的现实意义。关键字:温度控制DS18B20单片机控制系统设计目录论文共45页1引言 51.1项目概述 51.2设计目的 51.3设计任务 51.4研究思路和方法 62项目总体方案设计 72.1系统原理框图与工作原理 72.1.1国内外室温控制技术研究 72.1.2系统原理框图设计 73.系统硬件设计 83.1电源模块 83.2控制系统模块 83.3温度检测 93.3.1常用温度检测传感器 93.3.2DS18B20温度传感器电路 113.4驱动模块 123.4.1半桥驱动原理 123.5升温模块 123.6人机交互模块 133.6.11602液晶显示 133.6.2红外遥控操作原理 143.6.3红外接收电路 144.系统软件设计 154.1程序流程图 154.2温度采集 164.2.1DS18B20软件定义 164.2.2温度的计算 164.3红外遥控 164.4电机的PWM控制 224.5发热电阻丝的控制 245.调试运行 255.1温度传感器校准 255.2温度调节时间 265.3温度波动范围 265.4系统参数 276.系统优化 286.1优化控制方式 286.2美化外形结构 286.3.扩展系统应用 28结论 30致谢 31参考文献 32附件一:原理图 33附件二:源程序 34
1引言1.1项目概述我们的项目开发针对的对象是收入水平不高,买不起空调,有希望能不受热受冷舒适的生活。并且本系统操作简单,成本低廉。本系统包括:温度采集、无线人机交互、自动控制、异常报警等四部分。1、温度采集温度采集通过DS18B20将环境温度采集反馈回单片机并在显示界面上显示出来。2、无线人机交互使用者可以通过遥控器设置风速,温度等模式。3、自动控制通过使用者设置的风速、温度和采回来的环境温度通过单片机自动对加热和风速进行控制,起到自动控制环境温度的作用。4、异常报警对于在使用时产生异常,比如温度过高时,系统发起声光报警提示出现问题。1.2设计目的人们在日常的生活中,烈日炎炎的夏季会使人们感觉酷暑难耐,在白雪皑皑的冬季又会冷的瑟瑟发抖;于是人们就想买台空调,可是空调又太昂贵,对于大部分低收入阶层来说很难能承担起着部分费用。而夏日买的电风扇又在冬天又不能使用,冬日的电热炉有不能在热天使用;季节一交替就要将其封存起来,不利于设备的有效使用,在存储时候又要占据多余的空间,带来了不少麻烦。而在这种情况下我们发现为什么不将风扇和电热炉有效结合起来再加上一些传感器和控制器组成一个温度自动控制系统,这样价格便宜而且一年四季都能使用。还能自动调节不用过多的人为干预,为人们营造一个舒适的环境。同时我们还发现我们发现这样一个控制系统也可以推广到大棚种植等一些对温度有要求的环境。这样有很好的市场前景和研究意义。1.3设计任务从生物学角度室内温度一般冬天不应低于12℃,夏天以不高于26℃为宜。同时,还要尽量做到各点温度均匀并保持时间上的恒定。平均温差(外墙内壁的温度与室内任何一处的温度差)不天于2℃,垂直温差(高差每米相差的度数)不大于3℃。在这种情况下才是健康的温度。为了能够人们身体健康,又能满足价格低廉、操作简单、适合任何人群使用的原则本设计将采用红外无线遥控,和单片机自动控制采用风扇和发热丝来实现温度的调节。1.4研究思路和方法通过温度传感器DS18B20对室内温度进行采集,并实时显示在1602的液晶界面上,通过红外遥控器来调节模式和调节温度。并通过电机和电热丝冰块来实现对于室内温度的调节。在检测系统的执行性能,我们采用对其功耗进行测量,了解在各个模式下功耗进行测量。设置不同的温度记录系统调节到相应温度需要的时间,和系统在保持这个温度时候的振荡情况。
2项目总体方案设计2.1系统原理框图与工作原理2.1.1国内外室温控制技术研究从国内外温室控制技术的主流方式来看,室内温度控制技术大致有三种方式。(1)手动控制。通过人对室内温度的观测,凭借长期积累的经验和直觉推测及判断,手动调节温室内环境。但这种控制方式的劳动生产率较低,并不能实现室内温度的自动控制。(2)自动控制。这种控制系统需要计算机根据传感器的实际测量值与温控系统事先设定的目标值进行比较,有计算机完成室内温度的控制过程。计算机自动控制的温室控制技术实现了自动化控制。但由于计算机自动控制的实现方式有很多种形式,所以要根据设计要求及经费预算选择适合的计算机自动控制。(3)智能化控制。这是在温室自动控制技术和生产实践的基础上,构建专家系统,的温室信息自动采集及智能控制。这种控制方式相对前两种控制方式成本较高。2.1.2系统原理框图设计根据室内温度控制系统设计要求,温控自动控制系统,本系统由温度采集模块、电源模块以及人机交互模块、控制系统模块、升温模块、电机驱动模块六个部分组成。图1.系统框图3.系统硬件设计3.1电源模块本系统电源部份共分为三个模块5V直流、12V直流和220V交流,12V直流为风扇模块供电,220V交流为发热丝供电,5V为其与控制系统供电。12V由电源适配器产生,12V直流电经LM7805稳压后得到5V直流为控制系统供电。LM7805稳压模块电路如图:图2.LM7805稳压模块3.2控制系统模块控制系统主要由STC公司生产的12C5A60S2作为主控制芯片,STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S),针对电机控制,强干扰场合。控制系统的最小系统如图二,图3:单片机最小系统3.3温度检测3.3.1常用温度检测传感器(1)热敏电阻式温度传感器热敏电阻是开发早、种类多、发展较成熟的敏感元器件.热敏电阻由半导体陶瓷材料组成,热敏电阻是用半导体材料,大多为负温度系数,即阻值随温度增加而降低。温度变化会造成大的阻值改变,因此它是最灵敏的温度传感器。但热敏电阻的线性度极差,并且与生产工艺有很大关系。制造商给不出标准化的热敏电阻曲线。热敏电阻体积非常小,对温度变化的响应也快。但热敏电阻需要使用电流源,小尺寸也使它对自热误差极为敏感。利用的原理是温度引起电阻变化.若电子和空穴的浓度分别为n、p,迁移率分别为μn、μp,则半导体的电导为:σ=q(nμn+pμp)。因为n、p、μn、μp都是依赖温度T的函数,所以电导是温度的函数,因此可由测量电导而推算出温度的高低,并能做出电阻-温度特性曲线.这就是半导体热敏电阻的工作原理.热敏电阻包括正温度系数(PTC)和负温度系数(NTC)热敏电阻,以及临界温度热敏电阻(CTR)。图4.热敏电阻(2)热电阻式温度传感器热电阻(thermalresistor)是中低温区最常用的一种温度检测器。热电阻测温是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。它的主要特点是测量精度高,性能稳定。其中铂热电阻的测量精确度是最高的,它不仅广泛应用于工业测温,而且被制成标准的基准仪。热电阻大都由纯金属材料制成,目前应用最多的是铂和铜,此外,现在已开始采用镍、锰和铑等材料制造热电阻。金属热电阻常用的感温材料种类较多,最常用的是铂丝。工业测量用金属热电阻材料除铂丝外,还有铜、镍、铁、铁—镍等。图5.Pt100热电阻式温度传感器(3)热电偶式温度传感器热电偶(thermocouple)是温度测量仪表中常用的测温元件,它直接测量温度,并把温度信号转换成热电动势信号,通过电气仪表(二次仪表)转换成被测介质的温度。各种热电偶的外形常因需要而极不相同,但是它们的基本结构却大致相同,通常由热电极、绝缘套保护管和接线盒等主要部分组成,通常和显示仪表、记录仪表及电子调节器配套使用。图6.热电偶(4)数字式温度传感器数字式温度传感器具有体积小、价格便宜操作方便的优点。本系统采用了美国DALLAS公司生产的单总线数字温度传感器,一线制器件——独特的接口,使分布式温度检测得以简化。每片DS18B20都有唯一的产品号能够实现温度的多点检测。测量范围为-55度——+125度,12位的数字值分辨率为0.0625度,完全能够满足我们日常所需温度值。图7.数字式温度传感器DS18B203.3.2DS18B20温度传感器电路我们温度检测部分采用了DS18B20进行温度采集,传感器采集电路如下图图8.DS18B20温度采集电路3.4驱动模块3.4.1半桥驱动原理制冷风扇为12V直流电机我们采用MOS管制作半桥进行驱动,图9.半桥驱动电路原理图10.IRF32053.5升温模块升温模块我们采用了电吹风发热丝采用220V交流供电,功率达到750W,可以升高到300度左右,我们通过电吹风将温度吹到空气中到达升高周围温度的作用。图11.发热丝3.6人机交互模块3.6.11602液晶显示1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形。通过1602液晶能够将我们采集的温度进行实时显示,并对其中的参数进行设置。图12.1602液晶显示电路图13.1602液晶3.6.2红外遥控操作原理我们使用红外遥控器对系统进行设置。专用遥控器作为控制信号发出装置,当按下遥控器的设置键后,红外接收探头,接收红外信号频率为38kHz,周期约26μs,一体化红外接收装置接收到遥控器发出的设置控制信号,然后将信号送到专用的解码芯片中进行解码,解码后将信号送到单片机,由单片机查表判断这个信号是不是设置信号,当确认是设置信号后,启动设置子程序,那么以后接收到的红外信号就可以对系统进行设置了。图14.红外一体式接收头HS00383.6.3红外接收电路红外接收电路连接到单片机中断口,当红外接收头接收到红外信号后引发中断对系统参数进行设置图15.红外接收电路
4.系统软件设计4.1程序流程图开始开始红外外初始化PWM初始化1602初始化初始化工作状态温度是否正常采集温度风扇风速和发热丝工作状态Yes断开发热丝电能No显示状态会温度图16.程序设计流程图
4.2温度采集4.2.1DS18B20软件定义指令的宏定义定义#defineskip_ROM0xcc //跳过,允许总线控制器不用提供64位ROM编码就使用储存器操作命令#defineread_ROM0x33 //只有在总线上存在单只DS18B20时候才能使用,允许读出8位系列编码、唯一的序列号和8位CRC吗#definematch_ROM0x55 //匹配命令,后跟64位ROM序列,让总线控制器在多点上定位一只特定的DS1820#definesearch_ROM0xf0 //初次启动系统不知道有多少只DS1820,搜索从机的64位编码#definealarm_searh0xec//只有最近一次测温后遇到符合报警条件的情况,DS1820才响应这条命令,报警条件在高于TH或低于TL //只要不掉电,警报一直保持,直到不为报警条件为止#definew_scrat0x4e//写暂存存储器#definer_scrat0xbe//读暂存存储器#definec_scrat0x48//复制暂存存储器#definec_temper0x44//温度变换#definer_EPROM0xb8//重新调出#definer_Power0xb4//读电源DS18B20的一次温度转换后,温度值储存在TH和TL中4.2.2温度的计算在软件中采用了12位存储温度值,最高位为符号位,负温度S=1,正温度S=0,00AAH为+85°C,0032H为+25°C,FF92H为-55°C。 TL=R_byte();//将低位温度值对出 TH=R_byte();//将高位温度值对出 temp=(TL|(TH<<8));//将温度值存在一个unsignedint型的16位变量中 temp=(temp*625);将数据转换为实际温度值4.3红外遥控红外的遥控器的编码为引导码、低8位用户编码、高8位用户编码、8位数据码、8位键数据码的反码。通过一个红外解码器连接在单片机的中断口,只要一有数据就会触发中断,单片机就会读取数据,判断数据是不是本系统遥控器发出的。通过检验读出操作按键的编码值,在程序中比较编码值判断进行的相应操作并执行。voidIR_IN()interrupt0{ ucharj,k,N=0; EX0=0; delay_m(15); if(IRIN==1){ EX0=1; return; }//确认IR信号出现while(!IRIN)//等IR变为高电平,跳过9ms的前导低电平信号。{delay_m(1);} for(j=0;j<4;j++)//收集四组数据 { for(k=0;k<8;k++)//每组数据有8位 { while(IRIN)//等IR变为低电平,跳过4.5ms的前导高电平信号。 {delay_m(1);} while(!IRIN)//等IR变为高电平 {delay_m(1);} while(IRIN)//计算IR高电平时长 { delay_m(1); N++; if(N>=30) { EX0=1; return; }//0.14ms计数过长自动离开。 }//高电平计数完毕 IRCOM[j]=IRCOM[j]>>1;//数据最高位补“0” if(N>=8) { IRCOM[j]=IRCOM[j]|0x80; //数据最高位补“1” } N=0; }//endfork }//endforj if(IRCOM[2]!=~IRCOM[3]) { EX0=1; return; } switch(IRCOM[2]==0x47)//按mode键进入模式调节,按一下调节风速,按两下调节温度范围, { //按三下返回工作模式 case1:N1++; if(N1==1) { L1602_string(1,1,LCD_ID_3); L1602_string(2,1,LCD_ID_4); Tplayer(11,FF); } elseif(N1==2) { L1602_string(1,1,LCD_ID_5); L1602_string(2,1,LCD_ID_6); Tplayer(4,TTi); Tplayer(12,TTm); } else { N1=0; IRCOM[2]=0xaa; } break; default: break; } if(N1!=0) { switch(IRCOM[2]) //如果进入调节模式,调节温度,与风速 { case0x15:Ch++;//光标所在位置的标志位控制的设置 if(Ch>2) { Ch=1; } break; case0x07:Ch--;//光标所在位置的标志位控制的设置 if(Ch<1) { Ch=2; } break; case0x40: if(N1==2&&Ch==1) //如果当按下Ch+键在温度调节模式调节最低温度事数值++ { if(TTi<TTm) { TTi++; } if(TTi>=TTm) { TTi=0; } } if(N1==2&&Ch==2) { if(TTm<TTi) { TTm+=TTi; } TTm++; } if(N1==1) { FF++; } Dianji(); if(N1==2) { Fare(); Tplayer(4,TTi); Tplayer(12,TTm); if(TTm>40) { TTm=0; } if(TTi>40) { TTi=0; } } break; case0x44://按下CH—键 if(N1==2&&Ch==1) { if(TTi<TTm&&TTi!=0) { TTi--; } elseif((TTi==0)&&(TTm==0)) { TTi=0; } else { TTi=TTm-1; } Tplayer(4,TTi); } if(N1==2&&Ch==2) { if(TTm>TTi) { TTm--; } Tplayer(12,TTm); } if(N1==1) { FF--; } Dianji(); Fare(); if(TTm<1) { TTm=40; } if(TTi<1) { TTi=40; } default : break; } } if(N1==0) { switch(IRCOM[2]) { case0xaa:L1602_string(1,1,LCD_ID_1); L1602_string(2,1,LCD_ID_2); M_D(7,TT); Tplayer(11,FF); break; default: break; } } EX0=1;}4.4电机的PWM控制STC12C5A60S2的内部集成模块有两路PWM波发生器通过下面寄存器写入相应的值来控制PWM的占空比CCAP0H=CCAP0L=0X00;这样不同风速寄存器中的数值是不一样的。下面是电机控制的函数voidDianji(){ if(FF==1&&N1==1) //当按下CH+时如果在风速调节模式调节风速数值 { CCAP0H=CCAP0L=0Xdd; Tplayer(11,FF); } elseif(FF==2&&N1==1) { CCAP0H=CCAP0L=0Xaa; Tplayer(11,FF); } elseif(FF==3&&N1==1) { CCAP0H=CCAP0L=0X88; Tplayer(11,FF); } elseif(FF==4&&N1==1) { CCAP0H=CCAP0L=0X77; Tplayer(11,FF); } elseif(N1==1&&FF>4) { FF=1; CCAP0H=CCAP0L=0X44; Tplayer(11,FF); } elseif(N1==1&&FF<1) { FF=4; CCAP0H=CCAP0L=0X00; Tplayer(11,FF); } }4.5发热电阻丝的控制通过控制继电器的通断来实现发热电阻丝的工作发热这样程序就通过给驱动继电器给高低电平来实现注:采集温度,当温度发生异常声光报警,加热是红灯提示,不发热时黄灯提示,并显示实时温度下面是实现的共功能函数voidFare(){ if(TT<TTi) { JRE=0; } elseif(TT>=TTi&&TT<TTm) { JRE=0; } elseif(TT>=TTm) { JRE=1; }}在工作是的工作状态的LED灯指示和声光报警程序通过下面的函数来实现如果温度voidXianshi(){ delay_m(130); TT=DS18b()/10000; //采集温度 if(TT>=80)//R如果温度大于100度发出声光警报 { BEEP=0; } else { BEEP=1; } if((TT>=TTm)) { HT=0; LT=1; } else { LT=0; HT=1; } if(!N1) { M_D(7,TT); }}5.调试运行5.1温度传感器校准我们通过DS18B20进行温度采集,并通过1602液晶进行显示,为了提高我们采集温度的精度与可信度我们用水银温度计对温度进行了校准,由于我们对室内温度进行测量人对温度在一度范围内感知不明显我们在测量温度时只对温度的整数部分进行了显示;在校准过程中我们认为水银温度计的温度为标准温度;同时我们对成都地区的温度为例进行调节温度变化范围是0——50,我们对0到56度范围内的温度进行了校准,每次温度递增7度由于温度不宜控制在用温度计测量时会有小数部分不是严格的递增7度结果如下表1:表1.实际温度与系统测得温度比较实际温度(度)07.214.321.128.535.342.449.256.1系统测得温度(度)0714212835424956通过数据表格我们可以发现系统测得温度与实际温度存在一度的误差,原因是因为人们对一度温度变化不太敏感我们只对温度整数部分进行了显示而未显示小数部分造成的,。由于我们对室内温度进行调节温度要求不高不要求精确测量。理论上温度能够误差能够控制在-0.0625度——0.0625度范围内。5.2温度调节时间为了确定我们的系统能否对目标范围内的温度进行调节,我们设定目标温度然后进行了调节,我们规定如果系统能够在60S时间内进行控制达到稳定状态就表示调节成功否则失败进行报警。下表为调节时间表2.上升到目标温度所需时间原始温度(度)设定温度(度)第一次完成时间(s)第二次完成时间(s)第三次完成时间(s)平均时间(S)192615111714.3192914.91717.116.3193317.217.716.517.2通过表格我们发现在目标温度在可控范围内是能够在20S内达到目标温度,远小于60S我们认为我们设计的系统温度控制是成功的。5.3温度波动范围为了检测温度是否能够在我们的目标范围内我们进行调节我们选用九组实验数据进行实验温度递增5度,统计实验结果如下:表3.设定温度波动情况设定温度(度)最小温度(度)稳定温度(度)最大温度(度)000154561091011151415162019202125242526302930313534353640394041通过表格我们发现实际温度会在设定温度左右一度进行波动,我们分析波动是原因首先我们只对温度整数部分进行了显示造成的即使只有零点几度也会使温度在目标左右一度波动。其次,由于传感器温度采集的滞后性实际温度已经达到目标温度但我采集温度还没有到达使温度会有一定量的超调。同时,我们采用的散热丝也会有余热不会在我们一停止加热就不加热这也会导致继续加热或制冷给系统带来一定的超调。5.4系统参数工作参数:额定电压220V,制冷范围:1m*1m*1m,发热丝额定功率750W控制部分各个档位功耗如表四,表四.控制系统部分功耗档位电流(mA)电压(V)功率(w)平均功率(w)01425125.102170122.0410.2603140121.6804120121.44
6.系统优化6.1优化控制方式本系统出于设计简洁功能突出,使用方便,经济廉价,适用于收入不高的人群的需求。我们采用的继电器控制发热电阻丝的工作,只能通过继电器的通断来决定发热电阻丝的工作状态。发热量很难控制,这样对于温度的控制有滞后给系统调节带来振荡,并且继电器导通电流比较小限制了发热丝发热量,同时由于继电器采用机械触点寿命短影响系统稳定性。为了避免这些问题的发生可采用晶闸管来作为电阻丝的驱动,这样不仅可以有效提高发热丝发热量也,可以对发热电阻的发热量进行控制和调节,再加上PID算法的控制就能提高系统的响应速度,降低调节时间,减少系统振荡增强系统稳定性。6.2美化外形结构本系统由于资金技术的限制在外形结构上不是很令人满意,发热丝并没有进行相应的隔离保护存在一定的安全隐患。在今后结构上可以对外形的结构进行优化,让其能有简洁流畅的外观和艺术气息,提升产品的产品形象;有利于消费者对其的认同感和使用欲望。同时要进行相应的隔离保护去除安全隐患。6.3.扩展系统应用本系统为小范围温度控制设计,只对单点温度进行了测量与本地显示在实际的生产应用过程中存在很多不足,为提高本系统适用能力扩展系统应用以适应大棚、仓库、粮仓等不同需求我们可通过一下方面进行改进。温度多点测量在实际的生产生活中往往需要对很大一片空间进行温度控制,而对某一点的温度进行采集完全没有参考价值,对实际应用不够合理。为满足这样的需求我们可以用多个温度传感器利用RFID组成传感器网络对这一片区域进行温度检测再控制多个加热装置分别进行加热或制冷。这样可以解决温度控制范围较小的问题。温度控制系统的远程管理本系统只对温度进行了本地显示这对我们生产生活带来不便我们要了解一片空间的温度就需要到现场查看不利于提议管理。在程序设计中可以采用一些小型的嵌入式操作系统(比如uCOS-II、freertos等),提高其的实时性能,并能加强多任务工作时良好的工作稳定性。同时在其基础上建立文件系统和增加以太网接口从而能将使用数据储存起来也能同步到云端,通过基于移动客户端或PC应用端实现远程控制与其他的设备连接实现智能家具的功能。完善制冷功能本系统用于制冷现在通过吹风的方式并不能将温度降低到比室外温度低很多,这就限制了系统的应用范围。为了满足人们对制冷的需求提高系统适应性能我们可以为本系统加装制冷装置,这样就可以让温度随我们的要求变化了。通过这三方面的改进将大大增加温度控制范围、优化用户体验、完善系统功能对粮仓、大棚、长途列车等的温度控制用较好的应用前景温度控制是人们利用科技改造自然的典型,我们这次的工程实践只是做了一个小小的尝试,对温度控制方面还用很多不了解的地方还用很多需要学习的地方。我想通过我们的不断努力不断学习我们将更好的控制温度更好的让科技服务于大众。
结论本次工程实践的训练我们设计的是室内温度智能控制系统。通过实践我们完成了对温度的精确采集、实时显示、稳定控制,实现了对室内温度的有效控制对改善人们的生产生活具有重要意义。这次实践我们从需求分析、方案确定、电路设计制作、程序设计、系统调试一步步走来完成了对测控系统的设计与制作,对一个完整的测控系统的各个环节有了新的认识。培养了工程实践能力与创新能力,增强了动手能力。我们通过此次实践验证了自动控制理论,提出了一种切实可行的室内温度自动控制系统解决方案。对我们的生活和工业生产具有积极作用。
致谢本课程设计的完成是在我们的指导老师严寒冰老师的细心指导下进行的。在每次设计遇到问题时老师不辞辛苦的讲解才使得我们的设计顺利的进行。从设计的选题到资料的搜集直至最后设计的修改的整个过程中,花费了严老师很多的宝贵时间和精力,在此向老师表示衷心地感谢!老师严谨的治学态度,开拓进取的精神和高度的责任心都将使学生受益终生!同时我们的设计也得到了控制工程学院测控教研室各位老师的大力支持为我们提出了宝贵的改进意见使我们的设计能够日臻完善,在这里我们表示衷心的感谢。还要感谢和我们一小组的同学,在我们平时设计中和我们一起探讨问题,大家分工合作才有了今天的设计成果没有你们的帮助我们不可能这样顺利地结稿,在此表示深深的谢意。
参考文献[1].郑郁正,孟芳,文斌.单片微型计算机原理及接口技术.北京:高等教育出版社.2012.7[2].胡向东,刘京诚,余成波.传感器与检测技术.北京:机械工业出版社,2009.1[3]孙余凯.典型自动控制电路识图与应用快捷入门.北京:电子工业出版社,2010.8[4]赵家贵.新编传感器电路设计手册.北京:中国计量出版社,2002.9。
附件附件一:原理图附件二:源程序#include<reg51.h>#include<LCD1602.h>#include<IRlcd.h>#include<intrins.h>#include<12C5A.h>#include<DS18B20.h>#include<PID.h>ucharLCD_ID_1[16]={"Temper:--C"};ucharLCD_ID_2[16]={"Windspeed:-"};ucharLCD_ID_3[16]={"Speregulmode"};ucharLCD_ID_4[16]={"Windspeed:-"};ucharLCD_ID_5[16]={"Tempermode"};ucharLCD_ID_6[16]={"min:--Cmax:--C"};sbitIRIN=P3^2;//红外接收器数据线sbitBEEP=P3^3;//蜂鸣器驱动线sbitHT=P1^2;//高温指示灯驱动sbitLT=P1^1;//低温指示灯驱动sbitJRE=P1^4;sbitKEY=P1^5;//功能选择模式按键sbitUP=P1^6;//设置温度++sbitDwon=P1^7;//设置温度--sbitS1=P3^0;sbitS2=P1^6;sbitS3=P1^5;voidXianshi();voidFare();voidJianpan();voidDianji();voiddelay1(intms){unsignedchary;while(ms--){for(y=0;y<250;y++){_nop_();_nop_();_nop_();_nop_();}}}unsignedlongintDS18b();ucharIRCOM[5];ucharFF=1,N1=0,Ch=1,TTi=20,TTm=26;ucharTT=30;voidIR_INIT(){ IE=0x81;//允许总中断,使能INT0外部中断 TCON=0x01;//触发方式为脉冲负边沿触发}voiddelay_m(ucharx);voidPWM_Init(void); voidTplayer(ucharadd,unsignedlongintTT)//第二行显示{ ucharshi,ge; shi=TT/10; ge=TT%10; write_com(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge); } voidM_D(ucharadd,unsignedlonginttime) //第一行显示{ ucharshi,ge; shi=time/10; ge=time%10; write_com(0x80+add); write_date(0x30+shi); write_date(0x30+ge); }voidmain(){ PWM_Init(); CCAP0H=CCAP0L=0X00; BEEP=0; HT=0; LT=1; IR_INIT(); IRIN=1;//hongI/O口初始化delay1(10);//延时L1602_Init();//初始化LCD L1602_string(1,1,LCD_ID_1); L1602_string(2,1,LCD_ID_2); M_D(7,TT); Tplayer(11,FF); Xianshi(); while(1) { Xianshi(); Fare(); //起初设想使用PWM控制,但是由于使用的继电器只能对低频做出响应实际这个函数是没有实质的意义 Jianpan(); if(Ch==2&&N1==2) { write_com(0x80+0x40+13); write_com(0x0f); } if(Ch==1&&N1==2) { write_com(0x80+0x40+5); write_com(0x0f); } if(N1!=2) { write_com(0x0c); } }}voidIR_IN()interrupt0{ ucharj,k,N=0; EX0=0; delay_m(15); if(IRIN==1){ EX0=1; return; }//确认IR信号出现while(!IRIN)//等IR变为高电平,跳过9ms的前导低电平信号。{delay_m(1);} for(j=0;j<4;j++)//收集四组数据 { for(k=0;k<8;k++)//每组数据有8位 { while(IRIN)//等IR变为低电平,跳过4.5ms的前导高电平信号。 {delay_m(1);} while(!IRIN)//等IR变为高电平 {delay_m(1);} while(IRIN)//计算IR高电平时长 { delay_m(1); N++; if(N>=30) { EX0=1; return; }//0.14ms计数过长自动离开。 }//高电平计数完毕 IRCOM[j]=IRCOM[j]>>1;//数据最高位补“0” if(N>=8) { IRCOM[j]=IRCOM[j]|0x80; //数据最高位补“1” } N=0; }//endfork }//endforj if(IRCOM[2]!=~IRCOM[3]) { EX0=1; return; } switch(IRCOM[2]==0x47)//按mode键进入模式调节,按一下调节风速,按两下调节温度范围, { //按三下返回工作模式 case1:N1++; if(N1==1) { L1602_string(1,1,LCD_ID_3); L1602_string(2,1,LCD_ID_4); Tplayer(11,FF); } elseif(N1==2) { L1602_string(1,1,LCD_ID_5); L1602_string(2,1,LCD_ID_6); Tplayer(4,TTi); Tplayer(12,TTm); } else { N1=0; IRCOM[2]=0xaa; } break; default: break; } if(N1!=0) { switch(IRCOM[2]) //如果进入调节模式,调节温度,与风速 { case0x15:Ch++;//光标所在位置的标志位控制的设置 if(Ch>2) { Ch=1; } break; case0x07:Ch--;//光标所在位置的标志位控制的设置 if(Ch<1) { Ch=2; } break; case0x40: if(N1==2&&Ch==1) //如果当按下Ch+键在温度调节模式调节最低温度事数值++ { if(TTi<TTm) { TTi++; } if(TTi>=TTm) { TTi=0; } } if(N1==2&&Ch==2) { if(TTm<TTi) { TTm+=TTi; } TTm++; } if(N1==1) { FF++; } Dianji(); if(N1==2) { Fare(); Tplayer(4,TTi); Tplayer(12,TTm); if(TTm>40) { TTm=0; } if(TTi>40) { TTi=0; } } break; case0x44://按下CH—键 if(N1==2&&Ch==1) { if(TTi<TTm&&TTi!=0) { TTi--; } elseif((TTi==0)&&(TTm==0)) { TTi=0; } else { TTi=TTm-1; } Tplayer(4,TTi); } if(N1==2&&Ch==2) { if(TTm>TTi) { TTm--; } Tplayer(12,TTm); } if(N1==1) { FF--; } Dianji();// if(N1==2)// { Fare(); if(TTm<1) { TTm=40; } if(TTi<1) { TTi=40; } // } default : break; } } if(N1==0) { switch(IRCOM[2]) { case0xaa:L1602_string(1,1,LCD_ID_1); L1602_string(2,1,LCD_ID_2); M_D(7,TT); Tplayer(11,FF); break; default: break; } } EX0=1;}/*函数功能:延时x*0.14ms输入:延时时间x输出:无*/voiddelay_m(ucharx){ ucharb; while(x--) { for(b=140;b>0;b--); }}/*函数功能:采集温度,当温度发生异常声光报警,加热是红灯提示,不发热时黄灯提示,并显示实时温度输入:无输出:无*/voidXianshi(){ delay_m(130); TT=DS18b()/10000; //采集温度 if(TT>=80)//R如果温度大于100度发出声光警报 { BEEP=0; } else { BEEP=1; } if((TT>=TTm)) { HT=0; LT=1; } else { LT=0; HT=1; } if(!N1) { M_D(7,TT); }}/*函数功能:通过P1.4口调节发热电阻丝的状态输入:无输出:无*/voidFare(){ if(TT<TTi) { JRE=0; } elseif(TT>=TTi&&TT<TTm) { JRE=0; } elseif(TT>=TTm) { JRE=1; }}基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统HYPERLINK"/detail.ht
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论