智能恒温控制系统

上传人:沈*** 文档编号:146181400 上传时间:2022-08-30 格式:DOC 页数:14 大小:185KB
收藏 版权申诉 举报 下载
智能恒温控制系统_第1页
第1页 / 共14页
智能恒温控制系统_第2页
第2页 / 共14页
智能恒温控制系统_第3页
第3页 / 共14页
资源描述:

《智能恒温控制系统》由会员分享,可在线阅读,更多相关《智能恒温控制系统(14页珍藏版)》请在装配图网上搜索。

1、长沙民政职业技术学院毕业实践报告专用纸长沙民政职业技术学院2010届毕 业 实 践 报 告系 别:电子信息工程系专 业:应用电子技术班 级:电子1033班 2013年5月6日目录1、恒温系统的设计思路.11、1恒温系统的设计目的.11、2恒温系统的设计功能.22、恒温系统设计方案.22、1恒温系统的基本要求.22、2恒温系统的基本原理.33、硬件设计.33、1单片机STC89C52简介.33、2温度传感器DS18B20简介.43、2、1 DS18B20的主要特性.44、电路仿真.55、绪论.5附:程序清单智能恒温控制系统陈张宇,刘婷婷,胡亮1019013338,1019013347,10190

2、13316指导老师:马勇赞【摘要】温度是反应物体冷热程度的物理量,是衡量物体分子运动平均动能的标志。对温度本身的探究没有意义。但是,温度的控制在当今各个领域都得以深入应用,且具有积极的意义。比如,一些行业中的大型电加热设备,实验室的恒温室、恒温箱,农业发展中所使用的大型恒温蔬菜棚,以及用于医学上的恒温育儿箱等。对温度的收集与控制从而达到恒温的方法甚多,采用单片机微机控制是其中较有效的方法之一。它以实用性、可靠性、灵活性再加上它的方便、简单、轻巧赢得了多数人及市场的青睐。本恒温控制系统采用了市场广泛应用的STC98C52单片机作为数据处理器,温度数据收集采用DS18B20温度传感器,通过按键设置

3、温度的上下限,单片机将传感器收集的温度与设置的上下限温度对比判断,控制加热、制冷开关,使温度保持在设置的上下限温度之间,从而达到恒温目的。【关键词】单片机;恒温;控制系统;传感器(DS18B20)1、恒温系统的设计思路1、1恒温系统的设计目的随着社会的发展,科技的进步,传感器技术的日趋成熟,越来越多的测温控制系统趋向于智能化发展,智能化已成为现代测温控制系统发展的主流方向。与传统的水银、热力学温度计相比,数字温度传感器具有响应快、更精确的明显优势,而在控制方面,智能化测温控制系统的“即测即控”功能也要比传统的测与控相对分离也要略差一筹。这就是智能化在现代特别是近年来在各领域高速发展的原因。温度

4、的控制在日常生活当中及工业方面应用的比较广泛,比如家居或环境温度的检测与控制,工业制酒过程的发酵池的温度控制等,无论是起居生活还是工业生产过程,这些环节对温度数据采集以及对其进行做出的反应都需要精而快,更重要的是采集信息与控制执行这两个环节更要及时,不留空隙。虽然对温度的监测设施要求不太高,普通的测温设备就能准确而方便的达到人们的要求。但从温度的获取到温度的控制这一环节,人们稍一疏忽就有可能带来不可弥补的损失。比如人们可以掌握大棚里的温度,从而改变光照对大棚温度进行调节,但是棚内温度的变化就需要人们不时的测量才知道,这样的繁琐势必会给人们造成疏忽,以致调控不及时。针对这一问题,本设计的目的是实

5、现一种可连续准确、方便及时的温度控制系统。它应用广泛,功能强大,可实现对空调的控制、保温设施的控制等等。1、2恒温系统的设计功能本设计主要是对温度的实时监测与控制,基本能够实现温度的实时化监测并可视化显示,以及按用户设定的要求实现温度的精确性控制并可靠性执行。具体如下:1) 按键输入恒温控制温度的最高报警温度和最低报警温度,所设置的最高报警温度和最低报警温度在数码管上显示;2) 数码管显示当前温度;3) 当温度处于用户所设温度之间时,绿灯亮,不执行操作;当温度低于用户设定的最低报警温度时,黄灯闪烁,同时启动“升温装置”使温度上升;当温度高于用户设定的最高报警温度时,红灯闪烁,同时启动“降温装置

6、”使温度下降;(本设计用蓝色LED灯代替升温、降温装置仿真)原理如图所示:2、恒温系统设计方案2、1恒温系统的基本要求本方案设计要求能够实现对温度的监测与控制。微处理器:STC89C52温度传感器:DS18B20测温范围:55+125温度控制:室温100温度显示:8*LED数码管工作电源: 3-5V/DC控制误差:小于+-0.52、2恒温系统的基本原理本方案设计原理是温度传感器(DS18B20)将所采集的温度信息传入微处理器,单片机(STC89C82)对温度信息进行数据处理并显示在数码管上,同时单片机还将当前所采集的温度信息和原先所设定的最高温度信息、最低温度信息作比较,当温度处于原先所设温度

