毕业论文(设计):盆花自动浇水系统的设计与实现.doc

上传人:文****钱 文档编号:22235 上传时间:2018-04-28 格式:DOC 页数:70 大小:4.87MB
下载 相关 举报
毕业论文(设计):盆花自动浇水系统的设计与实现.doc_第1页
第1页 / 共70页
毕业论文(设计):盆花自动浇水系统的设计与实现.doc_第2页
第2页 / 共70页
毕业论文(设计):盆花自动浇水系统的设计与实现.doc_第3页
第3页 / 共70页
毕业论文(设计):盆花自动浇水系统的设计与实现.doc_第4页
第4页 / 共70页
毕业论文(设计):盆花自动浇水系统的设计与实现.doc_第5页
第5页 / 共70页
点击查看更多>>
资源描述

1、盆花自动浇水系统的设计与实现THEDESIGNANDIMPLEMENTATIONOFTHEPOTTEDFLOWERAUTOMATICWATERINGSYSTEM学生姓名学号所在学院物理与电信工程学院专业班级电子信息工程指导教师_完成地点陕西理工学院2014年6月16日陕西理工学院毕业论文盆花自动浇水系统的设计与实现摘要本次设计的盆花自动浇水系统用STC89C52RC单片机为主控芯片,用DHT11温湿度传感器进行土壤温湿度的检测,用时钟芯片DS1302进行定时控制,并通过雨水检测器进行雨水检测,再将温湿度采集结果及当前时间在LCD1602显示屏上进行显示。如遇雨天自动停止浇水,否则若湿度低于设定

2、的下限值时,单片机输出一个控制信号,蓝灯亮,继电器工作,开始浇水;若湿度高于上限值时,单片机输出一个控制信号,蓝灯灭,继电器关闭,停止浇水。关键词STC89C52RC;温湿度传感器DHT11;时钟芯片DS1302;液晶显示器LCD;继电器陕西理工学院毕业论文THEDESIGNANDIMPLEMENTATIONOFTHEPOTTEDFLOWERAUTOMATICWATERINGSYSTEMABSTRACTTHEDESIGNOFTHEPOTTEDFLOWERAUTOMATICWATERINGSYSTEMWITHSTC89C52RCMICROCONTROLLERASMAINCONTROLCHIP,U

3、SINGDHT11TEMPERATUREANDHUMIDITYSENSORSFORTHEDETECTIONOFSOILTEMPERATUREANDHUMIDITY,APPLYINGATIMECLOCKCHIPDS1302FORTIMINGCONTROL,ANDTHROUGHTHERAINDETECTORTESTFORMRAIN,ANDTEMPERATUREANDHUMIDITYCOLLECTIONRESULTSANDTHECURRENTTIMEONTHELCD1602SCREENFORDISPLAYINCASEOFRAINAUTOMATICALLYSTOPWATERING,OTHERWISEI

4、FTHEHUMIDITYISBELOWTHELOWERLIMITSETBYTHEMICROCONTROLLEROUTPUTSACONTROLSIGNAL,BLUELIGHTS,RELAYS,STARTWATERINGIFTHEHUMIDITYISHIGHERTHANTHEUPPERLIMIT,THEMICROCONTROLLEROUTPUTSACONTROLSIGNAL,THEBLUELIGHTOFF,RELAYCLOSEDANDSTOPWATERINGKEYWORDSTC89C52RCDHT11TEMPERATUREANDHUMIDITYSENSORDS1302CLOCKCHIPLIQUID

5、CRYSTALDISPLAYLCDRELAY陕西理工学院毕业论文目录引言11设计方案选择311温湿度检测模块312显示模块42主要元器件介绍521STC89C52单片机522DHT11温湿度传感器623液晶显示器LCD824DS1302时钟芯片103硬件电路设计1331晶振电路1332复位电路1333DHT11温湿度传感器模块1334LCD显示模块1435定时器模块1436按键模块1537雨水检测器模块1538继电器电路154软件设计1741土壤温湿度的检测与浇水控制系统1742定时器的设置与浇水控制系统175安装与调试1951土壤温湿度检测与浇水控制系统1952定时器的设置与浇水控制系统20

