基于单片机的温室大棚的温度测控系统设计.doc

上传人:仙人指路1688 文档编号:4151358 上传时间:2023-04-07 格式:DOC 页数:30 大小:516KB
返回 下载 相关 举报
基于单片机的温室大棚的温度测控系统设计.doc_第1页
第1页 / 共30页
基于单片机的温室大棚的温度测控系统设计.doc_第2页
第2页 / 共30页
基于单片机的温室大棚的温度测控系统设计.doc_第3页
第3页 / 共30页
基于单片机的温室大棚的温度测控系统设计.doc_第4页
第4页 / 共30页
基于单片机的温室大棚的温度测控系统设计.doc_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《基于单片机的温室大棚的温度测控系统设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的温室大棚的温度测控系统设计.doc(30页珍藏版)》请在三一办公上搜索。

1、毕 业 论 文 题 目: 基于单片机的温室大棚的温度测控系统设计 作 者: 学 号 : 系 : 电子信息系 专 业 : 电子信息工程技术 班 级 : 指导者: 副教授 评阅者: 讲 师 2013 年 04 月毕业设计(论文)中文摘要基于单片机的温室大棚温度测控系统摘要 本文从硬件和软件两方面来讲述温室大棚温度系统的设计过程。系统以单片机AT89C52为核心控制部件,通过10K NTC温度传感器采集环境温度,并通过数码显示管显示实时温度。硬件上从温度检测电路、信号放大电路、A/D转换电路、输出控制电路、键盘及LED显示电路的设计等几个方面出发,详细研究和设计了基于单片机的温室大棚温度测控系统的各

2、个部分内容,采用了LTC1860、LM358、74HC245、LED显示器等器件。软件方面采用汇编语言来进行单片机及其外围电路的程序设计,使指令的执行速度快,节省存储空间。系统模拟实现了蔬菜大棚温度控制的功能,并达到0.2度的温控精度要求,使大棚温度可控范围达到0-50。关键词 单片机系统,温度传感器,数据采集目 次1 绪论11.1课题的来源31.2课题的意义31.3课题研究的主要内容32设备方案设计与理论基础42.1温室大棚温度测控系统的方案设计42.2设计理论基础42.2.1AT89C52单片机介绍52.2.2 LTC1860A/D模数转换器72.2.3 运算放大器LM35872.2.4

3、总线收发器74HC24582.2.5 数码显示管LED82.2.6 NTC温度传感器93硬件电路设计73.1 单片机控制单元83.2 温度采样部分83.3 LED显示部分83.4 按键输入部分94软件设计94.1软件设计介绍94.2主程序流程图104.3子程序模块114.3.1 A/D转换子程序114.3.2 LED显示子程序114.3.3 按键输入子程序124.3.4 主程序12结论16致谢17参考文献18附录19附录图1 系统结构图19附录图2 PCB版图19附录3 源程序201 绪论1.1 课题的来源温室又称暖房,能透光、保温,用来栽培植物的设施。在不适宜植物生长的季节,能增加产量和提供

4、生育期。因此,温室技术在世界范围内应用十分广泛。温室结构应密封保温,但又应便于通风降温。现代化温室中具有控制温湿度、光照等条件的设备,用电脑自动控制创造植物所需的最佳环境条件1。温室是设施农业重要的组成部分,国外温室种植业的实践经验表明,提高温室的自动控制和管理水平可以充分发挥温室农业的高效性。大棚种植的温度控制系统解决了长期以来困扰农民的问题,它的应用广泛,制作成本低廉。随着传感技术,计算机技术及通讯技术的迅猛发展,现代化温室信息自动采集及智能控制系统的开发已成为目前设施农业的一个研究热点。1.2 课题的意义 本文从国内目前温控技术的薄弱环节进行分析,找出问题的存因及改善困难,结合相关新技术

