《毕业设计论文单片机土壤湿度的测控》由会员分享,可在线阅读,更多相关《毕业设计论文单片机土壤湿度的测控(16页珍藏版)》请在金锄头文库上搜索。
1、咔嚓大学本科生毕业论文 单片机土壤湿度的测控第 1 章 绪论1.1 国外灌溉自动化的发展情况国际上,以色列、日本、美国等一些国家已采用先进节水灌溉制度。由传统的充分灌溉向非充分灌溉发展,对灌区用水进行监测预报,实际动态管理。采用传感器来监测土壤的墒情和农作物的生长,实现现水管理的自动化。高效农业和精细农业要求我们必须提高水资源的利用率。在大规模的现代化农业生产过程中,自动控制土壤湿度不仅对作物生长具有重要意义,而且对充分合理利用有限的水资源,降低农业生产成本,改变农作物耕作的传统粗放模式,也具有深远的现实意义。本文介绍的土壤湿度单片机控制系统具有如下特点:基准土壤湿度范围(上、下限)可任意设置
2、和显示。当实际土壤湿度在基准土壤湿度值范围内或大于等于湿度值上限时,系统保持停止喷灌状态;当实际土壤湿度小于基准湿度下限时,保持喷灌状态,直到实际土壤湿度大于上限值时停止喷灌。其实用性、抗干扰能力和可靠性大大提高。湿度传感器采用石墨电极探头,不易腐蚀,寿命长,成本低。检测灵敏度高,迅速。 第 2 章 控制系统硬件简介2.1 系统总介绍整个控制系统由8051单片机最小系统、传感器电路、模数A/D转换电路、基准湿度上下限值设置与显示电路和开关量输出喷灌控制电路等组成(见图1) P2P1P3 P0 8051P34位显示键盘停止、灌溉控制74LS373ADC0809传感器电路2.2 8051最小系统8
3、051 最小系统是整个系统的控制处理中心,主要完成基准湿度上下限的设置与显示、湿度检测过程中湿度值的采集、运算处理和输出控制等。它由8051单片机、锁存器74LS373和ADC0809组成。23 湿度传感器电路它将土壤湿度的非电量值变成能反映湿度大小的电信号值,并将此电信号变换成A/D转换器能处理的0-5V模拟电压信号。对它的要求是输出的电信号能正确反映湿度值的大小,传感器工作寿命长,稳定性和线性良好。湿度传感器采用一对石墨电极探头,电极探头之间的电压与土壤湿度的关系一一对应,土壤湿度不同,电极探头输出的电压也不同,这种关系能很好地反映出来。湿度传感器的基本原理结构是这样的:两个金属电极分别安
4、装在一个绝缘的物体上,而且两个金属电极伸出来,互相不连通,把湿度传感器插入地下深处后,两个金属电极就和大地相连通,大地做导体,所以,当大地的湿度很大时,既水分很多,那么大地的电阻就会很少;而当大地的湿度很低时,由于这时候土地的水分含量少,所以呈现的电阻就很大,这样,在湿度传感器的两端接上一个电源,外面再设计一些电路,就可以把土壤湿度的大少用电压或者电流来表示出来。这样就实现了非电量到电量的转换。然后就再经过运算放大电路把电压或者电流放大,送到A/D转换器转换成单片机能直接处理的数据,这样就可以交给电脑来运算处理了。24 A/D模数转换电路它将湿度传感器送来的。5V模拟电压信号转换为能被计算机接
5、收处理的数字信号。对模数转换电路的要求是转换线性和精度良好。A/D模数转换电路采用ADC0809,它可实现8路转换,满足湿度多点检测的需求。 2.5基准湿度上下限设置与显示电路这部分电路通过单片机P3口的两个外部中断引脚外接的2个独立式按键完成基准湿度上下限值的设置,湿度设置基准值的大小通过单片机P1口外接的4只LED数码管显示器显示。2.6 开关输出控制喷灌电路单片机将采集到的湿度数字量与预先设置的基准湿度上下限值进行运算比较处理后,从P2.0端口输出驱动电磁伐,从而打开电磁阀进行喷灌控制。第 3 章 所用主要芯片介绍3.1 8051简介:3.1.1. 8051是MCS-51系列单片机中的最
6、具代表产品,是美国英特尔公司的8位高档单片机系列 ,也是我国目前应用最为广泛的一种单片机系列.其引脚排列如下图:3.1.2. 8051内部包括8位中央处理器,4KbROM,硬件乘除法器、21个专用控制寄存器、128字节的数据存储器、4组8位的并行口、两个16位的可编程定时/计数器、一个全双工的串行口以及布尔处理器。MCS-51的地址线为16条,可寻址范围为64kB。3.1.3 MCS-51采用的是复杂指令系统计算机技术,最大的特点是指令丰富,可以灵活编程,适合用在复杂的控制领域. MCS-51单片机的工作频率为2-12MHz。8051有各种完善的中断源,用户可方便地使用。32 ADC0809简
7、介: 3.2.1 主要特性1)8路8位AD转换器,即分辨率8位。 2)具有转换起停控制端。 3)转换时间为100s4)单个5V电源供电 5)模拟输入电压范围05V,不需零点和满刻度校准。 6)工作温度范围为-4085摄氏度 7)低功耗,约15mW。 3.2.2 内部结构 ADC0809是CMOS单片型逐次逼近式AD转换器,内部结构下图所示:开关树型D/A定时和控制逐次逼近寄存器(SAR)8位锁存和三态门通道地址锁存和译码通道选择开关它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有
8、三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。3.2.3外部特性(引脚功能) ADC0809芯片有28条引脚,采用双列直插式封装,如图13.23所示。下面说明各引脚功能。IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中。ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动信号,输入,高电平有效。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个
9、高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。 3.2.4 ADC0809的工作过程:ADC0809的工作过程是:首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。START上升沿将逐次逼近寄存器复位。下降沿启动 AD转换,之后EOC输出信号变低,指示转换正在进行。直到AD转换完成,EOC变为高电平,指示AD转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当OE输入高电平 时,输出三态门打开,转换结果的数字量
10、输出到数据总线上。第 4 章 系统软硬件设计4.1系统的硬件设计由于本设计采用的是8051单片机,其内部已经集成有4K的程序存储单元,还有128字节的RAM,所以不需要外扩ROM。除此之外,还有要配置键盘和LED显示和A/D转换器。在对应用系统外围电路进行扩展时,应尽可能选择典型电路以及要软硬件综合考虑。为降低线路压降,使系统工作电压不致太高,各种引线尽可能地短,整个控制系统一般置于室外被控制的地面上,因此周围环境温度变化大,灰尘多,还有无法预测的各种干扰,如电网的电压波动、雷电、接触器的火花等。因此,除了正确设计软件、硬件外,还在线路工艺、电源和输出控制等方面采取了抗干扰措施。电源经低通滤波
11、器,降压稳压后给系统供电;系统机箱浮空接地,屏蔽起来;输出控制采用继电器隔离。4.2 系统的软件设计4.2.1 软件程序设计在进行软件的开发时,应注意采用下列原则:1)软件在结构上应清晰、简洁、流程合理,采用模块化设计,通俗易懂,便于以后维护。2)程序存储区、数据存储区应合理规划,做到既节约内存容量,又方便操作。3)必需软件抗干扰措施,以提高系统的可靠性。 4)如有必要可增加加密措施,以保护自身的合法的知识产权权利4. 2.2软件的抗干扰措施:当CPU本身受到干扰,程序计数器PC因干扰而改变内容时,CPU将不能按正常状态执行程序,从而引起混乱,产生所谓程序“跑飞”现象。为此可在软件上采取指令冗
12、余、软件陷阱等技术以控制程序流向。(1)指令冗余当CPU受干扰后,会把操作数当指令码引起混乱。MCS51指令系统,大多为单字节指令,最长不超过3字节。当程序弹飞到双字节和3字节指令上时,继续出错的机会较大,而当弹飞到单字节指令上时,程序将自动纳入轨道。因此在程序中对程序流向起决定作用指令之前插入3条空操作指令(如转移、子程序调用和对系统工作状态至关重要的指令),并将跳转指令冗余一次,以保证被正确执行。指令冗余技术可减少弹飞次数,使程序很快纳入轨道。(2)软件陷阱当程序弹飞到非程序区(EPROM未使用区,数据区)时,冗余指令将无能为力。为此可设计软件陷阱,即在程序断裂点(无条件跳转指令、返回指令
13、之后)和数据区末尾插入NOP NOP LJMP 3条指令。将空白区充满LJMP指令,强行将捕获的程序引向出错处理程序入口。出错处理程序的主要功能是实现系统恢复。因LJMP指令的操作码是02H,故若把出错处理程序入口安排在0202H,则可方便地利用开发系统中Debug功能把大片程序空白区固化为020202,从而大批陷阱处理完毕。4.2.3 软 件 系 统主要由主程序和一个检测控制子程序组成。 采用等待方式采集8路数据,存储到内部30H-37H单元中 38H存储按键上限 39H存储按键下限 38H的数据经标度转换后存到46H 39H的数据经标度转换后存到47H 46H的数据转换成BCD码后存储在40H和41H中待输出显示 47H的数据转换成BCD码后存储在42H和43H中待输出显示 44H存大于上限的个数 45H存小于下限的个数A. 主程序流程图以及程序调用显示程序调用数据采集程序调用转换程序开始 主程序框图如图2所示。系统上电后,先调用转换程序,包括表度转换和BCD码转换,然后调用显示程序, 接下来调用数据采集程序,之后循环重复上述过程. ORG 0000H SJMP STAR ORG 0003H AJMP INTR0 ORG 0013H AJMP INTR1STAR: SETB IT1 SETB IT0SETB EA ;开中断SETB EX1SETB EX0 M