毕业设计论文单片机土壤湿度的测控_第1页
毕业设计论文单片机土壤湿度的测控_第2页
毕业设计论文单片机土壤湿度的测控_第3页
毕业设计论文单片机土壤湿度的测控_第4页
毕业设计论文单片机土壤湿度的测控_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 单片机土壤湿度的测控第 1 章绪论1.1 国外灌溉自动化的发展情况国际上,以色列、日本、美国等一些国家已采用先进节水灌溉制度。由传统的充分灌溉向非充分灌溉发展,对灌区用水进行监测预报,实际动态管理。采用传感器来监测土壤的墒情和农作物的生长,实现现水管理的自动化。高效农业和精细农业要求我们必须提高水资源的利用率。在大规模的现代化农业生产过程中,自动控制土壤湿度不仅对作物生长具有重要意义,而且对充分合理利用有限的水资源,降低农业生产成本,改变农作物耕作的传统粗放模式,也具有深远的现实意义。本文介绍的土壤湿度单片机控制系统具有如下特点:基准土壤湿度范围(上、下限)可任意设置和显示。当实际土壤湿度在

2、基准土壤湿度值范围内或大于等于湿度值上限时,系统保持停止喷灌状态;当实际土壤湿度小于基准湿度下限时,保持喷灌状态,直到实际土壤湿度大于上限值时停止喷灌。其实用性、抗干扰能力和可靠性大大提高。湿度传感器采用石墨电极探头,不易腐蚀,寿命长,成本低。检测灵敏度高,迅速。 第 2 章控制系统硬件简介2.1 系统总介绍整个控制系统由 8051 单片机最小系统、传感器电路、模数 a/d 转换电路、基准湿度上下限值设置与显示电路和开关量输出喷灌控制电路等组成(见图 1) p2p1p3 p0 8051p34 位显示键盘停止、灌溉控制74ls373adc0809传感器电路2.2 8051 最小系统8051 最小

3、系统是整个系统的控制处理中心,主要完成基准湿度上下限的设置与显示、湿度检测过程中湿度值的采集、运算处理和输出控制等。它由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 有各种完善的中断源,用户

7、可方便地使用。32 adc0809 简介: 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 转换器、逐次逼近寄

8、存器、三态输出锁存器等其它一些电路组成。因此,adc0809 可处理 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转换结束时,此

9、端输出一个高电平(转换期间一直为低电平) 。 oe:数据输出允许信号,输入,高电平有效。当ad转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。clk:时钟脉冲输入端。要求时钟频率不高于640khz。 ref(+) 、ref(-):基准电压。 vcc:电源,单一5v。 gnd:地。 3.2.4 adc0809的工作过程:adc0809的工作过程是:首先输入3位地址,并使ale=1,将地址存入地址锁存器中。此地址经译码选通8路模拟输入之一到比较器。start上升沿将逐次逼近寄存器复位。下降沿启动 ad转换,之后eoc输出信号变低,指示转换正在进行。直到ad转换完成,eoc变为高电平

10、,指示ad转换结束,结果数据已存入锁存器,这个信号可用作中断申请。当oe输入高电平 时,输出三态门打开,转换结果的数字量输出到数据总线上。第 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

12、本身受到干扰,程序计数器 pc 因干扰而改变内容时,cpu 将不能按正常状态执行程序,从而引起混乱,产生所谓程序“跑飞”现象。为此可在软件上采取指令冗余、软件陷阱等技术以控制程序流向。(1)指令冗余当 cpu 受干扰后,会把操作数当指令码引起混乱。mcs51 指令系统,大多为单字节指令,最长不超过 3 字节。当程序弹飞到双字节和 3 字节指令上时,继续出错的机会较大,而当弹飞到单字节指令上时,程序将自动纳入轨道。因此在程序中对程序流向起决定作用指令之前插入 3 条空操作指令(如转移、子程序调用和对系统工作状态至关重要的指令),并将跳转指令冗余一次,以保证被正确执行。指令冗余技术可减少弹飞次数,

