基于单片机温室大棚智能监测系统设计毕业设计.doc
目录第一部分 设计任务与调研3第二部分 设计说明5第三部分 设计成果13第四部分 结论22第五部分 致谢23第六部分 参考文献24第一部分 设计任务与调研1毕业设计的主要任务本设计的主要任务设计一个温室大棚的温度监测系统,其应具有以下主要功能:可以自行设定所要监测的温度值;实际温度与设定监测的温度相差在不同范围内做出不同的提示:不大于1时,绿灯常亮;不小于3时,红灯常亮;大于1且小于3时,绿灯闪烁。LCD显示温室内的实时温度。2设计过程及其工艺要求设计 一个以单片机为核心的温度控制系统,需要实现的功能为: (1)能够准确显示当前的温度值。温度检测的范围10-40,测温精度:±1。(2)能够自主调节当前需要温度值,在系统上面有调节按钮,可随时根据需要增加或者减少预设值。 (3)系统的显示方式均采用LCD显示。 3调研的意义随着单片机和传感技术的迅速发展,自动检测领域发生了巨大变化,温室环境自动监测控制方面的研究有了明显的进展,并且必将以其优异的性能价格比,逐步取代传统的温度控制措施。但是,目前应用于温室大棚的温度检测系统大多采用模拟温度传感器、多路模拟开关、A心转换器及单片机等组成的传输系统2。这种温度采集系统需要在温室大棚内布置大量的测温电缆,才能把现场传感器的信号送到采集卡上,安装和拆卸繁杂,成本也高。同时线路上传送的是模拟信号,易受干扰和损耗,测量误差也比较大。为了克服这些缺点,本文参考了一种基于单片机并采用数字化单总线技术的温度测控系统应用于温室大棚的的设计方案,根据实用者提出的问题进行了改进,提出了一种新的设计方案。 数字化单总线技术是利用DALLAS公司生产的新型器件实现的。它将系统的地址线、数据线、控制线合为一根导线,允许在这根导线上挂接数百个控制对象,形成多点单总线测控系统。这些测控对象所用的芯片都由该公司提供。采用单总线协议后,可在检测点将模拟信号数字化。这样,在单总线上传输的便是数字信号。本文介绍的温度测控系统就是基于单总线技术及其器件组建的。该系统能够对大棚内的温度进行采集,利用温度传感器将温室大棚内温度的变化,变换成电流的变化,再转换为电压变化输入模数转换器,其值由单片机处理,最后由单片机去控制数字显示器,显示温室大棚内的实际温度,同时通过比较,对大棚内的温度是否超过温度限制进行分析。如果超过我们预先设定的温度限制,温度报警系统将进行报警,并同时自动对大棚内的温度进行控制。 这种设计方案实现了温度实时测量、显示和控制。该系统抗干扰能力强,具有较高的测量精度,不需要任何固定网络的支持,安装简单方便,性价比高,可维护性好。这种温度测控系统可应用于农业生产的温室大棚,实现对温度的实时控制,是一种比较智能、经济的方案,适于大力推广,以便促进农作物的生长,从而提高温室大棚的亩产量,以带来很好的经济效益和社会效益。第二部分 设计说明1设计总体方案标准值,当环境温度超过或低于标准值时,系统会以蜂鸣器鸣响的方式进行报警提示,并且控制设备(降温系统与升温系统)自动启动,待达到标准值时,蜂鸣本设计要实现的功能是:实时显示当前环境的温度,并且允许用户设定温度器停止鸣响,控制设备停止运行,系统正常工作,工作指示灯亮,系统整体结构框图如下图2-1所示 。 51单片机复位电路LCD显示报警灯按键温度采集蜂鸣器图2-1系统整体结构框图 2硬件电路设计2.1单片机最小系统时钟电路和复位电路是维持单片机最小系统运行的基本模块。单片机最小系统是在以51单片机为基础上扩展,使其能更方便地运用于测试系统中,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被测试的技术指标,从而能够大大提高产品的质量和数量。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为在实时检测和自动控制领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其是在日常生活中发挥的作用也越来越大。2.1.1 AT89C51单片机简介MCS-51系列单片机最基础的成果是8031/8051/8751(8031/8051/8751是对应的低功耗单片机以及其增强产品8032/8052/8752)。它们具有品种全、兼容性强、性价比高等特点,然而它们却是8位的单片机,同时具有足够齐全丰富的软硬件应用设计内容,在国内外设计人员中都有所认识。在1980年到1990年期间,MCS-51系列单片机是中国设计运用非常普遍的单片机机型。 图 2-2 AT89C51实物图单片机AT89C51实物图如图2-2所示,中央微处理机AT89C51:它是一个消耗功率低、运行性能高的CMOS 8位单片计算机。拥有4K字节的ISP(在一些系统中可以编程成片状)的Flash程序存储器只读反复1000次。使用Atmel高密度不容易丢失的存储器设备、匹配准则、制造技术、一系列MCS-51指令系统和80C51引脚的基本结构,通用8位CPU和ISP闪存存储单元,AT89C51强大的计算机可以为许多嵌入式控制应用系统提供高可比性的解决方案。AT89C51具有以下特点:看门狗(WDT)电路,片内时钟振荡器,2个16位可编程定时计数器,40个引脚,2层中断嵌套中断,32个外部双向输入/输出(I/O)口,2个全双工串行通信口,128字节的RAM,4000字节Bytes Flash片内程序存储器, 5个中断优先级。 此外,振荡频率在AT89C51中,也相应地进行了设计和配置。而且运用软件设置合理的省电模式。在掉电模式下,振荡器停止工作来保护RAM的数据,阻止其他芯片功能,直到外部中断或硬件复位被激活。空闲模式下,RAM定时器/计数器、串行端口和中断系统可继续工作。但是中央处理器就会结束工作。而且,该芯片包含三种封装:PDIP,TQFP和PLCC。根据现实的选择需求,并且也考虑到了整个系统的设计和精致的成本,因此在本系统的设计中采用 AT89C51单片机作为整个系统的控制器,因为它的价格便宜、运行也比较可靠。2.1.2 AT89C51单片机管脚说明 AT89C51单片机如下图2-3所示, VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 图2-3 AT89C51管脚分布图 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为特殊功能口,如下表2-1所示:表2-1 P3口的第二功能端口引脚功能特点P3.0串行输入口(RXD)P3.1串行输出口(TXD)P3.2外中断0(INT0)P3.3外中断1(INT1)P3.4定时/计数器0的外部输入口(T0)P3.5定时/计数器1的外部输入口(T1)P3.6外部数据存储器写选通(WR)P3.7外部数据存储器读选通(RD) 2.1.3时钟电路设计 AT89C51单片机的每个模块的运作均是依靠时钟信号为统一标准,按先后顺序、一定规则地操作。所以单片机的运行速度会被时钟频率非间接影响,单片机系统的稳定性也会被时钟电路的质量非间接影响。在AT89C51单片机中,高增益反相放大器是为了产生内部震荡的,XTAL1是它的输入端,XTAL2是它的输出端。二者之间接有12M的石英晶体和30pF的电容,以此来形成一个相对稳定的振荡器。而外部时钟方式时,XTAL2端悬空,它的外部时钟电源将会接到XTAL1端。时钟电路如图2-5所示。图2-4 单片基时钟电路2.1.4复位电路设计AT89C51有两种复位方式,分别是上点复位和按键复位。本设计采用的是按键复位,即利用一个复位电容和按键的组合使得复位变得更加直接和简单。引脚RST作用是复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。在按下按键后,系统自动复位,十分方便。在复位电路中添加按键主要是为了能够使得复位更加方便,电容主要是在复位后进行充电,而上拉电阻起到限流的作用,保护了电路。复位电路如图2-6所示。图2-5 复位电路2.2温度采集电路设计2.2.1温度传感器常用的温度传感器有热敏电阻、热电偶、PN结温度传感器、集成温度传感器、热电阻等。对于温室内部温度的检测,温度传感器选择DALLAS公司生产的一线制数字,它具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出。 DS18B20有三个引脚,GND接地;DQ数字信号的输出/输入;Vdd为外接电源输入端。温度传感器DS18B20管脚如图2-7所示。图2-6温度传感器DS18B20管脚图2.2.2温度采集电路由于DS18B20只有一个串行通信接口,与单片机的连接电路非常简单,只需和单片机的一个I/O端口连接即可,本系统选择了接口接的是P2.0端口,其连接电路图如图2-8所示。DS18B20的I/O口属于漏极开路输出,外接上拉电阻后常态下呈高电平。该器件内含寄生电源,其供电方式可以选择寄生电源方式,也可以选用外部电源。为方便起见,采用外部电源供电。 图2-7 温度采集电路传感器数据采集电路主要指DS18B20温度传感器与单片机的接口电路。DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式考虑到实际应用中寄生电源供电方式适应能力差且易损坏,此处采用电源供电方式,I/O口接单片机的P2.4口。2.3液晶显示电路设计 LCD1602液晶是一类特定用来显示符号、字母、数字等的点阵型液晶模块,是由很多点阵字符位组成,但是只能显示字符不能显示图像,而且只能显示两行。LCD1602实物图如图2-9所示。图2-8 LCD1602实物图LCD1602主要技术参数如下: (1) 显示容量:16×2个字符;(2) 芯片工作电压:4.55.5V;(3) 工作电流:2.0mA(5.0V);(4) 模块最佳工作电压:5.0V;(5) 字符尺寸:2.95×4.35(W×H)mm;(6) LCD1602采用标准的16脚(带背光)或14脚(无背光)接口。以下是每个引脚端情况: 第1脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,当对比度比较高的时候会出现“鬼影”,调整对比度时便可调节一个10000的变阻器。 第4脚:RS是寄存器选择端口,高电平是数据寄存器的选择,低电平是指令寄存器的选择。 第5脚:R/W为读写数据线,高电平为读操作,低电平为写操作。假如RS和R/W同一时间均是低电平,便可以写入指令或者显示地址。 第6脚:E端为使能端口,如果E端从高电平变为低电平的时候,此液晶模块执行相应的命令。 第714脚:这八个脚为八位双向通信的数据线。 第15脚:背光源正极。第16脚:背光源负极。 LCD1602与AT89C51的电路连接方式如图2-10所示。 图2-9 6LCD1602与AT89C51的电路连接2.4报警电路设计需购买市售的压电式蜂鸣器,然后通过MCS-51本设计采用峰鸣音报警电路如图2-11所示。峰鸣音报警接口电路的设计只的1根口线经驱动器驱动蜂鸣音发声。压电式蜂鸣器约需10mA的驱动电流,可以使用TTL系列集成电路7406或7407低电平驱动,也可以用一个晶体三极管驱动。在图中,P3.2接晶体管基极输入端。当P3.输出高电平“1”时,晶体管导通,压电蜂鸣器两端获得约+5V电压而鸣叫;当P3.2输出低电平“0”时,三极管截止,蜂鸣器停止发声。NPN5.6K3.3K+5VP3.2AT89S52PB2130UP002A图2-10蜂鸣器3系统软件设计3.1温度监测系统流程图系统开始上电启动,蜂鸣器得电鸣一声,LCD显示屏也得电初始化,用温度采集模块采集实时温度,单片机自动检测程序自动检测,判断实时温度与设定温度的差值,当实时温度比设定温度大于3时,红灯长亮,报警器报警,控制设备(降温系统)启动,直到恢复设定值为止。当实时温度比设定温度小于1时,绿灯常亮,当实时温度比设定温度大于1且小于3时,绿灯闪烁,提醒人们温度的范围,经过LCD显示屏显示出来,及结束程序。见下图3-1。绿灯常亮温度判定红灯常亮LCD显示绿灯闪烁蜂鸣器报警自动检测温度采集LCD初始化蜂鸣器鸣叫系统开始程序结束 T>3T<1 1<T<3 图3-1温度监测系统流程图第三部分 设计成果1仿真结果运行图如图3-1所示,我们建立了一个以单片机,温度传感器,LCD显示屏,A/D转换器,按键设置温度值,及报警器为一个整体来监测温室大棚内的温度变化,实现自控控制及智能监测。图3-1 整体仿真电路图2程序清单 DQ BIT P3.7 ; 1 wire line (p3.7引脚接DS18B20 并置位) swpH equ 0d2H (等值伪指令赋值高温与低温) swpL equ 0ffH WDLSB DATA 30H ; WDMSB DATA 31H ;* ORG 0000H (设置目标程序起始地址) LJMP MAIN ORG 000BH LJMP TMR0 ; Timer0 isr*(T0中断服务循环)TMR0: MOV TH0,#swpH MOV TL0,#swpL JB 21H,DSL MOV P0,42H ORL P0,#00100000B SJMP EXITDSL: MOV P0,43H ORL P0,#00010000BEXIT: CPL 21H RETI(主程序)MAIN: TOINIT: CLR EA MOV TMOD,#01H (定时计数器T0初始化) MOV TH0,#swpH MOV TL0,#swpL SETB EA SETB ET0 SETB TR0* MOV R2,#2 MOV R0,#42H ;OVER: MOV R0,#00H; INC R0 DJNZ R2,OVER (循环判断) LOOP: LCALL DSWD ; (调用子程序从DS18B20中读取温度) SJMP LOOP;*(从DS18B20中读温度)DSWD: LCALL RSTSNR ; Init of the DS18B20 JNB F0,KEND MOV R0,#0CCH LCALL SEND_BYTE MOV R0,#44H LCALL SEND_BYTE ; Send a Convert Command SETB EA MOV 48H,#1 SS2: MOV 49H,#255SS1: MOV 4AH,#255SS0: DJNZ 4AH,SS0 DJNZ 49H,SS1 DJNZ 48H,SS2 CLR EA LCALL RSTSNR JNB F0,KEND MOV R0,#0CCH LCALL SEND_BYTE MOV R0,#0BEH LCALL SEND_BYTE ; Send Read Scratchpad command LCALL READ_BYTE ; Read the low byte from scratchpad MOV WDLSB,A ; 保留低温 LCALL READ_BYTE ; Read the high byte from scratchpad MOV WDMSB,A ; 保留高温 LCALL TRANS12KEND: SETB EA RET;*;TRANS12: MOV A,30H ANL A,#0F0H MOV 3AH,A MOV A,31H ANL A,#0FH ORL A,3AH SWAP A MOV B,#10 DIV AB ;MOV 42H,A MOV 43H,B ; MOV b,#10 DIV ab MOV 42H,B MOV 41H,A RET;*; Send a byte to the 1 wire lineSEND_BYTE: ; MOV A,R0 MOV R5,#8SEN3: CLR C RRC A JC SEN1 LCALL WRITE_0 SJMP SEN2SEN1: LCALL WRITE_1SEN2: DJNZ R5,SEN3 ; RET;*; Read a byte from the 1 wire lineREAD_BYTE: MOV R5,#8READ1: LCALL READ RRC A DJNZ R5,READ1 ; MOV R0,A RET;*; Reset 1 wire lineRSTSNR: SETB DQ NOP NOP CLR DQ MOV R6,#250 ; DJNZ R6,$ MOV R6,#50 DJNZ R6,$ SETB DQ ; MOV R6,#15 DJNZ R6,$ CALL CHCK ; MOV R6,#60 DJNZ R6,$ SETB DQ RET;*(低温子程序)CHCK: MOV C,DQ JC RST0 SETB F0 ; SJMP CHCK0RST0: CLR F0 ;CHCK0: RET;*WRITE_0: CLR DQ MOV R6,#30 DJNZ R6,$ SETB DQ RET;*WRITE_1: CLR DQ NOP NOP NOP NOP NOP SETB DQ MOV R6,#30 DJNZ R6,$ RET;*READ: SETB DQ ; NOP NOP CLR DQ NOP NOP SETB DQ ; NOP NOP NOP NOP NOP NOP NOP MOV C,DQ MOV R6,#23 DJNZ R6,$ RET;*DELAY10: MOV R4,#20 (动态显示用于延时)D2: MOV R5,#30 DJNZ R5,$ DJNZ R4,D2 RET end第四部分 结论本设计综合利用单片机技术、传感器技术、数字电子技术和LCD显示等科学知识,完成了基于单片机控制的温湿度测量和显示报警等的设计。比较系统地介绍了硬件的组成及设计方法。利用单片机C语言完成了系统软件的设计。本设计特点如下: 1. 把传感器技术应用到单片机控制系统中,实现了对环境温湿度的数据采集、读取等。 2. 利用LCD液晶的显示技术完成了环境温度、湿度及显示电路的设计。 3. 外接了蜂鸣器报警模块,在超过设定温湿度上下限时自动报警。 4. 整个系统软硬件搭配合理,设计、开发、维护方便,性价比高。 由于单片机经济实用、开发简便,因而在工业控制、农业自动化、家电智能化等领域也占据了广泛的市场。本设计有一定的实用性,但该系统在设计过程中仍有很多漏洞。还需要在智能化方面加以改进。不过,该产品有很好的可扩展性能,比如,该设备的测量结果不仅能在本地显示,而且可以利用单片机的串行口和RS-232总线通信协议将采集的数据传送到主控机,以进行进一步的存档、处理。主控机负责控制指令的发送,以控制各个从机的温湿度采集,收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储。主控机与从机之间也能够相互联系、相互协调,从而达到系统整体统一、和谐的效果。 第五部分 致谢三年的大学生活即将结束,在这里几年我学到了很多东西。首先,向湖南生物机电职业技术学院学院机械及自动化系的各位老师表示感谢。你们不只传授了我知识,而且告诉了我很多为人处世的道理,这些道理将对我以后的人起到很好的指导作用。通过对温室大棚系统设计的学习,在学习与设计过程中,了解所设计工程的工艺流程,从而完成了对自动门系统的软件设计,同时,对于温室大棚系统设计硬件,也知道了一些周边技术,扩充了知识面,增强对工艺的理解。本文的构思、规划设计撰写得到了老师的悉心指导,在论文设计时给予热心的指导以帮助,他学识渊博、敏锐的学术洞察力、认真的工作态度和严谨的治学作风、平易近人的为人风格给予我深刻的印象,使我受益匪浅,在此表示诚挚的谢意。值此论文完成之际,谨向所有曾为我帮助和指导老师、同学和朋友们致以中心感谢!第六部分 参考文献 1 林国汉基于单片机的温度控制系统设计J微计算机信息,2009(25):21-242 易顺明基于单片机的大棚温湿度控制系统设计J现代电子技术,2011 (7):7-153 张毅刚单片机原理及应用M北京:高等教育出版社,2008,12-1064 孙育才MCS-51系列单片微型计算机及其应用(第四版)M南京:东南大学出版社,2004,56-58 5 秦曾煌电工学电子技术(第7版)M北京:高等教育出版社,2008,34-806 谭浩强C程序设计(第4版)M北京:清华大学出版社,2007,21-9523