土壤湿度控制系统_第1页
土壤湿度控制系统_第2页
土壤湿度控制系统_第3页
土壤湿度控制系统_第4页
土壤湿度控制系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、摘要土壤的含水量会极大地影响作物的产量和大部分植物的生长。因此,土壤的湿度对于灌溉计划的安排,水和溶质流的评估以及潜在太阳辐射和显热的划分非常重要。本课题设计的对土壤水分的控制系统,可以用于土壤水分的检测,土壤水分控制以及报警。土壤湿度控制系统是用单片机、湿度传感器、模数转换器、显示器、电源、报警器,等构建的。单片机是本系统的控制中枢,湿度传感器通常都是电阻传感器,它的电阻可以随着土壤湿度的变化而变化,使得不同的电压被晶体管放大并进行单片机的处理,然后能够在显示器上显现出来,并且进行控制。如果我们测量的真正的湿度小于设定的湿度时,蜂鸣器和LED能够发出声音和闪光来报警。并且这时候控制继电器可以

2、给土壤浇水。操作人员可以通过按下按钮设置湿度报警值,这个报警值可以连续添加的或者减少。 关键字:STC89C52单片机,土壤湿度检测,AD转换 ABSTRACTThe water content of soil will greatly affect the yield of crops and the growth of most plants. Therefore, soil humidity is very important for the arrangement of irrigation plans, the assessment of water and solute flows

3、, and the division of potential solar radiation and sensible heat. The soil moisture control system designed in this topic can be used for soil moisture detection, soil moisture control and alarm. The soil humidity control system is constructed with single chip microcomputer, humidity sensor, analog

4、-to-digital converter, display, power supply, alarm, etc. MCU is the control center of the system. Humidity sensors are usually resistance sensors. Its resistance can change with the change of soil humidity, so that different voltages are amplified by transistors and processed by MCU, and then can b

5、e displayed on the display and controlled. If the real humidity we measure is less than the set humidity, the buzzer and LED can sound and flash to alarm. And then the control relay can water the soil. The operator can set the humidity alarm value by pressing the button, and this alarm value can be

6、continuously added or decreased. Key words: STC89C52 singlechip, soil moisture detection, AD conversion 30摘要IIABSTRACTIII1、绪论31.1课题的背景31.2 土壤湿度检测的原理41.2.1土壤湿度基本设计原理41.2.2土壤湿度电路设计42、总体方案设计43、系统方案比较、设计与论证53.1主控制器模块选择53.2按键的选择63.3显示模块的选择63.4电源选取64、芯片资料简介74.1模数转换器ADC083274.2LCD1602液晶显示模块94.2.1LCD1602的特性

7、及使用说明94.3 STC89C52单片机的简介124.3.1 STC89C52单片机主要特性135、硬件实现及单元电路设计165.1主控制模块165.2显示模块电路175.3报警模块的设计185.4继电器控制电路185.5湿度AD采集电路195.6按键模块的设计195.7电源部分的设计206、系统软件设计206.1程序结构分析206.2系统程序流图217、系统的安装与调试237.1安装步骤237.2电路的调试23结论23致谢24参考文献24附录1整体电路原理图25附录2元器件清单25附录3部分源程序261、绪论1.1课题的背景湿度是可以表示大气里水汽含量的物理量。也就是说,在一定温度下固定体

8、积内的空气中含有的水气越少,空气越干燥;水气越多,空气就越湿润。人们对湿度测量的技术已经探索了二百余年了,先辈们很早就发现人的头发可以根据空气湿度的变化而拉长或缩短,毛发湿度计就是由此产生的。然而,人们对湿度传感器中湿度传感器的理解始于1938年由F.W. Dunnore成功开发浸涂氯化锂湿度传感器。土壤湿度代表了土壤在一定深度中的干燥和湿润的程度。土壤湿度也叫做土壤含水量。农田水分平衡的各个组成部分控制这了土壤的含水量。土壤的湿度控制着对植物的供水情况。如果土壤水分太少,土壤会十分干燥,植物就不能很好的进行光合作用,作物的产量和质量就会下降,太厉害的缺水甚至会使植物干渴而死。如果土壤的水分太

