




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
-基于单片机的土壤湿度检测仪的设计【摘要】:在影响环境的众多因素中湿度是至关重要的,本文设计了一种基于STC89C52单片机的土壤湿度检测仪,通过终端传感器检测环境中的湿度的变化。其硬件系统包括信号采集电路、A/D转换电路、单片机、微型液晶显示器和报警电路等;软件系统包括A/D转换的驱动程序、液晶驱动程序两个模块。实践证明该湿度检测仪具有测量精度高、通用性强等特点,具有一定的实用价值。【关键词】:土壤湿度;检测仪;单片机;A/D转换;-i-Abstract:Amongthemanyenvironmentalfactors,humidityfactorsaremostimportant.AhumiditymeasuringinstrumentbasedonSTC89C52thetestingmeterofsoilshumidityisdesignedinthepaper.Throughthechangeoftheterminalsensorstodetectthehumidity.Thehardwareincludedsignalamplifyingcircuit,A/Dtransformingcircuit,singlechip,miniliquidcrystaldisplayandalarmingcircuit.Thesoftwareincludedtwomodule,whicharerespectivelythedrivingprogramofA/Dtransformingandthedrivingprogramofliquidcrystaldisplay.Thepracticehasprovedthatthehumiditymeasuringinstrumenthashighmeasuringaccuracy,generality,andacertainpracticalvalue.Keywords:soil;testingmeter;singlechip;A/Dtransformation.-ii-目录前言.2第1章系统分析.3第1.1节本系统所要实现的功能.3第1.2节本系统的设计思路.3第1.3节本系统设计的原则.3第2章系统的硬件设计.4第2.1节系统框图.4第2.2节系统主要硬件部分设计.5第3章系统的软件设计.20第3.1节系统软件设计流程.20第3.2节单片机C51语言编程.22第4章系统测试.23第4.1节系统的Proteus软件仿真.23第4.2节实物调试与测试结果.24第4.3节设计过程中遇到的问题.28结论.29参考文献.30致谢.31附录.32附录1:硬件原理总图.32附录2:土壤湿度检测仪实物图.32附录3:部分源程序.33第0页前言随着人们生活水平的提高,人们对食品的绿色健康更加关注,如何培育出优良品种的植株,一直是人们不断研究的课题。因而基于单片机的湿度检测系统对解决这些问题有着非常重大的意义。以前种植植被一般都用温室栽培,为了充分的利用好温室栽培这一高效技术,就必需有一套科学的,先进的管理方法,用以对不同种类植被生长的各个时期所需的土壤湿度等进行实时的监控。土壤湿度检测仪是一种24小时不间断监控并记录湿度的仪器,被广泛的应用于农业研究、食品、医药、化工、气象、环保、电子、实验室等众多领域。目前,随着工业控制自动化进程的加快,它的使用越来越普遍,并且在不断的延伸。在日常的生产生活中,经常需要检测环境中的湿度,而运用到工农业生产领域则要求更为严格。随着科技的发展,环境监测在农业领域的应用越来越广泛,例如要确定某些幼苗的生长特性与湿度有什么样的关系等。这些都需要利用湿度的实时记录才能实现。继而湿度检测仪被广泛应用于粮仓、种植园、温室大棚、自动控制等众多领域。可以对土壤的湿度进行检测和控制,以实现数据采集、湿度调节以及超限报警等各项功能,为此设计了一种基于STC89C52单片机的湿度检测仪。第1页第1章系统分析第1.1节本系统所要实现的功能1、能够实时、准确的显示采样湿度值。2、通过自行设定湿度上限和下限实现土壤湿度的实时监测和报警。第1.2节本系统的设计思路在单片机构成的测控系统中,测量或控制的参数有时是一些连续变化的非电量模拟信号,如温度、湿度、压力等。这类信号必须通过传感器转换成为电信号后,再由A/D转换器转换成为数字量信号送入单片机进行处理,最后通过LCD完成湿度值的显示。本系统设计的一种基于STC89C52单片机的土壤湿度检测仪,湿度测量范围为0100%RH。YL-69土壤湿度传感器通过小板模拟量输出AO和AD模块相连,由于传感器用到了LM3931,反相端电压高于同相端,输出低电平,由于采用单电源供电,负电源为地电平,那么输出电压也大约是0V。当反相端电压低于同相端,输出高电平,输出电压大约为+5V。该模拟信号进入A/D转换芯片的CH0通道进行转换处理,所得到数字信号再送入单片机STC89C52进行数据处理并由液晶显示。第1.3节本系统设计的原则要求单片机系统应具有可靠性高、操作维护方便、性价比高等特点。高可靠性是单片机系统应用的前提,在系统设计的每一个环节,都应该将可靠性作为首要的设计准则。提高系统的可靠性通常从以下几个方面考虑:使用可靠性高的元器件;设计电路板时布线和接地要合理;对供电电源采用抗干扰措施;输入输出通道抗干扰措施;进行软硬件滤波;系统自诊判断功能等。在系统的软硬件设计时,应从操作者的角度考虑操作和维护方便,要尽可能减少人机交换接口,多采用操作内置或简化的方法。单片机除体积小、功耗低等特点外,最大的优势在于高性能性价比。一个单片机应用系统能否被广泛使用,性价比是其中一个关键因素。因此,再设计时,除了保持高性能外,尽可能降低成本,如简化外围硬件电路,在系统性能和速度允许的情况下尽可能使用软件功能取代硬件功能等。第2页第2章系统的硬件设计第2.1节系统框图系统主要由单片机模块、湿度检测模块、显示模块、A/D转换模块和电源模块组成,其整体框图如图2-1所示。电源模块复位模块A/D转换模块土壤湿度传感器单片机显示模块时钟模块图2-1系统框图土壤湿度检测仪1的信号处理系统包括土壤湿度传感器、A/D采集电路、单片机和微型液晶显示器。其工作过程是:土壤湿度传感器将湿度信号送至A/D采集电路,经A/D转换后,所得数字信号送入单片机进行数据处理,最后将处理结果发送到微型液晶显示器显示。如图2-2。土壤湿度传感器A/D采集电路单片机微型液晶显示器图2-2记录仪的组成框图第3页第2.2节系统主要硬件部分设计2.2.1.STC89C52单片机STC89C52RC/RD+系列单片机是STC推出的新一代高速低功耗超强抗干扰的单片机2,指令代码完全兼容传统8051单片机,它是一个40引脚的集成电路芯片,采用DIP(双列直插)形式封装。STC89C52具有以下标准功能:8k字节flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0HZ静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。8位微控制器8k字节在系统可编程Flash。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。P1口:P1口是一个具有内部上拉电阻的8位双向I/O口,P1输出缓冲器能驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX),具体如下表所示。在Flash编程和校验时,P1口接收低8位地址字节。引脚号第二功能P1.0T2(定时器/计数器T2的外部计数输入),时钟输出P1.1T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)P1.5MOSI(在线系统编程用)P1.6MISO(在线系统编程用)P1.7SCK(在线系统编程用)P2口:P2口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。第4页在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVXDPTR)时,p2口送出高八位地址。在这种应用中,P2口使用很强的内部上拉发送1。在使用8位地址(如MOVXRI)访问外部数据存储器时,P2口输出P2锁存器的内容。在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动4个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为STC89C52特殊功能(第二功能)使用,如下表所示。在flash编程和校验时,P3口也接收一些控制信号。端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INTO(外中断0)P3.3INT1(外中断1)P3.4TO(定时/计数器0)P3.5T1(定时/计数器1)P3.6WR(外部数据存储器写选通)P3.7RD(外部数据存储器读选通)此外,P3口还接收一些用于flash闪存编程和程序校验的控制信号。RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。ALE/PROG当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。PSEN程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当STC89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。EA/VPP外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接第5页VCC端),CPU则执行内部程序存储器的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。如图2-3所示。中央处理器CPU时钟电路ROMRAM定时/计数器ROMP1P2串行接口中断系统P0P3TXDRXDINT1INT0图2-3单片机结构示意图2.2.2.主控电路一个单片机嵌入式系统的核心,其实就是一个单片机的最小系统,或者称为最小应用系统,是指用最小的元件组成的单片机可以工作的系统。由图2-4可知最小系统应由时钟电路和复位电路构成。如图2-4所示,STC89C52单片机芯片内部集成了振荡电路,它是利用一个高增益反相放大器构成的振荡电路,引脚XTAL1和XTAL2分别是放大器的输入端和输出端。外接晶体谐振器以及电容C4和C5构成并联谐振电路,接在放大器的反馈回路中,片内的放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。这个振荡器为单片机提供时序脉冲。而采用12MHZ的晶振,主要是为了方便定时操作3。单片机的复位是指使单片机进入初始化工作状态。当单片机的复位引脚RESET出现2个机器周期以上的高电平时,单片机就执行复位操作。如果RESET持续为高电平,单片机将处于循环复位的状态。但是单片机本身不能自动复位,必须配合相应的外部电路第6页才能实现复位操作。复位操作通常有两种基本形式:上电复位和开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位则是在单片机已运行时,按下复位键后松开,也能使RESET保持一段时间的高电平,从而实现开关复位的操作。图2-4单片机最小系统电路2.2.3.电源电路本系统的土壤湿度传感器需要+5V供电,而我用的电源适配器供电电压为+12V,因此需要接一个12V转5V的电路。12V转5V电路采用的芯片是三端稳压IC集成稳压器LM7805。用LM78/LM79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的LM78或LM79后面的数字代表该三端集成稳压电路的输出电压,如LM7806表示输出电压为正6V,LM7909表示输出电压为负9V。因为三端固定集成稳压电路的使用方便,电子制作中经常采用。在实际应用中,应在三端集成稳压电路上安装足够大的散热器(当然小功率的条件下不用)。当稳压管温度过高时,稳压性能将变差,甚至损坏。当制作中需要一个能输出1.5A以上电流的稳压电源,通常采用几块三端稳压电路并联起来,使其最大输出电流为N个1.5A,但应用时需注意:并联使用的集成稳压电路应第7页采用同一厂家、同一批号的产品,以保证参数的一致。另外在输出电流上留有一定的余量,以避免个别集成稳压电路失效时导致其他电路的连锁烧毁。在LM78*、LM79*系列三端稳压器中最常应用的是TO-220和TO-202两种封装。这两种封装的图形以及引脚序号、引脚功能如附图所示。图中的引脚号标注方法是按照引脚电位从高到底的顺序标注的。这样标注便于记忆。引脚为最高电位,脚为最低电位,脚居中。从图中可以看出,不论正压还是负压,脚均为输出端。对于LM78*正压系列,输入是最高电位,自然是脚,地端为最低电位,即脚,如附图所示。对与LM79*负压系列,输入为最低电位,自然是脚,而地端为最高电位,即脚,如图2-5所示。图2-5LM7805典型应用电路LM78XX系列集成稳压器的典型应用电路图,是一个输出正5V直流电LM7805稳压电路压的稳压电源电路。IC采集成稳压器LM7805,C1、C2分别为输入端和输出端滤波电容,RL为负载电阻。当输出电流较大时,LM7805应配上散热板。为提高输出电压的应用电路。稳压二极管VD1串接在LM78XX稳压器2脚与地之间,可使输出电压U0得到一定的提高,输出电压U0为78XX稳压器输出电压与稳压二极管VC1稳压值之和。VD2是输出保护二极管,一旦输出电压低于VD1稳压值时,VD2导通,将输出电流旁路,保护LM78XX稳压器输出级不被损坏。为输出电压可在一定范围内调节的应用电路。由于R1、RP电阻网络的作用,使得输出电压被提高,提高的幅度取决于RP与R1的比值。调节电位器RP,即可一定范围内调节输出电压。当RP=0时,输出电压U0等于LM78XX稳压器输出电压;当RP逐步增大时,U0也随之逐步提高。为扩大输出电流的应用电路。VT2为外接扩流率管,VT1为推动管,二者为达林顿连接。R1为偏置电阻。该电路最大输出电流取决于VT2的参数。第8页通过对LM7805特性的了解,以及查看电参数,设计出如图2-6的12V转5V的电路图,以提供单片机适合的供电电压。图2-612V转5V电路2.2.4.LCD显示电路此次设计,用到了1602字符型LCD作为输出器件。它具有以下几个优点4:(1)、显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)、数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。(3)、体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)、功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。本次设计采用LCD-1602。关于1602字符型LCD简介4如下:字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用16*1,16*2,20*2和40*2行等的模块。一般1602字符型液晶显示器实物如图2-7所示:第9页图2-71602字符型液晶显示器实物图(5)、1602LCD的基本参数及引脚功能1602LCD分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如下图2-8所示:图2-81602LCD尺寸图1602LCD主要技术参数:显示容量:162个字符第10页芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.954.35(WH)mm引脚功能说明1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2-9所示:表2-9引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极。1602LCD的指令说明及时序1602液晶模块内部的控制器共有11条控制指令,如表2-10所示:第11页表2-10控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L*6置功能00001DLNF*7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:低电平时为单行显示,高电平时双行显示F:低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。读写操作时序如图2-11和2-12所示:第12页图2-11读操作时序图2-12写操作时序1602液晶显示模块可以和单片机STC89C52直接接口,电路如图2-13所示。图2-13硬件原理图第13页2.2.5.A/D转换电路模拟/数字转换就是我们通常所说的A/D转换,它将输入的模拟信号(如电压)转换成控制芯片(如单片机,ARM)所能识别的二进制形式,然后经过运算,既可以还原出输入模拟信号的值。A/D转换是一种非常重要的技术手段,是单片机等控制芯片与外界信号的接口部分,下图给出了一种常用的嵌入式设计模式。如图2-14所示:图2-14一种常用的基于A/D芯片的嵌入式设计模式本系统采用的A/D芯片为ADC0832。ADC0832是NS(NationalSemiconductor)公司生产的串行接口8位A/D转换器,通过三线接口与单片机连接,功耗低,性能价格比较高,适宜在袖珍式的智能仪器仪表中使用。ADC0832为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。芯片具有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件连接和处理器控制变得更加方便。通过DI数据输入端,可以轻易的实现通道功能的选择。其主要特点如下:1、8位分辨率,逐次逼近型,基准电压为5V;2、5V单电源供电;3、输入模拟信号电压范围为05V;4、输入和输出电平与TTL和CMOS兼容;5、在250KHZ时钟频率时,转换时间为32us;6、具有两个可供选择的模拟输入通道;7、功耗低,15mW。外部引脚及其说明ADC0832有DIP和SOIC两种封装,DIP封装的ADC0832引脚排列如图2-15所示。各引脚说明如下:CS片选端,低电平有效。CH0,CH1两路模拟信号输入端。DI两路模拟输入选择输入端。图2-15ADC0832引脚图第14页DO模数转换结果串行输出端。CLK串行时钟输入端。VCC/REF正电源端和基准电压输入端。GND电源地。单片机对ADC0832的控制原理一般情况下ADC0832与单片机的接口应为4条数据线,分别是CS、CLK、DO、DI。但由于DO端与DI端在通信时并未同时有效并与单片机的接口是双向的,所以电路设计时可以将DO和DI并联在一根数据线上使用。当ADC0832未工作时其CS输入端应为高电平,此时芯片禁用,CLK和DO/DI的电平可任意。当要进行A/D转换时,须先将CS端置于低电平并且保持低电平直到转换完全结束。此时芯片开始转换工作,同时由处理器向芯片时钟输入端CLK提供时钟脉冲,DO/DI端则使用DI端输入通道功能选择的数据信号。在第1个时钟脉冲到来之前DI端必须是高电平,表示启动位。在第2、3个时钟脉冲到来之前DI端应输入2位数据用于选择通道功能,其功能项见表2-16所示:表2-16ADC0832配置位配置位选择通道输入形式CH0CH1CHOCH100+-差分输入01-+10+单端输入11+适用于本设计的A/D转换电路如图2-17所示:第15页图2-17A/D转换电路2.2.6.传感器模块现代传感器在原理与结构上千差万别,如何根据具体的测量目的、测量对象以及测量环境合理地选用传感器,是在进行某个量的测量时首先要解决的问题。当传感器确定之后,与之相配套的测量方法和测量设备也就可以确定了。测量结果的成败,在很大程度上取决于传感器的选用是否合理。在传感器的选择上,首先要根据测量对象与测量环境确定传感器的类型。需要根据被测量对象的特点和传感器的使用条件考虑以下一些具体问题:量程的大小;被测位置对传感器体积的要求;测量方式为接触式还是非接触式;信号的引出方法,有线或是非接触测量,在考虑上述问题之后就能确定选用何种类型的传感器,然后再考虑传感器的具体性能指标。本次实验采用的是YL-69土壤湿度传感器。这是一个简易的水份传感器可用于检测土壤的水份。它是一种电阻式的湿度传感器,利用水分子有较大的偶极矩,易于附着并渗透入固体表面的特性,当插入土壤后,两脚之间相当于是一个滑动变阻器,通过电阻的变化,从而得到了输出电流信号的变化。但是YL-69它有AO和DO两种输出方式,其中AO口就相当于图2-19的AC,DO相当于图中OUT。通过运放LM393的比较功能,当土壤缺水时,模块输出一个高电平,反之输出低电平。可以直接与单片机相连,实现报警功能,并且它能够在不缺水的时候,点亮模块上面的开关指示灯显示为红色。而且它的灵敏度可调,工作电压一般为3.3V-5V。此次设计用到了小板模拟量输出AO,它可以和AD模块相连,通过AD转换,可以获得土壤湿度更精确的数值。工作时电源指示灯第16页为绿色和数字开关量输出指示灯为红色,它的比较器采用LM393芯片,工作非常稳定。引脚说明:1VCC外接3.3V-5V2GND外接GND3DO小板数字量输出接口(0和1)4AO小板模拟量输出接口图2-18YL-69湿度传感器引脚图设计电路如图2-19所示:图2-19YL-69电路图2.2.7.蜂鸣器模块蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作第17页发声器件。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母“H”或“HA”(旧标准用“FM”、“LB”、“JD”等)表示。本系统所用到蜂鸣器主要是对检测到的湿度到达上限或者下限时,起到报警作用。其工作原理图如图2-20所示:图2-20蜂鸣器工作原理图2.2.8.按键模块键是一种常开型按钮开关,平时(常态键的二个触点处于断开状态,按下键时它们才闭合)。本系统通过两个按键K1,K2分别接在单片机的外部中断INT1和定时中断T0上,实现对报警器的开关,湿度上下限的设定。按键组合功能如下:1、K2按键设定湿度+2、K1按键设定湿度-3、按下K1,再按K2,关闭报警或启动报警4、长按K2,选择设定湿度上限和下限其工作原理图如图2-21所示:图2-21按键电路原理图第18页第3章系统的软件设计第3.1节系统软件设计流程土壤湿度检测仪的程序主要包括转换数据读取程序、将读取的数字量转换成湿度值程序、显示湿度值程序等。3.1.1.系统软件设计流程图系统初始化主要包括:串口,中断,定时器,LCD1602初始化。启动A/D转换主要包括:CS端置于低电平并且保持低电平直到转换完全结束;处理器向CLK提供时钟脉冲;选择通道CH0。开始系统初始化启动A/D转换调用湿度测量子程序调用湿度转换子程序调用显示子程序图3-1系统软件设计主程序第19页LCD显示的工作方式:LCD初始化程序的设定:光标自动+1,关闭自动移动显示;显示开,光标显示关;双行显示;清屏。延时子程序的设定:本次采用的晶振为12MHZ,51单片机为12分频,所有延时为1ms。显示位置的确定:光标起始地址,第一行地址是0x000x0F,第二行地址是0x400x4f。第一行写入的地址码为0X80,第二行是0xc0。内容由主函数定义,湿度值通过数值转换显示整数后每一位加上0x30,通过LCD_prints输出。LCD初始化延时设第一行显示位置显示第一行内容设第二行显示位置显示第二行内容结束开始图3-2LCD软件流程图第20页开始使能芯片产生时钟信号输入通道控制字读取2字节数据字节数据校验将值送入指定寄存器结束1、2、外界信号3、(如土壤湿度)束图3-3ADC0832软件控制流程图第3.2节单片机C51语言编程C51是在通用C语言的基础上开发出的专门用于51系列单片机编程的C语言。由于C51语言相对单片机汇编语言具有可读性强,可移植性强,易学易用,便于修改维护等优点,因此本设计采用C51进行软件编程。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。重要的是KeilC51生成的目标代码效率非常高,多数语句生成的汇编代码很紧凑,容易理解。KeilC51完全支持C的标准指令和很多用来优化8051指令结构的C语言扩展指令5。此外,KeilC51不但具有ANSIC的所有标准数据类型,为了更加有效地利用8051的结构特点,又加入了一些特殊的数据类型。第21页第4章系统测试第4.1节系统的Proteus软件仿真为确保土壤湿度检测仪的软硬件设计正确,本文对设计进行了Proteus软件仿真10。其基本过程是先绘制好图4-1所示的仿真电路,再将由Keil软件编译并生成的系统驱动程序(“*.hex文件”)载入单片机,并将图4-1中的虚拟直流电压设为+2.75V,输出湿度值为44%。当电压设为+1.4V,输出湿度为71%,此时湿度值超出了上限,图中报警器接通,如图4-2所示。以此说明系统的软、硬件的设计基本正确。图4-1仿真电路第22页图4-2修改虚拟直流电压为+1.4V后的仿真图第4.2节实物调试与测试结果实物通上电源后,首先通过K1,K2组合键对湿度RHset进行设定,上限H设定为70%,下限设定为10%。起初传感器全部插入有水分的土壤中,模块上面的开关指示灯不亮,如图4-3所示。通过对传感器模块上的灵敏度电位器的调节使得传感器全部插入土壤中时,开关指示灯亮起,如图4-4所示。当从土壤中拔出后,开关指示灯灭。图4-3实物调试1第23页图4-4实物调试2在调试成功后,接下来进行测试。湿度上下限值不变。测试数据如表4-5所示:表4-5实物测试数据表倒入土壤中的水量(ml)土壤湿度RH(%)橙色报警灯蜂鸣器0000亮响50061灭不响100072亮响150072亮响根据含水量的不同,实物测试如图4-6,4-7,4-8,4-9所示:第24页图4-6倒入土壤中的水量为0ml图4-7倒入土壤中的水量为50ml第25页图4-8倒入土壤中的水量为100ml图4-9倒入土壤中的水量为150ml结论:在实际测试中发现,当传感器插入土壤中的10S之内,RH值会从一个最大值逐渐往下降,最后稳定在某个数值。当土壤越湿,最大与最后稳定之间的差值会越大。经过反复调试,发现这个现象与传感器模块上的灵敏度电位器的调节有直接联系。所以可以确定灵敏度的调节是这次设计实物调试的最关键一步。直接影响了土壤的真实湿度和所测湿度之间的误差。通过数据,还发现当土壤处于饱和状态后,所测得的土壤湿度RH是不变的。所以虽然我们理论上RH的范围是0-100%,可实际运用中,在灵敏度调节至合适位置时,它的湿度RH范围为0-72%左右。第26页第4.3节设计过程中遇到的问题1、A/D转换模块是一个比较重要的模块,在调试的阶段遇到的问题较多,由于它是程序运行的瓶颈,如果这一部分通不过的话,那么程序就无法执行下去,本系统采用的是延时的方法。2、LCD显示模块,根据LCD型号的不同,所需要的背光电阻大小会不同,可自行调节。若电阻选择过大,则背光灯不能点亮。3、电源电路12V转5V中电容的选取不仅要考虑电容的大小,也要考虑所选电容电压的大小,电压小于12V会导致LM7805芯片过烫,甚么使电容爆炸。4、电路板焊接时一定要仔细,以免造成虚焊。整体布局和布线要事先规划好,使得各模块能正常工作,不受干扰。第27页结论本文设计的湿度检测仪采用高度集成化的A/D转换芯片、单片机和液晶显示模块,大大简化了硬件电路,显著降低了电路板的体积和成本。电压信号采集芯片ADC0832是系统正确工作的首要前提,集成运放将传感器的信号放大,确保模拟信号的可靠采集。对系统进行Proteus仿真,可缩短设计周期,节约硬件投资。但是最后的成品却不一定和仿真时完全一样,因为在实际接线中有着各种各样的条件制约着。而且,在仿真中无法成功的电路接法,在实际中因为芯片本身的特性而能够成功。所以,在设计时应考虑两者的差异,从中找到最适合的设计方法。经过这次毕业设计,从论文选题、搜集资料到论文定题,从硬件设计、论文初稿到反复修改,期间经历了紧张、忧虑和收获的喜悦。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。虽然这个设计做的比较简单,很多东西都考虑的不是很周到,例如,电源部分没有采用电池供电,而是使用了可调电源,因此用的时候较为不方便。但是我用了很多精力来完成这篇论文,鉴于个人水平和时间的关系,所以并没有把自己当初设想的所有情况都考虑进去,在做毕业设计的两个月里我学到了很多东西,从最初连单片机的最小系统都不了解到现在能够独立完成这个设计,我也付出了很多努力。此次毕业设计是对过去大学四年所学知识的一次运用和检阅,同时对自学能力的要求会很高,所以平时我们就应该养成良好的自我学习能力和独立思考的能力。第28页参考文献1.张洪润.传感器应用设计300例(上册)M.北京:北京航空航天大学出版社,2006.2.刘坤.51单片机典型应用开发范例大全M.北京:中国铁道出版社,2011:94-96.3.边春元,李文涛,江杰等.C51单片机典型模块设计与应用M.北京:机械工业出版社,2008:17-19.4.51单片机综合学习系统之1602字符型液晶显示篇.电子制作2008年1月.5.汤竞南,沈国琴.51单片机C语言开发与实例M.北京:人民邮电出版社,2008:8-20.6.白泽生.土壤水分检测转换电路的设计J.传感器与微系统,2006,25(9):64-65.7.徐玮.C51单片机高效入门M.北京:机械工业出版社,2007.8.孙余凯,吴鸣山,项绮明.集成运算放大器实用电路识图M.北京:电子工业出版社,2008.9.王志武.巧用三端固定式稳压集成电路J;集成电路应用;1989年06期.10.彭韦.单片机C语言程序设计实训100例:基于8051+Proteus仿真.电子工业出版社,第1版,2009:13-20.11.杨毅德:模拟电路,重庆大学出版社,第一版,2004:30-50.12.杜刚电路设计与制板:Protel应用教程M北京:清华大学出版社,2006.13.周旭.现代传感器技术.北京:国防工业出版社,2007.14.聂荣等实例解析PCB设计技巧M北京:机械工业出版社,2006.15.M.V.kulkarni,A.K.Viswanath,P.K.Khanna.Synthesisandhumiditysensingpropertiesofconductingpoly(Nmethyllaniline)doppedwithdifferentacidsJ.Sens.ActuatorsB,2006,115:140149.第29页致谢经过这几个月的学习,本次毕业设计已经接近尾声。作为一个本科毕业生的毕业设计,由于自己的经验缺乏,难免有许多考虑不周到的地方,很多时候会走一些弯路,如果没有老师的指导,以及一些同学的帮助,想要完成这个毕业设计是不容易的。在这里首先要感谢我的指导老师吴文明老师,老师平时工作繁多,但从接到课题之后,老师就一直督促我们着手准备设计的内容,对于我们每个阶段所完成的任务结果一一进行检查,从而使我们能在规定的时间内较好地完成自己的毕业设计。他不仅治学严谨且为人师表,教给我们不仅是书本上的知识,还有为人处世的积极态度,这些宝贵知识将积极影响我今后的学习和工作,在此表示衷心的感谢。其次要感谢我们的班主任丁建强老师,在之前的课程设计中悉心指导我用基于ARM实现土壤湿度的检测,经过反复地调试,从基本对ARM不懂的我,最终能够完成与毕业设计紧密相连的课程设计,以至于在后来做毕业设计的时候很多问题能够轻松解决。正是有了你们的帮助,才让我不断进步。最后还要感谢我的母校苏州大学应用技术学院两年来对我的培养。她教给我的不仅是进入社会后生存的本领,更重要的是艰苦朴实,求实进取的精神力量,遇到困难不懈不馁,多一份坚持少一份浮躁,这将鼓励我在人生的道路上不断前进。第30页附录:中英文文献翻译名称湿度传感器第31页附录1:硬件原理总图附录2:土壤湿度检测仪实物图附录3:部分源程序STC89C52主程序:/*第32页P0-DB0DB7P2.0-RSP2.1-RWP2.2-E*/#includereg51.h#include#include#defineucharunsignedchar#defineuintunsignedintsbitBEEP=P20;/P2.0作为喇叭控制口#defineLCD_DataP0/LCD的数据口sbitLCD_BF=LCD_Data7;/LCD忙信号位sbitLCD_RS=P21;sbitLCD_RW=P22;sbitLCD_EN=P23;sbitK1=P33;sbitK2=P34;sbitLED1=P24;unsignedcharNum=0;unsignedcharcN=0;unsignedcharMODE=0;unsignedcharRH_MAX=70;/湿度最大值,如果低于设定值,就报警unsignedcharRH_MIN=10;/湿度最小值,如果低于设定值,就报警unsignedcharOFF1=0;unsignedcharDISopen=0;unsignedcharcount1=0;/平均值滤波累计unsignedcharSH8;/8个湿度值unsignedcharcountK2=0;/按键长按累计时间unsignedcharI=0;unsignedcharT0count=0;unsignedcharT0FLAG=0;unsignedcharVCC=0;unsignedcharcount2=0;unsignedcharcount3=0;unsignedcharOFF=0;#defineLCD_GO_HOME0x02/AC=0,光标、画面回HOME位/输入方式设置#defineLCD_AC_AUTO_INCREMENT0x06/数据读、写操作后,AC自动增一#defineLCD_AC_AUTO_DECREASE0x04/数据读、写操作后,AC自动减一#defineLCD_MOVE_ENABLE0x05/数据读、写操作,画面平移#defineLCD_MOVE_DISENABLE0x04/数据读、写操作,画面不动/设置显示、光标及闪烁开、关#defineLCD_DISPLAY_ON0x0C/显示开第33页#defineLCD_DISPLAY_OFF0x08/显示关#defineLCD_CURSOR_ON0x0A/光标显示#defineLCD_CURSOR_OFF0x08/光标不显示#defineLCD_CURSOR_BLINK_ON0x09/光标闪烁#defineLCD_CURSOR_BLINK_OFF0x08/光标不闪烁/光标、画面移动,不影响DDRAM#defineLCD_LEFT_MOVE0x18/LCD显示左移一位#defineLCD_RIGHT_MOVE0x1C/LCD显示右移一位#defineLCD_CURSOR_LEFT_MOVE0x10/光标左移一位#defineLCD_CURSOR_RIGHT_MOVE0x14/光标右移一位/工作方式设置#defineLCD_DISPLAY_DOUBLE_LINE0x38/两行显示#defineLCD_DISPLAY_SINGLE_LINE0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浮起来的鸡蛋实验课件
- 地暖施工课件
- Phenelfamycin-F-生命科学试剂-MCE
- 实木楼梯设计知识培训班课件
- 实战销售课件
- 江西财经大学现代经济管理学院《篮球四》2024-2025学年第一学期期末试卷
- FR-900482-生命科学试剂-MCE
- 重庆科创职业学院《篮球技术(二)》2024-2025学年第一学期期末试卷
- 酒泉市地震应急预案演练(3篇)
- 武汉理工大学《多媒体信息处理与传输》2024-2025学年第一学期期末试卷
- (新版)广电全媒体运营师资格认证考试复习题库(含答案)
- 保安员资格考试复习题库及答案(800题)
- 乡村公路沥青铺设施工方案
- 2024年中考物理压轴题专项训练:电磁继电器核心综合练(原卷版)
- 矿山事故应急报告制度
- 2024-2025学年山东省淄博市桓台县四年级上学期数学期中考试试题
- DB1402T36-2024农村居家养老服务规范
- 中国发电企业碳中和数字转型白皮书-埃森哲
- ISO27001信息安全管理体系培训资料
- 《绝对值》教学课件
- Unit 6 Work quietly!(教学设计)2023-2024学年人教PEP版英语五年级下册
评论
0/150
提交评论