13、使程序很快纳入轨道。(2)软件陷阱当程序弹飞到非程序区(eprom 未使用区,数据区)时,冗余指令将无能为力。为此可设计软件陷阱,即在程序断裂点(无条件跳转指令、返回指令之后)和数据区末尾插入 nop nop ljmp 3 条指令。将空白区充满 ljmp 指令,强行将捕获的程序引向出错处理程序入口。出错处理程序的主要功能是实现系统恢复。因 ljmp 指令的操作码是 02h,故若把出错处理程序入口安排在 0202h,则可方便地利用开发系统中 debug 功能把大片程序空白区固化为 020202,从而大批陷阱处理完毕。4.2.3 软 件 系 统主要由主程序和一个检测控制子程序组成。 采用等待方式采

14、集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 0003

15、h ajmp intr0 org 0013h ajmp intr1star: setb it1 setb it0setb ea ;开中断setb ex1setb ex0 mov 38h,#200 ; 系统默认的土壤湿度初始基准上限值mov 39h,#70 ; 系统默认的土壤湿度初始基准下限值xhuan: acall zh ; 调用转换程序 acall xianshi ;调用显示程序acall caiji ;调用数据采集程序jmp xhuanxianshi:mov r0,#40h ;显示40h-43h缓冲区的内容 mov a,#0ffh 灭led mov p1,a mov a,r0 add a,

16、#53 ;对a进行地址修正 movc a,a+pc ;查表 mov p1,a ;输出字型控制码 mov c,#0h mov p3.0,c ; 输出位控制码,p3.0,p3.1,p3.4,p3.5分别对应输出低位,高位;低位.高位的位控制字 acall delay ;延时一定时间 cpl p3.0 ;灭 inc r0 mov a,r0 add a,#38 ; 对a进行地址修正 movc a,a+pc mov p1,a ;输出下一个字形码 mov c,#0h mov p3.1,c acall delay cpl p3.1 inc r0 mov a,r0 add a,#26 ; 对a进行地址修正 m

17、ovc a,a+pc mov p1,a mov c,#0h mov p3.4,c acall delay cpl p3.4 inc r0 mov a,r0 add a,#11 ; 对a进行地址修正 movc a,a+pc mov p1,a mov c,#0h mov p3.5,c acall delay cpl p3.5 ret dtab: db 3fh,06h,5bh,4fh,66h,db 6dh,7dh,07h,7fh,6fh 标度转换:把按键输入的存储在38h和39h单元的二进制值转换成bcd形式的温度值,然后存放到显示缓冲区40-43h中,对于一般线性转换有以下公式: ax=ao+(a

18、m-ao)(nx-no)/(nm-no) 其中ao为测量仪表的显示下限,am为上限;ax为实际测量值;no为仪表显示下限所对应的数字量;nm为仪表显示上限所对应的数字量;nx为测量所得数,由于本系统的上限设置和下限设置的显示系统都是用2位led显示的,所以显示范围为0-99,即ao=0,am=99;;又由于8031内部的存储器为8位的,所以对应的数字量no=00h=0,nm=ffh=255; 最后所得公式为:ax=99*nx/255 也就是:ax=63h*nx/ffh转换程序: zh: mov a,#0ffh mov b,a mov r0,#38h mov r1,#46hdd: mov a,r

19、0 div ab ;本系统不要求很精确,所以b中的余数不作理 mov r1,a mov a,#63h mov b,a mov a,r1 mul ab mov r1,a inc r0 inc r1 nop nop cjne r0,#39h,dd ;未转换完继续 把46h和47h单元的数据转换成bcd码(经上述转换后,不会出现百位bcd码,即用两位即可显示完)mov r0,#40hmov r1,#46hmov a,#64hmov b,aee: mov a,r1 div ab mov r3,a mov a,b nov r0,a inc r0 mov a,r3 mov r0,a inc r1 inc