6、总结23致谢24参考文献25附录A外文翻译26附录B整理电路图33附录C实物图34附录D元器件清单35附录E程序36陕西理工学院毕业论文第1页共66页引言“有喜有忧,有笑有泪,有花有果,有香有色”这是老舍先生对养花的乐趣和对生活热爱的朴实表述。和老舍先生一样,许多城乡居民喜欢在家中种植一些花草,养盆花不仅可以陶冶情操、丰富生活。同时盆花可以通过光合作用吸收二氧化碳,净化室内空气,在有花木的地方空气中阴离子聚集较多,所以空气也特别清新,而且许多花木还可以吸收空气中的有害气体。生活中我常见的盆花如下图A,B所示。图A马蹄莲图B君子兰盆花生长所需的水分,大部分是从土壤中吸收来。盆花能否良好的生长就在

7、于土壤湿度的适合度。但是,在生活中人们总是会有无暇顾及的时候,比如工作太忙、出差、旅游等。花儿生长问题大部分都是由花儿浇灌问题引起的。虽然市场上有卖盆花自动浇水器,但价格十分昂贵,并且大多只能设定一个定时浇水的时间,很难做到给盆花自动适时适量浇水。因此,我想设计一种集盆花土壤温湿度检测和自动浇水于一体的盆花自动浇水系统。根据土壤湿度传感器设计的盆花自动浇水系统能根据不同的盆花对土壤湿度适合度的不同需要,随时调整控制盆花土壤湿度,让盆花能够良好生长。微喷灌是利用直接安装在毛管上,或与毛管连接的微喷头将压力以喷洒状湿润土壤。微喷系统是近几年利用国内外先进技术组装的新型灌溉设施,主要是利用水流通过管

8、道系统以一定速度从特制的喷头喷出,在空气中分散成细小的水滴着落在花草植物。作物及周围的地面上,从而达到及时补充水分的目的。该系统具有用水量少、冲击力小的灌溉特性,适用于栽培密度大、植被柔软细嫩的植物。自动浇水器的诞生时随着人们生活水平的提高和生活节奏的加快而诞生的一种懒人园艺用品。它把微喷的概念应有家庭盆花浇灌中,通过相应地改进,达到合理给盆花自动浇水的目的。早在很多年前,国外就已经开始普及,国内实用的电子类自动浇水器多数从国外进口的,价格昂贵,但质量比较可靠。不过这不太适用于国内,目前国内外比较流行的是玻璃制作的自动浇水器。这种类型的浇水器多数在我国山西和浙江一带生产的,价格比较低廉,实用性

9、没有电子类自动浇水器好。随着国内居民消费水平和生活质量的提高,种花容易养花难,浇水问题就暴露出来,因此国内上加已经看到了这种需求潜力。目前这类小居家用品的厂家主要集中在广东、上海、浙江一带。现在市场上所出售的自动浇水器主要有电子类自动浇水器和玻璃、陶瓷类自动浇水器。1)电子类自动浇水器电子类自动浇水器又叫时控喷淋装置,系统构成为主机(或者)、主管(可以是花园管也可以是七分之四毫米的微喷淋管)、分水接头(3通、4通、5通、6通、分水器)、副管(五分之三毫米)喷淋管(雾化喷头、旋转喷头、折射雾化喷头等)。电子类自动浇水器根据电源的不同分为交流电自动浇水器和电池自动浇水器两种。1控制器的一般性能有电

10、磁阀控制;智能时控电路、微电脑芯片控制;适用电源为AC220V/50HZ;最适水压0306MPA;待机功率(4VA,浇水时小于12VA);可控制连续作业时间试1分钟至168个小时;可每天自动完成十次以上浇水,可每天、隔天、隔多天自动循环进行浇水,手动自动两用;陕西理工学院毕业论文第2页共66页每天计时误差小于正负3秒;电器适应环境温度为1050摄氏度;相对湿度小于90RH。2使用自动控制器带来的便利有自主设定每周、每日的灌溉次数和时间,即使你外出度假也无须担心无人照料;实现科学养护,避免普通漫灌溉导致的植物死亡;节约宝贵的水资源,使用本品成本课节约水80左右;无须专门维护,课长期使用,安装、调

11、试方便。2玻璃、陶瓷类自动浇水器玻璃、陶瓷类自动浇花器又叫自动渗水装置。玻璃制彩色自动浇水器如图C所示图C玻璃制彩色自动浇水器而玻璃、陶瓷类自动浇水器则由本身材质的物理结构构成,根据器具的物理渗水原理完成自动浇灌,当自动浇水器内部存水自身形成一定压力,当遇到干燥的土壤,水就会至上而下的流出,当突然湿润以后,会形成一个堵塞压力,从而导致水流速度变慢或者停止;器具工艺不同,效果也不一样,当然也因突然疏松情况决定器具内水流速度。玻璃类、陶瓷类自动渗水器简单介绍1工作原理特殊的玻璃、陶瓷构造帮助实现自动渗水功能,既有效避免花儿因为浇水过度导致烂根,又可有效防止花儿缺水;从而大量节约了的浇花用水量。2使

