




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
智能温度检测控制系统的设计在日常生活及工农业生产中,人们经常要用到温度的检测及控制,而目前推广应用的许支持,电路复杂,离散性大,温度反应缓慢。而新型数接读出被测温度值,反应速度快,也可以设定温度上下限,还可以根据实际温度控制外部电路,进行温度补偿等。本文介绍了采用数字式温度传感器作为温度采集单元和用单片机来对它们进行控制,并用DS18B20和AT89C51单片机为核心开发研制了一种自动温度测控系统,关键词:数字温度传感器智能温度控制单片机1引言需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置关键是温度传感器。在众多应用于温室环境监测的元件中,温敏电阻虽然成本低,但温度测试方法,能在现场采集温度数据,并直接将温度物理量变换为数字信号并以传送到计算机进行数据处理,测温度范围为-55~+125℃。本系统采用美国产品可编程单总线数字式温度传感器DS18B20实现温室内温度信号的采集,进而实现温室内接口电路集成在一个芯片中,代替模拟温度传感器和信号处理电路,直接与单片机沟通,完成温度采集和数据处理,具有直接数字化输出、测试及控制功能强、传输距离远、抗干扰能力强、微型化微功耗、便于多点测量且易于扩展的特点。它可应用于各种领域、各种环境的测控设备,还可以让我们可以构建适合自己的经济的温控系统2.1设计任务与要求本特性。由于DS18B20具有直接输出数字信号、单总线接口、成本低等优点,将其应用在由系统实现的功能如下:(1)测温检测范围在-55~125℃,误差在0.5℃以内(3)用户可以通过按键设置允许最高温度125℃、允许最低温度-55℃。2.2系统总体方案介绍单动电路4位LED显示器片温度检测电路机图1硬件电路框图3系统硬件介绍3.1DS18B20单线数字温度传感器3.1.1DS18B20引脚分布数字温度传感器DS18B20的测温范围为-55~+125℃,精度为0.5℃,测量的温度值用9~12位数字表示,最大转换时间为750ms,温度超标报警的上、下限值,DS18B20的转换分辨率均可由用户设定,并能长期保存。利用Dallas的单总线控制协议,和单线控制5.5V。本设计使用的封装形式如图2所示,采用寄生电源接线方式。8图2DS18B20的管脚图●VDD:外接供电电源输入端(在寄生电源接线方式时接地)。DS18B20测温原理如图3所示。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.0625℃/LSB形式表示。图中低温度系数晶振的振荡频率受温度影响很小,用来向计数器1提供固定频率的脉冲信号。高温度系数晶振的振荡频率受温度影响较大,随温度的变化而明显改变,其产生的信号作为计数器2的脉冲输入计数器1和温度寄存器被预置在与-55℃相对应的一个基值上。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,在计数器2控制的闸门时间到达之前,如果计数器1的预置值减到0,则温度寄存器的值将作加1运算,与此同时,用于补偿和修正测温过程中非线性的斜率累加器将输出一个与温度变化相对应的计数值,作为计数器1的新预置值,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环,直到计数器2控制的闸门时间到达亦即计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测高位的S表示符号位,其数据格式如表1所示。其中“S”为标志位,对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。表比较,若T>TH或T<L,则将该器件内的告警标志置位,并对主机发出的告警搜索命令斜率累加器比较低温度系数振荡器加1温度寄存器停止图3DS18B20测温原理图表1温度数据关系低字节20-122-3高字节SSSSS2表2DS18B20温度与表示值对应表存储器与控制逻辑存储器与控制逻辑温度十六进制表示温度十六进制表示00000111101000007D0H0000000000000000000000101010100000550H-0.51111111111111000FFF8H+25.062500000001100100010191H-10.1251111111101011110FFSEH+10.125000000001010001000A2H-25.06251111111001101111FE6FH0000000000001000-55FC90H3.1.3DS18B20内部结构DS18B20内部由64位闪速ROM、触发器TH和TL、高速暂存存储器、配置寄存器和8位CRC发生器等组成。64位闪速R0M的结构如下:8位CRC检验码48位序列号8位产品型号开始8位是产品类型的编号,接着是每个器件的唯一的序号,共有48位,最后8位是前56位的CRC校验码,这也是多个DS18B20可以采用一线进行通信的原因。非易失性温度报警触发器TH和TL,可通过软件写入用户报警上下限。高速暂存存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM一个非易失性的可电擦除的E2PROM。后者用于存储TH,TL值,数据先写入RAM,经校验后再传给E2PR0M。而配置寄存器为高速暂存器中的第5个字节,它的内容用于确定温度值的数字转换分辨率,DS18B20工作时按此寄存器中的分辨率将温度转换为相应精度的数值。ROM中的64位序列号是出厂前被光记好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排列是:前8位是产品家族码,接着48位是DS18B20的序列号,最后8位是前面56位的循环冗余校验码(CRC=A8+X5+X4+1)。ROM作用是使每一个DS18B20都各不相同,这样就可实现一根总线上挂接多个。DS18B20采用单总线工作方式。和单线接口低温触发器TL配置寄存器8位CRC发生器温度传感器高速缓冲Vdd图4DS18B20内部结构图3.1.4DS18B20的性能特点(3)测温范围为-55℃-+125℃,测量分辨率为0.0625℃,(6)只需一根端口线就能与微处理器通讯;(9)用户可自设定非易失性的报警上下限值。(10)内含64位经过激光修正的只读存储器ROM,3.1.5DS18B20的控制方法单片机I/0。DS18B20利用Dallas脚连在总线上,所以无论是内部寄生电源还是外部供电3.2单片机单片机的选择AT89C51单片机AT89C51单片机是ATMEL公司生产的高性能8位单片机,主要功能特性如下:①兼容MCS-51指令系统;②32个双向I/0口,两个16位可编程定时/计数器;③1个串行中断,两个外部中断源;④低功耗空闲和掉电模式;⑤4kB可反复擦写(>1000次)FLASHROM;⑥全静态操作0~24MHz;40]40]VCC39]P0.0/(ADO)37]P₀.2/(AD2)P0.4/(AD4)321P0.7/(AD7)27]P2.6/(A14)P2.0/(A8)AT89C51(RXD)P3.0[10(TXD)P3.1[(T1)P3.5SXTAL2[XTAL16AT89C51ATECS0147图6AT89C51引脚图该款芯片的超低功耗和良好的性能价格比使其非常适合嵌入式产品应用。3.3驱动电路74LS244741LS244是TTL八同相三态缓冲器/线驱动器,其coms器件对应为74HC244,常用在单片机MCU系统中,作为单片机的输入输出数据缓冲器,在选通时输入数据送到总线上,在非选通时对总线呈高阻态。3.4各个模块电路的设计3.4.1LED显示电路足够大的电流,否则显示器亮度低并且驱动电路长期在超负荷下运行容易坏。应根据所选择的显示方式来确定选择何种驱动器,在本系统中采用的是动态显示故我们选取的是74LS244,示电路采用4位共阳LED数码管,从PO口输出段码,列扫描用P3.0~P3.3来实现,列驱动用9012三极管。3.4.2键盘输入电路占用一根I/0口线,每根线上按键的工作状态不会影响其他线上的工作状态,即一个按键对I/0口线有确定的高电平。设计中定义4个有效键的功能如表1所示。具体原理如图7所示(图X29RESET1RD12P11/T345图7按键电路代号接口键名功能复位犍使系统复位功能转换键键按下时显示设定温度键提升时显示当前温度加键设定温度渐次增加一度减键—设定温度渐次减少一度Y13NP图8时钟电路3(INTU)F32(INT1)P3=(T0)P3.4(T1)P3.5(WR)P3.6(RD)P3.7XTAL2XTAL1GND3.4.4蜂鸣器电路在系统温度达到上下限温度限制是有提醒信号产生可选择蜂鸣器来实现这一功能。压电式蜂鸣器工作时需要10mA电流,设计时考虑了相应控制电路。图9蜂鸣器电路3.4.5电源电路本系统采用+5V统一供电。电路图如下:ntgi₀)=iissmPC01mum图10电源电路3.4.6温度控制电路外围加热(制冷)电路采用继电器控制,当单片机输出高电平,三极管截止,继电器两端都为高电平,继电器不吸合。当单片机输出低电平,三极管饱和导通,继电器吸合。加热输出加热输出图11加热(制冷)控制电路如图所示。主机控制DS18B20完成温度转换必须经过3和读时序,分别编写5个子程序:初始化子程序、写(命令或数据)子程序、读数据子程序、4.1主程序由于51系列单片机没有停机指令,所以可以利用主程序设置死循环反复运行各个任务。把有要求的子程序(显示扫描、按键扫描、温度控制、蜂鸣控制)放在最内层的循环中,计那么循环次数应为100次。NY调用相应的键值处理程序调用相应的键值处理程序调用相应的4.2测温程序4.2.1初始化与DS18B20的所有通信都必须初始化。初始化时,控制器发出复位脉冲,DS18B20跟在其后发出存在脉4.2.2读出温度子程序读出温度子程序的主要功能是读出RAM中的九字节。在读出时需进行CRC校验,校验有错时不能进行温度数据的改写。读出温度子程序流程图如图所示。发发DS18B20复位命令发跳过ROM命令N发读取温度命令移入温度暂存器N9字节完?YCRC校验正确4.2.3温度转换命令子程序温度转换命令子程序主要是发温度转换开始命令。当采用12位分辨率时,转换时间约为温度转换命令子程序流程图如图所示。发发DS18B20复位命令图14温度转换命令子程序流程图于字符的显示。DS18B20的转换精度为9~12位可选,为了提高精度采用12位。在采用12位转换精度时,温度寄存器里的值是以0.0625为步进的,即温度值为温度寄存器里的二进制值乘以0.0625,就是实际的十进制温度值。高字节的低半字节和第字节的高半字节组成一个字节,这个字节的二进制化为十进制后,就是温度的百、十、个位值,而剩下的低字节的低半字因为小数部分是半字节,所以二进制范围是0~F,转换成十进制小数就是0.0625的倍数(0~15倍)。这样需要4位的数码管来显示小数部分。实际应用中不需要这么高的精度,采用一位数码管来显示小数部分,这样误差控制在0.1度范围内。表5二进制与十进制的近似对应关系表二进制值0123456789ABCDEF十进制值0011233455667889显示扫描子程序完成4位共阳极数码管的扫描显示任务。以下是显示扫描子程序流程图清除位选选通并显示12MS消隐N完成4位扫描?Y图15显示扫描子程序流程图4.4按键扫描子程序按键扫描子程序负责逐个扫描功能转换键,加键,减键是否被按下,当按下时YN显示设定温度K4键是否按消抖Y温度加一消抖温度减一测温显示程序N4.5温度控制程序温度控制程序用户设定的温度和系统当前的状态,决定是加热或是制冷并点亮相应的指示灯。若有超温标志,还应打开蜂鸣器报警。图所示为温度控制程序流程图有超温标志?YNY接通继电器1红灯亮NN接通继电器2绿灯亮图17温度控制流程图度子程序、温度转换命令子程序、计算温度子程序、报警显示及键调程序和显示数据刷新子地保证读/写时序;否则将无法读出测量结果。DS18B20温度计还可以在高低温报警、远距离(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行必须严格的保证读写时序,否则将无讯距离可达信号,程序进入死循环。这一点在进行DS182结论可用它组成多路温度测量装置。该智能温度控制器经测试在-10℃-70℃间测得误差为0。25℃,80℃≤T≤105℃时误差为0。5℃,当T>105℃误差为增大到1℃左右。本文创新点:采用当前最先进的智能数字温度传感器DS18B20并与单片机89C经过几个月的查资料、整理材料、写作论文,最终顺利的完成了论文的制作,在此期间,感谢各位老师的悉心指导,指引我论文的写作方向和架构,并对本论文初稿进行逐字批阅,指正出其中不当之处,使也是论文得以完成的基础。通过查资料和搜集有关的文献,培养了自学能力和动手能力。并且由原先的被动的接受知识转换为主动的寻求知识,这可以说是学习方法上的一个很大的突破。在以往的传统的学习模式下,我们可能会记住很多的书本知识,但是通过毕业论文,我们学会了如何将学到的知识转化为自己的东西,学会了怎么更好的处之路做好了一个很好的铺垫。再次感谢我的大学和所有帮助过我并给我鼓励的老师,··和朋友,谢谢你们!1王兆安,杨君,刘进军,等.谐波抑制和无功功率补偿[M].2版.北京:机械工业出版社,2006.3刘树棠,朱茂林,荣玖.基于运算放大器和模拟集成电路的电路设计[M].3版.西安:西2006.7-28何立民.单片机应用系统设计北京:北京航天航空大学出版社9沈德金.MCS-51系列单片机接口电路与应用程序实例北京:北京航空航天大学出版社10王福瑞.单片微机测控系统设计大全北京:北京航空航天大学出版社11陈章龙.实用单片机大全哈尔滨:黑龙江科学技术出版社12鄢定明.单片计算机应用技术北京:人民邮电出版社13PhilipsSemiconductorsandElectronicsNorthAmericaCorporation.DATAHANDBOOKTemperatureSensorDS18B20ofUSSemiconductorCompanyDALLASandtheAT89C51ofcontrollerelectriccirinthetriturating.Moreover,theassemblerofcommunicationbetweenAT89C51and附录1附录1AAABNunberFileRexamnleMvDesignddh附录2智能温度控制器C程序2008.5.28通过调试/*********************************************************************///#pragmasrc(d:\aa.asm)#include"reg51.h"#include"intrins.h"//_nop_();延时函数用#defineDisdataP1//段码输出口#definediscanP3//扫描口#defineucharunsignedchar#defineuintunsignedintunsignedchardatactemp;unsignedchardatastemp;unsignedcharkeyscan(void);voidtempctrl(void);unsignedcharkeyscan(void);voidtempctrl(void);sbitswkey=P1^0;//功能键sbitupkey=P1^1;sbitdownkey=P1^2;sbitrelay1=P2^2;//继电器1控制信号输出端sbitrelay2=P2^3;//继电器2控制信号输出端//温度输入口//LED小数点控制bittempov;//超温标志ucharcode,0x09,0x09};ucharcodeucharcodescan_con[4]={0xfe,0xfd,Oxfb,0xf7};uchardatatempdata[2]={0x00,0x00};//读出温度暂放/***********11微秒延时函数**********/{for(;t>0;t--);/***********显示扫描函数**********/DQ=1;chark;for(k=0;k<4;k++)//四位LED扫描控制{if(k==1){DIN=0;}discan=scancon[k];del/***********18B20复位函数**********/ow_reset(void)while(presence){while(presence)DQ=0;//DQ=1;//presence=DQ;//presence=0}delay(45);//延时500uspresence=~DQ;继续下一步//向1-WIRE总线上写一个字节voidwrite_byte(ucharval)DQ=1;_nop_();_nop_();DQ=0;_nop_();_nop_();_nop();_nop_();_nop_();//5usDO=val&0x01://最位//66usval=val/2;DQ=1;/*********18B20读1个字节函数********/ucharread_byte(void)uchari;ucharvalue=0;for(i=8;i>0;i--)DQ=1;_nop();_nop();value>>=1;DQ=0;// nop();nop();nop();nop();//4usdelay(6);//66usDQ=1;return(value);/***********读出温度函数**********/{temp_data[0]=read_byte();//temp_data[1]=read_byte();温度低8位//温度高8位ow_reset();write_byte(0x44);//发转换命令}/***********温度数据处理函数**********/work_temp(){ucharn=0;//if(temp_data[1]>127){temp_data[1]=(256-temp_data[1]);temp_data[0]=(256-temp_data[0]);n=1;}//负温度求补码if(!display[3]){display[3]=0x0A;if(!display[2]){display[2]=0x0A;}}//最高位为0时都不显示if(n){display[3]=0xOB;}//负温度时最高位显示"-"if(ctemp>125|ctemp<-55){tempov=1;buzz=0;}按键扫描处理函数unsignedcharkeyscan(void)无参数,返回值:无符号字符型,无键按下为0,有键按下为其它 -*/{unsignedchari,ch;if(upkey==0){buzz=0;for(i=0;i<5;i++)scan();buzz=1;if(stemp<125)stemp++;////“+”键//打开蜂鸣器(发出按键音)//延时消抖//关闭蜂鸣器温度加一display[1]=stemp%10;//显示当前档位return(1);//返回有键按下elseif(downkey==0){for(i=0;i<5;i++)scan();buzz=1;if(ste
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省潜江市十校联考2025届初三5月底中考模拟考试英语试题含答案
- 江苏省连云港东海县联考2025届初三下化学试题练习题(三)含解析
- 云南省保山一中2025年高三下学期单元检测试题历史试题含解析
- 2025届上海外国语大学附属中学高三3月“阳光校园空中黔课”阶段性检测试题英语试题含解析
- 长沙商贸旅游职业技术学院《植物景观规划设计》2023-2024学年第二学期期末试卷
- 三明医学科技职业学院《放射治疗学》2023-2024学年第二学期期末试卷
- 山西省忻州市宁武县2025年三年级数学第二学期期末检测模拟试题含解析
- 安徽医科大学《特殊儿童医学基础》2023-2024学年第二学期期末试卷
- 郑州医药健康职业学院《病理学实验》2023-2024学年第二学期期末试卷
- 辽宁财贸学院《数据分析与处理》2023-2024学年第一学期期末试卷
- 日周月安全检查记录表
- 车间温湿度测量记录表
- 七氟丙烷灭火系统安全操作规程(最新)
- 教学成果申报
- 谈谈微电影创作PPT课件.ppt
- 空分装置增压机大修方案
- 2021年中国华电集团公司组织架构和部门职能
- 变电所倒闸操作课件
- 六层框架住宅毕业设计计算书2
- 胆汁淤积和自身免疫性肝病诊治专家共识参考教学提纲
- 光缆的敷设方法与要求
评论
0/150
提交评论