基于单片机的大棚温湿度控制系统的设计_第1页
基于单片机的大棚温湿度控制系统的设计_第2页
基于单片机的大棚温湿度控制系统的设计_第3页
基于单片机的大棚温湿度控制系统的设计_第4页
基于单片机的大棚温湿度控制系统的设计_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

摘要随着大棚技术的普及,温室大棚数量不断增多,对于蔬菜大棚来说,最重要的一个管理因素是温湿度控制。温湿度太低,蔬菜就会被冻死或那么停止生长,所以要将温湿度始终控制在适合蔬菜生长的范围内。传统的温度控制是在温室大棚内部悬挂温度计,工人依据读取的温度值来调节大棚内的温度。如果仅靠人工控制既耗人力,又容易发生过失。现在,随着农业产业规模的提高,对于数量较多的大棚,传统的温度控制措施就显现出很大的局性。为此,在现代化的蔬菜大棚管理中通常有温湿度自动控制系统,以控制蔬菜大棚温度,适应生产需要。本论文主要阐述了基于AT89C51单片机的温室大棚温湿度控制系统设计原理,主要电路设计及软件设计等。该系统采用AT89C51单片机作为控制器,SHT11作为温湿度数据采集系统,可对执行机构发出指令实现大棚温湿度参数调节,根据实际需求设计了单片机硬件系统,该系统能够实现数据采集,数据处理,数值显示,键盘扫描等功能功能。同时介绍了温湿度传感器,单片机接口,及其应用软件的设计,该基于单片机和SHT11温湿度传感器的大棚温湿度控制系统,该系统性能可靠,结构简单,能实现对温室内温湿度的自动调节。关键词:AT89C51;SHT11;大棚;温湿度;控制系统;传感器;单片机AbstractWiththepopularizationoftrellistechnology,greenhousetrellisanever-growingnumber,forvegetableshedspeaking,oneofthemostimportantmanagementfactoristhetemperatureandhumiditycontrol.Temperatureistoolow,thevegetableswillfreezetodeathorstopgrowing,sowillalwayscontroltemperatureandhumidityinasuitablevegetablegrowthrange.Traditionaltemperaturecontrolisingreenhousetrellisinternalhangingathermometer,workersaccordingtoregulatethetemperaturereadingthetemperatureinsidetheshelter.Ifonlybyartificialcontrolbothconsumptionmanpower,andeasytoplaceregularorders.Now,withtheimprovementofagriculturalindustryscale,forlargerquantityoftrellis,traditionaltemperaturecontrolmeasureswillshowgreatbureausex.Therefore,inmodernvegetableshedmanagementzhongtongoftentemperatureandhumidityautomaticcontrolsystem,inordertocontrolthetemperature,adapttothetrellisvegetableproductionneeds.ThisthesismainlyelaboratedbasedonAT89C51tomatoescanopytemperatureandhumiditycontrolsystemdesignprinciple,maincircuitdesignandsoftwaredesign,etc.ThissystemUSESAT89C51singlechipmicrocomputerascontroller,SHT10astemperatureandhumiditydataacquisitionsystem,maytotheactuatordirectivesrealizetrellistemperatureandhumidityparametersadjustment,hastheupperandlowerlevelcomputerdirectlysettemperaturerange,temperatureandhumidityreal-timedisplay,andotherfunctions.Accordingtotheactualdemanddesignthemicrocontrollerhardwaresystem,thissystemcanrealizedataacquisition,dataprocessing,thenumericaldisplay,keyboardscanfunctionfunction.Atthesametime,temperatureandhumiditysensorisintroduced,anditsapplicationsoftwareinterfacechipdesign,thisbasedonSCMandSHT10temperatureandhumiditysensorshelter,temperatureandhumiditycontrolsystemreliableperformance,thesystemstructureissimple,canrealizetheautomaticadjustmentofthetemperatureandhumidityinagreenhouse.Keywords:AT89C51;SHT10;vegetableshed;Temperatureandhumidity;ControlSystem;sensor;Single-chipmicrocomputer目录13381.绪论4315701.1系统设计背景416771.2系统功能、优势及特点413382.设计内容573032.1总体方案的设计5294532.1.1设计思想5101902.1.2系统组成及框图570442.2系统主要电路的设计665632.2.1主要芯片89C51的功能及引脚图697132.2.2温湿度检测电路的设计7301372.2.3温湿度传感器SHT11的工作原理8200312.2.4温湿度调节系统的设计9151712.2.5X25045简介9206563.硬件设计1065633.1温湿度测量电路1097133.2LCD显示电路11301373.3键盘扫描电路12200313.4输出接口控制电路13207893.5单片机与X25045接口电路14206564.系统软件的设计1565634.1系统主程序1597134.2键盘扫描子程序,消抖程序流程图16301374.31602LCD液晶显示程序流程图19200314.4温湿度读取子程序 1965634.5键盘扫描源程序2097134.6显示程序22301374.7温湿度采集程序2620656参考文献27引言在现代的温室种植技术中,温度、湿度是温室蔬菜能否茁壮成长的重要因素。现在我国温室生产规模虽然空前巨大,但是温室的设备比拟陈旧,温度采集方式落后,广阔农村采用煤油温度计的温度采集方式,不仅温度采集较为老套,并且费时费力,不利于温室生产规模的扩大,也不利于信息化程度的提高,不符合党中央提出的科技兴农的战略目标。农业是人类社会最古老的行业,是各行各业的根底,也是人类顿以生存的最重要的行业,由传统农业向现代化农业转变,由粗放经营向集约经营转变,必须要求农业科技有一个大的开展,进行一次新的农业技术革命。科技的开展促进了农业的开展,温室大棚在农业中的应用越来越广泛。传统的温室大棚的自动化程度很低,根本是是粗放型的人工操作,即便对于所给定的量,在操作中无法进行有效的控制,很大程度上限制了温室大棚的经济效益。现代智能控制系统是进行温室大棚温湿度控制的有效手段和工具,它可以提高操作的准确性,有利于控制过程的科学管理,也降低了对操作者本身素质的要求和体力劳动强度。除此之外,它还能准确、定时、定量、高效的进行温湿度控制,可以节省人力、体力而提高质量和产量。智能温室大棚控制系统在我国农业中的使用为数不多,与兴旺国家相比,有较大的差距,有很多是根本停留在人工操作,即使有些使用的了自动控制系统,但是也是以经验来自行设定很多参数,使得不能物尽其用而又造成浪费。只有提高自动控制系统的智能,使得在农业生产中更加智能和方便并采用廉价的器材使其价格能被广阔农业生产者所接受,才能促进智能温室大棚温湿度控制在农业中的广泛应用和提高其经济效益。随着微型计算机和传感器技术的迅猛开展,其价格低、可靠性高,给改造农业带来了很多便利。用高新技术改造农业生产,是我国农业和国民经济持续开展的根本大事。本文旨在对温室大棚温湿度监控系统的设计,一种基于51单片机的控制系统,通过高灵敏度的温湿度传感器检测大棚内的温湿度,并通过控制系统进行温室度调节。第一章绪论1.1课题的提出和意义随着社会的开展,各种园艺温室和农作物温室的数量在不断增加。这些温室有的也安装有各种加热、加湿、通风和降温的设备,但对于相应设备的操作大多还是由人工来完成。当温室的面积到达上千平米甚至更大时,操作人员的劳动强度会变的很大,并且光靠人工也已经无法完成温室内的温度和湿度的调节。该课题研究的温室控制系统可完成对温室内温湿度的自动测量和调节,大大降低了操作人员的劳动强度,并且使温室到达了比拟先进的管理水平。并且在我国的开展过程中,我国的温、湿度自动调节及报警系统经历了从无到有、从简单到复杂的开展过程,其智能化程度也越来越高。在我国的一些中小城市,就日光温室的现状来看,许多地方依然靠开关门窗来调节温湿度,这种方法不仅费时费力,效率低,准确度也不高,随机性大,当然也就不够科学。因此,需要研制一种结构简单、价格低廉的测控系统来到达自动调节温湿度调节及报警的目的。随着科技的迅猛开展,我国逐渐实现日光温室系统管理智能化,但是智能化程度与普及率过低。虽然有些也引进了一些国外的计算机智能控制系统,如温室环境控制系统。也真正实现了数字化、智能化、自动化,但投资过大,系统故障维护不便,且经济效益过低。因此实现开发低价位实用型日光温室系统已迫在眉睫,对于推进我国日光温室智能化管理以及最大限度的减少仓库火灾进程具有极为重要的意义,同时也具有很大的市场商机。日光温室以其低成木、节能耗的优点被大而积推广,成为我国现阶段主要农业设施类型。近年来,单片机在我国的许多领域均得到了广泛的应用,其优良的性价比特别适合于日光温室的建设要求。因此,利用单片机实现日光温室内环境与水肥灌溉的自动控制,营造作物适宜的生长环境,是使日光温室生产能够持续快速开展和解决实际生产管理问题的重要手段。我国农业正处在从传统农业向以优质、高效、高产为目的的现代化农业转化的新阶段。农业环境控制工程作为农业生物速生、优质、高产手段是农业现代化的重要标志,农业设施的自动检测与控制是我国急待开展的工程。我国目前大多数温室内的环境仍靠人工根据经验来管理,从某种程度上也影响了其效益和开展。同时微型计算机强大的软、硬件逻辑功能、高性能价格比、高可靠性,为温室自动管理提供了强有力的手段,也为实现温室的标准化、自动化奠定了根底环境控制对作物生产的重要作用己为国内外大量的科学实验和生产实践所证实。只有在适宜的环境条件下,作物才能充分发挥其高产潜力。几十年来,有关作物生理和其生长环境的研究,不仅指导了农业生产,而且为温室环境工程及控制的研究提供了依据和参数。但如何把这类系统用计算机来实现监控,从而为作物提供最正确的生长环境,一直是研究者面临的一项重要的任务。鉴于上述,本文提出了温室自动控制系统的设计。系统以89C51单片机为中心,编制出一套温室自动控制系统1.2国内外研究开展概况温室是一种可以改变植物生长环境、为植物生长创造最正确条件、防止外界四季变化和恶劣气候对其影响的场所。它以采光覆盖材料作为全部或局部结构材料,可在冬季或其他不适宜露地植物生长的季节栽培植物。温室生产以到达调节产期,促进生长发育,防治病虫害及提高质量、产量等为目的。而温室设施的关键技术是环境控制,该技术的最终目标是提高控制与作业精度。国外对温室环境控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系统。目前正开发和研制计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温室控制技术开展很快,一些国家在实现自动化的根底上正向着完全自动化、无人化的方向开展。像园艺强国荷兰,以先进的鲜花生产技术著称于世,其玻璃温室全部由计算机操作。日本研制的蔬菜塑料大棚在播种、间苗、运苗、灌水、喷药等作业的自动化和无人化方面都有应用。日本利用计算机控制温室环境因素的方法,主要是将各种作物不同生长发育阶段所需要的环境条件输入计算机程序,当某一环境因素发生改变时,其余因素自动作出相应修正或调整。一般以光照条件为始变因素,温度、湿度和CO2浓度为随变因素,使这四个主要环境因素随时处于最正确配合状态。美国和荷兰还利用差温管理技术,实现对花卉、果蔬等产品的开花和成熟期进行控制,以满足生产和市场的需要。英国伦敦大学农学院研制的温室计算机遥控技术,可以观测50km以外温室内的光、温、湿、气和水等环境状况,并进行遥控。我国对于温室控制技术的研究较晚,始于20世纪80年代。我国工程技术人员在吸收兴旺国家温室控制技术的根底上,才掌握了人工气候室内微机控制技术,该技术仅限于温度、湿度和CO2浓度等单项环境因子的控制。之后,我国的温室控制技术得到了迅速开展。20世纪80年代,由于当时只注重引进温室设备,而忽略了温室的管理技术和栽培技术,且引进的温室能耗过高,致使企业相继亏损或停产。90年代初,我国大型温室跌入了开展的低谷。“九五〞初期,以以色列温室为代表的北京中以示范农场的建立,拉开了我国第二次学习和引进国外现代温室技术的序幕。到90年代中后期,在对国外温室设备配置、温室栽培品种、栽培技术等各个方面进行研究的根底上,我国自主开发了一些研究性质的环境控制系统。1995年,北京农业大学研制成功了“WJG-1型实验温室环境监控计算机管理系统〞,此系统属于小型分布式数据采集控制系统。1996年,江苏理工大学毛罕平等研制成功了使用工控机进行管理的植物工厂系统。该系统能对温度、光照、CO2浓度、营养液和施肥等进行综合控制,是目前国产化温室控制技术比拟典型的研究成果。中国农业机械化科学研究院研制成功了新型智能温室系统。该系统由大棚本体及通风降温系统、太阳能贮存系统、燃油热风加热系统、灌溉系统、计算机环境参数测控系统等组成。1997年以来,中国农业大学在温室环境的自动控制技术方面也取得了一定的成果。90年代末,河北职业技术师范学院的闰忠文研制了蔬菜大棚,其能够对温、湿度进行实时测量与控制。但由于我国农业现代化水平较低,农业劳动力大量过剩,温室的一次性投资大,资金短缺以及对操作人员的素质要求比拟高等因素,限制了温室控制技术在温室系统的扩展。1.3本课题的主要研究内容本系统的设计的硬件主要包括:主要是单片机AT89C51,检测系统,显示电路,报警电路等。利用传感器测量大棚内的温湿度经过信号处理,将传感器测得的数据送至控制系统〔AT89C51〕,与预设的农作物最适合生长的温湿度值的上下限进行比照,并通过显示电路将测得的温湿度进行实时显示。如果不同作物的适合生长的温度不一样,可以通过键盘电路修改预设值。控制系统根据比拟的结果对控制系统发出相应的指令,通过五个不同的LED灯发光,分别表示正常、加热、降温、加湿、枯燥五个控制命令,并且如果测得的温度超过了预设温度的下限,那么报警电路会报警。这样就实现了温室自动监控及低温预警的目的。本文主要研究内容如下: 1.进行温湿度控制系统的整体研究与设计。 2.利用键盘设置温湿度的上下限值。 3.利用数字温湿度传感器测量大棚内的温湿度。 4.利用LCD对温湿度进行实时显示。5.当温室温度低于温度下限时,系统可自动报警,并通过不同LED发光表示不同控制信号第二章设计方案2.1温湿度传感器的选择温湿度传感器在工农业生产、气象、环保、医学等领域得到越来越广泛的应用。温湿度采集系统目前普遍采用的几种方案:方案一:采用单总线的DS1820的温度传感器和HS110X相对湿度传感器组成的温湿度采集系统。方案二:采用集温湿度传感器于一体的SHT11芯片为主要芯片的温湿度采集系统。由于传统的模拟式湿度传感器〔方案一〕不仅要设计信号调理电路,还要经过复杂的校准和标定过程,其测量精度难以保证。而SHT11是瑞士Sensiri-on公司生产的具有二线串行接口的单片全校准数字式新型相对湿度和温度传感器,可用来测量相对湿度、温度和露点等参数,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。该传感器将CMOS芯片技术与传感器技术融合,为开发高集成度、高精度、高可靠性的温湿度测控系统提供了解决方案。所以本设计采用的是方案二。2.2系统的整体设计温湿度监测系统要满足以下条件:温湿度监测系统能完成数据采集和处理、显示、输出控制信号等多种功能。由数据采集、键盘扫描、单片机、数据显示等局部组成。该测控系统具有实时采集〔检测室内的温度〕、实时显示、〔对监测到的温湿度进行显示〕、实时报警〔根据监测的结果,低于预设定的值的进行蜂鸣警告〕的功能。传感器是实现测量首要环节,是监测系统的关键部件,如果没有传感器对原始被测信号进行准确可靠的捕捉和转换,一切准确的测量和控制都将无法实现。工业生产过程的自动化测量和控制,几乎主要依靠各种传感器来检测和控制生产过程中的各种参量,使设备和系统正常运行在最正确状态,从而保证生产的高效率和高质量系统的总体设计框图如图2-1所示:温湿度测量电路温湿度测量电路键盘扫描电路复位和时钟电路AT89C51报警电路显示电路超限处理电路2-1系统整体框图第三章硬件设计3.1芯片介绍单片机AT89C51为了设计此系统,我们采用了80c51单片机作为控制芯片。89C51是MCS-51系列单片机中CMOS工艺的一个典型品种;其它厂商以8951为基核开发出的CMOS工艺单片机产品统称为89C51系列。该系列单片机是采用高性能的静态89C51设计由先进CMOS工艺制造并带有非易失性Flash程序存储器全部支持12时钟和6时钟操作P89C51X2和P89C52X2/54X2/58X2分别包含128字节和256字节RAM32条I/O口线3个16位定时/计数器6输入4优先级嵌套中断结构1个串行I/O口可用于多机通信I/O扩展或全双工UART以及片内振荡器和时钟电路。此外,由于器件采用了静态设计,可提供很宽的操作频率范围,频率可降至0。可实现两个由软件选择的节电模式,空闲模式和掉电模式,空闲模式冻结CPU但RAM定时器,串口和中断系统仍然工作掉电模式保存RAM的内容但是冻结振荡器导致所有其它的片内功能停止工作。由于设计是静态的时钟可停止而不会丧失用户数据运行可从时钟停止处恢复。1、89c51的根本结构如图3-8所示:图3-889c51结构图2、89c51的引脚图如图3-9所示:图3-989C51引脚图89C51的制作工艺为CMOS,采用40管脚双列直插DIP封装,引脚说明如下:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1〞时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1〞时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能存放器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1〞后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流〔ILL〕这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能P3.0RXD〔串行输入口〕P3.1TXD〔串行输出口〕P3.2/INT0〔外部中断0〕P3.3/INT1〔外部中断1〕P3.4T0〔记时器0外部输入〕P3.5T1〔记时器1外部输入〕P3.6/WR〔外部数据存储器写选通〕P3.7/RD〔外部数据存储器读选通〕P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。EA/VPP:当/EA保持低电平时,那么在此期间外部程序存储器〔0000H-FFFFH〕,不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源〔VPP〕。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。3、89c51的存储器配置图3-1089C51存储器配置4、程序存储器与ROM密切相关的两个引脚地址锁存允许信号端外部程序存储器允许输出信号端当ROM容量不够时,尽量选择高容量存储器空间的单片机,如89C52,89C54,89C58等,应防止外扩程序存储器,因为会增加硬件负担.通过16位PC寻址,最大可寻址64kB地址空间5、数据存储器数据存储器用于存放运算中间的结果、数据暂存、缓冲、标志位、待测程序等功能。片内的128B的RAM地址为00H~7FH,供用户做RAM用,但是在这中间的前32单元,00H~1FH即引用地址寻址做用户RAM用,常常做工作存放器区,分做四组,每组由8个单元组成通用存放器R0~R7,任何时候都由其中一组作为当前工作存放器,通过RS0,RS1的内容来决定选择哪一个工作存放器。低128字节中的20H~2FH共16字节可用位寻址方式访问各位,共128个位地址,30H~7FH共80个单元为用户RAM区,作堆栈或数据缓冲用,片内RAM不够用时,须扩展片外数据存储器。此时单片机通过P2口和P0口选出6位地址,使用ALE作低8位的锁存信号,再由P0口写入或读出数据。写时用,读时用做外部数据存储器的选通信号6、特殊功能存放器SFR表3-3特殊功能存放器SFR的位置7、89C51的工作模式有四种工作模式:模式0,模式1,模式2,模式3模式0:选择定时器的高8位和低5位组成一个13位定时器/计数器。TL低5位溢出时向TH进位,TH溢出时向中断标志位TF进位,并申请中断。定时时间t=(213-初值)×振荡周期×12;计数长度位213=8192个外部脉冲模式1:与模式0的唯一差异是存放器TH和TL以全部16位参与操作。定时时间t=(216-初值)×振荡周期×12;计数长度位216=65536个外部脉冲模式2:把TL0和TL1配置成一个自动重装载的8位定时器/计数器。TL用作8位计数器,TH用以保存初值。TL计数溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载到TL中。定时时间t=(28-初值)×振荡周期×12;计数长度位28=256个外部脉冲模式3:对T0和T1不大相同假设设T0位模式3,TL0和TH0被分为两个相互独立的8位计数器。TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。TH0仅用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭仅受TR1控制。定时器T1无工作模式3,但T0在工作模式3时T1仍可设置为0~2。温湿度传感器SHT11SHT11是瑞士Scnsirion公司推出的一款数字温湿度传感器芯片。温湿度传感器SHT11集温度传感器和湿度传感器于一体,因此采用SHT11进行温湿度实时监测的系统具有精度高、本钱低、体积小、接口简单等优点;另外SHT11芯片内部集成了14位A/D转换器,且采用数字信号输出,因此抗干扰能力也比同类芯片高。该芯片在温湿度监测、自动控制等领域均已得到广泛应用。该芯片广泛应用于暖通空调、汽车、消费电子、自动控制等领域。共主要特点如下:·高度集成,将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上;·提供二线数字串行接口SCK和DATA,接口简单,支持CRC传输校验,传输可靠性高;·测量精度可编程调节,内置A/D转换器(分辨率为8~12位,可以通过对芯片内部存放器编程选择);·测量精确度高,由于同时集成温湿度传感器,可以提供温度补偿的湿度测量值和高质量的露点计算功能;·封装尺寸超小(7.62mm×5.08mm×2.5mm),测量和通信结束后,自动转入低功耗模式;·高可靠性,采用CMOSens工艺,测量时可将感测头完全浸于水中。SHT11温湿度传感器采用SMD(LCC)外表贴片封装形式,接口非常简单,引脚名称及各引脚的功能如下:·脚1-GND和脚4-VDD——信号地和电源,其工作电压范围是2.4~5.5V;·脚2-DATA和脚3-SCK——二线串行数字接口,DATA为数据线,SCK为时钟线;·脚5~8——未连接。SHT11的内部结构和工作原理:温湿度传感器SHT11将温度感测、湿度感测、信号变换、A/D转换和加热器等功能集成到一个芯片上,其内部结构如图3所示。该芯片包括一个电容性聚合体湿度敏感元件和一个用能隙材料制成的温度敏感元件。这两个敏感元件分别将湿度和温度转换成电信号,该电信号首先进入微弱信号放大器进行放大;然后进入一个14位的A/D转换器;最后经过二线串行数字接口输出数字信号。SHT11在出厂前,都会在恒湿或恒温环境巾进行校准,校准系数存储在校准存放器中;在测量过程中,校准系数会自动校准来自传感器的信号。此外,SHT11内部还集成了一个加热元件,加热元件接通后可以将SHT11的温度升高5℃左右,同时功耗也会有所增加。此功能主要为了比拟加热前后的温度和湿度值,可以综合验证两个传感器元件的性能。在高湿(>95%RH)环境中,加热传感器可预防传感器结露,同时缩短响应时间,提高精度。加热后SHT11温度升高、相对湿度降低,较加热前,测量值会略有差异。相对湿度传感器温度传感器放大器相对湿度传感器温度传感器放大器14位A/D转换器校准存储器I2C总线接口和CRC存放器VDDGNDSCADATA微处理器是通过二线串行数字接口与SHT11进行通信的。通信协议与通用的I2C总线协议是不兼容的,因此需要用通用微处理器I/O口模拟该通信时序。微处理器对SHT11的控制是通过5个5位命令代码来实现的,命令代码的含义如表2所示。表2SHT11控制命令代码命令代码含义00011测量温度00101测量湿度00111读内部状态存放器00110写内部状态存放器11110复位命令,使内部状态存放器恢复默认值。下一次命令前至少等待11ms其他保存SHT11应用设计:微处理器采用二线串行数字接口和温湿度传感器芯片SHT11进行通信,所以硬件接门设计非常简单;然而,通信协议是芯片厂家自己定义的,所以在软件设计中,需要用微处理器通用I/O口模拟通信协议。硬件设计:SHT11通过二线数字串行接口来访问,所以硬件接口电路非常简单。需要注意的地方是:DATA数据线需要外接上拉电阻,时钟线SCK用于微处理器和SHT11之间通信同步,由于接口包含了完全静态逻辑,所以对SCK最低频率没有要求;当工作电压高于4.5V时,SCK频率最高为10MHz,而当工作电压低于4.5V时,SCK最高频率那么为1MHz。软件设计:微处理器和温湿度传感器通信采用串行二线接口SCK和DATA,其中SCK为时钟线,DATA为数据线。该二线串行通信协议和I2C协议是不兼容的。在程序开始,微处理器需要用一组“启动传输〞时序表示数据传输的启动,如图4所示。当SCK时钟为高电平时,DATA翻转为低电平;紧接着SCK变为低电平,随后又变为高电平;在SCK时钟为高电平时,DATA再次翻转为高电平。DATASCK图4数据传输启动时序液晶显示LCD16021602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有假设干个5×7或者5×11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。1602LCD是指显示的内容为16×2,即可以显示两行,每行16个字符液晶模块〔显示字符和数字〕。在单片机系统中应用晶液显示器作为输出器件有以下几个优点:显示质量高、数字式接口、体积小、重量轻、功耗低。1602LCD主要技术参数:显示容量:16×2个字符;芯片工作电压:4.5—5.5V;工作电流:2.0mA(5.0V);模块最正确工作电压:5.0V;字符尺寸:2.95×4.35(W×H)mm。1602采用标准的16脚接口,其中:第1脚:VSS为电源地。第2脚:VDD接5V电源正极。第3脚:V0为液晶显示器比照度调整端,接正电源时比照度最弱,接地电源时比照度最高〔比照度过高时会产生“鬼影〞,使用时可以通过一个10K的电位器调整比照度〕;第5脚:RW为读写信号线,高电平“1〞时进行读操作,低电平“0〞时进行写操作;第6脚:E(或EN)端为使能(enable)端。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。1602LCD的指令说明及时序:1602液晶模块内部的控制器共有11条控制指令,如表3所示。1602液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。〔说明:1为高电平、0为低电平〕表31602LCD控制指令序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回000000001*3置输入模式00000001I/DS4显示开、关控制0000001DCB5光标或字符移位000001S/CR/L**6置功能00001DLNF**7置字符发生存储器地址0001字符发生存储器地址8置数据存储器地址001显示数据存储器地址9读忙标志活地址01BF计数器地址10写数到CGRA,M或DDRAM10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置。I/D:光标移动方向,高电平右移,低电平左移;S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平那么无效。指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示;C:控制光标的开与关,高电平表示有光标,低电平表示无光标;B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位。S/C:高电平时移动显示的文字,低电平时移动光标。指令6:功能设置命令。DL:高电平时为4位总线,低电平时为8位总线;N:低电平时为单行显示,高电平时双行显示;F:低电平时显示5×7的点阵字符,高电平时显示5×10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址。BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10:写数据。指令11:读数据。3.2模块功能介绍复位电路和时钟电路此复位电路的工作原理是:单片机的复位电路在刚接通电时,刚开始电容是没有电的,电容内的电阻很低,通电后,5V的电通过电阻给电容进行充电,电容两端的电会由0V慢慢的升到4V左右〔此时间很短一般小于0.3秒〕,RC构成的微分电路在上电瞬间产生一个微分脉冲,其宽度大于两个机器周期,89C51将复位。正因为这样,复位脚的电由低电位升到高电位,引起了内部电路的复位工作,RST端电压慢慢下降,降到一定电压值以后,即为低电平,单片机开始正常工作〔这是单片机的上电复位,也叫初始化复位〕;当按下复位键时,电容两端放电,电容又回到0V了,于是又进行了一次复位工作〔这是手动复位原理〕。如图5所示。单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XYAL2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,如图5所示。图5手动复位及时钟电路温湿度测量电路此模块是整个电路设计的信号采集及初步处理的模块,由温湿度传感器芯片SHT11构成,如图6所示。主要的功能结构在前面的芯片介绍中已有,这里不重新介绍。下面介绍多点温湿度采集系统的设计,对于多点采集只需在单个采集的根底上作一点程序上的改动,所以本文只作介绍不作仿真,只对单个采集仿真[16]。图6SHT11传感器电路多点采集系统设计由于每个SHT11占用单片机两个I/O口,所以单片机有限的I/O口资源将制约着单个微控制器上所能测量的最大点数;由于每个SHT11的测量所需时间是固定不变的,采用单独操作的逐个测量方式在多点测量系统中必然导致数据采集时间过长、控制滞后,从而影响控制系统性能的提高。在仓库测控应用系统中,要求所采集的温湿度数据是反响整个仓库相同时间点的总体情况的,所以多个SHT11必须同时开始测量,即单片机必须同时向多个SHT11发送测量命令。结合仓库应用的具体要求,本文对多个SHT11传感器和微控制器的连接方式采取如下方案:各SHT11的SCK线接到微控制器的同一个I/O口上,而DATA线那么分别接到不同I/O口线上。这种连接方式有几个优点:首先,n个传感器只占用n+1个I/O口,比前述方式节省了n-1个I/O口,解决了多点测量系统中单片机I/O口资源短缺和尽可能增加测量点之间的矛盾问题;其次,由于多个SHT11共用一条时钟线所以在每次测量中可以同时发出测量命令,多个传感器同时进行测量,只需一次等待时间那么完成了整体数据的收集,大大缩短了数据采集时间,为控制系统快速响应提供了条件[17]。下面以三点测量为例详细介绍该设计方案的实现,如图7所示。测量局部中3个SHT11的SCK时钟线均连接到AT89S52的P2.6口,而各DATA线分别接到P2.7、P2.5和P2.4。当需要再增加测量点时只需要增加对应的I/O口数即可以,而且只需对程序作很少的修改即可实现系统的灵活扩展。图7SHT11多点采集设计LCD显示电路LCD显示电路用LCD1602字符型液晶显示模块与单片机连接进行数值显示,其电路图如3—3所示:图3—3显示电路图1602LCD采用标准14脚或16脚接口,RS为存放器选择器,RS为高电平时选择数据存放器,为低电平时选择指令存放器。R/W为读写信号线,为高电平时进行读操作,为低电平时进行写操作,当RS和R/W同为低电平时可以写入指令或者显示地址;当RS为低电平时,R/W为高电平时可以读忙信号;当RS为高电平,R/W为低电平时可以写入数据。E为使能端,当E端由高电平跳变为低电平时,液晶模块执行命令。D0~D7为8位双向数据线。3.2.4键盘扫描电路KEY1为温度和湿度设定切换,KEY2为温度或湿度加1,KEY3为温度或湿度减1,KEY4当前状态与设定状态切换,KEY5为上下限设定切换。接口电路如图3—4所示。图3—4超限处理电路此局部电路是由5个发光二极管和一个蜂鸣报警器构成,分别是D0、D1、D2、D4和D5,蜂鸣器接单片机的P1.0口,发光二极管与单片机的连接局部如下图。D0、D1、D2、D4、D5分别代表着发光、降温、加热、枯燥和加湿,一旦传感器测定的温湿度超过设定的限额,就会产生不同的发光反响,起控制警示作用,同时当温度低于所设温度下限时,蜂鸣报警器连续发出“滴〞的声音,起到低温预警的作用。如图9所示。图9超限处理警示电路和蜂鸣器电路局部3.6整体电路图图10整体电路图第四章系统软件的设计软件设计主要分为主程序、温湿度传感器数据读取子程序、LCD显示程序、键盘扫描,按键去抖动的处理。4.1系统主程序本系统的智能核心是AT89C51,其监控程序和应用软件全部固化在EPROM内。他的工作过程是:当系统接通电源后,AT89C51单片机进入监控状态,同时完成对各个端口的初始化工作,当有按键按下时,产生申请中断,进入响应的中断程序,完成键盘处理工作。当没有外部控制信息的输入时,系统会自动采集温湿度传感器的电压值,最终数据在LCD显示屏上显示。主程序流程图如图4—1所示:初始化各端口初始化各端口开始初始化温湿度传感器调用湿度检测电路测量温湿度值控制电路调节温湿度显示查询键盘,是否有键按下?温湿度值是否符合正常值?延时程序YYNN图4—1主程序流程图4.2键盘扫描子程序,消抖程序流程图 键盘扫描子程序流程图如图4-2:初始化初始化开始键1是否按下键3是否按下键2是否按下温湿度是否正常键4是否按下键5是否按下结束温,湿度切换温,湿度加1当前与设定切换温,湿度减1上,下限切换报警,控制电路调节温湿度YYYYYYNNNNNN图4—2键盘扫描程序流程图消抖程序流程图如图4—3:延时去抖延时去抖开始是否有键闭合是否有键闭合扫描取得键值闭合键释放否结束YYYNNN图4—3键盘扫描流程图4.31602LCD液晶显示程序流程图LCD显示流程图如图4—4所示:LCD初始化LCD初始化延时设第一行显示位置显示第一行内容设第二行显示位置显示第二行内容结束开始 图4—4LCD显示程序流程图4.4温湿度读取子程序温湿度读取子程序流程图如图4—5所示:结束结束显示温湿度值控制程序调节温湿度计算温湿度值读取温湿度值SHT11初始化开始温湿度是否正常YN图4—5温湿度读取子程序流程图第四章仿真与调试4.1仿真软件介绍本设计用到了Proteus和Keilc51两种软件,两者能完美的结合在一起,实现虚拟的实物效果,为以后的实物焊接提供了保障。Proteus简介Proteus软件是来自英国Labcenterelectronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等。Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。此系统受益于15年来的持续开发,被《电子世界》在其对PCB设计系统的比拟文章中评为最好产品—“TheRoutetoPCBCAD〞。Proteus产品系列也包含了革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:—个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真;ARESPCB设计。PROSPICE仿真器的一个扩展PROTEUSVSM:便于包括所有相关的器件的基于微处理器设计的协同仿真。此外,还可以结合微控制器软件使用动态的键盘,开关,按钮,LED甚至LCD显示CPU模型。>>支持许多通用的微控制器,如PIC,AVR,HC11以及8051最新支持ARM>>交互的装置模型包括:LED和LCD显示,RS232终端,通用键盘,I2C,SPI器件>>强大的调试工具,包括存放器和存储器,断点和单步模式>>IARC-SPY和KeiluVision2等开发工具的源层调试>>应用特殊模型的DLL界面-提供有关元件库的全部文件最新版支持非常丰富仿真元件共7000多种,还有很多第三方模型。如MMC卡,以太网卡,ATA硬盘,麦克风,等等。KeilC51编译器简介1、8051开发工具KeilC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保存了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,工程管理器,调试器。uVision2IDE可为它们提供单一而灵活的开发环境。2、uVision2集成开发环境(1)工程管理工程(project)是由源文件、开发工具选项以及编程说明三局部组成的。一个单一的uVision2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组〞。开发工具选项可以对应目标,组或单个文件。uVision2包含一个器件数据库(devicedatabase),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extradatapointer)或者加速器(mathaccelerator)的特性。uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模。(2)集成功能uVision2的强大功能有助于用户按期完工。A.集成源极浏览器利用符号数据库使用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器。B.文件寻找功能:在特定文件中执行全局文件搜索。C.工具菜单:允许在V2集成开发环境下启动用户功能。D.可配置SVCS接口:提供对版本控制系统的入口。E.PC-LINT接口:对应用程序代码进行深层语法分析。3、第三局部编辑器和调试器(1)源代码编辑器uVision2编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对C源代码进行和优化。可以在编辑器内调试程序,它能提供一种自然的调试环境,使你更快速地检查和修改程序。(2)断点uVision2允许用户在编辑时设置程序断点〔甚至在源代码未经编译和汇编之前〕。用户启动V2调试器之后,断点即被激活。断点可设置为条件表达式,变量或存储器访问,断点被触发后,调试器命令或调试功能即可执行。在属性框(attributescolumn)中可以快速浏览断点设置情况和源程序行的位置。代码覆盖率信息可以让你区分程序中已执行和未执行的局部。(3)调试函数语言uVision2中,你可以编写或使用类似C的数语言进行调试。A.内部函数:如printf,memset,rand及其它功能的函数。B.信号函数:模拟产生CPU的模拟信号和脉冲信号(simulateanaloganddigitalinputstoCPU)。C.用户函数:扩展指令范围,合并重复动作。(4)变量和存储器用户可以在编辑器中选中变呈来观察其取值。双层窗口显示,可进行以下调整:A.当前函数的局部变量B.用户在两个不同watch窗口页面上的自定义变量C.堆栈调用(callstack)页面上的调用记录〔树〕(calltree)D.不同格式的四个存储区4、C51编译器KeilC51编译器在遵循ANSI标准的同时,为8051微控制器系列特别设计。语言上的扩展能让用户使用应用中的所有资源。(1)存储器和特殊功能存放器的存取C51编译器可以实现对8051系列所有资源的操作。SFR的存取由sfr和sbit两个关键字来提供。变量可旋转到任一个地址空间。用关键字-at-还能把变量放入固定的存储器存储模式〔大,中,小〕决定了变量的存储类型。连接定位器支持的代码区可达32个,这就允许用户在原有64KROM的8015根底上扩展程序。在V2的编译器和许多高性能仿真器中,可以支持应用程序的调试。(2)中断功能C51允许用户使用C语言编写中断效劳程序,快速进、出代码和存放器区的转换功能使C语言中断功能更加高效。可再入功能是用关键字来定义的。多任务,中断或非中断的代码要求必须具备可再入功能。(3)灵活的指针C51提供了灵活高效的指针。通用指针用3个字节来存储存储器类型及目标地址,可以在8051的任意存储区内存取任何变量。特殊指针在声明的同时已指定了存储器类型,指向某一特定的存储区域。由于地址的存储只需1-2字节,因此,指针存取非常迅速。结论以上为毕业期间所设计的温室自动监控及低温预警系统,它经过屡次修改和整理,可以满足设计的根本要求。采用AT89C51单片机、SHT11数字温湿度传感器、LCD1602液晶显示模块等器件设计温室大棚控制系统,实现温湿度采集、实时显示,温湿度过限处理,低温预警功能。因为本人水平有限,此设计存在一定的问题。譬如系统抗干扰能力差,且没有实现自动自动复位。由于使用的是单片机作为核心的控制元件,配合其它器件,使本温度控制系统具有功能强、性能可靠、电路简单、本钱低的特点,加上经过优化的程序,使其有很高的智能化水平。致谢首先,在本课题的最后我想要衷心感谢我的导师杨军平老师。本篇论文从开始选题到设计过程中所遇到的问题解决,到最后论文的完成,都离不开杨军平老师的悉心指导。杨军平老师以她渊博的知识、丰富的经验、严谨的治学态度指导我顺利完成论文,无论是资料的收集、题目的选定还是实验的设计过程,杨军平老师都给予了我极大的帮助、支持和鼓励。值此论文完成之际,谨向杨老师致以最崇高的谢意!再一次向她表示衷心的感谢,感谢她为学生营造的浓郁学术气氛,以及学习、生活上的无私帮助!同时,还要感谢我的舍友们。在我论文的完成过程中,无论是技术知识上所遇到的难题还是编写格式上的错误,她们都给予了我热情的帮助和支持。没有她们的支持,论文的进度也不会那么顺利。最后,向在百忙之中抽出珍贵时间的论文的审核老师们,表示由衷的感谢。4.5键盘扫描源程序ORG0000HAJMPMAINMAIN:DISPLAY:LCALLKEYMOVDPTR,#TABMOVCA,@A+DPTRMOVSBUF,AAJMPDISPLAYKEY:LCALLKSFJNZK;ACCLCALLDELAYLJMPKEYK1:LCALLDELAYLCALLKSFJNZK2LCALLKEYK2:MOVR2,#0EFH;R2MOVR1,#00HMOVP1,R2L1:JBP1.0,L2MOVA,00HAJMPLL2:JBP1.1,L3MOVA,#04HAJMPLL3:JBP1.2,L4MOVA,#08HAJMPLL4:JBP1.3,LNMOVA,#0CHAJMPLLN:MOVA,R2RLAMOVR2,ACCMOVP1,R2INCR1CJNER2,#0FEH,L1L:ADDA,R1PUSHACCK:LCALDELAYLCALLKSFJNZKPOPACCRETKSF:MOVP1,#0FHMOVA,P1XRLA,#0FHRETDELAY:MOVR3,#01HLL:MOVR4,#0AHLLL:DJNZR4,LLLDJNZR3,LLRETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,84HEND键检查子程序KEY-SCAN:MOVDPTR,#6000HMOVA,#00HMOVX@DPTR,AMOVA,P1CPLAANLA,#07HRETcharGetKey(){charkey=0; key=P2&0x0f; //P2&=0x1f; if(key!=0x0f) { delay_ms(10); if(key==(P3&0x1f)) { return~key; } }}//chara=0;voidOn_Add(){switch(page) { case0://第一页显示实时温湿度 { };break; case1://第二页阈值一 { // };break; case2://第三页阈值二 { };break; case3://第四页 阈值三 { };break; default: { };break; }}voidOn_Sub(){switch(page) { case0://第一页显示实时温湿度 { };break; case1://第二页阈值一 { // };break; case2://第三页阈值二 { };break; case3://第四页 阈值三 { };break; default: { };break; } }//chara=0;voidOn_OK(){switch(page) { case0://第一页显示实时温湿度 { };break; case1://第二页阈值一 { // };break; case2://第三页阈值二 { };break; case3://第四页 阈值三 { };break; default: { };break; }}voidOn_Cancel(){switch(page) { case0://第一页显示实时温湿度 { };break; case1://第二页阈值一 { };break; case2://第三页阈值二 { };break; case3://第四页 阈值三 { };break; default: { };break; }}voidOn_Set(){switch(page) { case0://第一页显示实时温湿度 { };break; case1://第二页阈值一 { // };break; case2://第三页阈值二 { };break; case3://第四页 阈值三 { };break; default: { };break; }}voidKeyProc(){charkey=GetKey(); switch(key) { case0x01://取消P2^0 { On_Cancel(); };break; case0x02://确定P2^1 { On_OK(); };break; case0x04://加 P2^2 {On_Add(); };break; case0x08://减 P2^3 { On_Sub(); };break; case0x10://设置P2^4 {On_Set(); };break; }} 4.6显示程序RSEQUP2.0RWEQUP2.1EEQUP2.2PSBEQUP2.3RSTEQUP2.5LCD_XEQU30HLCD_YEQU31HCOUNTEQU32HCOUNT1EQU33HCOUNT2EQU34HCOUNT3EQU35HLCD_DATAEQU36HLCD_DATA1EQU37HLCD_DATA2EQU38HSTOREEQU39HORG0000HLJMPMAINORG0100HMAIN:MOVSP,#5FHCLRRET:复位LCALLDELAY4SETBRETNOPSETBPSB:通讯方式为8位数据并口初始化LGSO:MOVA,#34H;34H扩充指令操作LCALLSEND_IMOVA,30H;LCALLSEND_IMOVA,#01H;去除显示LCALLSEND_IMOVA,#06H;制定光标的移动方向LCALLSEND_IMOVA,#0CH;开显示LCALLSEND_ITU_PLAY1:MOVDPTR,#TU_TAB1LCALLPHO_DISPLCALLDELAY3显示汉字和字符HAN_WR2:LCALLCLEAR_PHAN_WR2A:MOVDRTR,#TAB1AMOVCOUNT,#10HMOVA,#80HLCALLSEND_ILCALLQUSHUHAN_WR2B:MOVDOTR,#TAB1BMOVA,#90HLCALLSEND_ILCALLQUSHUHAN_WR2C:MOVDPTR,#TAB1CMOVCOUNT,#10HMOVA,88HLCALLSEND_ILCALLQUSHUHAN_WR2D:MOVDPTR,#TAB1DMOVCOUNT,#10HMOVA,#98HLCALLSEND_ILCALLQUSHULCALLDELAY3LCALLFLASHLCLLCLEAR_PJMPTU_PLAY2TU_PLAY1:MOVDPTR,#TU_TAB1LCALLPHO_DISPLCALLDELAY3TU_PLAY2:MOVDPTR,#TU_TAB2LCALLPHO_DISPLCALLDELAY3TU_PLAY3:MOVDPTR,#TU_TAB4LCALLPHO_DISPLCALLDELAY3显示点阵LATPLAY1:MOVA,#01HLCALLSEND_IMOVLCD_DATA1,#0CCHMOVLCD_DATA2,#0CCHLCLLLAT_DISPLCALLDELAY3LCALLCLEAR_PKU_PLAY2:LJMPTU_PLAY1PHO_DISP:MOVCOUNT3,#02HMOVLCD_X,#80HPHO_DISP1:MOVLCD_Y,#80HMOVCOUNT2,#20HPHO_DISP2:movcount1,#10hLCALLWR_ZBPHO_DISP3:CLRAMOVCA,@+DPTRLCALLSEND_DINCDPTRDJNZCOUNT1,PHO_DISP3INCLCD_YDJNZCOUNT2,PHO_DISP2MOVLCD_X,#88HDJNZCOUNT3,PHO_DISP1MOVA,#30HLCALLSEND_IRETCLRRAM:MOVLCD_DATA1,#00HMOVLCD_DATA2,#00HLCALLLLAT_DISP\RET显示点阵子程序LAT_DISP:MOVCOUNT3,#02HMOVLCD_X,#80HLAT_DISP1:MOVLCD_Y,#80HCLRF0MOVCOUNT2,#20HLAT_DISP2:MOVCOUNT1,#10HLCALLWR_ZBLAT_ISP3:JBF0,LAT_DISP32MOVLCD_DATA,LCD_DATA1AJMPLAT_DISP31LAT_DISP32:MOVLCD_DATA,LCD_DATA2LAT_DISP31:MOVA,LCD_DATALCALLLSEND_DDJNZCOUNT1,LAT_DISP31INCLCD_YCPLF0DJNZCOUNT1,LAT_DISP31INCLCD_YCPLF0DJNZCOUNT2,LAT_DISP2MOVLCD_X,#88HDJNZCOUNT3,LAT_DISP1MOVA,#36HLCALLSEND_IMOVA,#30HLCALLSEND_IRETWR-ZB:MOVA,#34HLCALLLSEND_IMOVA,LCD_YLCALLLSEND_IMOVA,LCD_XLCALLLSEND_IMOVA,#30HLCALLLSEND_IRET4.7温湿度采集程序unsignedcharwrite_byte(unsignedcharvalue){unsignedchari;unsignedcharerror=0;for(i=0x80;i>0;i/=2){if(i&.value)SDATA=1;elseSDATA=0;SCK=1;nop_();_nop_();_nop_();SCK=0;}SDATA=1;SCK=1;erroe=SDATA;SCK=0;returnerror;}unsignedcharreadbyte(bitack){unsignedchari;unsignedcharval=0;SDATA=1;for(i=0x80;i>0;i/=2){SCK=1;if(SDTAT)val=(val|i);SCK=0;}SDATA=!ack;SCK=1;_nop_();_nop_();_nop_();SCK=0;

温馨提示

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

最新文档

评论

0/150

提交评论