9、多,土壤通气能力会降低化,也会不利于植物土地下的根的生命活动,进一步影响到植物地上部分的健康生长,导致各种疾病和状况的发生。土壤湿度也会对农田的耕作方式和种植的质量产生影响,还会影响土壤的温度情况。农业生产在中国经济发展中发挥着重要作用。为农业生产提供及时可靠的技术服务是对气象部门的必须的要求。我国的各级政府部门越来越重视农业的生产,不少科研机构也进行了许多农业服务和增加农民收入方面的探索。普遍的研究了农业生产过程中存在的种种困难。调查显示,园艺栽培、温室花卉、温室蔬菜等一些有贵重的品种对土壤水分的要求极高,如果土壤水分不正常,这种植物不仅不能健康的生产,严重的时候会直接死亡,给种植者带来极大

10、的损失。就算是为了这个,在进行这种农业生产的人们也特别想要一种价格低、占据空间小而且安全准确的土壤水分检测仪,确保农业生产的浇灌进程顺利进行。1.2 土壤湿度检测的原理1.2.1土壤湿度基本设计原理因为土壤里有着不少的矿物离子,通常土壤里的水中就有着不少这种离子。假如把两个电极插入土壤中,则电极可以通过这些离子导电。对土壤水分含量的测量可以用测量两个电极之间的电阻来进行。因为两级之间的电阻与电压成正比例,因此可以通过计算两级电压来计算土壤中的水分含量。在测量电压之前,传感器可以获得模拟电压信号,而且这些信号只有转换成数字的信号,才能用单片机进行处理。1.2.2电路设计本系统使用NPN型S901

11、4三极管放大器电路。我们知道,把两个电极插入土壤中,两极可以通过这些离子来进行通电。土壤水分的含量就是通过测量两个电极之间的电阻来测量的,因为两级之间的电阻与电压成正比。三极管的基本电流的变化会随着湿度的变化而改变。由三极管放大的电压的电阻电压被发送到MCU,用于通过A/D转换处理显示和控制。图2-1土壤湿度检测电路图2、总体的方案设计本项目设计的土壤水分控制系统是由STC89C52单片机最小系统,土壤水分传感器,ADC模数转换器模块,LCD1602液晶模块,电源模块,蜂鸣器报警模块,土壤湿度控制模块和按钮模块构建的。土壤湿度传感器是一种电阻式传感器,它的电阻可以随着土壤湿度的变化而变化,可以

12、把电压放大并发送到模数转换器的通道上,并且土壤湿度传感器信号的放大电压由ADC0832收集。如果测量的真正的湿度小于我们设定的湿度,蜂鸣器和LED会发出声音和光照报警。并且这时候控制继电器会对土壤进行浇灌。按下按钮可以设定湿度报警值。系统总体框图如图3-1所示:电源部分按键模块AD模块单片机STC89C52液晶显示报警模块控制模块土壤湿度传感器3-1总体结构框图3、系统方案的选择3.1主控制器模块选择方案1:使用可编程逻辑器件CPLD当控制器。 CPLD能够进行各很多庞杂的逻辑功能,它的规模通常比较大、密度一般会很高、并且尺寸小、高稳定性、丰富的IO资源已经容易进行扩展的功能非常核算。使用并行

13、输入输出方法使系统的处理速度大大增加,做规模控制系统的控制核心的话是不错的。然而繁杂的逻辑功能对该系统来说不是必要的,对数据的处理速度需求也不大。所以我从实用和价格的方面抛弃了这个选项。方案2:STC89C52单片机可以当做整个系统的关键部位,可以进行对水温的测量和控制系统的控制,来达到我们本来想要的功能标准。全面分析本项目要设计的系统,重点是进行对水温的自动控制,在这种时候,单片机的优点就十分明显了,它的控制简单、方便而且快捷。这样做的话,MCU就能够极大的利用它充足的资源,相对强大的控制功能和代码位寻址操作功能,并且更重要的是它的价格不高。STC89C52 MCU具有强大的位操作指令,I/

14、O端口可以进行位寻址,程序空间高是足够的。更有价值的是它非常便宜。3.2按键的选择方案: 使用矩阵键盘,进行矩阵扫描。好处是如果存在更多按钮时,可以减少占用单个芯片的I/O端口的数量。不足之处是这种电路的设计十分繁杂并且很难编写。方案二: 使用单独的按钮电路,所有的按钮分别使用着不同的I/O接口线,不同的I/O端口的工作状态是不相通的。进行直接扫描,不足之处是当按钮不止一个时,单片机的I/O端口数量很大,好处是是电路的构造容易,编写系统是比较容易的。从整体研究这两个方案和主题的需求,我选择第二种方案。3.3显示模块的选择方案一:使用静态的显示方式,但是静态显示模块的硬件设计构建起来更庞杂并且消