5、及改良设想,在51单片机的基础上,有效解决温室大棚的温度自动控制,运用多个方案进行有效分析,提高温室大棚的种植培育能力。在可行性的基础上,经过准确计算及比对,降低程序开发保证项目的有效运作。1.3 课题研究的主要内容本课题主要采用51单片机系统,对蔬菜大棚中温度、进行采集、检测和控制。本文从软件和硬件两方面来讲述温室大棚温度控制系统的设计过程。软件方面采用汇编语言来进行单片机及其外围电路的程序设计,节省存储空间,使指令的执行速度快。为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。硬件上从A/D转换电路、温度检测电路、信号放大电路、输

6、出控制电路等几个方面出发,详细研究和设计了基于单片机的温室大棚温度测控系统的各个部分内容。在控制过程中主要应用AT89C52、LM358、74HC245、LTC1860、LED显示器,而主要通过10K NTC温度传感器采集环境温度,以单片机为核心控制部件,并通过数码显示管显示实时温度。系统的过程主要是:首先,通过键盘输入,设定所需要达到的温度值,并且用数码管显示这个温度值。然后,在运行过程中将温度传感器采样的温度模拟量经过信号放大后送入A/D转换器中进行模拟-数字转换,再将转换后的数字量用数码管显示,最后由单片机来判定,与设定的温度不符合则发出警报。2 设备方案设计与理论基础2.1 温室大棚温

7、度测控系统的方案设计单片机温度传感器信号放大电路A/D转换LED显示报警系统键盘输入图2-1温室大棚温度测控系统结构图首先,通过键盘输入,设定所需要达到的温度值,并且用数码管显示这个温度值。然后,在运行过程中将温度传感器采样的温度模拟量经过信号放大后送入A/D转换器中进行模拟-数字转换,再将转换后的数字量用数码管显示,最后由单片机来判定,与设定的温度不符合则发出警报。2.2 设计理论基础2.2.1 AT89C52单片机介绍AT89C52是51系列单片机的一个型号,它是ATMEL公司生产的。AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8K BYTES的可反复擦写的FLASH只读

8、程序存储器和256 BYTES的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和FLASH存储单元,AT89C52单片机在电子行业中有着广泛的应用。其主要功能特点包括:1、兼容MCS51的指令系统;2、8K可反复擦写FLASH ROM;3、32个双向I/O口;4、256X8BIT内部RAM;5、3个16位可编程定时/计数器中断;6、时钟频率0-24MHZ;7、2个串行中断,可编程UART串行通道;8、2个外部中断源,共8个中断源;9、2个读写中断口线,3级加密位;10、低功耗空闲和掉电模式,软件设置睡眠

9、和唤醒功能;11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。图2-2 AT89C52引脚图AT89C52P为40 脚双列直插封装的8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组

10、成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的控制功能。2.2.2 LTC1860A/D模数转换器LTC1860是采用MSOP和SO-8封装的12位A/D转

11、换器,采用单5V工作电源。在250ksps采样速率条件下,电源电流仅为850A。在较低的速度下,电源电流将减小,原因是 LTC1860在转换操作之间将自动断电至一个1nA的典型电源电流。这些12位开关电容器逐次逼近型ADC包括采样及保持电路。LTC1860具有一个差分模拟输入和一个可调基准引脚。 LTC1860 ADC可在比例式应用中使用,或与外部基准一起使用。高阻抗模拟输入以及可在缩减的电压范围内 (低至 1V 全标度) 运作的能力使得它们在许多应用中可与信号源直接相连,从而免除了增设外部增益级的需要13。2.2.3运算放大器LM358LM358是有两个高增益、独立的、内部频率补偿的双运算放

12、大器,一般作为电源电压范围很宽的单电源使用,也适用于双电源工作模式,在适当的工作条件下,电源电流与电源电压无关。它的可用于包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。图2-3 LM358引脚图2.2.4总线收发器74HC24574HC245为总线驱动器,典型的TTL型三态缓冲门电路。由于单片机的数据地址控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。而74HC245正好起到了这个作用。本课题中74HC245被用于驱动LED显示器的作用15。图2-4 74HC245B1R引脚图2.2.5 NTC温度传感器NTC是Negative Tempe