20、r0 nop nop cjne r1,#47,ee ;未转换完继续 retb、数据采集程序 采集 8 点温度值存入内部 ram 中实际湿度值大于上限值的点数大于 5?实际湿度值小于下限值的点数大于 5?灌溉停止灌溉湿度检测控制程序框图如上图所示。单片机对传感器送来的8路湿度值进行采样,并存入单片机的内部30h-37h ram单元;将采集到的8个湿度值分别与基准湿度上下限值进行比较,8个返回湿度值中若有6个或6个以上的值大于上限值,单片机发出控制信号,停止喷灌;直至8个湿度值中有6个或6个以上的值小于下限值,单片机发出控制信号,进行喷灌;再至单片机检测到的8个湿度值中有6个或6个以上的值大于上限

21、值时才停止喷灌。采集8路数据,存储到内部30h-37h单元中caiji: mov r0,#30h mov r2,#08h mov r1,#00h ;第一通道地址(第2通道地址为01h, 第3通道地址为02h第4通道地址为03h第8通道地址为07h)送r1 ad: movx r1,a ;启动转换 acall dl10ms ;延时10ms等待转换完成movx a,r1 mov r0,a inc r1 inc r0 nop nop djnz r2,ad ;采集到8路数据未?未则转bijiao:mov r0,#30h ; 比较 mov r2,#07h mov a,38h subb a,r0 jc ji

22、ayi1 aa: mov a,39h subb a,r0 jnc jiayi2 clr c inc r0 nop nop bb: djnz r2,bijao ,8个数据比较完未?未就继续 mov a,44h subb a,#05h jnc tingzhi mov 44h,#00h clr c mov a,45h subb a,#05h nop nop jnc guabgai clr c mov 45h,#00h rettingzhi: mov c,#0h ;输出停止信号 mov p2.0,c mov 44h,#00h ljmp star guangai: mov c,#1h ;输出灌溉信号 m

23、ov p2.0,c mov 45h,#00h ljmp stardelay: mov r7,#03h delay1: mov r6,#0ffh delay2: djnz r6, delay2djnz r7, delay1retjiayi1: inc 44h clr c jmp aajiayi2: inc 45h jmp bb dl10ms: mov r3,#0ahdl2: mov r4,#7dhdl1: nop nop djnz r4,dl1 djnz r3,dl2 ret中断服务程序:(利用两个中断源处理两个按键, p3.2接上限设置按键,p3.3接下限设置按键) intr0:jnb p3.

24、2,$ ;按键未提起等待 inc 38h 38h单元加1(00h到ffh循环) acall zh ;调用转换程序 acall xianshi ;调用显示程序 retiintr1:jnb p3.3,$ inc 39h acall zh acall xianshi reti end 4.3 软件硬件结合调试4.3.1 基本检测:先用万用表等工具检查试验样机联线正确对否,然后检查硬件电路的地址总线、数据总线和控制总线是否有短路、开路或错位现象;如有则立刻改正.电路检查完成后,在不插入集成电路芯片的情况下加电检查,确定一些关键点的电位是否正常。加电后,不可拔插任何集成电路芯片。4.3.2 高级检测:用

25、单片机仿真开发装置来调试,排错。具体的方法有单步运行、断点运行、跟踪运行、全速运行等,在此不详细介绍。总结经过几个月的时间,毕业设计就要结束了,也意味着离离开学校的时间更近了,多少有点唏嘘。因为从此就要离开曾经一起生活了几年的同学,踏入社会了。但无论怎么样,从这做毕业设计的几个月中,确实使我学到了很多丰富了课本的知识也增强了动手能力。就拿单片机的纠错技术来说吧,8051 指令系统能被正确地执行是系统正常工作的前提,为此可以设计一段涉及各种指令的测试程序,判断其运行结果是否正确,以排除 cpu 失灵的可能性。可以编一段程序,向 ram 区依次进行写入读出操作,比较读出与写入内容是否相同来判断写入的内容有没有错。对于 eprom 的诊断,当固化目标程序的 eprom 在使用时间长,窗口密封不好等情况下,可能出现个别零星单元

温馨提示

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

评论

0/150

提交评论