15、耗大量的电力,并且还要使用很多的移位寄存器,但是端口未被使用,用两条串行线输出就可以了。方案二:使用动态的显示方式,动态显示模块的硬件设计构建容易,分段扫描和位扫描分别使用一个端口,一共只要使用单片机的14个端口。并且这种方式消耗的电力小,硬件成本低,占据空间小。方案三:该方式的硬件设计构建十分方便容易,与单片机能够直接连接,显示的容量多,消耗电力少,价格低,能够显示32个字符,但是亮度有点不足。对上述三种方法进行对比:方案1的硬件庞杂,消耗电力太多;方案2的硬件构造容易,消耗电力低;方案3硬件构建容易,能够显示的内容比较大,消耗的电力低,成本低。该系统的设计需要小消耗的电力,小尺寸,低成本,

16、多显示信息等,所以我使用方案3。4、芯片资料简介4.1模数转换器ADC0832ADC0832是8位分辨率双通道A/D转换器芯片,是美国国家半导体公司的商品。因为其占用空间,兼容性高,价格便宜性能好,因此受到MCU爱好者的推荐和各种企业的欢迎,在世界各地都可以看到它的使用。学习和使用ADC0832能够让我们能够理解A/D转换器的理论,并且能够提高我们的微控制器技术能力。ADC0832 具有以下特点: 有着高达8位的分辨率 具有双通道的A/D模拟转换 输入输出电平与TTL/CMOS可以兼容 5V电源供电的时候,输入电压一般保持在0到5V 工作频率为250KHZ,转换时间为32S 一般消耗的电力仅为

17、15mW 商用的芯片温度为0C +70C,工业的芯片温度为-40C +85C 芯片的顶视图是:图1芯片接口说明: CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或者可以当做IN+/-使用。 CH1 模拟输入通道1,或者可以当做IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压的输入。ADC0832 与单片机的接口电路:ADC0832是一款8位分辨率A/D转换器芯片,最高分辨率为256级,能够满足通常的模拟转换的需求。内部电源输入和参考电压的复用,让芯

18、片的模拟电压输入在0到5V之间。芯片转换时间只需要32S。根据双数据输出,可以当做数据检查的依据,减少数据产生的错误,转换的速度快,稳定性很强。独立的芯片使能输入使多器件安装和处理器控制更加方便。通过DI数据输入可以轻松实现通道功能选择。 图3可以当做单通道模拟信号输入时ADC0832的输入电压是05V且8位分辨率时的电压精度为19.53mV。如果可以当做由IN+与IN-输入的输入时,可是将电压值设定在某一个较大范围之内,从而提高转换的宽度。但值得注意的是,在进行IN+与IN-的输入时,如果IN-的电压大于IN+的电压则转换后的数据结果始终为00H。 4.2LCD1602液晶显示模块4.2.1

19、LCD1602的特性及使用说明HJ1602A是一款工业字符LCD,可以在同一时间显示32个字符。在我们的一般经历中,可以经常看到液晶显示器。液晶显示模块常常被当作许多电子产品的通过装置,如电视机和不少的家用电子产品,在这种液晶显示屏上面,出现的通常是数字、图像以及一些专业的字符。在单片机的人机通信接口中,可以在发光管,LED数码管,液晶显示器上显示。我们经常使用的是发光管和LED数码管,因为他们的软件和硬件很容易做出来。单片机系统的液晶显示器优点有很多:因为液晶显示器的每个位在接收到信号后颜色和亮度并不会改变,因此它会不断的发光,这与阴极射线管显示器(CRT)不同,后者需要不断刷新新的亮点。所

20、以,液晶显示器具有高图像质量并且不会闪闪的。 液晶显示器均为数字显示,与单芯片系统的接口更简单,更可靠,操作相对便捷。 液晶显示器可以用电极来控制液晶分子的状态来显示我们想要的东西,并且它的重量传统的显示器要轻太多了。 和其他对比来说,液晶显示器的消耗的电力主要泳装在它内部的电极和驱动IC上,因此功耗远小于其他显示器。 字符型的液晶显示模块是特质的用来显示字母、数字、符号等的显示器。我们用1602字符型液晶显示器来说,介绍一些它的大体功能。通常的1602字符型液晶显示器实物下:图3-10 液晶屏正面 图3-11 液晶屏背面(1)引脚说明:第1脚:VCC为供电电源。 第2脚:VDD接5V正电源。