12、用方法把玻璃、陶瓷底部让水充分浸泡十几分钟,然后往浇花器内灌满水,底部插入土壤中;它跟据土壤湿度自动分泌水来满足花儿7天的用水量;若花盆比较大,只需多插几只浇花器就可以。当前传感器技术与单片机技术发展迅速,其应用逐步由工业、军事等领域向其它领域渗透,已经和我们的日常生活息息相关。而且智能家居概念也越来越受到人们的推崇,因此,微电脑控制的电子类自动浇水系统有很好的发展前景。本次毕业设计是设计一种基于AT89C52单片机的盆花自动浇水系统。其主要由单片机、土壤温湿度检测与显示部分、定时器设置与显示部分以及继电器控制浇水电路等部分构成。单片机选用AT89C52单片机,软件选用C语言编程。土壤温湿度检

13、测与显示部分采用温湿度传感器DHT11采集当前的土壤温湿度并通过LCD显示。同时把检测到的信息发给单片机,通过单片机所设计的程序判断是否需要给盆花浇水,若需要浇水,则单片机系统发出浇水信号,开始浇水,若不需要浇水,则进行下一次循环检测。定时器设置与显示部分,通过按键开关设置不同的浇水时间段,在时间段以内时,单片机驱动浇水系统,开始浇水,如不在时间段内,则不浇水。陕西理工学院毕业论文第3页共66页1设计方案选择11温湿度检测模块方案一、采用DS18B20温度传感器和HS1100湿度传感器。DS18B20温度传感器是DALLAS半导体公司生产的DS18B20型单线式智能温度传感器。可广泛用于工业、

14、民用、军事等领域的温湿度测量及控制仪器中。它具有小体积,硬件开销低、抗干扰能力强、精度高、接口方便、远距离传输等特点。1)DS18B20主要性能有1独特的单线接口只需一个端口进行通信;2多个DS18B20可并联在惟一的三线上,可以实现多点组网的功能;3无须外部元件;4可通过数据线供电,电压范围为30V55V;5零待机功耗;6温度以3位数字显示;7用户可自定义报警设置;8电压特性,电源极性接反时,温度计不会因为发热而烧毁,但不能进行正常工作。2)DS18B20的内部结构DS18B20采用3脚PR35封装,如图11示。引脚说明地数据线可选图11DS18B20封装HS1100湿度传感器是基于独立工艺

15、设计的电容元件,具有完全呼唤性,高可靠性和长期稳定性,相应时间迅速的特点。应用于办公自动化,车厢空气质量控制系统等。HS1100湿度传感器的主要特性有全互换性;在标准环境下不需校正;长时间饱和下快速脱湿;可以自动化焊接,包括波峰焊或水浸;高可靠性与长时间稳定性;专利的固态聚合物结构;可用于线性电压或频率输出回炉;快速反应时间。HS1100是电容式湿度传感器,由于电容不可直接测量,故选用555多谐振电路检测到频率,然后又单片机计算的电容值,再根据电容值算出相应的湿度值。方案一温湿度检测模块的框图如图12所示。图12方案一温湿度检测模块框图方案二、采用DHT11温湿度传感器。DHT11是一款集温度

16、传感器和湿度传感器于一体的数字信号输出的温湿度复合传感器。传感器内部包括一个电阻式感湿元件和一个NTC测温元件,应用专用的数字模块采集技术和温湿度传感技术,以确保产品具有极高的可靠性和卓越的稳定性。DHT11的主要特性相对湿度和温度测量;全部校准,数字输出;卓越的长期稳定性;无需额外部件;超长的信号传输距离;超低能耗;4引脚安装;完全互换等。特点品质卓越、超快响应、抗干扰能力强、性价比高。方案二温湿度检测模块框图如图13所示。显示模块STC89C52单片机DS18B20温度传感器HS1100湿度传感器陕西理工学院毕业论文第4页共66页图13方案二温湿度检测模块框图考虑到该系统要同时测量温度、湿

