版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要本课题主要针对特定室内温度、湿度研制了以PC机为上位计算机,单片机为下位机的智能环境测控系统的软硬件设计。综合考虑系统的精度、效率以及经济性要求这三个方面之后,最终确定下位机以AT89S52单片机系统为核心,采用DHT11数字温湿度传感器对周围环境温湿度的测量取样,通过对监测数据的分析,结合实际需要,实现对温湿度的精确测量与准确控制。针对不同的参数,可以通过键盘人为设定作物所期望的上、下限值。当单片机检测到温湿度有任何一个参数越限时,那么启动声光报警,同时单片机通过控制固态继电器翻开相应的执行机构进行补偿。下位机可以通过RS232实现和上位机的串行通讯。为了便于系统的调试、移植、修改,软件设计以C语言为根底,采用模块化设计,主要包括数据采集模块、键盘显示模块、串行通讯模块以及数据处理等模块。在系统设计过程中充分考虑到性价比,选用价格低、性能稳定的元器件来实现环境中温湿度的自动控制,既节省了人力,又提高了效率,不仅具有广阔的市场前景,而且具有巨大的社会效益。关键词:智能;温湿度;传感器;测控;单片机AbstractThisthesispresentsthemeasuringandcontrollingsystemabouttemperature,inthespecificenvironment,composedofhostPCandsecondaryMCU.Consideringtheaccuracyandeconomical,thisthesisdesignA89S52asthecorecontrolapparatus.Afterthenonlineariscompensatedwithleastsquaremethodtomeasuringresult,ithasreducedthenonlinearerrorofsensorandachievedaccuratemeasurementandaccuracycontrol.Whentheparameterhasexceededthelimit,includingtemperature,humiditythesingle-chipmicrocomputersactivatetheaudibleandvisualalarm.Atthesametime,thesingle-chipmicrocomputerscontrolthesolidstaterelaytoactuatemechanismforcompensation.Fordifferentparameters,wecanusekeyboardtosettheanticipantrangeofthecrop.ThesecondarycomputercommunicateswithhostcomputerthoughRS232.Inorderthatit'smodelblockiscomposedofdataacquisition,keyboardanddisplay,serialcommunication,dataprocessingandsoon.Atthelast,thisthesispresentsthereliabilityandthemeasurestoagainstinterference,andmakethesystemworkmorereliableandstable.Thisthesischoosesthedevicesasfullconsiderationoftherationbetweenperformaneandcostasposiblesave
the
human,
improve
the
control
quality
produceda
good
economic
benefit,
not
only
has
a
broad
market
prospect,
and
has
great
social
bene-fits.Keywords:Smart;Temperature;Single-chipmicrocomputer;Humidity;Sensors.目录1绪论11.1温湿度控制背景及研究意义11.2温湿度测控技术的开展状况2国外开展状况2国内开展状况21.3课题的主要内容及研究意义3课题的主要内容31.3.2课题的研究意义42研究方案的设计52.1室内温湿度参数的调节5温度的调节与控制5湿度的调节与控制5温度湿度之间的耦合控制62.2系统总体方案设计62.2.1概述6总体方案设计72.3本章小结83硬件设计93.1温度数据的采集与处理9温度传感器的选用93.2湿度数据的采集与处理9湿度传感器的选用10温湿度测量电路及其工作原理103.3键盘和显示电路设计13键盘电路设计13显示电路设计143.4报警电路153.5执行机构电路163.6本章小结174控制系统的软件结构和程序框图194.1主程序模块194.2系统各子程序模块20数据采集子程序模块20键盘子程序模块22显示子程序模块224.3本章小结235系统调试245.1软件调试245.2硬件调试245.3液晶模块调试255.4报警电路调试275.5本章小结276总结28致谢29参考文献30附录31附录A:系统电路原理图31附录B:系统程序清单321绪论本系统在工农业方面主要应用于温室大棚、粮食储存仓库等对密闭环境温湿度要求比拟高的场所。本文主要以农业中常见的温室大棚为例。在我国,传统的温室大棚多为人工通过简单的温湿度计量设备或者简单的仪器仪表获取环境状态参数,并根据经验手动控制各个调节阀。此种方式效率低下,控制效果也无法到达智能自动的要求,因此传统的监控管理方式已显示出诸多局限性。1.1温湿度控制背景及研究意义本系统的作用与意义主要表达在农业的应用。众所周知,我国是农业大国,无论是农业大棚种植,还是粮食储存,都关系到国计民生。我国农业的开展必须走现代化农业这条道路,随着国民经济的迅速增长,农业的研究和应用技术越来越受到重视,特别是温室大棚已经成为高效农业的一个重要组成局部。现代化农业生产中的重要一环就是对农业生产环境的一些重要参数进行检测和控制。例如:空气的温度、湿度、二氧化碳含量、土壤的含水量等。在农业种植问题中,温室环境与生物的生长、发育、能量交换密切相关,进行环境测控是实现温室生产管理自动化、科学化的根本保证,通过对监测数据的分析,结合作物生长发育规律,控制环境条件,使作物到达优质、高产、高效的栽培目的。以蔬菜大棚为代表的现代农业设施在现代化农业生产中发挥着巨大的作用。大棚内的温度、湿度与含量等参数,直接关系到蔬菜和水果的生长。而国外的温室设施己经开展到比拟完备的程度,并形成了一定的标准,但是价格非常昂贵,缺乏与我国气候特点相适应的测控软件。而当今大多数对大棚温度、湿度的检测与控制都采用人工管理,这样不可防止的有测控精度低、劳动强度大及由于测控不及时等弊端,容易造成不可弥补的损失,结果不但大大增加了本钱,浪费了人力资源,而且很难到达预期的效果。因此,为了实现高效农业生产的科学化并提高农业研究的准确性,推动我国农业的开展,必须大力开展农业设施与相应的农业工程,科学合理地调节大棚内温度、湿度,使大棚内形成有利于蔬菜,水果生长的环境,是大棚蔬菜和水果早熟、优质、高效益的重要环节。目前,随着蔬菜大棚的迅速增多,人们对其性能要求也越来越高,特别是为了提高生产效率,对大棚的自动化程度要求也越来越高。由于单片机及各种电子器件性价比的迅速提高,使得这种要求变为可能。本文提出了一种以AT89S52单片机为控制核心的温湿度监控,主要是为了对蔬菜大棚内温度、湿度,以及含量进行有效、可靠地检测与控制而设计的。该测控仪具有检测精度高、使用简单、本钱较低和工作稳定可靠等特点,该系统具有较好的通用性和较强的适应性,并运用一定的仿真方法对该系统的正确性和实用性进行了验证,具有一定的应用前景。1.2温湿度测控技术的开展状况1.2.1国外开展状况西方兴旺国家在现代温湿度测控技术上起步比拟早。1949年,借助于工程技术的开展,美国建成了第一个植物人工气候室,开展了植物对自然环境的适应性和抗御能力的根底及应用研究。20世纪60年代,生产型的高级温室开始应用于农业生产,奥地利首先建成了番茄生产工厂,70年代后荷兰、日本、美国、英国、以色列等国家的温室园艺迅猛开展,温室设施广泛应用于园艺作物生产、畜牧业和水产养殖业。随着计算机技术的进步和智能控制理论的开展,近百年来,温室大棚作为设施农业的重要组成局部,其自动控制和管理技术不断得以提高,在世界各地都得到了长足的开展。特别是二十世纪70年代电子技术的迅猛开展和微型计算机的出现,更使温室大棚环境控制技术产生了革命性的变化。80年代,随着微型计算机日新月异的进步和价格大幅度下降,以及对温室控制要求的提高,以微机为核心的温室综合环境控制系统,在欧美得到了长足的开展,并迈入了网络化,智能化阶段。目前,国外现代化温室的内部设施己经开展到比拟完备的程度,并形成了一定的标准。温室内的各环境因子大多由计算机集中控制,检测传感器也较为齐全,如温室内外的温度、湿度、光照度、二氧化碳浓度、营养液浓度等,由传感器的检测根本上可以实现对各个执行机构的自动控制,如无级调节的天窗通风系统,湿帘与风扇配套的降温系统,由热水锅炉或热风机组成的加温系统,可定时喷灌或滴灌的灌溉系统,二氧化碳施肥系统,以及适用于温室作业的农业机械等。计算机对这些系统的控制己经不是简单的、独立的、静态的直接数字控制,而是基于环境模型上的监督控制,以及基于专家系统上的人工智能控制,一些国家在实现自动化的根底上正在向着完全自动化、无人化的方向开展。1.2.2国内开展状况我国现代温室技术起步较晚,70年代以来,政府大力开展以塑料大棚、节能日光温室为主的设施农业,促进了农村经济的开展,同时也缓和了蔬菜季节性短缺的问题。与此同时,从1979年至1994年,从欧美、日本等国家引进了一系列现代化温室(包括加温系统、湿帘降温系统、灌溉系统、监测与集中控制系统及其它附属设施)进行实验研究。引进的温室与我国传统温室比拟,其空间大,便于进行机械作业,生产率与资源利用率比拟高,为我国温室的开展提供了借鉴作用。但这些温室也存在着许多缺乏之处,主要表现在:(1)价格昂贵,国内农业生产目前难以接受;(2)缺乏与我国气候特点相适应的温室测控软件。目前我国引进温室的测控系统大多投资大、运行费用过高,并且测控系统中所侧重考虑的环境参数与我国的气候特点存在矛盾;(3)控制方式比拟简单,软件实现模式固定,不能进行功能扩展。随后在我国出现了一些国外的仿造产品,如江苏工学院研制的“温室环境测控系统’,主要用于无土栽培实验温室,造价仍较高,且处于实验阶段;吉林工业大学研制的“温室环境自动检测系统”,仅实现了温湿度的自动测试,“智能型温室环境控制器”仅实现了温室内的喷水自动控制等。以上产品均没有面向我国广阔农村现有的100万亩传统温室的改造工程。所以,传统的方法,人们主要还是采用温度计、湿度计来采集温度值和湿度值,通过人工操作加热、加湿、通风和降温来控制温湿度。因此,以上产品的推广使用价值仍然不大。总体上说,我国综合环境测控技术的研究刚刚起步,目前仍然停留在研究单个或少量环境因子调控技术的阶段,自行开发的温室测控系统其技术水平和调控能力与兴旺国家还有一定的差距。1.3课题的主要内容及研究意义1.3.1课题的主要内容为适应农业开展的需要,根据以上分析存在的问题,本文研制和设计了基于单片机的温湿度自动测控系统。该系统在设计过程中充分考虑到性价比,选用价格低、性能稳定的元器件,可实现对大棚内温湿度的在线实时检测。同时,本课题还设计了相应的控制系统,单片机实时监测大棚内的温湿度,当温湿度超过设定的上、下限时,单片机驱动固态继电器翻开相应的执行机构,实现对温湿度、的补偿,从而使得大棚内的参数在适合作物生长的范围内保持稳定。本课题主要研究内容包含以下几个方面:(1)空气温度、湿度传感器的选型及相应信号处理电路的设计;(2)实现温室内空气温度、湿度环境参数的自动测试;(3)通过人机对话接口实现参数显示和在线参数设置;另外,本系统在设计时参加了以下特色性能:〔1〕可扩展性。系统在设计过程中除满足当前需求外,还需为日后的系统扩展留有足够的接口,所有功能模块均为可组态化设计,可以灵活的增加或者删除。〔2〕可集成性。系统在设计过程中需具备高度集成性,满足于第三方平台的实时交互集成需求。〔3〕可控制性。系统建成后,要求对温室中的温湿度、光照强度、喷灌装置等设备可实现远程自动、手动控制,保证温室作物处于最优的生长环境中。1.3.2课题的研究意义传统的方法,人们主要采用温度计、湿度计来采集温度值和湿度值,通过人工操作加热、加湿、通风和降温设备来控制温湿度。但是由于温度计、湿度计精度比拟低,以及人工读数的人为因素等原因,温湿度检测不仅速度慢,精度低,实时性差,而且操作人员的劳动强度大。现在农业上根本沿用人工的测控方法,这就不可防止的存在着劳动强度大、繁琐、测量精度低,并且由于检测报警不及时,给农业生产和科研工作造成了一定的损失。近年来,随着单片机功能的日益强大和计算机的广泛应用,人们对大棚内参数检测的准确性、稳定性要求也越来越高。本课题就是针对此问题,设计相对精度高、性能稳定、价格廉价的温湿度测控装置。该仪器可广泛地应用于诸如温室大棚、畜牧业中的孵化和饲养环境调节、粮食储藏以及其它农业生产和科研领域,并且由于系统的灵活性和模块化,也可以方便地满足其它领域的需要。2研究方案的设计2.1室内温湿度参数的调节2.1.1温度的调节与控制目前温室内温度的调节和控制包括加温、降温和保温三个方面,具体表现在:(1)加温。加温有热风采暖系统、热水采暖系统、土壤加温三种形式。热风采暖系统由热风炉直接加热空气和蒸汽热交换空气两种。前者适用于塑料大棚,后者适用于有集中供暖设备的温室;热水采暖系统的稳定性好,温度分布均匀,北方温室大都采用此种方式;土壤加温有酿热物加温、电热加温和水暖加温。(2)降温。降温最简单的途径是通风,但在温度过高,依靠自然通风不能满足作物的要求时,必须进行人工强制降温。降温包括遮光降温法、屋面流水降温法、蒸发冷却法及强制通风法。遮光降温法是一种在室外与温室屋顶部相距约40cm处张挂遮光幕,对温室降温很有效。另一种在室内挂遮光幕,降温效果比挂在室外差;屋面流水降温法采用时须考虑安装本钱,去除玻璃外表的水垢污染问题:蒸发冷却法使空气先经过水的蒸发冷却降温后再送入室内,到达降温目的。蒸发冷却法有湿帘法、风机降温法、细雾降温法、屋顶喷雾法。(3)保温。保温包括减少贯流放热和通风换气量、增大保温比、增大地表热流量。减少贯流的放热和通风换气量包括减少向温室内表外表的对流传热核辐射传热、减少覆盖材料自身的热传导散热、减少温室外外表向大气的对流和辐射传热、减少覆盖面因漏风而引起的换气传热;增大保温比是适当的降低温室的高度,缩小夜间保护设施的散热面积,从而有利的提高温室内昼夜的气温和低温;增大地表热流量可以采用增大保护设施的透光率,且经常保持覆盖材料干洁,及设置防寒沟,防止地中热量横向流出。2.1.2湿度的调节与控制大棚内空气湿度的调节与控制,从环境调控的观点来说,空气湿度的调控,主要是防止作物沾湿和降低空气湿度两个直接目的。而防止作物沾湿主要是为了抑制病害。除湿的方法有通风换气、加温除湿、覆盖地膜、适当地控制灌水量、使用除湿机、除湿型热交换通风装置。一般采用在不加温的温室里自然通风,到达降低温室内湿度的目的,其效果显著。在有条件的情况下,可采用强制通风,可由风机功率和通风时间计算出通风量,而且便于控制;其他的方法如覆盖地膜、热泵除湿等也能到达除湿的目的。加湿的方法包括喷雾加湿、湿帘加湿、温室内顶部安装喷雾系统。喷雾加湿时可根据温室面积选择适宜的喷雾器,此法效果明显,常与降温结合使用。湿帘加湿主要用来降温,同时也可到达增加室内湿度的目的;温室内顶部安装喷雾系统,降温的同时也可以加湿。2.1.3温度湿度之间的耦合控制温度与湿度之间有一定的耦合关系,对一个因子的控制常会带来另一个因子的变化。在冬季温室环境控制中,默认为温度控制优先的原那么,在温度条件满足后,再来满足湿度条件。如温度过低、湿度过大的情况下,以加温为主导,只有当温度上升到一定值后,才能通风降湿,另一方面,温度提高本身可以使相对湿度降低。在夏季降温加湿的过程中,采用以湿度优先的原那么。当湿度过小时,开启蒸发降温加湿装置。而当温度过高需要启动蒸发降温执行机构时,必须先检测室内的相对湿度,只有湿度低于某一设定范围时,才能启动蒸发装置。2.2系统总体方案设计2.2.1概述本文设计和研制上、下位机温室大棚测控系统,以满足不同的需求。其中,上位机采用PC机,下位机采用单片机。下位机控制器应能完成以下工作:脱离监控主机独立地进行数据采集与控制,通过人机接口(键盘和显示器)实现参数设定、显示和人工干预控制输出等功能。下位机控制器是以单片机为核心的,整个系统包括主模块、数据采集与处理模块、输出控制模块、键盘显示模块和数据通信模块等。数据采集与处理模块能够完成温室内温度、湿度和二氧化碳浓度的模拟量的采集和处理,结果送数据存储器或传输给监控效劳器,由监控效劳器存储和管理,输出控制模块主要负责温室执行机构的控制,通信模块那么是基于RS-232总线,由双绞线进行远程的数据传输,实现单片机和上位机的通信。本系统主要由温室内外环境自动测试系统,自动控制系统,人机对话接口和通讯接口四个局部组成。系统流程框图如图2-1所示。(1)三个温湿度测量传感器组成温室内外环境自动测试系统。主要测试温室外空气温度、湿度,温室内空气温度、湿度等环境参数。(2)继电器控制的风扇电机等硬件组成温室内环境自动控制系统。根据环境自动测试系统得到的结果控制相应执行机构的执行,为作物提供良好的生长环境。(3)人机对话接口包括。LED液晶屏显示系统:显示温室内的空气温度和湿度的参数值。键盘:用以人工预置各适宜环境参数值.报警信号:当对加热器、排风扇、通风窗和喷水设备的控制失效时,以及某环境参数值超过限定界限时,发出声光报警信号,提醒管理人员采取相应措施。(4)通讯接口。用来实现与PC机的通讯,将存储的测试数据传送给PC机,可以方便的实现集中式管理。图2-1温湿智能测控系统流程图2.2.2总体方案设计大棚蔬菜栽培,主要以冬、春两季为主。温度条件是促进蔬菜生长发育的动力。大棚内的温度变化规律是:昼夜温差大;晴天温差大于阴天,且棚温上升快;阴天棚温增温效果不明显。大棚内的蔬菜花卉在不同的季节所需要的具体的温度、湿度是不同的,而且具体的不同的农作物所需要的温、湿度也是不同的。本文通过以上对大棚蔬菜中的参量及其相互关系的分析研究,对系统总体方案进行了详细设计,采用ATMEL公司生产的AT89S52单片机作为核心控制处理器。温湿度传感器采用简单易用,含有已校准数字信号输出的温湿度复合传感器DHT11。显示局部采用我比拟熟悉的12864液晶屏,对温度、湿度进行分时显示。当温度、湿度中任何一个量低于或者高于期望的范围时,系统会控制自动报警。本设计采用的是声光报警,声光报警主要是控制蜂鸣器的发声频率和控制指示灯,使其在指定的区域一亮一灭,从而到达报警的目的。由于本系统所控制的温度、湿度都是大惯量环节,大棚容量大,而控制精度要求相对不高,所以用常规的乒乓控制方法即可满足控制要求。具体的控制过程是:湿度低于某一值即翻开滴灌电磁阀进行喷水,当湿度在期望值的范围内即关闭电磁阀;当温度高于期望的上限或湿度高于期望值上限时,单片机控制风扇进行排风;当温度低于期望值下限时,单片机驱动加热器进行加热。2.3本章小结本章综述了温室大棚内温度、湿度常用的调节与控制方法,确定了系统框架,结合实际情况,选定温湿度传感器、核心处理器等硬件电路,并针对温室大棚的环境,提出了温度、湿度测控系统的方案设计,为下文的展开做了前期准备。3硬件设计大棚内温度、湿度检测属监控系统范畴。近年来,由于传感器技术、计算机技术、超大规模集成电路技术和网络通信技术的开展,使监控系统广泛应用于工农业生产等领域。因此,温度、湿度检测技术的研究在软、硬件等方面都有了一定的进展。本局部是大棚检测和控制系统的核心局部,主要涉及微控制器及其外围接口电路,包括信号的输入,输出通道及系统键盘显示电路,执行机构电路等。本章将针对温室大棚中的温度、湿度的检测与控制进行深入的研究。3.1温度数据的采集与处理作物的生长,即有机物质的积累是在连续的、同时进行的两个相反过程--同化和异化中形成的。虽然温度对每个过程的影响都不同,但也有其共同的特征。即随着温度的升高,作物的生命过程最初是加快的。当温度超过一定界限时,光合作用〔同化〕和呼吸作用〔异化〕就减弱下来。当温度更高时,作用就停止了。也就是说,光合作用和呼吸作用都有它们各自的最低、最适和最高温度。在作物生活所需要的其他因子得到满足时农作物的增长是决定于光合作用制造的有机物质与呼吸作用消耗的有机物质之差,即有机物质的积累。所以,在大棚中对室内温度的控制显得尤为重要,通过对温度数据的采集,经过单片机的处理控制相应的设备对温度进行相应的调整,使其温度处于最适合植物生长的范围内。3.1.1温度传感器的选用由于温度是非电量,因此,对温度的检测与控制需要使用传感器或温度敏感元件。一般采用热电偶、热敏电阻和集成温度传感器等测温元件来检测温度。热电偶和热敏电阻的测量精度都比拟高,而且测量的范围也比拟宽,但是它容易受到测量场所以及环境的限制,高温或长期使用时由于环境的影响会使其性能下降,给实际应用带来了很大的不便。而集成温度传感器,如DS18B20,具有线性好、精度适中、灵敏度高、体积小、使用方便、价格比拟低,并且具有长期稳定性等优点,因此得到广泛应用。但是调试过程中发现,每个DS18B20芯片都有特定的ROM值,多个DS18B20之间通讯,读取温度时容易混乱。故放弃此芯片。3.2湿度数据的采集与处理湿度是表示空气干湿程度的物理量。单位体积空气中所含水蒸汽的质量,称作空气的绝对湿度。相对湿度就是1m3空气中实际所含水蒸汽的质量和同温度下饱和状态时所含水蒸汽的质量百分比。通常,我们所说的湿度大小,都是指相对湿度大小。随着湿度的变化,温室大棚内的空气会由于吸收过多的水分而变得潮湿,也会因原有水分被蒸发而变得枯燥。温室内湿度的变化,由室内的水分平衡决定。温室内水分的变化与室内作物栽培床的蒸散率、土壤蒸发率、喷淋系统的蒸发速率、水蒸汽的凝结率、水蒸汽的渗漏率和通风换气影响水蒸汽的变化率有关。3.2.1湿度传感器的选用常用的湿度传感器主要有HS1101湿敏电容元件类湿度传感器和DHT11数字温湿度传感器。HS1101的特点:不需校准的完全互换性,高可靠性和长期稳定性,快速响应时间,专利设计的固态聚合物结构,侧面接触封装,适用于线性电压输出和频率输出两种电路。相对湿度在0%^-100%RH范围内.电容量由162pF变到200pF,其误差不大于士2%RH;响应时间小于5s;温度系数为0.04PF/'C。可见精度是较高的。但是由于此元件需要焊接外围电路,焊接完毕后调试时一直出现数据延迟,有误差,漂移厉害等问题。而DHT11既可以同时检测出温度和湿度,又具有简单易用、性能稳定等特点,因此决定换用DHT11。DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗、相对湿度和温度测量、数字输出、卓越的长期稳定性、无需额外部件、超长的信号传输距离、超低能耗特点使其成为给类应用甚至最为苛刻的应用场合的最正确选择。3.2.2温湿度测量电路及其工作原理DHT11数字温湿度传感器内置一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接,响应快,性能稳定。DHT11的通讯采用串行接口。DATA用于微处理器与DHT11之间的通讯和同步,采用单总线数据格式,一次通讯时间4ms左右,数据分小数局部和整数局部,具体格式在下面说明,当前小数局部用于以后扩展,现读出为零。DHT11测量电路如图3-1所示。图3-1DHT11测量电路DHT11操作流程为:一次完整的数据传输为40bit,高位先出。数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验数据传送正确时校验和数据等于“8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据”所得结果的末8位。用户MCU发送一次开始信号后,DHT11从低功耗模式转换到高速模式,等待主机开始信号结束后,DHT11发送响应信号,送出40bit的数据,并触发一次信号采集,用户可选择读取局部数据。从模式下,DHT11接收到开始信号触发一次温湿度采集,如果没有接收到主机发送开始信号,DHT11不会主动进行温湿度采集。采集数据后转换到低速模式。总线空闲状态为高电平,主机把总线拉低等待DHT11响应,主机把总线拉低必须大于18毫秒,保证DHT11能检测到起始信号。DHT11接收到主机的开始信号后,等待主机开始信号结束。DHT11接收到主机的开始信号后,等待主机开始信号结束,然后发送80us低电平响应信号。主机发送开始信号结束后,延时等待20-40us后,读取DHT11的响应信号,主机发送开始信号后,可以切换到输入模式,或者输出高电平均可,总线由上拉电阻拉高。图3-2(a)DHT11高电平通讯过程图3-2(b)DHT11低电平通讯过程总线为低电平,说明DHT11发送响应信号,DHT11发送响应信号后,再把总线拉高80us,准备发送数据,每一bit数据都以50us低电平时隙开始,高电平的长短定了数据位是0还是1。如果读取响应信号为高电平,那么DHT11没有响应,请检查线路是否连接正常。当最后一bit数据传送完毕后,DHT11拉低总线50us,随后总线由上拉电阻拉高进入空闲状态。3.3键盘和显示电路设计3.3.1键盘电路设计根据本设计系统特点及要求,共设置了4个按键,按键接口电路采用查询方式的独立按键,下文详细介绍各按键所对应的功能。长按S1键进入温度报警设置界面,可设置是否允许过温报警及设置每一点的高温报警温度。按键2S是增加按键,正常状态下按该按键,显示的数值为温度控制设定值。每按一次该键,设定值的末尾位就会加一。连续按住3秒以上,设定值会迅速增加。S3是减少按键,每按一次该键,设定值的末尾位就会自动减去1。连续按住3秒以上,设定值会迅速减少。按键4是功能切换键,先设置最高温度和湿度,然后按下按键4,切换到设置最低温湿度,设置完成后,按按键4,完成所有设置,返回读取温湿度值页面。键盘实质上是一种按键开关的集合,它是利用触点的闭合或断开来实现其功能的。当某按键按下时,其输出电平并非立刻降为零,而是有一个抖动过程。当按键松开时,在这段过程中信号也会出现抖动,抖动的时间视键盘的机械特性和操作者不同而不同,一般为5~10ms,而CPU的操作很快,因此这种抖动就容易对按键的识别产生影响,为了防止因按键抖动而导致系统的误操作,需要采取某种手段实现键盘的“去抖动”功能。去抖动的方法有多种,如采用软件延时查询的方法或采用硬件处理的方法,本文选用软件延时的方法去除按键抖动。按键电路如图3-3所示。图3-3按键电路3.3.2显示电路设计显示器是最常用的输出设备。显示器件使用最多的是发光二极管显示器(LED)和液晶显示器(LCD)。因为它们都具有结构简单、耗电少、价格低廉、接口简单、寿命长等优点,广泛应用于智能仪表场合,尤其是单片机系统中大量应用。LCD以其功耗低、视觉范围广等特点也被广泛应用。显示电路的设计是不可缺少的。对于温湿度测控系统的设计而言,显示电路的设计也是不可缺少的。在本设计系统中,不仅要显示测量的温湿度值,而且还有不同的温湿度报警参数,故而显示器的设计是十分必要的。考虑到本设计的特点(工作温湿度、显示行列数、光线等),设计中选用的是12864显示屏。该显示器的大屏幕显示具有显示清晰、视觉范围广、价格低等优点。液晶显示模块提供两种界面来连接微处理机:8位串行及并行两种连接方式。具有多种功能:光标显示、画面移位、睡眠模式等。和LED显示器一样,LCD也有字符型和点阵型两种。字符和数字的简单显示,不能满足汉字和图形曲线现实的要求;点阵式LCD不仅可以显示字符、数字,还可以显示各种曲线、图像及汉字,并且可以实现屏幕上下的滚动、反转、闪烁等功能,用途十分广泛。本设计中的显示器设计采用的是点阵式液晶显示模块。12864液晶屏是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;内置8192个16*16点汉字,和128个16*8点ASCII字符集。低电压低功耗是其又一显著特点。与同类型的图形点阵液晶显示模块相比,不管其硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。12864液晶屏的接口电路如图3-4所示:图3-412864液晶屏显示电路LCD12864共20个引脚,其中引脚NC应悬空。由于模块内部接有上电复位电路,因此在不需要经常复位的场合可以将引脚RST悬空,引脚DB0-DB7为三态数据线,可用于写入并读取数据。LCD12864引脚说明如表3-5所示。表3-5LCD12864引脚说明序号引脚名称方向功能说明1VSS-模块的电源地2VDD-模块的电源正端3V0-LCD驱动电压输入端4RS(CS)H/L并行的指令/数据选择信号;串行的片选信号5R/W(SID)H/L并行的读写选择信号;串行的数据口6E(CLK)H/L并行的使能信号;串行的同步时钟7DB0H/L数据08DB1H/L数据19DB2H/L数据210DB3H/L数据311DB4H/L数据412DB5H/L数据513DB6H/L数据614DB7H/L数据715PSBH/L并/串行接口选择:H-并行;L-串行16NC空脚17/RSTH/L复位低电平有效18NC空脚19LED_A-背光源正极(LED+5V)20LED_K-背光源负极(LED-OV)3.4报警电路假设温湿度、二氧化碳浓度三个变量中有一个参数超标时,那么启动蜂鸣器报警,然后单片机控制红色LED发光二极管在指定的区域附近闪烁,同时单片机通过控制固态继电器来翻开相应的执行机构,工作人员也可以根据此情况来查看相应的区域或者采取相应的措施。蜂鸣器报警电路及LED发光二极管报警电路如图3-6所示。(a)蜂鸣器报警电路(b)发光二极管报警电路图3-6声光报警电路LED是近似于恒压的元件,导电时的正向压降一般为1.6v或2.4v左右,反向击穿电压一般大于等于5V,工作电流通常在10~20mA左右,故电路中需串联适当的限流电阻。发光强度根本上与正向电流成正比。发光效率和颜色取决与制造的材料,这里如果正常工作时,单片机驱动绿色的LED二极管发光,如果超过指定的上限值或者低于指定的下限值,那么驱动红色LED二极管发光,同时单片机驱动蜂鸣器报警。蜂鸣器的工作电流一般为30mA,所以也需要加上限流电阻。本文采用的是带报警记忆功能的报警设计,带报警记忆功能指的是巡测至当前通道时有报警那么输出报普,巡测至下通道如无报警但报警输出继续,直至所有通道均无报警方停止输出报警。3.5执行机构电路当温度湿、度参数超过预先设定的范围时,单片机控制固态继电器来翻开相应的执行机构,补偿相应的参数,直到该参数恢复到规定的范围内,那么停止该执行机构的运行,图3-7所示为执行机构的电路图。执行机构是实际控制农业大棚内温度、湿度的具体措施。本文通过单片机控制固态继电器,从而实现对加热器开关、风扇开关、喷淋开关等的控制。综合比拟了一下交流继电器和直流继电器,本文选用的是西德公司生产的交流固执行机构是实际控制农业大棚内温度、湿度的具体措施。本文通过单片机控制固态继电器,从而实现对加热器开关、风扇开关、喷淋开关等的控制。综合比拟了一下交流继电器和直流继电器,执行机构是实际控制农业大棚内温度、湿度的具体措施。本文通过单片机控制固态继电器,从而实现对加热器开关、风扇开关、喷淋开关等的控制。图3-7执行机构电路综合比拟了一下交流继电器和直流继电器,本文选用的是西德公司生产的交流固态继电器。它的输入为3~32VDC,输出为220V~480VAC。具体工作流程如下,单片机在相应引脚输出低电平信号,再经三极管放大后控制继电器翻开执行机构,如加热器开关、风扇开关、喷淋开关等,然后执行机构开始工作,在电路中接入接触器的主要目的是保护用电器。选用的时候可以选择额定电流大的接触器,这样不仅可以实现过压保护,也可以实现过流保护。由图3-7可以看出,同相驱动器的低电平使得LED二极管两端产生电压差,能够点亮相应的LED,说明该执行机构正在工作,补偿相应的参数,直到单片机检测到该信己经在期望的范围时,单片机发出高电平信号,停止执行机构的运行。3.6本章小结本章较为详细地介绍了温度、湿度检测所选用的传感器,以及给出了各个不同传感器的优缺点,为课题的可靠性提供依据。同时研究了温湿度、二氧化碳浓度测控系统的硬件设计,主要从各个不同的模块入手,详细的介绍了各个不同模块的工作原理并设计了相应的硬件电路。4控制系统的软件结构和程序框图汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。C语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言的功能。C语言有功能丰富的库函数、运算速度快、编译效率高、有良好的可移植性,而且可以直接实现对系统硬件的控制。C语言是一种结构化程序设计语言,它支持当前程序设计中广泛采用的由上向下结构化程序设计技术。此外,C语言程序具有完善的模块即序结构,从而为软件万发中采用模块化程序设计方法提供了有力的保障。用C语言来编写目标系统软件,会大大缩短开发周期,且明显地增加软件的可读性,便于改良和扩充,从而研制出规模更大、性能更完备的系统。综上所述,用C语言进行单片机程序设计是单片机开发与应用的必然趋势。为便于连接和调试,系统软件采用模块化的程序设计方法,将特定功能编成子程序,以调用子程序方式组成程序流。既能做到修改和调试程序方便,又能实现软件自诊断,提高了软件的易理解性和易维护性,并为程序的通用性、功能扩展的可行性、以及开发系列产品共享软件资源提供了条件。本文的整个程序主要由主程序和假设干子程序组成。子程序主要有键盘处理模块、显示模块、串行通讯模块等组成。4.1主程序模块主程序是控制单片机系统按预定操作方式运转的程序,它负责组织调用各子程序模块,完成系统初始化、显示数据和处理按键等功能。温度、湿度智能化的核心是单片机,其监控程序和应用软件全部固化在EPROM中。它的工作过程是:系统上电后,单片机AT89S52进入监控状态,同时完成对各个端口的初始化工作。当有键按下时,产生中断申请,并进入相应的中断程序,完成按键处理功能:在没有外部控制信息输入的情况下,系统通过模拟开关分时、自动采集湿度、温度传感器的电压值,并通过A/D转换器,将模拟信号转化成数字信号,最后产生的数据通过LED数码管显示。首先,显示第一个区域的温湿度,如果越限,那么启动声光报警,同时,显示下一个区域的温湿度,并检查是否越限,依此类推,直到检查完所有的区域。主程序流程图如图4-1所示。4.2系统各子程序模块C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计提供了有力的保障。本系统的子程序模块主要有:数据采集子程序、键盘子程序、显示子程序、数据处理子程序等模块。图4-1主程序流图4.2.1数据采集子程序模块对所有数据都采用了先集中采集后分别处理的方法来完成。数据采集子程序的功能是把各个参数变送器输入的模拟量转换为数字量。首先,系统通过模拟开关分时、自动采集温度,湿度输出的电压值,并通过ICL7135,将模拟信号转化成数字信号,然后,存储在实测值存储单元中。DHT11与单片机连接电路的软件设计系统的程序流程图如4-2所示。图4-2DHT11软件设计程序流程图该软件流程图主要由三局部组成。其中转换子程序是在主程序中调用的,目的是为了不占用很长的中断时间。T0计数器设定为方式1、定时状态、选通控制设为“1”。因此,TMOD控制字设置为“05H”。由于T0计数器用的是系统的晶振频率,因此与设定为计数状态效果一样。总之,ICL7135的串行方式在实践中的应用效果很好。与并行方式相比。其突出的优点是结构简单、程序简洁、占用单片机的资源少、可提高抗干扰能力,同时可提高仪器的检测可靠性,并且可在不添加任何扩展口线器件的情况下使系统的本钱得到降低。4.2.2键盘子程序模块本系统中设立了4个按键,分别是参数控制键、加-键、减-键以及复位键。参数控制键,用户可以根据自己的需要用来设定适合的温度、湿度。设定好相应的参数后,再按下复位键,系统进入自动显示状态。在扫描键盘的过程中,当操作者按下或松开按键时,按键会产生机械抖动。这种抖动经常发生在按下或松开的瞬间,一般持续几到十几微秒,在扫描键盘过程中,必须要消除按键抖动,本文采用软件延时的方法来消除按键的抖动。一旦发现有键按下,就延时20ms以后再测按键的状态。这样就避开了按键发生抖动的那一段时间,使CPU能可靠地读取按键状态。另一方面,在键盘扫描中,应防止按一次键而有多个对应键值输入的情况,即当某一个按下的键还未松开时,键盘扫描程序和键处理程序己经执行了多遍。因此,在键扫描程序中不仅要检测是否有键按下,在有键按下的情况,还应检测按下的键是否松开,只有当按下的键松开以后,程序才能做一次键处理。4.2.3显示子程序模块用12864显示模块进行软件设计时应注意:欲在某一个位置显示中文字符时,应先设定显示字符位置,即先设定显示地址,再写入中文字符编码;显示ASCII字符过程与显示中文字符过程相同。不过在显示连续字符时,只须设定一次显示地址,由模块自动对地址加1指向下一个字符位置,否那么,显示的字符中将会有一个空ASCII字符位置;当字符编码为2字节时,应先写入高位字节,再写入低位字节;模块在接收指令前,向处理器必须先确认模块内部处于非忙状态,即读取BF标志时BF需为“0”,方可接受新的指令。如果在送出一个指令前不检查BF标志,那么在前一个指令和这个指令中间必须延迟一段较长的时间,即等待前一个指令确定执行完成。LCD12864显示流程图如图4-3所示。写数据到模块。单片机发送和接受数据或指令要通过控制LCD上RS、RW、E三个引脚的上下电平来实现。应特别注意的是:无论是写数据还是读数据一定要先查忙(对左右半屏读命令),只有在BF=0时才能对LCD进行操作。“RE”为根本指令集与扩充指令集的选择控制位。当变更“RE”后,以后的指令集将维持在最后的状态,除非再次变更“RE”位,否那么使用相同指令集时,无需每次均重设“RE”位。从模块读出数据。根据LCD读数据时序图可以从12864液晶模块内部RAM中读出相应的数据,忙检测函数也是根据这个时序图写出来的。从RAM读数据,读指令执行后Y地址计数器自动加1。从RAM读数据前要先执行“设置页地址”及“设置列地址”命令。读数据时也一定要先查忙,只有在BF=0时才能对LCD进行操作。4.3本章小结本章主要介绍了温度、湿度测控系统的软件设计,主要从各个不同的模块入手,详细的介绍了各个不同模块的流程图。为了提高系统的精度,详细的介绍了用软件进行数据处理的方法。图4-3显示子程序流程图5系统调试5.1软件调试系统软件设计的过程主要分为以下几个步骤:第一步:建立源程序。通过计算机开发系统的编辑软件,按照所要求的格式、语法规定、源程序输入到开发系统中,并存在磁盘上。第二步:在计算机上,利用KILE软件对第一步输入的源程序进行编译,变为可执行的目标代码。如果源程序有语法错误,那么其错误将显示出来,然后返回到第一步进行修改,再进行编译,直到语法错误全部纠正为止。第三步:在线调试。对于与系统、硬件无联系的程序,可以借助在线调试手段,发现逻辑错误后,返回到第一步修改,直到逻辑错误纠正为止。对于与系统硬件紧密相关的程序,那么需对软件和硬件同时进行调试,将程序烧入CPU,然后将CPU插入系统。发现硬件故障后应排除故障,发现逻辑错误后应修改程序,消除逻辑错误。5.2硬件调试硬件调试主要包括两步:第一步:系统上电之前,先仔细检查线路是否连接正确,并核对元器件的型号、规格和安装是否符合要求,应特别注意电源系统的检查,以防止电源的短路和极性错误,并重点检查系统总线是否存在相互之间短路或与其它信号线的短路。下载完程序,翻开电源开关,系统开机页面如图5-1所示。第二步:第一步的调试,只是对系统进行初步调试,可以排除一些明显的故障,而硬件故障(如各个部件内部存在的故障和部件之间连接的逻辑错误)主要是靠软件和硬件联调来排除,可见硬件调试和软件调试是不能完全分开的,许多硬件错误是在软件调试中发现和被纠正的。系统进入开机欢送页面之后,按下功能键S4,此时系统进入温湿度实时显示页面,如图5-2所示。进入显示页面之后,长按S1键,系统能够进入温湿度报警值设置页面。温湿度报警值设置页面中,默认首先设置的是温度报警上限值,此时光标闪烁,分别按S2、S3键对报警值加一、减一,设置完成后按S4键,将光标移动到下一个报警值设置。如图5-3所示。四个报警值设置完毕,短按S4,系统又返回温湿度实时显示页面。如图5-4所示。图5-1系统开机页面图5-2温湿度实时显示页面图5-3温湿度报警值设置页面图5-4温湿度实时显示页面5.3液晶模块调试液晶显示器是人机界面最关键的局部,能够使我们更加清楚的读取数据。本系统由于显示内容较多,并且要有页面操作,因此选择较大的12864液晶显示屏作为显示口。在对显示模块进行调试的过程中发现显示不正常,汉字显示与字符显示不同,LCD-12864每行可以显示16个字符,8个汉字,汉字不能分半显示,由于软件编程时,地址分配有误,使得汉字局部无法显示。经过检查,发现问题后,将地址重新分配,显示局部正确。5.4报警电路调试本次系统设计采用的是声光报警电路。当温度和湿度其中任何值一个过限后,蜂鸣器都会发出声音。这是写在软件程序里的。但是在加上控制信号,温湿度过限后,蜂鸣器不报警。蜂鸣器的控制端口无控制信号输出。经检查发现程序里面蜂鸣器的控制端口电平设置有误,修改后,蜂鸣器工作正常。5.5本章小结调试工作是毕业设计的最后一步,也是十分重要的一步,能检验系统的好坏,能不能到达预期目标。通过调试,才能发现许多问题。本系统在调试过程中每个模块单独调试时正常,但是把各个模块都连在一起组成一个系统去调试时,并没有那么简单,会出现各种兼容、匹配、冲突等问题。在老师与同学的帮助指导下,各种问题才得以逐一解决。6总结本设计是基于AT89S52单片机的温室温度湿度控制系统,综合利用单片机技术、传感器技术、数字电子技术和LCD显示等科学知识,完成了基于单片机控制的温湿度测量和显示报警等的设计。比拟系统地介绍了硬件的组成及设计方法。利用单片机C语言完成了系统软件的设计。本设计特点如下:1.把传感器技术应用到单片机控制系统中,实现了对环境温湿度的数据采集、读取等。2.利用LCD液晶的显示技术完成了环境温度、湿度及显示电路的设计。3.外接了蜂鸣器报警模块,在超过设定温湿度上下限时自动报警。4.整个系统软硬件搭配合理,设计、开发、维护方便,性价比高。由于单片机经济实用、开发简便,因而在工业控制、农业自动化、家电智能化等领域也占据了广泛的市场。本设计有一定的实用性,但该系统在设计过程中仍有很多漏洞。还需要在智能化方面加以改良。特别是在节省功耗,提高稳定度等方面。不过,该产品有很好的可扩展性能,比方,该设备的测量结果不仅能在本地显示,而且可以利用单片机的串行口和RS-232总线通信协议将采集的数据传送到主控机,以进行进一步的存档、处理。主控机负责控制指令的发送,以控制各个从机的温湿度采集,收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储。主控机与从机之间也能够相互联系、相互协调,从而到达系统整体统一、和谐的效果。本系统存在的缺乏与拓展:1.设计缺乏:系统设计中,未能显示实时信息。在一些比拟特殊的场合,有时候需要系统显示出各个时间段,比方,早、中、晚的实时信息。而这个系统没有此项功能。2.系统拓展:(1)本系统可以添加无线模块。可以添加中、短程无线通信模块,使得系统能够在比拟恶劣、危险等不适合人到达的地方进行工作,这样就提高了系统的实用性;(2)本系统可以利用串口与PC机相连接,然后将采集的信息在PC机上进行处理,比方可以绘制时间—温湿度曲线,也可将信息发布到WEB上,进行远程操控。由于知识和经验方面的缺乏,本设计还存在缺乏的地方,本人还要不断学习相关知识和查阅资料,使系统结构和功能上不断完善。参考文献[1]郭清华.蔬菜大棚智能温度控制系统应用研究[J].安徽农业科学,2008.[2]李朝青.单片机原理及接口技术.北京:北京航空航天大学出版社,2009[3]李听,曲梦可,荣誉.基于MSP430单片机的模糊温湿度控制器的设计[J].传感技术学报.2007.20(4).[4]周润景,张丽娜.基于PROTEUS的电路及单片机系统设计与仿真.北京:北京航空航天大学出版社,2006[5].郭清华蔬菜大棚智能温度控制系统应用研究[期刊论文]-安徽农业科学2008(22)[6]邢献芳.数字式温湿度数据采集器的研制[J].工业计量,2006,16(6):11—13.[7]朱滨峰,徐桂云,李俊敏.单片机在温湿度测量系统中的应用l-J].仪器仪表标准化与计量,2006(5):44—46.[8]
褚向前,朱武.温室温度多传感器数据融合[J].农机化研究,2008,(4):180-185.[9]杜深慧.温湿度检测装置的设计与实现.北京:机械工业出版社,2004[10]姜志海,赵艳雷.单片机的C语言程序设计与应用.北京:电子工业出版社,2010[12]沙占友.智能化湿度传感器原理与应用.北京:机械工业出版社,2002[13]梅丽凤,王艳秋.单片机原理及接口技术.北京:清华大学出版社,2008[14]郑锋,王巧芝.温室大棚自动控制系统的设计.北京:机械工业出版社,2008[15]李敏,孟臣.温室大棚计算机测控系统的研制.计算机与农业科技,2001[16]HashimotoY.Somespeakingplantapproachtothesynthesisofcontrolsysteminthegreenhouse.ActaHort,1985[17]G.vanStratena,etc.Towardsuseracceptedoptimalcontrolofgreenhouseclimate.computersandElectronicsinAgriculture,2000[18]W.L.Brogan.ModernControlTheory.Prentice附录附录A:系统电路原理图附录B:系统程序清单/********自动化****************/#include<reg52.h>#include<intrins.h>#include<stdio.h>#defineucharunsignedchar#defineuintunsignedint//bitBJ=0;//是否超温报警charread_data1();voiddelay(ucharz);/*****************12864接口位定义******************/sbitlcd=P3^4;//使能REsbitrs=P3^5;//RSsbitrw=P3^6;//RWsbitrd=P3^7;//串并行PSB/*******************按键位定义********************/sbits1=P2^2;sbits2=P2^3;sbits3=P2^4;sbits4=P2^5;#defineS1s1==0#defineS2s2==0#defineS3s3==0#defineS4s4==0sbitDHT1=P1^0;//温湿度传感器接口/***********************变量数组定义*******************/ucharshiZ1,shiX1,wenZ1,wenX1,check1;uchartr_shiZ1,tr_shiX1,tr_wenZ1,tr_wenX1;ucharflag1;uchartable[]="温度";//数组形式uchartable1[]="湿度";/************************1ms延时函数*******************/voiddelay(uintz){ uintx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}/******************向LCD12864写入命令*******************/voidwrite_com(ucharcom){ rs=0; rw=0;P0=com;delay(5); lcd=1; delay(5);lcd=0;}/********************写显示数据到LCD*********************/voidwrite_date(uchardate) { rs=1; rw=0; P0=date; delay(5); lcd=1; delay(5); lcd=0; } /********************************写字符串******************/voidLCD_WriteString(uchar*str){ while(*str!='\0') { write_date(*str++); } *str=0;}/*********************12864初始化***********************/voidinit(){ rd=1;//并行 PSB接高电平 write_com(0x03);write_com(0x0c); write_com(0x01);//清屏}/*******************在固定位置写数字***********************/voidwrited(ucharadd,uchardate){ ucharshi,ge; shi=date/10; ge=date%10;write_com(add); write_date(0x30+shi); write_date(0x30+ge);}/**********************显示页面****************************/voiddisplay() { uchari; write_com(0x81);//第1行温度 for(i=0;i<8;i++) { write_date(table[i]); delay(4); } write_com(0x85);//第二行湿度 for(i=0;i<8;i++) { write_date(table1[i]); delay(4); } }/**************************延时函数****************************/voiddelay_1ms(uinti){ uintj=88; for(;i>0;i--) { while(j>0)j--; }}voiddelay_10us(){ uchari; i--; i--; i--; i--; i--; i--;}/*********************开机显示界面***************************/voidLCD_ShowWelcome(){ write_com(0x80); LCD_WriteString("智能环境温湿度监"); LCD_WriteString("测与控制系统设计");}/***********************读DHT11数据初始化*****************/voidread_init1(){ DHT1=0; //使DHT11低电平并延时 delay_1ms(21); DHT1=1; //置DHT11高电平20~40us,并等待相应 delay_10us(); delay_10us(); delay_10us(); delay_10us(); DHT1=1;if(!DHT1)//发出响应信号 { flag1=2; while((!DHT1)&&flag1++);//等待从机发高电平结束 flag1=2; while(DHT1&&flag1++); //开始采集数据 tr_shiZ1=read_data1();//采集湿度整数局部 tr_shiX1=read_data1();//采集湿度小数局部 tr_wenZ1=read_data1();//采集温度整数局部 tr_wenX1=read_data1();//采集温度小数局部 check1=read_data1(); //采集校验位 } DHT1=0; delay(20);//采集完数据 }/*******************读DHT11数据*************************/charread_data1(){ uchari,num,temp; num=0;for(i=0;i<8;i++) { flag1=2; while((!DHT1)&&flag1++);//等待50毫秒低电平 delay_10us();//延时判断0还是1 delay_10us(); delay_10us(); delay_10us(); if(DHT1==1) { temp=1; flag1=2; while(DHT1&&flag1++); } else temp=0; num<<=1; num|=temp; } return(num);}voidxianshi(){uchartemp1;while(1) { display(); read_init1(); temp1=tr_shiZ1+tr_shiX1+tr_wenZ1+tr_wenX1; if(check1==temp1) { shiZ1=tr_shiZ1; shiX1=tr_shiX1; wenZ1=tr_wenZ1; wenX1=tr_wenX1; write_com(0x90);//第二行 LCD_WriteString("①"); writed(0x91,wenZ1); LCD_WriteString(".0"); LCD_WriteString("℃"); writed(0x95,shiZ1); LCD_WriteString("%R"); LCD_WriteString("H"); delay(200); write_com(0x88);//第三行 LCD_WriteString("②"); writed(0x89,0); LCD_WriteString(".0"); LCD_WriteString("℃"); writed(0x8D,0); LCD_WriteString("%R"); LCD_WriteString("H"); write_com(0x98); //第四行 LCD_WriteString("③"); writed(0x99,0); LCD_WriteString(".0"); LCD_WriteString("℃"); writed(0x9D,0); LCD_WriteString("%R"); LCD_WriteString("H"); }}}/*******************开机后显示欢送界面,按下S4翻页,显示当前温湿度。然后长按S1键进入温湿度报警设置界面,设置温湿度报警上下限。S2加1键,S3减1键。设置完成按S4确定。******************/bitchang=0;//s1长按标志位 bits4chang=0;//s4短按标志位 uintpress_num=0;//记录按键S1按下的时间uints1num=0; //记录按键S1长按之后再次按下的次数ucharbjw1=40,bjw2=25,bjs1=50,bjs2=20;//温度湿度报警初始值,1是上限2是下限 voidKeyScan(){ if(S1) { delay(20); //延时消抖 if(S1) { while(S1)//s1按下之后,检测按下时间,判断是短按还是长按 { press_num++; delay(20);//20ms延时 if(press_num==100) break; } if(press_num>90)//如果按下时间大于3秒那么为长按 { press_num=0; //按下的时间清零 chang=1; //标志位,表示现在是长按 write_com(0x01);//然后清屏 write_com(0x80); LCD_WriteString("报警值设置中"); write_com(0x92);//第二行 LCD_WriteString("上限"); write_com(0x95); LCD_WriteString("下限"); write_com(0x88); LCD_WriteString("温度"); writed(0x8A,bjw1); LCD_WriteString("℃"); writed(0x8d,bjw2); LCD_WriteString("℃"); write_com(0x98); LCD_WriteString("湿度"); writed(0x9A,bjs1);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 锅炉招标投标合同
- 房屋买卖合同样式分享
- 变压器招标文件与合同的条款解读
- 钢管架施工要点
- 数码打印机购买合同
- 实习生与单位间的实习协议
- 电梯维修养护招标
- 专业法律培训合同
- 招标文件的组成要素详解与分析
- 茶楼茶叶品牌授权合同
- 2024年消防月全员消防安全知识专题培训-附20起典型火灾案例
- 中国寰球工程有限公司招聘笔试题库2024
- 人教版八年级数学上册第15章《分式》全部教案(共12课时)
- 2024年社区工作者考试题库及答案
- 电子信息工程专业大学生生涯发展展示
- 10以内口算100道题共16套-直接打印版
- 配电工程管理中常见问题有效解决措施探讨
- 高强Q460钢焊接作业指导书
- (完整版)小学四年级英语阅读理解20篇)
- 砸墙安全责任书
- 解说词应急突发流感疫情卫生应急演练脚本
评论
0/150
提交评论