《温湿度传感器.doc》由会员分享,可在线阅读,更多相关《温湿度传感器.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流温湿度传感器.精品文档. 学号: 20090127082013 届本科生毕业论文(设计)题 目: 空气温湿度测量仪设计学院(系): 机械与电子工程学院专业年级: 机械电子工程091学生姓名: 申士杰指导教师: 朱兆龙合作指导教师:完成日期: 2013年6月空气温湿度测量仪设计摘 要植物生长都需要适宜的环境条件,环境温湿度是最主要的环境因子之一。空气温湿度的测量对农业生产十分关键。通过比较多种温湿度测量方法,设计一种基于单片机的空气温湿度测试仪。本设计采用51单片机STC89C51为核心处理器,由空气温湿度传感器所测数据送入单片机,进行运算处理
2、,最终在LCD016L上显示测量结果。系统基于模块化设计确定各模块单元,并选择相应的电子元器件,进而进行电路设计。系统硬件电路主要由单片机外围电路、传感器电路、电源电路、液晶显示电路等组成。在此基础上,设计系统软件;软件部分包括单片机外围模块、温湿度传感器模块、电源模块以及人机交互模块的程序设计。电路原理图在proteus软件进行仿真,仿真结果表明电路原理上可行。根据设计方案,空气温湿度测量仪可以具有读取方便,操作简单,测量精确的优点。 关键词: 空气温湿度;液晶显示;STC89C51;SHT10Design of Air temperature and humidity meterAbstr
3、act Temperature and humidity environment is the most important factor for that Plant growth requiring appropriate environmental conditions. The measurement of temperature and humidity is critical to agricultural production. Therefore, by comparing a variety of temperature and humidity measurement me
4、thods, design a microcontroller-based tester of temperature and humidity . This design uses 51 single core processor STC89C51 by air temperature and humidity sensors of the measured data into the microcontroller, operation processing, culminating in LCD016L display the measurement result . System is
5、 based on a design of modular to determine each module unit, and select the appropriate electronic components, and circuit design further. System hardware circuit by the MCU peripheral circuit, sensor circuit, power circuit, liquid crystal display circuit and other components .On this basis, design
6、system software; software parts includes module of On this basis, design system software; software part includes control module, the module of temperature and humidity sensor, the module of power and the module of human-machine interaction programming ,the module of temperature and humidity sensor,
7、the module of power and the module of human-machine interaction programming. Schematic circuit is simulation in the proteus, and simulation results show that schematic is viable. According to design, the measuring instrument of air temperature and humidity may have the advantages of easy operating,
8、easy reading and having precise measurements.Keywords:temperature and humidity of air ; LCD; STC89C51; SHT10 目 录1 绪论31.1 研究背景31.2 研究现状31.2.1国外研究现状31.2.2国内研究现状41.3 研究目的与内容41.4 论文结构42 系统结构设计及元器件选型62.1 系统结构设计62.2 器件选型72.2.1 单片机模块选型72.2.2 测量模块选型72.2.3液晶模块选型82.2.4 硬件选型综述92.3 本章小结103 硬件电路设计与实现113.1 硬件设计准备
9、113.2 单片机模块外围设计113.3 温湿度传感器123.4 电源模块设计133.5 用户交互模块设计143.5.1 LCD显示设备设计143.5.2 按键电路与报警电路设计153.6本章小结164 系统软件设计174.1 开发软件平台概述174.2 系统程序设计184.2.1 系统主程序设计184.2.2 传感器读取参数子程序设计194.2.3 LCD显示子程序设计214.2.4 警报子程序设计234.3 本章小结255 系统仿真265.1 仿真调试265.2 仿真结果分析265.3 本章小结276 总结与展望286.1 总结286.2 展望28参考文献29附录一30附录二31附录三32
10、致 谢531 绪论1.1 研究背景我国耕地面积逐年减少,截止2011年,我国耕地面积为1.33亿公顷,比上年减少30万公顷,人均耕地面积仅为926,不到世界人均的40%,我国农业需要向优质、高效、高产的现代化农业转型。如何在有限的农业资源基础上,面向我国农业特点,借助先进的科技手段提高生产效率已经成为必须解决的重大问题。我国现阶段农业生产具有以下特点:农作物对某些环境因子变化敏感,当环境因子出现极端情况时,如不能及时采取措施,农作物就可能大面积减产,造成严重经济损失。如若持续高温,容易造成病虫滋生蔓延,从而影响植株的正常生长发育;如若持续低温,则容易冻死菜苗,造成寒害。我国地域辽阔、气候多样,
11、生产条件千差万别,不同作物、不同品种均需因地制宜进行管理,而目前我国农业生产以小家庭模式为主,农业技术人员缺少、农民知识水平较低,缺乏针对性的科学生产指导。基于以上需求,有必要设计一种低成本、面向小规模生产的设施农业的环境监测预警控制设备。能够实现环境因子的实时监测和远程灾害气候预警预报,从而有效避免夏季高温和冬季寒害带来的损害,增加农业生产的产量。本文设计一种操作简单、精确检测控制的低成本监控预警设备,使之既能保证对设施环境的实时检测及预警,同时在此基础上可以增加另外的模块,对温室设施农业的发展具有重要意义。1.2 研究现状自从监控应用到设施农业以来,国内外许多公司、高校和研究机构纷纷投入力
12、量加入到这一领域。但直到本世纪初,人们在该领域的研究工作还基本上处于起步阶段。直到2002年,微电子技术、嵌入式技术和微机电系统技术的成熟,使人们看到设施农业监控应用的潜能。至此,监控应用的研究进入了迅速发展阶段。1.2.1国外研究现状国外借助其电子技术与传感器技术方面的优势,环境及生物信息的获取与监视的数字设备较为成熟,已有很多基于数字检测的先进的产品化设备出售。其代表国家有荷兰,日本,以色列和美国等。例如,美国加州大学伯克利分校所设计的环境实时监测系统,应用在俄勒冈州的一个葡萄园中,每隔一分钟检测一次土壤温度、湿度和日照等信息,通过无线通信技术发送到信号接收节点,再通过网络发送到计算机上,
13、再由计算机系统中的相关应用软件对数据进行分析处理,最后由葡萄园主从显示系统中观看分析结果。英国伦敦大学农学院研制的温室计算机遥控技术,可以观测50km以外温室内的光、湿、气和水等环境状况,并进行遥控。以色列温室环境控制系统是现阶段比较典型的代表性产品,具有很强的实用性,可以根据控制对象的特点选用不同类型的控制器及外围设备,具体特点包括:具有一个综合性的、实用灵活的、由许多控制应用程序构成的软件包,可检测温度、湿度、风速、风向等数据,主控制与控制网络的通信可以通过电缆、无线或手机等方式进行;软件基于Windows平台。1.2.2国内研究现状与国外应用相比,国内在农业方面的数字监控领域的研究起步较
14、晚,但也取的了很快进展。从国内对环境监控来看,大部分温室利用传统测量仪器相对比较普遍,这种测量仪器在测量的便捷性和准确性上有很大的缺限。一些其他的温湿度测量仪不但价格昂而且不利于以后的功能的扩展即建立整个温室的远程的监测控制设备。威讯紫晶科技公司开发了无线环境监测系统,由采集终端、数据收集器将测量到的温度、湿度数据等通过GPRS网络无线发送到中心监控主机,可以同时监测上百个采集器,网关支持ZigBee技术,具有低成本、低功耗和安全简易等特点。适合大面积多因子的环境监测,如连栋温室等。在这复杂的系统中基础的模块就是温湿度屏显模块。这个系统主要是对大型的温室,其投资较大,系统比较复杂,操作复杂。1
15、.3 研究目的与内容本项设计面向设施农业生产,采用传感和屏显信息技术,将传统农业与农业信息化、数字化结合,研制精准农业信息监测设备。该设备能向用户提供精确、实时的作物生长的环境信息,对灾害气候进行现场预警,并提供部分控制功能,可调控部分环境因子,实现农作物生长环境的最佳条件。满足大规模推广需求,易于实现项目成果的产品化。本文以STC89C51单片机为核心处理器,通过对空气温湿度测量仪的模块化,选择出不同的元器件类型20,根据元器件类型的型号进行各个模块的软件编写,进行本次设计的电路硬件和软件的校核,最终设计产品准确显示空气的温湿度。1.4 论文结构本论文章节结构按如下安排:第一章介绍监测系统的
16、研究背景、国内外利用现状、研究目的和论文结构。第二章给出系统设计原理框图,选择器件类型以及对设计中用到的元器件的介绍。第三章硬件电路的设计,包括主控模块、温湿度传感器模块、电源模块以及人机交互模块电路设计。第四章主要是软件设计与实现,介绍单片机开发软件Keil,重点是各个模块软件设计。第五章主要是系统仿真验证分析。第六章主要是总结与展望。2 系统结构设计及元器件选型本章节主要是对系统结构设计和系统各个模块器件的选型。先确定系统结构,再根据系统结构的类型确定各个系统模块器件的类型。选出的各个模块的型号关系到此次设计的所用的电路的类型和软件编程的复杂程度,因此要考虑清楚每一个器件的优点缺点,为以后
17、的工作减少负担。2.1 系统结构设计所谓的模块化设计,简单的说就是将产品的某些要素组合起来,构成一个具有特定功能的子系统,将这个子系统作为通用性的模块与其他产品要素进行多种组合,构成新的系统,产生多种不同功能或相同功能、不同性能的系列产品。模块化设计已被广泛用于机床、电子产品、航空、航天等设计领域。本文设计的温湿度屏显设计是实现设施温室作物的温湿度的数字显示以及现场报警,如果加上一些外加模块也可以提供对卷帘机和滴灌设备的控制。采用模块化设计思想,该系统主要由主控模块、测量模块、电源模块、用户交互模块及相关软件组成。整个系统以单片机为控制核心,系统运行时,首先将数据采集模块采集到的环境数据传送到
18、单片机模块上,并将采集到的数据显示在液晶屏上,由存储在单片机的决策算法对数据进行分析后做出是否报警灯开和启蜂鸣器响起。也可以在以后的开发中加入通信模块从而对于采集到的数据可定时发送给用户,也可以定期存储,当用户远程通过短信索取时发送给用户,设备的控制支持现场的按键操作,也可以通过短信息远程控制。系统模块示意图如2-1所示:图2-1 温湿度仪模块示意图2.2 器件选型在系统的硬件设计上,最重要的是低功耗的设计。低功耗的设计可以分为硬件和软件两个方面,在硬件方面体现在芯片的选择上。2.2.1 单片机模块选型单片机是整个主控模块的核心,也是整个系统的核心,直接关系到系统的整体性能、价位、开发难度等。
19、因此在选择时要综合考虑. 最终决定采用STC89C51/STC89C52单片机作为控制模块的核心。此单片机运用比较广泛,单片机的处理速度能够满足本次设计需求,本次设计接口数量也能够满足。以前对这种类型的有过学习,能够熟练的掌握51单片机的性能和软件编程。此类型单片机的运用参考实例也超过其他单片机。此外价格比较便宜,功耗较小,满足各种应用需求。非常适合这次设计,外加以前的了解更加可以提高本次设计的效率。17STC89C51单片机简介:STC89C51是ATMEL公司生产的单时钟机器周期的单片机。4K字节可编程闪烁存储器。STC89C51RC是采用8051核的ISP在系统可编程芯片,最高工作时钟频
20、率为80MHz,片内含8K Bytes的可反复擦写多次的Flash只读程序存储器,器件兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,具有在系统可编程(ISP)特性,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,省去了购买通用编程器,而且速度更快。STC89C52RC系列单片机是单时钟/机器周期(1T)的兼容8051 内核单片机,是高速/ 低功耗的新一代8051 单片机,全新的流水线/精简指令集结构,内部集成MAX810 专用复位电路。4-8实物如图2-2。图2-2 STC89C51实物图2.2.2 测量模块选型测量模块
21、的选型主要是以传感器的选型为主,本次测量模块设计要求的传感器的种类为温湿度传感器。 传感器的选型主要参考的参数有:供电电压、测量范围、测量精度、响应时间、总线类型、输出类型、成本。结合设备应用场合及测量精度和范围1,提出两种方案:方案一:选择温度传感器RTD和湿度传感器C5-M3组合测量温湿度。这个方案有一定的可行性,但是这种组合无论是电路图还是软件设计都比较复杂,输出的为模拟型号,还要进行信号的模数转换,大大增加了复杂性。即使完成的设计其精确性性也不高。还会增加成本。方案二:采用温湿度一体的传感器,其中选择使用相对广泛的SHT10。温湿度传感器SHT10是体积小功耗低的数字传感器16。只有一
22、个传感器,节约了单片机接口。另外对于STC89C51单片机的特性,只能够接受数字信号。SHT10为数字传感器,即直接可以输出数字信号,因此可以直接与单片机相连,减少了模数转换电路。减小设计的复杂程度。此传感器比较精度高,也可以提高产品的精确度。经过考虑选用方案二可以更加满足需求。SHT10传感器其主要技术参数如下10-15:供电电压:2.4V5.5V总线类型:I2C温度测量范围:-40123.8湿度测量范围:0100%RHSHT10温湿度传感器实物见图2-3;SHT10结构见图2-4: 图2-3 实物图图2-4 传感器接口图2.2.3液晶模块选型 方案一:用LED数码管显示。LED功耗低,控制
23、简单,显示清晰。但只能显示数字和abcdef等若干简单的符号,有的复杂符号无法显示,不能更直观和透彻的显示数据。方案二:用LCD液晶屏显示。可以显示各种复杂的字符、数字。像素高,信号响应时间短,控制方便,显示方式多,可以实现菜单驱动方式的显示效果,实现编辑模块全屏幕编辑的功能。LCD同样具有功耗低的特点,且本身具有控制器,可以节约主单片机的一些资源更好的应用到其他功能,减轻了主单片机的负担,同时显示数据更全面彻底。 基于上述分析,选择方案二,采用LM016L显示。 液晶实物见图2-5,LM016L接口图见图2-6 图2-5 液晶实物图 图2-6 LM016L接口图 LM016L引脚简介: 第1
24、脚:VSS为地电源。 第2脚:VDD接5V正电源。 第3脚:VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。 第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。 第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。 第714脚:D0D7为8位双向数据
25、线。 第15脚:背光源正极。 LM016L主要性能: 显示容量:162个字符 芯片工作电压:4.55.5V 工作电流:2.0mA(5.0V) 模块最佳工作电压:5.0V 字符尺寸:2.954.35(WH)mm2.2.4 硬件选型综述经过上述的选择决定系统以51系列单片机(STC89C51)做为处理核心,采用模块化设计思想,该系统主要由主控模块、测量模块、电源模块、用户交互模块及相关软件组成。 温湿度传感器是本系统的测量元件,传感器性能的好坏直接影响到本系统性能的好坏。在本设计中温湿度传感器采用的是SHT10。并且SHT10传感器有产生的是数字信号,减少了模拟信号到数字信号的转化,比较方便。在本
26、系统中,采用LCD作为显示单元,LCD液晶显示器具有功耗低、寿命长、无辐射、不易引起视疲劳等优点,正在广泛应用于仪表、家用电器、计算机、医疗仪器及交通和通信领域。本系统采用LM016L液晶显示模块,它是12864点阵型液晶模块,自带字库,可显示各种字符及图形,可以和单片机接口直插相连。2.3 本章小结本章主要是对温湿度屏显系统的总体设计,以及设备设计所需的各模块的主要元器的性能要求和选型结果。3 硬件电路设计与实现空气温湿度测量仪的硬件电路的设计也是采用模块方案;主要包括硬件的以下设计:单片机模块硬件电路设计、温湿度传感器硬件电路设计、电源模块的硬件电路设计和用户交互模块的硬件电路设计。其中以
27、主控模块硬件电路设计为重点。3.1 硬件设计准备本次设计使用作为绘制底层硬件电路板的软件工具为Altium Designer09。Altium Designer09是Altium公司在于2009年推出的电路设计软件。它是一套构建在板设计与实现特性基础上的设计软件,其主要功能包括电路原理图设计、印刷电路板设计、改进型拓扑自动布线、模拟/数字混合信号仿真、布局前后信号完整性分析等各种电路设计功能,还能够计算机辅助输出和编辑性能等。因此在开始电路设计前应先学会并且熟悉此软件的使用。下文对系统的各个功能模块进行了讲述,绘制原理图是绘制PCB板的前提,只有正确的绘制原理图并形成正确的网络表才能绘制PCB
28、板。根据各个芯片的资料及典型应用电路在面包板上搭建进行验证后,设计元件库,并根据芯片资料提供的元件封装要求设计各个芯片对应的封装,将各个元件与对应的封装进行链接,最后用原价库中的元件搭建电路图。3.2 单片机模块外围设计 单片机模块主要是使用STC89C51作为单片机,下面主要是STC89C51的性能的简介以及外围电路的设计。单片机模块的设计是所有模块中最重要的设计。单片机模块是空气温湿度仪系统设计的核心内容。基于ATMEL公司的STC89C51实现应用的单片机模块硬件电路如图3-1所示。单片机模块主要包括单片机电路和调试电路,采用上电自复位方式。端口P1.0和P1.1为下载程序和调试所用接口
29、,P0口接串行接口液晶和时钟芯片接口实现采集数据的的现场显示和设备的定时控制。P1.4和P1.3接开关用来调节空气温湿度阀值。P0口外接上拉电阻;端口P3.1和P3.0和数字温湿度传感器SHT10的时钟口和数据口相连接实现对环境中的温湿度环境信息的采集。14本电路的设计是全部设计的基础,要争取的分配各个端口,是端口合理的分配,要预留端口给液晶显示、键盘、传感器、LED和报警器。这些都需要提前考虑。要事先了解各个元器件的性能和管脚的数量。充分的了解系统中各个模块的所需要的功能,各个模块的所需要的原件,最终选择外围电路的借口。从而减少编程的困难的程度。图3-1 单片机外围电路3.3 温湿度传感器根
30、据上一章的选型,确定本次设计的温湿度传感器型号为:SHT10。SHT10为温湿度一体数字传感器。SHT10采用的是14位的A/D转换器,并且是IC总线形式,具有较高的精度和数据采集方式,能完全满足本设备的应用要求19。制作工艺采用CMOS过程微加工专利技术,能够很大程度上确保温湿度传感器具有极高的可靠性和出色的长期稳定性。该传感器是由1个电容式聚合体测湿元件和1个能隙式测温元件组成的,并与1个14位A/D转换器以及1个2-wire数字接口在单芯片中无缝结合,使得该产品具有功耗低、反应快、抗干扰能力强等优点。根据对SHT10传感器接口类型和功能的了解,确定温湿度传感模块硬件电路设计。温湿度传感器
31、主要提供给单片机外界环境数据,其串行时钟输入(SCK)与单片机P3.5口连接,用来实现传感器与单片机的通讯同步。传感器的串行数据(DATA)与单片机P3.6口连接,给单片机发送命令。接地引脚与地连接,电源引脚和5V电源连接,按照上述的连接方式,完成传感器模块硬件电路的连接。使传感器在硬件电路的设计上满足本次设计的需求。搭建实验电路测试后确定电路如图3-2所示。图3-2温湿度传感器电路3.4 电源模块设计电源供电部分采用12V/5V直流输入的电源适配器或蓄电池供电,电源输入后12V电源经过LM2596-5电源芯片降为5V,经过桥整、电容滤波后为板子提供5V电压,系统的电源电路如图3-3所示,其中
32、,VCC5跟电池输出的作用一样,都是为板上的元器件和芯片提供合适的工作电源;另外,它也可以为以5V为工作电压的传感器供电(监测节点上留有温湿度传感器接口,可用于扩展)。电源模块采用的降压芯片均为LM2596开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。固定输出版本有 5V、12V,可调版本可以输出小于 37V的各种电压。该器件内部集成频率补偿和固定频率发生器,开关频率为 150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件。由于该器件只需 4个外接元件,可以使用通用的标准电感,这更优化了LM2596的使用,极大地简化了开关电源
33、电路的设计。电路连接,主要是芯片LM2596-5的连接,接线电路见图3-3图3-3电源电路3.5 用户交互模块设计用户交互模块硬件电路的设计包括:LCD显示设备硬件电路的设计 ,按键设备硬件电路的设计和报警设备硬件电路的设计。其中LCD显示设备,可以更好的方便用户现场的管理实现人机交互,使系统更人性化。本课题根据模块的不同功能的采用两种显示方式:LED显示方式和LCD显示方式。显示温湿度数值状态的为LCD显示硬件电路设计,报警设备的显示为LED显示硬件电路设计。报警设备设计中还包含蜂鸣器电路的设计。3.5.1 LCD显示设备设计液晶显示模块是各个屏显设计中现场交互的最主要方式,一般主要实现对即
34、时采集到的环境数据进行实时显示以及现场警报界面信息提示,此外还提供对按键操作的界面显示,例如:通过按键操作控制模块的继电器,界面会显示相应的信息机控制继电器的接口的选择和继电器开关状态的显示以及按键执行操作的选择。液晶对按键的响应提供的交互界面能很好的实现用户的现场管理,方便用户对设备的操控,有助于提高设备应用所面向的层面,能极大的提高用户的操作体验。本次设计的为温湿度测量仪,根据初步设计本设计含有温湿度屏幕显示的功能。因此这就是本次设计中液晶的主要功能为接收单片机发出的的数据并显示。LCD的选用根据上一章的选型结果确定采用LM016L型号液晶。此液晶可显示各种字符及图形,可与CPU直接接口,
35、LM016L液晶显示模块对外提供了以下几种信号线:8位标准并行数据总线(DB0-DB7),读写控制线(R/W),片选信号线(CS),数据/指令选择线(A/O),允许信号线(E),还有复位信号线(/RST),串行数据总线(SI) 根据信号线的逻辑电平,选择合适的微处理器STC89C51的I/O引脚与之相连接。为节省单片机有限的片上资源,采用液晶的串行数据传输方式。将STC89C51单片机的P2.5P2.7与LM016L的串行通信口相连,LM016L自带字库编程实现实时数据的查询与显示。另外,通过调节LCD的LED+引脚的偏置电压,对LCD背光进行点亮、熄灭控制,即使在环境光亮程度较低的情况下,可
36、以清晰的观察LCD液晶屏上显示的界面和数据。 根据上述内容,确定液晶显示模块的的主要电路连接图。使液晶模块的数据口与单片机P0.0-P0.7连接,由于51单片机内部没有上拉电阻,如果输出高电平的电流时,应当接上拉电阻,提供更充足的高电平输入电流,提高信号稳定程度,可增加抵抗外界干扰的能力。本次设计选择上拉电阻阻值为1k欧姆。数据/命令选择借口与P2.5连接,读/写选择与P2.6连接,使能端与P2.7连接。VDD为电源接电源,VSS为地电源,VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个1K的滑动变阻器调整对比度,使LCD液
37、晶屏正常显示。这样就完成了LCD液晶显示设备的电路图设计。 液晶显示模块硬件接口电路图如图3-4所示。图3-4 液晶模块电路3.5.2 按键电路与报警电路设计用户通过键盘与系统交互,可对系统程序的运行做出调节,电路如图3-5所示。图3-5按键电路图中按键均采用模拟电位识别最终的输出接单片机的P1.3和P1.4端口,极大地节约了对单片机I/O口的占用。按键的主要执行功能是配合液晶显示实现用户的现场操作,两个按键用来调节温湿度显示报警的最大值,S2作用是报警阀值的增大,S5作用是报警阀值的减小。方便用户的现场调节,能极大地提高设备的可操作性,方便用户的现场管理。增加设备人性化。报警电路主要是利用L
38、ED灯和蜂鸣器来构建。报警功能硬件电路设计较为简单。主要是这两个硬件设备与单片机两个不同的接口相连接,其中蜂鸣器与单片机P3.6口连接,LED灯与单片机的P1.6口连接。其硬件电路连接情况如图3-6所示。图3-6 报警电路报警电路的设计主要用于湿度超过阀值的报警。报警电路设计通过占用少量的单片机接口,增加温湿度测量仪功能。3.6本章小结本章对各个功能模块的硬件电路设计,包括单片机模块硬件电路设计、温湿度传感器硬件电路设计、电源模块的硬件电路设计和用户交互模块的硬件电路设计。其中单片机模块采用STC89C51单片机外围电路设计,温湿度传感器模块采用SHT10型号传感器电路设计,电源模块采用LM2
39、596单片机电路设计,用户交互模块采用液晶显示电路设计、按键电路设计和报警电路设计;在Altium Designer09电路设计软件进行了总原理图的绘制,为以后使用软件进行PCB版的制作奠定基础。4 系统软件设计 温湿度测量仪硬件设计上一章已设计完成,本章章节重点进行本次设计的系统软件的设计,这次设计用的软件为Keil C51软件。首先确立系统的总的流程图,随后根据设计程序的步骤按照各个模块的功能进行设计,最终确立最终程序。4.1 开发软件平台概述Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,这次软件设计主要是用C语言,因为C语言在功能上、结构
40、性、可读性、可维护性上和汇编相比有明显的优势,因而易学易用。Keil主要提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WINDOWS平台的操作系统。Keil Vision4,Keil Vision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来开发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。其工作界面如图4-
41、1所示。图4-1 keil4工作界面4.2 系统程序设计4.2.1 系统主程序设计系统主程序为本次温湿度测量仪设计的框架,根据主程序确定各个程序运行的顺序。主程序软件流程图如图4-2所示。系统开启后,液晶LCD初始化,系统参数初始化,初始化内容包括:确定编程寄存器的工作方式、确定串行口控制及需要进行的中断设置等。初始化结束后检查操作者是否已将更改报警参数,如果更改报警参数,系统重新确定报警参数,通过传感器读取子程序得到传感器测得空气温湿度数据,数据在单片机中进行判断环境温湿度是否超过设定的报警参数,如后超出LED灯并且警报器报警,同时LCD显示当前温度和湿度状况。其中操作者可以再任意时刻更改湿
42、度报警值。主函数包括的子函数有:传感器读取参数子程序,LCD显示子程序、按键子程序和警报子程序。图4-2 系统软件流程图4.2.2 传感器读取参数子程序设计温湿度传感器采用IC总线结构设计。其数据采集程序设计流程图如图4-3所示。调用传感器读取参数子程序,首先进行传感器上电,通过调用传感器启动传输子程序实现传感器的启动,通过调用传感器写函数、读函数和测温函数完成传感器的测温命令后判断传感器通信是否中断,若中断则通过调用复位连接子函数,重新执行测温命令。若通讯正常,测取空气环境湿度,测取结束后判断是否通信正常,如果通信中断,则执行复位子函数,通信正常传感器则输出温湿度值。图4-3 程序流程图传感
43、器读取参数子程序主要是由:SHT10的启动函数,SHT10连接复位函数,SHT10写函数,SHT10读函数,测量温湿度函数,温度补偿函数。(1)传感器读函数设计传感器读函数流程图如图4-4所示,首先传感器上电,单片机给传感器输入指令,随后释放传感器数据线,判断数据高位是否为1,如果高位为1,高位右移,读取数据线的值,判断循环右移后高位是否为1,直到高位值不为1,随后结束传感器与单片机通讯,延时3微秒,接着单片机再次释放数据线,程序结束,完成传感器读函数程序。图4-4 传感器读函数流程图(2)传感器写函数设计传感器写函数如图4-5所示,首先传感器上电启动程序,判断数据高位是否为1,如果高位不为1
44、,则高位循环右移,发送的数做与运算,得到发送位并且延时3微秒,直到高位数值为1时结束循环,释放数据线,通过单片机检查传感器通信情况,传感器写函数结束。图4-5 传感器写函数流程图4.2.3 LCD显示子程序设计要想实现采集数据信息及时间的显示,最重要的是对LM016L的读写操作,LM016L有自己的RAM地址及指令,以及自身的标准字符库。因为LM016L液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。所以根据LM016L的自身的指令表确定编写程序的内容。因此第一步要熟悉LM016L的指令库,随后进行液晶显示的程序的设计。LM016L显示程序分为初始化函数,写指令函数,写字符函数,
45、LCD写字符串函数,字符函数和延时函数组成。通过初始化函数使屏幕清零,然后通过写指令函数和写数据参数函数使LCD显示,最后通过字符串函数和延时函数完成LCD显示。最终完成LCD显示子程序设计。(1)LCD写字符函数设计。写字符函数流程图如图4-6,LCD上电启动程序,单片机内置的位置显示和从传感器发来的数据载入程序,再经过单片机运算处理,在LCD上确定要求的位置,数据的写允许载入,写入命令指令并延迟10微秒,单片机载入LCD使能为0命令,命令执行后延迟10微秒,写字符程序结束。图4-6 LCD写字符函数流程图(2)LCD写字符串函数设计。LCD写字符串函数流程图如图4-7,首先LCD上电后,单
46、片机内置的显示位置和字符串传输传输给LCD,LCD首先确定字符串在屏幕上应当显示位置信息,然后LCD得到允许写入地址命令,判断字符串是否已将结束,如果没有结束写入字符,地址编码加一,直到判断字符串已将结束,字符串输入程序结束。完成设定位置的预置字符串的LCD显示。图4-7 LCD写字符串函数流程图4.2.4 警报子程序设计除了上述比较复杂的程序外还有一些相对简单的子程序即按键子程序和警报子程序。警报子程是为了挺高本次设计的完整性。增加设计产品的功能性。警报子程序包括按键子程序和报警子程序两个部分。警报子程序的设计旨在提供一个监测报警设备,在硬件设计时引入喇叭是为了对温度超过最大值是进行警报,引
47、入液晶和按键是为了方便现场的人机交互。因此,在软件设计过程中要实现现场检警报。按键子程序用来调节阀值的大小,警报子程序主要是用来比较外界温湿度和阀值温度。先编写按键子程序,通过按键调节数据值,再通过警报子程序与调节的阀值比较。主要过程是:当外界温湿度高于阀值温度是LED灯亮起,蜂鸣器报警。此程序主要用来监控并提醒外界温度的变化,并使人们能够快速的知道这一变化从而做出一定的反应,减少损失。图4-8 按键程序流程图如上图4-8所示,首先设定按键程序的初始值Flag=65(初始的预警湿度值)和设定按键单片机的两个接口都为高电平。启动程序后判断两口的初始值相与是否有变化,判断增大按键是否被按下即判断电压是否变化,若测得电压变化,则判断Flag的值是否小于100,小于则Flag加1,不小于100,则将Flag置零。继续判断增大按钮是否再次按下,若没有按下引起的电压变化;进行减小键是否按下的判断,若检测到减小键按下,引起的电压变化,判断Flag值是否大于0,若大于0,则Flag减1,反之,则Flag值置为99,直到没有检测到减小按钮按下引起的电压变化时结束循环,把Flag最终值通过单片机传输给LCD,显示出最大湿度值。4.3 本章小