17、度,而DHT11温湿度传感器具有综合作用,集温度湿度于一体。而且成本低且使用方便。故采用方案二。12显示模块方案一、采用LED数码管显示。数码管具有低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高低温,对外界环境要求低,易于维护,同时精度比较高,操作简单,编程容易,资源占用较少的优点。但数码管存在不足之处,显示内容局限,需要外围驱动电路。方案二、采用LCD液晶显示屏显示。LCD具有轻薄短小、耗电量低,平面直角显示以及影响稳定不闪烁,可视面积大,画面效果好,分辨率高,抗干扰能力强等优势。特点成本相对LED较高,显示内容也较丰富,且可以与单片机接口直接接线使用。考虑到本系统需要显示时间

18、、温湿度等,显示内容比较多。要同时达到同样的显示效果,采用数码管显示可能比使用LCD液晶显示屏的成本要高且电路复杂。目前市场上LCD1602已经十分普遍,LCD1602是两行16字符型液晶显示屏,显示亮度高,且可显示内容丰富,故采用LCD1602液晶显示当前的时间、温湿度是最佳方案。本次毕业设计选用STC89C52RC单片机为主要控制芯片,DHT11温湿度传感器进行土壤温湿度检测,时钟芯片DS1302进行定时控制,通过雨水检测器进行雨水检测,再将当前时间及温湿度采集数据在LCD1602上进行显示。本次设计的盆花自动浇水系统主要由晶振电路、复位电路、DHT11温湿度传感器、LCD显示、定时器、按

19、键模块、雨水检测器和继电器电路这八模块组成。盆花自动浇水系统的具体模块设计框图14所示。图14盆花自动浇水系统的具体模块设计框图STC89C52RC单片机LCD显示按键模块继电器电路雨水检测器定时器电路复位电路晶振电路DHT11温湿度传感器STC89C52单片机DHT11温湿度传感器显示模块陕西理工学院毕业论文第5页共66页2主要元器件介绍21STC89C52单片机211STC89C52单片机简介STC89C52单片机是由STC公司生产的一种高性能的、低功耗的CMOS8位微控制器,具有8K的系统可编程FLASH存储器。STC89C52单片机使用的是经典的C51内核,但是做了很多的改进使得芯片具

20、有传统51单片机所不具备的许多功能。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得STC89C52为众多的嵌入式控制应用系统提供了高灵活的解决方案,成为目前广泛使用的单片机微控制器之一。使用STC89C52单片机可以完成所有基本的对于微控制器控制系统的编程和处理方法。STC89C52单片机拥有如下基本功能8K字节的可编程FLASH;32位的I/O输入输入端口;512BIT的RAM内核;4个外部中断;内置4KBEEPROM;看门狗定时器;3个16位定时器/计数器等等。212STC89C52单片机的结构和引脚功能STC89C52单片机拥有一共40个外部端口,根据功能特性可以划分为主

21、电源模块、多复用功能的IO端口、外部连接晶振荡、控制和复位等。它能够完成复杂的控制问题,且成本较低,应用范围广。其结构引脚如图21所示。图21STC89C52引脚图STC89C52存在4个8位的并行I/O输入输入端口分别为P0、P1、P2、P3端口,相对应的外部接口分别是P00P07,P10P17,P20P27,P30P37,总计32条I/O线,每一条线能够独立作为输入或输出端口。P0端口,这个端口功能实现了一个8位的双向I/O口。而在端口对外部的程序或者输入的数据存储器实现读写时,P0端口可以作为多路复用的低字节地址/数据总线,只有在这个条件时,P0端口存在内部上拉电阻。P1端口,这个端口是

22、内部存在上拉电阻的8路双向I/O输入输出端口,当给该端口写入“1”的时候,内部的上拉电阻把该端口电压置高,在这个时候该端口作为输入口使用。并且,P10和P11端口能够设置成定时/计数器,如表21所示。陕西理工学院毕业论文第6页共66页表21P1口引脚复用功能表端口引脚复用功能P10T2(定时器/计算器2的外部输入端)P11T2EX(定时器/计算器2的外部触发端和双向控制)P15MOSI(用于在线编程)P16MISO(用于在线编程)P17SCK(用于在线编程)P2端口,这个端口是内部存在上拉电阻的8路双向I/O输入输出端口,当给该端口写入“1”的时候,内部的上拉电阻把该端口电压置高,在这个时候该