21、 第3脚:VO是LCD的对比度调节端,当它连接正电源时,对比度是最差的。当接地的时候,对比度最高。但是当对比度太高的话,就会发生“鬼影”的现象。我们在使用的时候,可以采用10K的电位器调节显示器此时过高的对比度。 第4脚:RS指的是是寄存器的选择,当高电平会选择数据寄存器时,低电平会选择指令寄存器。第5脚:R/W指的是读写信号线,其执行高电平的读操作和低电平的写操作。当RS和R/W一起为低电平时,可以写入命令或显示地址。当RS为低电平R/W为高电平的时候,我们能够读取信号。当RS为高电平R/W为低电平的时候,我们可以输入信号。 第6脚:E终端是启用终端。当E端从高电平变为低电平时,液晶模块会开

22、始执行输入的命令。第714脚:D0至D7是8位双向数据线。 第15脚:A端背光源正极。 第16脚:K端背光源负极。(2)1602LCD RAM地址映射和标准字体表LCD1602液晶模块内的字符生成存储器存储了160种不同的点阵字符图案,这些字符图有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,所以的不同的字符都有自己固定的代码,利润大写的英文字母“A”的代码是01000001B(41H),当显示模块时,显示地址41H中的点阵字符图形,我们就可以看到这个字母了。该液晶显示屏的读写、显示和鼠标的操作都是用指令编程来达成的(注释一下:1是高的电平,0是低的电平)。指令1:清显示,指令码0

23、1H,光标复位到地址00H位置。指令2:光标回到原来的位置,返回到00H的地方 。指令3:光标和显示的模式设置 I/D:光标移动方向,高电平右移,低电平左移 。S:屏幕上全部文字能不能进行左移或者右移。高电平表示它处于活动状态,低电平表示它无效。指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示。 C:进行光标打开和关闭的控制,高电平表示有光标,低电平表示没有光标。 B:控制光标能不能闪亮,高电平的时候会闪,低电平的时候并不会闪 。指令5:光标或显示移位 S/C:当显示的文本为高电平时移动显示的文本,并在光标为低电平时移动光标指令6:功能设置命令 DL:注意到

24、高电平的4位总线和低电平的8位总线。 N:低电平的时候单线的显示,高电平的时候双线的显示。 F:低电平的时候显示5X7的点阵字符,高电平的时候显示5x10的点阵字符 (有的模块是 DL:高电平的时候通常是8位总线,低电平的时候通常是4位总线)。指令7:字符发生器的RAM位置的建立 。指令8:DDRAM地址设置 。指令9:读取忙碌的信息和光标所在的位置。 BF是忙标志,高电平的时候表示忙。在这个时候,模块无法接收命令和各种数据。如果电平很低的话就是不忙,则表示模块可以接收这些命令和数值。指令10:写数据 。指令11:读数据 。液晶显示模块是慢速显示设备,因此在执行每条指令之前一定要保证看到模块的

25、忙标志是低电平的时候,这就表面它没有在忙,不然的话指令是没有效果的。要显示出想要的字符,第一个要输入的就是要显示的字符的地址,就是要告诉模块我们要显示字符的位置。1602 内部显示地址: 图3-12 1602内部显示地址4.3 STC89C52单片机的简介51系列微控制器最初由英特尔公司开发,但后来英特尔把系统的核心设计卖给了几家主要的电子设计制造商,如SST,Philip和Atmel。因此,市场上出现了各种各样的51芯单片机。这些主要电子制造商推出的微控制器兼容51指令,基于51扩展了一些功能,内部结构与51大体上是一样的。STC89C52具有40个引脚,4个8位并行I / O端口和1个全双

26、工异步串行端口。它还包含五个中断源,两个优先级和两个16位定时器/计数器。4K的程序存储器(掩膜ROM)和128B的数据存储器(RAM)组成了STC89C52的存储器系统。STC89C52单片机的基本组成框图:图3-1 STC89C52单片机结构图 4.3.1 STC89C52单片机主要特性1. 一个8 位的微处理器(CPU)。2.片上的数据存储器RAM(128B)用于存储可以读/写的数据,例如操作的中间结果,最终结果和要显示的数据。 SST89系列MCU提供高达1K的RAM。3. 片上程序存储器ROM(4KB),用于存储程序,许多原始的数据和图表。然而,有些微控制器内部没有ROM / EPR