13、rature Coefficient 的缩写,是指随温度上升电阻呈指数关系减小、具有负温度系数的热敏电阻现象和材料。它的主要材料是锰、镍和铜等金属氧化物, 采用陶瓷工艺制造而成的。这些金属氧化物材料都具有半导体性质,在导电方式上完全类似锗、硅等半导体材料。随着温度的升高,载流子数目增加,所以电阻值降低;当温度低时,这些氧化物材料的载流子(电子和孔穴)数目少,所以其电阻值较高。NTC热敏电阻器在室温下的电阻变化范围一般在1001000000欧姆,温度系数为-2%-6.5%。NTC热敏电阻器广泛应用于温度补偿、温度测量、抑制浪涌电流、温度补偿等方面12。3硬件电路设计3.1单片机控制单元图3-1

14、单片机控制单元图单片机控制包括主体AT89C52芯片,一个上电复位电路,一个晶振电路, 10K上拉电阻。此为整个设计的核心部分。它不仅要计算通过键盘输入的高低电平,控制数码管显示相应的温度值,还要实时将经过LTC1860数模转换后的电压值显示为相应的温度值。并且通过判定温度值来确定是否发出警报。3.2 温度采样部分图3-2 温度采集单元图1 TL431的简介德州仪器公司(TI)生产的TL431是一是一个有良好的热稳定性能的三端可调分流基准源。它的输出电压用两个电阻就可以任意地设置s到从Vref (2.5V)到36V范围内的任何值(如图2)。该器件的典型动态阻抗为0.2,在很多应用中可以用它代替

15、齐纳二极管,例如,数字电压表,运放电路、可调压电源,开关电源等等。左图是该器件的符号。3个引脚分别为:阴极(CATHODE)、阳极(ANODE)和参考端(REF)。TL431的具体功能可以用如图1的功能模块示意。由图可以看到,VI是一个内部的2.5V基准源,接在运放的反相输入端。由运放的特性可知,只有当REF端(同相端)的电压非常接近VI(2.5V)时,三极管中才会有一个稳定的非饱和电流通过,而且随着REF端电压的微小变化,通过三极管 图1 的电流将从1到100mA变化。当然,该图绝不是TL431的实际内部结构,所以不能简单地用这种组合来代替它。但如果在设计、分析应用TL431的电路时,这个模

16、块图对开启思路,理解电路都是很有帮助的,本文的一些分析也将基于此模块而展开。 5V电源输入。 NTC温度传感器,温度越高,它的阻值就会越小,常温下即25度时,它的阻值大概为10K欧,然后通过10mA恒流源电路,它可以达到0.1V ,经过放大电路放大10倍后,电压为1V。通过AD芯片 LTC1860测得电压值,因为电压随温度的变化而线性变化。3.3 LED显示部分图3-3 LED显示器图通过74HC245芯片将51单片机处理的温度信息显示在LED数码管上,图为温度测控系统的的单片机显示部分。显示部分在整个设计中起到非常大的作用,它不仅显示了我们输入的标准温度同时也实时显示了温室大棚的环境温度。3

17、.4输入输出部分图3-4 按键输入及报警输出按键用来设置报警温度,通过INC、DEC、OK这三个按键来实现人机对话,人为的设定需要达到的温度。INC为设置上限温度,DEC为设置下限温度,OK为确认设定键。报警采用蜂鸣器,当温度未达到设定温度内时,蜂鸣器鸣叫。4软件设计4.1软件设计介绍软件的编程设计是单片机系统设计的核心部分,也是能否实现预定功能的关键。单片机编程常用的语言是C语言和汇编语言,最终都要转为Intel HEX格式或二进制格式(Binary)文件拷入单片机芯片内。这里我们使用的是C语言进行编程设计。编程前,必须将地址、数据以及控制信号设置好。原理图设计及PCB设计采用了protel