23、端口作为输入口使用。P3端口,这个端口是内部存在上拉电阻的8路双向I/O输入输出端口,当给该端口写入“1”的时候,内部的上拉电阻把该端口电压置高,在这个时候该端口作为输入口使用。在STC89C52中,P3端口也存在着大量的复用功能,如表22所列。表22P3口引脚复用功能表端口引脚复用功能P30RXD(串行输入口)P31TXD(串行输出口)P32INT0(外部中断0)P33INT1(外部中断1)P34T0(定时器0的外部输入)P35T1(定时器1的外部输入)P36WR(外部数据存储器写选通)P37RD(外部数据存储器读选通)1)PSEN的程序存储允许信号。它是用来读取外部程序存储器。2)RST复

24、位功能连接端口。在晶振工作的时候,在这个引脚上连续出现两个机器周期的高脉冲时,内部电路将单片机做复位处理。3)ALE/PROG地址锁存的控制端口。每当从存储器读取数据的时候,该端口发送信号作为锁存低字节地址。在对FLASH存储器编程时,这个端口可以输入编程脉冲PROG。4)EA/VPP外部读写数据控制端口。为了使单片机可以正确的从地址为0000HFFFFH的外部ROM中接受到代码,所以要把EA置低,所以接到地端。然而,如果程序锁位1,EA在复位锁存。5)XTAL1振荡器的反相放大器输入,内部时钟工作电路的输入。6)XTAL2振荡器的反相放大器输出。22DHT11温湿度传感器221DHT11产品

25、概述DHT11数字温湿度传感器是一款集温度传感器和湿度传感器于一体的数字信号输出的温湿度复陕西理工学院毕业论文第7页共66页合传感器。它应用专用的数字模块采集技术和温湿度传感技术,以确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此DHT11具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上。DHT11的技术参数1供电电压3355VDC2输出单总线数字信号3测量范围湿度2090RH,温度0504测量精度湿度5RH,温度2

26、5分辨率湿度1RH,温度16互换性可完全互换7长期稳定性INCLUDE“1602H“INCLUDE“DELAYH“INCLUDE“LIMITH“INCLUDE“WARNINGH“INCLUDE“DS1302H“INCLUDE“DHT11H“UNSIGNEDCHARDESPLAY_FLAG0UNSIGNEDCHARCLEAR_FLAG0UNSIGNEDCHARADJUST_MEASURE_FLAG0UNSIGNEDCHARTIME_FLAG0UNSIGNEDCHARTIME_ADJUST_FLAG0UNSIGNEDCHARMODE_KEY0UNSIGNEDCHARTEMPERATURE_INT0

27、UNSIGNEDCHARHUMIDITY_INT0UNSIGNEDCHARHUMIDITY_LAST0UNSIGNEDCHARHUMIDITY_LAST10UNSIGNEDINTTIME_NUM0,TIMING1_START_NUM0,TIMING1_END_NUM0UNSIGNEDINTTIMING2_START_NUM0,TIMING2_END_NUM0UNSIGNEDINTTIMING3_START_NUM0,TIMING3_END_NUM0FLOATHUMIDITY00SBITRAINP33VOIDMAINUNSIGNEDCHARILCD_INIT/初始化液晶DELAYMS20/延时有

28、助于稳定LCD_CLEAR/清屏DS1302_INITDELAYMS10DS1302_WRITE_TIMEWHILE1陕西理工学院毕业论文第37页共66页IFOKDELAYMS10IFOKDESPLAY_FLAGCLEAR_FLAG0IFDESPLAY_FLAG8DESPLAY_FLAG0WHILEOKREAD_TRH/读温湿度值HUMIDITYRH_DATAHUMIDITY_INTHUMIDITYTEMPERATURETH_DATATEMPERATURE_INTTEMPERATURETIME_NUMTIME_BUF1460TIME_BUF15TIMING1_START_NUMTIMING11

29、60TIMING12TIMING1_END_NUMTIMING1460TIMING15TIMING2_START_NUMTIMING2160TIMING22TIMING2_END_NUMTIMING2460TIMING25TIMING3_START_NUMTIMING3160TIMING32TIMING3_END_NUMTIMING3460TIMING35IFRAIN1IFTIME_NUMTIMING1_START_NUMTEM_LED0ELSERELAY1TEM_LED1IFDESPLAY_FLAG1IFCLEAR_FLAG0LCD_CLEAR/清屏DELAYMS15CLEAR_FLAG1L