27、OM,就像8031,8032,80C31这些。当前社会中,单片机就是不断的在向把RAM和ROM合成到单片机内部方向而努力进步,这种结果可以极大的方便用户进行设计,并且有效的改善了系统的抗干扰能力。SST企业设计的的89系列MCU分别集成了16K,32K和64K闪存,我们可以按照自己的需求选择使用。4. 存在着四个8位并行I/O接口,p0,p1,p2,p3,每个接口可用作输入或输出。5. 存在着两个定时器/计数器,所有的定时器/计数器都能够调整成用于计数外部事件的计数模式,还能够调整为定时的模式,并且可以基于计数或定时的结果实现对计算机的各种控制。为了让我们串行通信的设计更加容易,现在的所有的5

28、2系列微控制器都有着三个16位定时器/计数器。6. 存在着五个中断源的中断控制系统。并且当前的新的微控制器基本上有超过5个的中断源系统。例如,SST89E58RD有9个中断源。7. 全双工UART(通用异步接收发送器)的串行I / O端口,可以进行微控制器之间或单个单元与微型计算机之间的串行的交流。8. 存在这片内的振荡器和时钟发生电路,但是石英晶体和微调电容是要进行外部连接的。最大允许振荡的频率是12MHz。SST89V58RD的最大允许振荡频率为40MHz,所以这种方式使得指令执行速度极大的加快了。图3-2 STC89C52单片机管脚图部分引脚说明:1.时钟电路引脚XTAL1 和XTAL2

29、:XTAL2(18 脚):连接着外部的晶体和微调电容器的一个角落;在芯片上,它是振荡器电路的反相放大器的输出的端口,振荡器电路的频率指的是晶体本身确定的频率。当要用到外部的时钟电路的时候,这个引脚会进行外部时钟脉冲的输入。应该要插眼振荡器电路能不能进行平时的工作,请使用示波器检查XTAL2端子上能不能输出脉冲的信息。XTAL1(19 脚):连接外部的晶体和微调电容的另一个接口;在芯片上,它是振荡器电路的反相放大器的输入节点。使用外部时钟时,这个引脚一定要连接地面。2.控制信号引脚RST,ALE,PSEN 和EA:RST/VPD(9 脚):RST只打算是返回原位置的信号的输入端,在高电平的时候是

30、有用的。在这个输入节点保持备用电源的输入。在主电源Vcc 发生问题不能运行的时候,我们可以把它减小到低电平的固定的数值,这时候,把5V 电源自动两个机器周期(24个时钟振荡周期)的高电平时,我们现在就能够成功的做到返回原来的地址了。RST引脚的第二个用途是是VPD,它连接到RST的端口,给RAM准备备用的电源,来确保存入在RAM中的信息不会被丢失,进而可以在返回原来的位置后继续进行工作。ALE/PROG(30 脚):地址锁存器允许信号端子。在8051连上电运行的时候,ALE引脚连续输出正脉冲的信号,该信号是振荡器频率fOSC的六分之一。在CPU访问片外存储器的时候,ALE输出信号可用作控制信号

31、以锁存低8位的地址。当片外存储器未被正常访问时,ALE端子还以固定频率六分之一的振荡频率输出正脉冲,所以ALE信号可当成用来对外部输出时钟或定时的信号。譬如要知道8051/8031芯片的质量,我们可以使用示波器检查ALE端子是不是有脉冲信号输出,要是有脉冲信号输出的话,8051/8031应该就是没坏了。ALE端口的负载驱动能力是8个LS型的TTL(低消耗的电力甚高速TTL)的负载。这个引脚还有一个用处是,当使用片上4KB EPROM编程8751(固化程序)时,PROG可用作编程脉冲的输入端口。3.输入/输出端口P0/P1/P2/P3:P0口(P0.0P0.7,3932 脚):P0端口作为开漏8

32、位准双向I/O的端口,能够用作漏极开路输出端口,每个端口都能够驱动8个LS型TTL进行负载操作。在P0端口能够用作输入端口的时侯,它应首先将1写入所有的端口锁存器(地址80H)。在这个时候,P0端口的所有引脚都是浮动的,能够把它视为高阻抗输入。在使用输入端口时,必须先写1,这就是准双向端口的要求。当CPU访问片外存储器时,P0端口分频并为多路复用总线提供低8位地址和8位数据。此时,端口P0的内部上拉电阻是有效果的。P1口(P1.0P1.7,18 脚):P1端口是一个8位准双向I / O端口,带有一个内部上拉的电阻。 P1的每个端口都可以驱动4个LS型TTL负载。当P1端口可以用作输入端口时,它