18、99 SE 。它提供了对高密度封装(如BGA)的交互布线, 精确移动器件,总线布线等功能。系统设计中所用到的AD芯片LTC1860 为s0-8封装,贴片;74HC245为DIP20封装;单片机89C52为DIP40封装;蜂鸣器:5V;轻触开关:6*6;三极管9013为直插式;稳压器TL431为三脚直插;无源晶振:12M;运放LM358为8脚直插。4.2主程序流程图图4-1 系统流程图4.3子程序模块4.3.1 A/D转换子程序AD转换程序,需要根据LTC1860的读时序图,对照时序来看。其结果为串行输出的,所以需要一根数据线,一根时钟线,还有一根是转换控制线。以下是A/D转换的部分子程序:ui

19、nt ult1860() /AD转换子程序uchar i; uint output=0;CONV=1;CONV=0; for(i=12;i0;i-) SCK=0; SCK=1;output|=DATA;output0;i-) P0=dig_numVi-1;if(i=2)P0|=0x80; P1=(0x4(i-1); delay(1);P1=0xff;4.3.3按键输入子程序此程序是本毕业设计中最为重要的一个部分,它对输入部分进行一个判断来区分各个按键起到的作用。以下是路灯开关控制部分程序:uchar presskey1(void) if(K1=0)return 1;elsereturn 0;u

20、char presskey2(void) if(K2=0)return 1;elsereturn 0;uchar presskey3(void) if(K3=0)return 1;elsereturn 0;4.3.4 主程序#INCLUDE #INCLUDE #DEFINE UINT UNSIGNED INT#DEFINE UCHAR UNSIGNED CHARsbit DATA=P25;sbit SCK=P24;sbit CONV=P26;sbit K1 =P20;sbit K2 =P21;sbit K3 =P22;sbit SOUND =P23;void delay(unsigned in

21、t); uchar code dig_num10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /*共阴级数码管的段选码*/uchar V3; bit soundbit=0; uint uplimit=200; uint downlimit=100; uchar setflag=0; /延时函数void delay(uint dt) uchar bt; for(;dt;dt-) for(bt=0;bt0;i-) Vi-1=temp/1638;temp=temp%1638*10;WD=V2*100+V1*10+V0;if(setflag=2

22、) Display(uplimit);else if(setflag=1) Display(downlimit);Else Display(WD); if(WDuplimit|WDdownlimit) soundbit=1;Elsesoundbit=0;结论4个月的毕业设计即将结束,这也意味着我们的大学生活也要结束了,但是我们对于学习却永远不会结束。在本次设计中,我不仅学到了新的知识,也对四年来大学所学的理论知识加以实践。这不但增强了我的动手能力,也提高了我对于知识的综合运用水平,为以后的学习和工作打下了扎实的基础。本文以AT89C51系列单片机为核心,用AT89C52单片机作为控制器件,温度

23、信号通过温度传感器和稳压器转变成电压信号,接着通过放大器放大,再由LTC1860转换成数字信号。温度测定采用恒流源电路,温度设定通过按键来完成,输出为警报器鸣铃。软件算法采用设定值和测量值想比较的算法。在单片机应用基础上,实现了一种用带EPROM的AT89C52单片机控制传感器的自动化温度测控系统。致谢本课题是在导师张老师的悉心指导下完成的,从论文的选题、系统设计、到修改定稿都没有离开张老师的帮助,通过本次设计,本人在张老师的指引下学到了许多有用的知识,这些是在平时的学习中得不到的知识,他严谨的治学态度和悉心的指导使我受益非浅。在此,向张老师表以崇高的敬意和由衷的感谢!还要感谢各位评阅老师,经

24、过你们的认真评阅和指正,将会使我的设计的系统更加的完整。在此,我向你们致以最诚挚的谢意!在平时严谨的治学和勤恳的教育,让我在平时打下坚实的基础,才能顺利完成本次设计,可以说没有你们的教诲和指导,我们也不会取得今天的成绩。我想对他们说一声:感谢你们的教导和关心,您们辛苦了!本次课程设计的完成还离不开我身边同学和一些老师的帮忙,在系统软件设计方面同学给了我很大的帮助,因为期间我一直在外实习工作,许多事都要麻烦在校的老师和同学帮忙,在此,向他们表示感谢!另外由于本人学识所限在,再加上第一次做,难免有所错漏望导师批评指正。 参考文献1马祥兴 电子技术及应用,2010(8).2缪晓中 电子CAD,201