7、之间时,绿灯亮,不执行操作;当温度低于原先设定的最低报警温度时,黄灯闪烁,同时启动“升温装置”使温度上升;当温度高于原先设定的最高报警温度时,红灯闪烁,同时启动“降温装置”使温度下降。原理框架图如下:图1 原理框图3、硬件设计3、1单片机STC89C52简介STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的

8、解决方案。 具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。3、2温度传感器DS18B20

9、简介3、2、1 DS18B20的主要特性1) 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电2) 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温4) DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内5) 温范围55+125,在-10+85时精度为0.56) 可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精

10、度测温7) 在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快8) 测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力9) 负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。图2 DS18B20引脚图1、GND为电源地2、DQ为数字信号输入/输出端3、VDD为外接供电电源输入端(在寄生电源接线方式时接地)。4、电路仿真5、绪论附:程序清单#i

11、nclude #include#include #include#define uchar unsigned char#define uint unsigned int;uint shangxian=35,xiaxian=30;uchar k1=0;uint TempH,TempL;sbit RED_LED=P36;sbit GREEN_LED=P35;sbit SPEAK=P37;sbit chaidan=P12;sbit jia=P31;sbit jian=P32;sbit DQ=P10;/ds18b20 端口sfr dataled=0x80;/显示数据端口uint temp;uchar

12、flag_get,count,num,minute,second;uchar code tab=0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90; uchar str6;void delay1(uchar MS);unsigned int ReadTemperature(void);void Init_DS18B20(void);unsigned char ReadOneChar(void);void WriteOneChar(unsigned char dat);void delay(unsigned int i);void process_

13、alarm();void presskey();void chengxux();void chengxus();unsigned long LedOut5,LedNumVal;void UARTinit(void) SCON = 0x50; TMOD |= 0x20; TH1 = 0xFD; TR1 = 1; TI = 1;zhuchengxu()TMOD|=0x01;/定时器设置TH0=0xef;TL0=0xf0;IE=0x82;TR0=1;UARTinit();P2=0x00; /赋初值count=0; while(1) str5=0xc6; /显示C符号 str2=tab(TempH%1

14、00)/10; /十位温度 str3=tab(TempH%100)%10&0x7f; /个位温度,带小数点 str4=tabTempL; process_alarm(); if(flag_get=1) /定时读取当前温度 temp=ReadTemperature(); TempH=temp4; TempL=temp&0x0F; TempL=TempL*6/10;/小数近似处理 printf(%d.%dn,TempH,TempL); flag_get=0; void tim(void) interrupt 1 using 1/中断,用于数码管扫描和温度检测间隔TH0=0xef;/定时器重装值TL

15、0=0xf0;num+;if (num=200) num=0; flag_get=1;/标志位有效 second+; if(second=60) second=0; minute+; count+;if(count=3) P2=0x01; dataled=str2; if(count=4) P2=0x02; dataled=str3; if(count=5) P2=0x04; dataled=str4; if(count=6) P2=0x08; dataled=str5; count=0; void presskey() if(chaidan=0) delay(110); if(chaidan

16、=0) k1+; while(!chaidan); void delay(unsigned int i)/延时函数 while(i-);void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay(10); x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(5);unsigned char ReadOneChar(void) unsigned char

17、i=0; unsigned char dat = 0; for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(5); return(dat);void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1; delay(5);unsigned int ReadTemperature(void)unsigned cha

18、r a=0;unsigned int b=0;unsigned int t=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换delay(200);Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作WriteOneChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar(); /低位b=ReadOneChar(); /高位b=8;t=a+b;return(t);void process_alarm()

19、if(TempH=5) RED_LED=0; SPEAK=0; delay(11000); RED_LED=1; SPEAK=1; delay(11000); else if(TempH=shangxian&TempH=40)xiaxian=0;elseif(jian=0)delay(1100);if(jian=0)xiaxian-;while(jian); if(xiaxian=0) xiaxian=40; shi=t/1000;ge=t%1000/100;xiaoshu1=t%100/10;xiaoshu2=t%10;P2=0x01;dataled=tabshi;delay(250);P2

20、=0x02;dataled=tabge;delay(250);P2=0x04;dataled=tabxiaoshu1;delay(250);P2=0x08;dataled=tabxiaoshu2;delay(250); void chengxus() xiaxian=shangxian; chengxux();void main() while(1) presskey();switch(k1)case 0:zhuchengxu();break;case 1:chengxux();break;case 2:chengxus();break;case 3:zhuchengxu();break;default:break;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!