33、应该首先将所有1写入P1端口锁存地址(90H)。此时,P1端口引脚被内部上拉电阻拉高。P2口(P2.0P2.7,2128 脚):端口P2是一个8位准双向I/O端口,带有一个内部上拉电阻。 P端口每位都可以驱动4个LS类型的TTL负载。当访问片外EPROM/RAM时,它输出一个高8位地址。P3口(P3.0P3.7,1017 脚) 端口3是一个8位准双向I/O端口,带有内部上拉电阻。 P3的每个端口可以驱动4个LS型TTL负载。P3端口与其他I/O端口非常不一样,每个引脚都有另一个用途:P3.0:(RXD)串行数据接收。P3.1:(RXD)串行数据发送。P3.2:(INT0#)外部中断0输入。P3

34、.3:(INT1#)外部中断1输入。P3.4:(T0)定时/计数器0的外部计数输入。P3.5:(T1)定时/计数器1的外部计数输入。P3.6:(WR#)外部数据存储器写选通。P3.7:(RD#)外部数据存储器读选通。5、硬件实现及单元电路设计5.1主控制模块 主控制的主控电路如图4所示。单片机的最小系统包括单片机,复位电路和时钟电路。STC89C52单片机的工作电压范围:4V-5.5V,所以一般情况下会给外部5V的直流电源。连接方法是单片机中的40引脚VCC连接到正5V,20引脚VSS连接到电源的地方。复位电路用于确定单片机的工作开始时间和结束的状态,进而开始进行单片机的启动进程。当MCU上电

35、时,它会产生一个复位信号,MCU开始确定MCU的初始工作状态。当MCU系统运行且程序运行时,由于外部环境的干扰,程序内部的程序重置按钮从头开始进行工作。一般情况下,外部按钮的上电和手动复位有自动返回原来的位置的功能。时钟电路工作后,当RESET端子连续输入2个机器周期的高位的电平时,MCU可以完成返回原来的位置的操作。该设计使用外部手动按钮复位电路,需要与上拉电阻连接以增加输出高电平的数值。 时钟电路就是微控制器的核心系统,它一直进行这对微控制器的运行进行控制。时钟电路是一个振荡的电路,它可以为微控制器提供一个正弦的波信号作为参考依据,进而确定微控制器的的执行速度。XTAL1和XTAL2分别是

36、反相放大器的输入和输出的端口,可配置为片上振荡器。如果使用外部时钟源来使器件运行,那么就不应该与XTAL2相连。因为一个机器周期包含6个状态周期,每个状态周期为2个振荡周期,因此在一个机器周期中有12个振荡周期。如果外部石英晶体振荡器的振荡频率为12MHz,那么一个振荡周期就是1/12us了。 图4 单片主控电路5.2显示模块电路 显示模块使用的是LCD1602液晶的显示屏,可以清晰地显示液晶上的字符和数字。 LCD的命令操作是RS,RW和EN连接到MCU的P14,P15和P16引脚。数据引脚D0到D7分别连接到单芯片的P0端口微型计算机。具体电路图如图5所示:图5液晶显示电路5.3报警模块的

37、设计在这种系统的设计中,报警电路可以用NPN型S8550三极管来驱动,极管的发射极结被正偏置,集电极结被反向偏置,并且三个或更多饱和度被打开。在这时候,发光二极管和蜂鸣器就可以发出报警的信息。当单片机的P13端口输出高电平时,三极管关闭,声光关闭,报警就会停止。详细的电路图如图6所示:图6蜂鸣器工作原理图5.4继电器控制电路 土壤湿度控制系统由继电器控制电机控制的,这个继电器是用来在合适的时机浇灌土壤的。它本身是用PNP型S8550三极管来进行运行的。当单个芯片的K输出为低电平的时候,三极管就会饱和并且和继电器线圈进行连接。继电器常开触点闭合并运行。电机为土壤进行浇灌。当MCU的K端口输出高电

38、平时,三极管就会关闭,此时继电器的线圈断电,继电器的常开触点关闭,进而机器就会停止运行。电路图如图7所示:图7继电器控制电路5.5湿度AD采集电路 土壤水分控制系统使用ADC0832收集土壤水分传感器信号的放大电压,然后用单片机分析显示液晶上的光强度。土壤湿度传感器是一种电阻传感器,它的电阻可以随着土壤湿度的变化而变化,因此不同的电压被晶体管S9014放大并连接到ADC0832模数转换器的通道1。具体电路如图8所示:图8湿度采集电路5.6按键模块的设计通过按下按钮可以设置土壤湿度控制系统的湿度报警参数。有加上一个参数的键,有减去一个参数的键。用这两个按钮可以改变报警值。具体电路图如图9所示:图

39、9按键模块电路图5.7电源部分的设计土壤湿度控制系统使用总共1.5V、1.5、1.5V干电池的电源。实验验证系统工作后,单片机和传感器的工作电压能够满足系统的要求,更换电池十分的方便。电源接口电路如图10所示。DC5V是电池接口,SW1是电源开关,R9是二极管限流电阻,POWER是电源指示灯,C4和C5是电源的滤波电容。图10电源接口电路6、系统软件设计6.1程序结构分析土壤湿度控制系统的软件设计采用模块化设计理念,将庞杂的软件设计划分为几个比较简单的部分来进行设计。由于本文做的是土壤湿度的测量,因此详细描述了土壤水分检测和显示部分的描述,并简单的介绍了其他模块。6.2系统程序流图当土壤湿度控

40、制系统通电时,STC89C52 MCU会自动返回原来的位置并开始运行程序。程序首先要对液晶1602进行初始化,然后读取EEPOM中的湿度报警设定值,通过ADC0832转换器收集土壤的湿度住址,然后在在液晶显示屏上输出实际的湿度。然后检查按钮参数是否被按下。如果按下,则将参数加1或减1,并将设置参数保存在EEPROM中。然后确定实际土壤水分和设置土壤水分进行比较,实际土壤水分是不是小于设定的土壤水分,如果小于设定的土壤水分,启动蜂鸣器和LED声光报警并驱动继电器灌溉。如果收到结束命令,它将返回上电显示并重新判断。具体工作的流程图如下图6-1:开始系统初始化(LCD1602)从52单片机内部EEP

41、ROM读出报警值从ADC0832中读出当前土壤湿度数据报警值与当前值比较,在设定值内减键是否按下关闭蜂鸣器、LED取消报警,同时断开浇水继电器把报警值减1,然后保存到52单片机内部EEPROM中把土壤湿度数据转化成字符格式调用LCD显示函数,把当前土壤湿度显示在屏幕上结束加键是否按下把报警值加1,然后保存到52单片机内部EEPROM中报警值与当前值比较,不在设定值内打开蜂鸣器、LED报警,同时浇水继电器吸合是是是是否图6-1土壤湿度流程图7、系统的安装与调试 7.1安装步骤1.检查元件根据电路图购买组件后,首先检查所购组件的质量,并根据每个组件的检测方法单独测试,所以要小心认真。此外,有必要仔

42、细检查原理图是否一致。在检查后,才可以连接焊件,以防止在错误焊接发生后的不方便改变。2.连接元件把元件放置在原理图的位置,下部元件在放置过程中放置和焊接,更高和更高的元件后焊接。特别是,易损坏的部件应后焊接。焊接集成芯片时,连续焊接时间不应超过10秒。注意芯片的安装方向。7.2电路的调试首先刻录LCD的显示程序,看看显示是不是正常的。要是没有顺利的检测到液晶LCD 1602的引脚焊接状况,就有考虑到是不是不存在焊接、短焊或误焊的现象了。在显示正常后,就可以在在程序中加入测试土壤湿度的程序,看看土壤水分含量是不是正常的,然后添加调试整台机器系统的按钮,试试能不能正常运行。调试程序的时候,延迟有时

43、候会太长或者太短。还有很多异常的现象,我分别解决掉了。结论土壤湿度控制系统是用单片机、湿度传感器、模数转换器、显示器、电源、报警器,等构建的。单片机是本系统的控制中枢,湿度传感器通常都是电阻传感器,它的电阻可以随着土壤湿度的变化而变化,使得不同的电压被晶体管放大并进行单片机的处理,然后能够在显示器上显现出来,并且进行控制。如果我们测量的真正的湿度小于设定的湿度时,蜂鸣器和LED能够发出声音和闪光来报警。并且这时候控制继电器可以给土壤浇水。操作人员可以通过按下按钮设置湿度报警值,这个报警值可以连续添加的或者减少。土壤湿度控制系统使用了单片机STC89C52用作系统的控制核心,极大程度的地利用率它

44、的各种资源。它不仅体现了单片机最小系统应用的灵活性,而且实现了对各种功能的智能控制。因为使用以单片机技术为核心的的智能化管理系统,能够便捷的进行仪表的检测控制,系统的运行十分顺利,并且系统的灵敏度很高,这个系统可以为生产进程提供极大地帮助。经过这次的实践研究,我对整体电路设计有了更全面的认识,我深刻的理解了理论与实践相结合的重要性,从教师的设计要求到设计报告的完成,不断完善自己的设计和电路。期间我不停的在图书馆查看各种资料,认真编写具体的实施方案,画出电路图。并且经过了多次的修改,才最终实现了设计的要求。致谢这个设计是在老师的细心指导下完成的。老师渊博的知识,认真的学术态度和随和的态度给我留下

45、了不可磨灭的印象,这将使我终生受益。与此同时,老师也给了我极大的鼓励和生活帮助。为此,我想对他表示衷心的感谢。论文写作的过程不是很轻松,伴随着毕业季的到来,工作压力不断变大,而本次论题较为复杂,它是在无数教诲、关爱和帮助下完成的。我第一次花费如此长的时间和如此多的精力,完成一篇具有一定学术价值的论文,真的遇到了不少困难,但对我而言,这份经历真的十分宝贵。首先感谢我的指导老师。本论文是在老师的指导下和同学们的帮助下修改完成的。在此,我要向他们的亲善帮助和指导表示由衷的感谢。在这段时间里,我从他们身上不仅学到了许多的专业知识,更感受到他们工作中的兢兢业业,生活中的平易近人。此外,他们严谨的治学态度

46、和忘我的工作精神值得我去学习。再次感谢多年来传授我知识的老师们,更要感谢那些对我学习上支持和鼓励的人。同时感谢所有关心帮助过我的同学、老师和学校。总之,在以后的学习生活中我将以加倍的努力对给予我帮助的学校、老师及同学们的回报。参考文献 1 李文忠,段朝玉 .短距离无线数据通信M.北京:北京航空航天大学出版社,2006.2 李艳红,李海华.传感器原理及其应用M.北京:北京理工大学出版社,2010.3 傅扬烈. 单片机原理与应用教程M.北京:电子工业出版社,2002.4 谭浩强.C程序设计M.北京:清华大学出版社,1999 .5 何希才, 薛永毅.传感器及其应用实例M北京:机械工业出版社,2004

47、6 Simon Haykin,Machael Moher,郑宝玉.现代无线通信M.北京:电子工业出版社, 2006.7 武庆生,仇梅.单片机原理与应用M.成都:电子科技大学出版社,1998.8 周航慈.单片机应用程序设计技术M.北京:北京航空航天大学出版社,1991.9 谭浩强.C程序设计北京M.北京:清华大学出版社,1999 .附录1整体电路原理图附录2元器件清单CommentDesignatorLibRefQuantity蜂鸣器BUUZERBUZZER1电解电容C110uF1瓷片电容C2, C318pF2电解电容C4470uF1瓷片电容C51041湿度传感器S2Header 21接线柱J1

48、Header 21排针DC 5V Header 21触点开关JIA, JIAN,RESETSW-PB3继电器K1SRD-05VDC1液晶LCD1602LCD16021发光二极管LED1, LED23mm2三极管Q1, Q2S85502三极管Q390141排阻R14.7K1电阻 R3, R4, R7, R8, R92k5电阻R510K1电阻R2, R61002自锁开关SW1SW-SPDT1单片机座U1DIP-401单片机U1STC89C521A/D模数芯片U2ADC08321晶振Y111.0592M1附录3部分源程序#include #include #define uchar unsigned

49、 char#define uint unsigned int#define LCD_PINDATA P0 /数据的端口定义 P2sbit RS = P14; /RS P07 sbit RW = P15; /RW P06sbit E = P16; /E P05sbit CS = P13;/片选sbit Clk = P11;/时钟sbit DATI = P10;/数据sbit DATO = P10;/数据sbit RELAY = P34; sbit BUZZER = P12; sbit Reduc = P17; sbit Add = P30; /* 函数名称 : Delay(uint T)* 函数

50、功能 : 延时函数* 输 入 : T-延时倍数 大小-065535* 输 出 : 无* 说 明 :*/void Delay(uint T)/延时1ms uchar i; for(T;T0;T-) for(i=200;i0;i-);void WriteCOMDATA(uchar LCD_DATA,uchar N)Delay(10);E=1;RW=0;RS=N;LCD_PINDATA=LCD_DATA;E=0;/* 函数名称 : void LCD_init(void)* 函数功能 : LCD1602初始化操作* 输 入 : 无* 输 出 : 无* 说 明 :*/void LCD_Init(void) WriteCOMDATA(0x01,0);Delay(500);WriteCOMDATA(0x38,0);Delay(10);WriteCOMDATA(0x06,0);Delay(10);WriteCOMDATA(0x0c,0);Delay(10);/* 函数名称 :void WriteChar(uchar Row,uc

温馨提示

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

评论

0/150

提交评论