30、CD_WRITE_CHAR10,0,0XDFLCD_WRITE_STRING11,0,“C“LCD_WRITE_STRING11,1,“/写入字符CLCD_WRITE_STRING0,0,“TEM0“LCD_WRITE_STRING1,1,“RH0“陕西理工学院毕业论文第39页共66页/TEMPERATUREREADTEMPERATURE/TEMPERATURETEMPERATURE0625LCD_WRITE_INIT6,0,TEMPERATURELCD_WRITE_INIT6,1,HUMIDITY/WARNINGDATA_ADC0832,TEMPERATURE/OPEN_SPEAKER/OP

31、EN_LED/CLOOSE_SPEAKERIFDESPLAY_FLAG3IFCLEAR_FLAG0LCD_CLEAR/清屏DELAYMS15CLEAR_FLAG1MODE_KEY0LIMIT_FLAG0LCD_WRITE_STRING0,0,“RHAJUST“LCD_WRITE_STRING0,1,“RHL“IFADDDELAYMS10IFADD/销抖RH_MINIFRH_MIN99RH_MIN0WHILEADD/调节温度下限加一显示IFDECDELAYMS10IFDEC/销抖RH_MINIFRH_MIN255RH_MIN99WHILEDEC/调节温度下限减一显示LCD_WRITE_INIT1

32、1,1,RH_MIN陕西理工学院毕业论文第40页共66页/显示当前时间/IFDESPLAY_FLAG0IFCLEAR_FLAG0LCD_CLEAR/清屏DELAYMS15CLEAR_FLAG1LCD_WRITE_STRING0,0,“DATA“LCD_WRITE_STRING0,1,“TIME“DS1302_READ_TIMELCD_WRITE_INIT7,0,TIME_BUF11LCD_WRITE_STRING9,0,“LCD_WRITE_INIT10,0,TIME_BUF12LCD_WRITE_STRING12,0,“LCD_WRITE_INIT13,0,TIME_BUF13LCD_WRI

33、TE_INIT7,1,TIME_BUF14LCD_WRITE_STRING9,1,“LCD_WRITE_INIT10,1,TIME_BUF15LCD_WRITE_STRING12,1,“LCD_WRITE_INIT13,1,TIME_BUF16/调节日期时间/IFDESPLAY_FLAG2IFCLEAR_FLAG0LCD_CLEAR/清屏DELAYMS15CLEAR_FLAG1MODE_KEY0LIMIT_FLAG0FORI0IIFNDEF_DHT11_H_DEFINE_DHT11_H_EXTERNUNSIGNEDCHARTH_DATA,TL_DATA,RH_DATA,RL_DATA,CK_D

34、ATASBITTRHP23/温湿度传感器DHT11数据接入VOIDDELAY_USVOIDDELAY_MSUNSIGNEDCHARMSCHARRECEIVE_BYTEVOIDVOIDREAD_TRHVOIDENDIFINCLUDE“DELAYH“INCLUDE“DHT11H“INCLUDE“INTRINSH“UNSIGNEDCHARRESPOND0UNSIGNEDCHARTH_DATA0,TL_DATA0,RH_DATA0,RL_DATA0,CK_DATA0UNSIGNEDCHARTH_TEMP,TL_TEMP,RH_TEMP,RL_TEMP,CK_TEMP,UNTEMP陕西理工学院毕业论文第

35、45页共66页/5US级延时程序/VOIDDELAY_US/UNSIGNEDCHARI_NOP_NOP_NOP_NOP_NOP_NOP_/毫秒级延时子程序/VOIDDELAY_MSUNSIGNEDCHARMSUNSIGNEDCHARIWHILEMSFORI0IINCLUDESBITSCKP34SBITSDAP35SBITRSTP36/复位脚DEFINERST_CLRRST0/电平置低DEFINERST_SETRST1/电平置高/双向数据DEFINEIO_CLRSDA0/电平置低DEFINEIO_SETSDA1/电平置高陕西理工学院毕业论文第48页共66页DEFINEIO_RSDA/电平读取/时

36、钟信号DEFINESCK_CLRSCK0/时钟信号DEFINESCK_SETSCK1/电平置高DEFINEDS1302_SEC_ADD0X80/秒数据地址DEFINEDS1302_MIN_ADD0X82/分数据地址DEFINEDS1302_HR_ADD0X84/时数据地址DEFINEDS1302_DATE_ADD0X86/日数据地址DEFINEDS1302_MONTH_ADD0X88/月数据地址DEFINEDS1302_DAY_ADD0X8A/星期数据地址DEFINEDS1302_YEAR_ADD0X8C/年数据地址DEFINEDS1302_CONTROL_ADD0X8E/控制数据地址DEFI