25、0(3)3朱永金 成友才 单片机应用技术,2011(11)4刘刚 王立香 任鲁涌 Multisim&Ultiboard 10 原理图与PCD设计,20095阿力木甫拉提.温室大棚温度的调控N.农业科技,2010(8). 6胡真明.基于单片机控制的温室环境测控装置的研究D.西北农林科技大学,2007年. 7张国清,陈淑坤. 简单实用的温控电器J仪器与未来,1998(3) 22.8郑炳坤. 简单的温控箱温控电路J仪器与未来,1991 (7) 22.9鲍可进. PID 参数自整定的温度控制J江苏理工大学学报,1995 (6) 74.10柴钰单片机原理及应用M北京:西安电子科技大学出版社,200911

26、吴建平传感器原理及应用M北京:机械工业出版社,200912刘畅生传感器简明手册及应用电路M西安:西安电子科技大学出版社,200513史军勇,冀捐灶,杨宝强基于AT89C205l的温湿度控制仪J电子技术,2004,(1):21-2314 夏方林一种基于单片机AT89C51的温湿度控制仪的设计J工业仪表与自动化装置,1999,(1):32-3415胡汉才单片机原理及接口技术M北京:清华大学出版社,2003附录附录图1 系统原理图附录图2 PCB图源程序#INCLUDE #INCLUDE #DEFINE UINT UNSIGNED INT#DEFINE UCHAR UNSIGNED CHARsbit

27、 DATA=P25;sbit SCK=P24;sbit CONV=P26;sbit K1 =P20;sbit K2 =P21;sbit K3 =P22;sbit SOUND =P23;void delay(unsigned int); /延时函数uchar code dig_num10=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /*共阴级数码管的段选码*/uchar V3; /显示缓存bit soundbit=0; /报警标志位uint uplimit=200; /温度上限uint downlimit=100; /温度下限uchar

28、setflag=0; /切换显示标志/温度值/延时函数void delay(uint dt) uchar bt; for(;dt;dt-) for(bt=0;bt0;i-) SCK=0; SCK=1;output|=DATA;output0;i-) /数码管输出P0=dig_numVi-1;if(i=2)P0|=0x80; /显示小数点P1=(0x4(i-1); /数码管选择移位delay(1);P1=0xff;uchar presskey1(void) /按键1按下判断if(K1=0)return 1;elsereturn 0;uchar presskey2(void) /按键2按下判断if

29、(K2=0)return 1;elsereturn 0;uchar presskey3(void) /按键3按下判断if(K3=0)return 1;elsereturn 0;void main( )TMOD = 0x01; /定时器T0工作方式1:16位方式TH0 = 0xF8; /设定显示屏刷新率62.5帧/STL0 = 0x30;ET0=1; /开定时器0中断EA=1; /开总中断TR0 = 1; /开定时器0while (1)if(presskey1() /按键1被按下处理,设置上限 setflag=2;while(K1=0);uplimit+=2;if(uplimit=400) up

30、limit=0;if(presskey2() /按键2被按下处理,设置下限 setflag=1;while(K2=0);downlimit-=2;if(downlimit=0) downlimit=400;if(presskey3() /按键3被按下处理,确认键 while(K3=0);setflag=0;if(soundbit) SOUND=1;ElseSOUND=0;/显示屏扫描(定时器T0中断)函数void leddisplay(void) interrupt 1uint temp,i;TH0 = 0xF8; /设定显示屏刷新率62.5帧/STL0 = 0x30;temp=ult1860();for(i=3;i0;i-) /把AD结果转换为三位十进制Vi-1=temp/1638;temp=temp%1638*10;WD=V2*100+V1*10+V0;if(setflag=2) /当按键1显示 Display(uplimit);else if(setflag=1) /当按键2显示Display(downlimit);Else /平常显示Display(WD); if(WDuplimit|WDdownlimit) /报警处理soundbit=1;Elsesoundbit=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号