37、NEDS1302_CHARGER_ADD0X90DEFINEDS1302_CLKBURST_ADD0XBEEXTERNUNSIGNEDCHARTIME_BUF18/空年月日时分秒周EXTERNUNSIGNEDCHARTIME_BUF8/空年月日时分秒周EXTERNUNSIGNEDCHARTIMING18EXTERNUNSIGNEDCHARTIMING28EXTERNUNSIGNEDCHARTIMING38EXTERNUNSIGNEDCHARAJUST_TIME8/向DS1302写入一字节数据/VOIDDS1302_WRITE_BYTEUNSIGNEDCHARADDR,UNSIGNEDCHARD

38、/从DS1302读出一字节数据/UNSIGNEDCHARDS1302_READ_BYTEUNSIGNEDCHARADDR/向DS1302写入时钟数据/VOIDDS1302_WRITE_TIMEVOID/从DS1302读出时钟数据/VOIDDS1302_READ_TIMEVOID/DS1302初始化陕西理工学院毕业论文第49页共66页/VOIDDS1302_INITVOIDENDIFINCLUDE“DS1302H“UNSIGNEDCHARTIME_BUF1820,14,05,16,10,55,10,6/空年月日时分秒周UNSIGNEDCHARTIME_BUF8/空年月日时分秒周UNSIGNEDC

39、HARTIMING180UNSIGNEDCHARTIMING280UNSIGNEDCHARTIMING380UNSIGNEDCHARAJUST_TIME80/向DS1302写入一字节数据/VOIDDS1302_WRITE_BYTEUNSIGNEDCHARADDR,UNSIGNEDCHARDUNSIGNEDCHARIRST_SET/写入目标地址ADDRADDRADDR/最低位置零FORI0I1/写入数据DFORI0I1RST_CLR/停止DS1302总线/从DS1302读出一字节数据/UNSIGNEDCHARDS1302_READ_BYTEUNSIGNEDCHARADDRUNSIGNEDCHAR

40、IUNSIGNEDCHARTEMPRST_SET/写入目标地址ADDRADDRADDR|0X01/最低位置高FORI0I1/输出数据TEMP陕西理工学院毕业论文第51页共66页FORI0I1IFIO_RTEMP|0X80ELSETEMPSCK_SETSCK_CLRRST_CLR/停止DS1302总线RETURNTEMP/向DS1302写入时钟数据/VOIDDS1302_WRITE_TIMEVOIDUNSIGNEDCHARI,TMPFORI0I/包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义INCLUDE陕西理工学院毕业论文第53页共66页IFNDEF_1602_H_DEFINE

41、_1602_H_BITLCD_CHECK_BUSYVOIDVOIDLCD_WRITE_COMUNSIGNEDCHARCOMVOIDLCD_WRITE_DATAUNSIGNEDCHARDATAVOIDLCD_WRITE_FLOATUNSIGNEDCHARX,UNSIGNEDCHARY,INTDATVOIDLCD_CLEARVOIDVOIDLCD_WRITE_STRINGUNSIGNEDCHARX,UNSIGNEDCHARY,UNSIGNEDCHARSVOIDLCD_WRITE_CHARUNSIGNEDCHARX,UNSIGNEDCHARY,UNSIGNEDCHARDATAVOIDLCD_WRIT

42、E_INITUNSIGNEDCHARX,UNSIGNEDCHARY,INTDATVOIDLCD_INITVOIDVOIDLED_FLASHUNSIGNEDCHARADDERVOIDLCD_USER_CHRVOIDENDIF/名称LCD1602论坛WWWDOFLYENET引脚定义如下1VSS2VDD3V04RS5R/W6E714DB0DB715BLA16BLK/INCLUDE“1602H“INCLUDE“DELAYH“DEFINEUCHARUNSIGNEDCHARSBITRSP20/定义端口SBITRWP21SBITENP22DEFINERS_CLRRS0DEFINERS_SETRS1DEFIN

43、ERW_CLRRW0DEFINERW_SETRW1陕西理工学院毕业论文第54页共66页DEFINEEN_CLREN0DEFINEEN_SETEN1DEFINEDATAPORTP0/判忙函数/BITLCD_CHECK_BUSYVOIDDATAPORT0XFFRS_CLRRW_SETEN_CLR_NOP_EN_SETRETURNBITDATAPORT/写入命令函数/VOIDLCD_WRITE_COMUNSIGNEDCHARCOM/WHILELCD_CHECK_BUSY/忙则等待DELAYMS5RS_CLRRW_CLREN_SETDATAPORTCOM_NOP_EN_CLR/写入数据函数/VOIDL

44、CD_WRITE_DATAUNSIGNEDCHARDATA/WHILELCD_CHECK_BUSY/忙则等待DELAYMS5RS_SETRW_CLREN_SETDATAPORTDATA陕西理工学院毕业论文第55页共66页_NOP_EN_CLR/清屏函数/VOIDLCD_CLEARVOIDLCD_WRITE_COM0X01DELAYMS5/闪烁/VOIDLED_FLASHUNSIGNEDCHARADDERLCD_WRITE_COMADDERLCD_WRITE_COM0X0FDELAYMS100LCD_WRITE_COM0X0C/闪烁光标/写入字符函数/VOIDLCD_WRITE_CHARUNSI

45、GNEDCHARX,UNSIGNEDCHARY,UNSIGNEDCHARDATAIFY0LCD_WRITE_COM0X80XELSELCD_WRITE_COM0XC0XLCD_WRITE_DATADATA/写入字符串函数/VOIDLCD_WRITE_STRINGUNSIGNEDCHARX,UNSIGNEDCHARY,UNSIGNEDCHARSIFY0陕西理工学院毕业论文第56页共66页LCD_WRITE_COM0X80X/表示第一行ELSELCD_WRITE_COM0XC0X/表示第二行WHILESLCD_WRITE_DATASS/显示浮点数函数/VOIDLCD_WRITE_FLOATUNSI

46、GNEDCHARX,UNSIGNEDCHARY,INTDATUCHARNUM4NUM0DAT/1000/千NUM1DAT1000/100/百NUM2DAT100/10/十NUM3DAT10/个IFY0LCD_WRITE_COM0X80XELSELCD_WRITE_COM0XC0XIFDAT1000LCD_WRITE_DATANUM00X30ELSELCD_WRITE_DATA0X20IFDAT100LCD_WRITE_DATANUM10X30ELSELCD_WRITE_DATA0X20IFDAT10LCD_WRITE_DATANUM20X30陕西理工学院毕业论文第57页共66页ELSELCD_

47、WRITE_DATA0X20LCD_WRITE_DATA0X2ELCD_WRITE_DATANUM30X30/显示整数函数/VOIDLCD_WRITE_INITUNSIGNEDCHARX,UNSIGNEDCHARY,INTDATUCHARNUM2NUM0DAT/10/十NUM1DAT10/个IFY0LCD_WRITE_COM0X80XELSELCD_WRITE_COM0XC0XIFDAT10LCD_WRITE_DATANUM00X30ELSELCD_WRITE_DATA0X30LCD_WRITE_DATANUM10X30/初始化函数/VOIDLCD_INITVOIDLCD_WRITE_COM0

48、X38/显示模式设置/DELAYMS5LCD_WRITE_COM0X38DELAYMS5LCD_WRITE_COM0X38陕西理工学院毕业论文第58页共66页DELAYMS5LCD_WRITE_COM0X38LCD_WRITE_COM0X08/显示关闭/LCD_WRITE_COM0X01/显示清屏/LCD_WRITE_COM0X06/显示光标移动设置/DELAYMS5LCD_WRITE_COM0X0C/显示开及光标设置/设定二个自定义字符,LCD1602中自定义字符的地址为0X000X07,即可定义8个字符这里我们设定把一个自定义字符放在0X00位置(000),另一个放在0X01位子(001)

49、/VOIDLCD_USER_CHRVOID/第一个自定义字符LCD_WRITE_COM0X40/“01000000“第1行地址D7D6D5D4D3为字符存放位置07,D2D1D0为字符行地址07)LCD_WRITE_DATA0X00/“XXX11111“第1行数据(D7D6D5为XXX,表示为任意数一般用000),D4D3D2D1D0为字符行数据1点亮,0熄灭)LCD_WRITE_COM0X41/“01000001“第2行地址LCD_WRITE_DATA0X04/“XXX10001“第2行数据LCD_WRITE_COM0X42/“01000010“第3行地址LCD_WRITE_DATA0X0E/“XXX10101“第3行数据LCD_WRITE_COM0X43/“01000011“第4行地址LCD_WRITE_DATA0X0E/“X

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。