基于单片机的草坪智能喷灌系统设计与实现.pdf
页脚下载后可删除,如有侵权请告知删除!本科毕业论文设计开题报告 姓 名:学 号:学 院:专 业:班 级:指导教师:开题日期:2021/10/24 页脚下载后可删除,如有侵权请告知删除!摘 要 本设计基于 51 单片机的草坪智能喷灌系统设计与实现,利用所学到的单片机系统开发的相关技术知识,完成智能喷灌控制系统的硬件搭建和程序设计。设计中确定系统功能实现数据采集及处理、检测及报警、多点控制。介绍了开发工具以及元器件的选择;设计中重点介绍了硬件电路实现以及软件算法的设计;并编写相关控制程序并进展调试;此次设计的是通过选择土壤温湿度传感器对土壤的湿度进展实时的采集,将采集到的信号以模拟量送给 51 单片机系统进展处理,通过用 c 语言的编程实现在需要时驱动相关外部设备,对目标区域进展自动准确地智能灌溉。并具有一定的 LCD 液晶显示和键盘操作功能。关键词:51 单片机;智能喷灌;湿度传感器;c 语言 页脚下载后可删除,如有侵权请告知删除!目 录 摘 要.1 一、绪论.1 一国内外现状及开展趋势.1 二设计的背景及意义.2 二、系统总体设计与分析.4 一方案论证.4 1、控制芯片选择.4 2、显示模块选择.4 二方案确立.4 三、系统硬件设计.6 一单片机系统介绍.6 1、复位方式.7 2、时钟电路.8 3、单片机最小系统.9 二 1602 液晶显示电路.9 三 键盘电路.10 四土壤湿度检测模块.11 五继电器执行模块.12 四、系统软件设计.14 一系统整体框架介绍.14 二 键盘控制模式软件流程图.15 附录 A 硬件电路图.20 附录 B 程序源代码.21 页脚下载后可删除,如有侵权请告知删除!一、绪论 一国内外现状及开展趋势 微灌技术的研究在中国的起步还不算太晚,自 1974 年引进墨西哥的滴灌设备我国的微灌技术试验研究正式开场。该过程经历了 1974 到 1980 年之间的引进消化和吸收,设备的研制与应用实验及试点阶段;1981 到 1986 年之间经历了设备产品的改良和应用试验的研究以及扩大试点的推广三个阶段;从 1987 年到现在直接引用了国外先进的科学技术,进入了从高起点上对研发微灌设备的产品开发阶段。基于引入、吸收兴旺国家先进科学技术的根底上,结合了我国国情,从经济上的实用,便于安装和利于推广的主要几点出发,在个地相关关部门的合作与努力的情况下,开发微灌技术、生产研制设备和科学实验等多方面都取得重要的成果,我国的微灌技术日趋步入成熟。但是由于我国正处于初级阶段的微灌技术研究,近些年来自己研制、开发与生产微灌设备的产品不管是在质量方面和性能方面与兴旺国家相比拟,差距存在还是比拟大的;同兴旺的国家相比拟更大的差距存在于微灌工程设备的组装配套和自动控制方面。例如灌溉设备系统成套性比拟差,配套的水平偏低;主要的几个部件的品种规格太少,质量相对来说不稳定,没有很好的系列化;关键的设备稳定性和耐久性都比拟差;自动化和综合功能技术程度不是很高,根本上还处于手动的操作方式,以至于整体的综合效果和收益都不高。随着现代化高科技不断的开展,各种智能化家电、数码产品走入进人们的日常生活,网络作为人们现代生活中人际的交往和获取知识的一个必不可少的平台。考虑到现代化高科技的开展,未来的智能浇灌系统也有希望朝一下这些方面开展。智能化 随着传感器的技术、计算机处理技术和自动智能控制技术的持续开展,温室中的计算机环境的控制系统应用将会由以数据采集处理和监测的简单方式,渐渐转向以数据处理和应用为主。所以软件系统的研制和开发将会得到不断完善,其中专家系统为主的智能化管理控制系统已经取得了不少的研发成果,并且其应用的前景是非常广阔的。网络化 目前,网络已经成为最具有活力,开展速度最快的高科技领域。网络的通信技术开展促进了信息的传播。设施的产业化程度的提高成为可能。综合环境的调控 所谓综合环境调控,就是以实现目标植物的正常生长为目标,把影响目标植物生页脚下载后可删除,如有侵权请告知删除!长的多种环境参数(如光照、温度、湿度等)都保持在适宜目标植物生长的状态,并尽可能的使用最少的环境调节装置(采光、遮光、通风、保温、加湿等)。智能和无人操作将会是未来的各种行业的开展趋势,不仅能大量节省人们的珍贵时间还能更好的控制各种成分的细微比例做到人们自己动手所不能做到的效果。高移植性 稍微修改一些系统的参数及设备即可应用于别的环境下,省时省力,节省大量资金及研发本钱。在不久的将来,不仅能实现对办公室花卉的控制而且可以实现路边及所有公共场所花草树木的自动灌溉,而且可以参加远程控制,可视频控制,更大限度的节省人力物力,这将是世界浇灌系统的一个开展趋势。二设计的背景及意义 水是生命之源,同样它也是国家经济开展的主要因素,人类生存必不可少的因素,水的重要性在国际上已经得到了共识,水资源开发和保护已经被各国家所重视。而需要如何高效率利用有限的淡水资源,尽最大能力发挥水资源的效益己经成为看一个全球性极其有待解决的重要课题。诸多的缺水国家当中,作为水资源极其短缺国家之一的中国。水资源的利用率和利用效率低下使水资源在节流方面呈现巨大的挖掘潜力,因此节水成为历史开展的必然。伴随着人们快节奏的生活、工作、学习,人们已没有很多时间去精心照顾自己种的花卉植物等,因此市场上急需一种可以代替人类劳动的产品。由于现在市场上很多的喷灌设备主要是是针对温室、露天农作物、森林等大面积植物喷灌,而对于家庭小面积喷灌系统设备几乎没有,也没有到达自动化的水平。现代生活中,随着人们生活水平的提高,人们对花卉、树木等绿色植物的喜爱和种植越来越多,然而以前对花木的浇灌、施肥等工作都需要靠人工来实现,由于现代生活节奏的加快,人们往往忙于工作而忘记定期、及时地为花卉补充水分及养料,或者由于放假回家而将花放在办公室没有人管理导致花木枯死。已有的浇水器需要有人控制或者定时的浇灌,不能根据植物正常生长所需要的光照、水分、温度来实时调节植物生长环境的参数,不利于花木的成长,而且现在的名贵花如果因为以上原因而死亡得不偿失,鉴于以上情况,市场上急需提供一种能够根据光照、温度、湿度及光照的变化自动将水分和及光补充给花木,到达定期、及时浇灌花木的花木自动浇灌器。在全球淡水水资源越来越缺乏和农业现代化的当今世界,农业高度集约化种植模式耕作、种植、灌溉、施肥、收获等和“工厂化特征日趋显著。在准确化农业的生产过程中,如今兴旺国家开展现代农业的主要的手段是运用高科学技术和高新技页脚下载后可删除,如有侵权请告知删除!术的装备。在灌溉的技术上对农作物的生长过程智能化的控制要求正在提高。大多数兴旺国家农业的灌溉系统几乎全部采用计算机的控制方式,根本上实现了系统智能化。微灌技术和设备在我国还处于研究和待开发阶段,系统的成套性还较差,主要部件品种少,质量不稳定。因此,加速开发成套、适用、可靠、先进的灌溉系统是我国今后节水灌溉设备开展的主要方向。自动控制灌溉系统,根本上还是手动阀门来操作。自动控制器等方面还有待于进一步开发和应用。微机和单片机等自动控制检测系统装置,已经在某些微灌工程中应用和实验,初步显示出微灌采用自动化的管理系统优越性和先进性。页脚下载后可删除,如有侵权请告知删除!二、系统总体设计与分析 一方案论证 1、控制芯片选择 方案一:采用飞思卡尔半导体公司的十六位单片机 mc9s12xs128 单片机,此款单片机共有 80 引脚绝大局部为 I/O 口,最高主频可到达 96MHZ,运行速度快,但由于本系统的资源需求不是很大,而且此款单片机的照价较高,外围电路较复杂,故没有选择此款单片机。方案二:采用传统的 8 位机 51 单片机此款单片机应用方便外围电路简单,从设计任务看此款单片机足可胜任,最终从经济、性能等方面本系统选择了 51 单片机作为主控芯片;2、显示模块选择 方案一:采用液晶 1602 作为显示模块,1602 液晶每行可显示 16 个字符一共可以显示两行,可以显示数字和字符但是不能显示汉字,由于系统中采集的信息有可能是汉字的所以没有选择 1602 液晶。方案二:采用液晶 12864,,12864 液晶显示可以显示汉字,带有字库显示方便技术成熟,对于系统而言满足系统要求。可以显示较多的信息,清晰明了。本系统中需要显示信息较少顾系统选择了 1602 作为显示单元的显示器经济实惠方便。二方案确立 当将单片机用作测控系统的时侯,系统必须有被测的信号通过指定输入通道,再由单片机来收集需要的输入信息。相对于测量的系统来说,它的核心任务是如何准确获得被测信号;但是对于测控系统来说,除了被测试控对象状态的信号,还应该把测试的数据和控制的条件比照并在需要的时候控制相应执行设备。传感器作为实现测量和控制的第一环节,是测量控制系统关键的部件,假设没有传感器对被测信号进展可靠的捕捉和数据的转换,所有的测量和控制都将会没有方法去实现。本系统硬件包括:温湿度采集转换模块、单片机及附属电路、键盘控制、LCD 显示、时钟模块、继电器电路等局部的设计。系统整体电路框图如图 2.1 所示。页脚下载后可删除,如有侵权请告知删除!单片机 电源 湿度检测 液晶显示 键盘输入 管道阀 1 管道阀 2 备用管道阀 页脚下载后可删除,如有侵权请告知删除!三、系统硬件设计 一单片机系统介绍 本设计中要求单片机的频率必须要快,要不然将会明显的看出刷屏现象。所以经过比照试验确定选用STC公司的STC12C5A60S2系列单片机这款单片机是单时钟/机器周期(1T)的单片机,具有高速、低功耗、超强抗干扰等特点是新一代8051 单片机,指令代码完全兼容传统 8051,但速度比普通的单片机快 8-12 倍。内部集成 MAX810专用复位电路,拥有 2 路 PWM,8 路高速 10 位的 A/D 转换(频率 250K/S),适合对电机控制,抗干扰场合。单片机的实物图如图 3.1 所示:STC12C5A60S2 根本的特性介绍如下:1.内部集成增强型 8051 CPU,1T,单时钟、机器周期,指令代码完全与 8051兼容 2.工作电压:STC12C5A60S2 系列工作电压:5V 单片机 STC12LE5A60S2 系列工作电压:-3V 单片机 3.工作频率范围:035MHz,相当于普通 8051 的 0420MHz 4.用户应用程序空间 8K/16K/20K/32K/40K/48K/52K/60K/62K 字节.5.片上集成 1280 字节 RAM 6.通用 I/O 口36/40/44 个,复位后为:准双向口/弱上拉普通 8051I/O口 可设置成四种模式:准双向口/弱上拉,推挽/上拉,仅为输入/高阻,开漏 每个 I/O 口驱动能力均可到达 20mA,但整个芯片最大不要超过 120mA 7.ISP在系统可编程/IAP在应用可编程,无需专用编程器,无需专用仿真器 可通过串口直接下载用户程序,数即可完成一片 8.有 EEPROM 功能(STC12C5A62S2/AD/PWM无内部 EEPROM)9.看门狗 10.内部集成 MAX810 专用复位电路外部晶体 12M 以下时,复位脚可直接 1K 电阻到地 11.外部掉电检测电路:在口有一个低压门槛比拟器 5V 单片机为,误差为5%,3.3V 单片机为,误差为3%页脚下载后可删除,如有侵权请告知删除!12.时钟源:外部高精度晶体/时钟,内部 R/C 振荡器(温漂为5%到10%以内)用户在下载用户程序时,可选择是使用内部 R/C 振荡器还是外部晶体/时钟 常温下内部R/C 振荡器频率为:5.0V 单片机为:11MHz 17MHz;3.3V 单片机为:8MHz12MHz 精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准 13.共 4 个 16 位定时器 两个与传统 8051 兼容的定时器/计数器,16 位定时器T0 和 T1,没有定时器 2,但有独立 波特率发生器做串行通讯的波特率发生器,再上 2路 PCA 模块可再实现 2 个 16 位定时器 14.3 个时钟输出口,可由 T0 的溢出在输出时钟,可由 T1 的溢出在输出时钟,独 立波特率发生器可以在口输出时钟 15.外部中断 I/O 口 7 路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的 PCA 模块,Power Down 模式可由外部中断唤醒,16.PWM(2 路/PCA可编程计数器阵列,2 路-也可用来当 2 路 D/A 使用-也可用来再实现 2 个定时器-也可用来再实现 2 个外部中断(上升沿中断/下降沿中断均可分别或同时支持)17.A/D 转换,10 位精度 ADC,共 8 路,转换速度可达 250K/S(每秒钟 250 次)18.通用全双工异步串行口(UART),由于 STC12 系列是高速的 8051,可再用定时器或 PCA 软件 实现多串口 19.STC12C5A60S2 系列有双串口,后缀有 S2 标志的才有双串口,RxD2/P1.2(可通过存放器设 置到 P4.2),TxD2/P1.3(可通过存放器设置到 P4.3)20.工作温度范围:-40 +85(工业级)/0 75(商业级)21.封装:LQFP-48,LQFP-44,PDIP-40,PLCC-44,QFN-40 I/O 口不够时,可用 2 到 3 根普通 I/O 口线外接 74HC164/165/595均可级联来扩展 I/O 口,还可用 A/D 做按键扫描来节省 I/O 口,或用双 CPU,三线通信,还多了串口。1、复位方式 在上电或复位过程中,控制 CPU 的复位状态:这段时间内让 CPU 保持复位状态,而不是一上电或刚复位完毕就工作,防止 CPU 发出错误的指令、执行错误操作,也可以提高电磁兼容性能。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机、“程序走飞等现象,这主要是单片机的复位电路设计不可靠引起的,单片机复位方式主要由按键复位和上电复位两种,本次设计主要是按键复位,在单片机复位输入端 RST上参加高电平两个时钟周期时。一般采用的方法是在RST 端和正电源Vcc 之间接一个页脚下载后可删除,如有侵权请告知删除!按钮。当人为按下按钮时,那么 Vcc 的+5V 电平就会直接加到 RST 端,两个时钟周期后单片机就将复位。本次设计的复位电路如图 3.1 所示:图 2、时钟电路 单片机的运行需要时钟电路的支持,如果没有时钟电路的驱动单片机将无法按照“拍来工作,所以需要通过时钟电路来给单片机提供脉冲信号,晶振引脚的内部通常是一个反相器,或者是奇数个反相器串联.在晶振输出引脚 XO 和晶振输入引脚 XI 之间用一个电阻连接,对于 CMOS 芯片通常是数 M 到数十 M 欧之间.很多芯片的引脚内部已经包含了这个电阻,引脚外部就不用接了.这个电阻是为了使反相器在振荡初始时处与线性状态,反相器就如同一个有很大增益的放大器,以便于起振.石英晶体也连接在晶振引脚的输入和输出之间,等效为一个并联谐振回路,振荡频率应该是石英晶体的并联谐振频率.晶体旁边的两个电容接地,实际上就是电容三点式电路的分压电容,接地点就是分压点.以接地点即分压点为参考点,振荡引脚的输入和输出是反相的,但从并联谐振回路即石英晶体两端来看,形成一个正反应以保证电路持续振荡.在芯片设计时,这两个电容就已经形成了,一般是两个的容量相等,容量大小依工艺和幅员而不同,但终归是比拟小,不一定适合很宽的频率范围.外接时大约是数 PF 到数十 PF,依频率和石英晶体的特性而定。本次设计始终电路如图3.2 所示:页脚下载后可删除,如有侵权请告知删除!图 3、单片机最小系统 本次设计的 STC125A60S2 单片机最小系统由单片机芯片,复位电路及时钟电路组成,本次设计最小系统的电路图如图 3.3 所示:图 二 1602 液晶显示电路 本次采用液晶显示屏为 1602 型液晶显示屏,该屏属于字符型屏幕,是一种专门用于显示字母、数字、符号等点阵式 LCD,目前常用 16*1,16*2,20*2 和 40*2 行等的模块,1602LCD 分为带背光和不带背光两种,基控制器大局部为 HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差异相较于数码管显示,屏幕使用更为页脚下载后可删除,如有侵权请告知删除!简单,且可以定义字符,数码管电路复杂,增加不必要的隐患。图 3.4 1602 液晶显示屏电路图 三 键盘电路 在单片机系统中,按接口形式把键盘分为两大类:编码式键盘与非编码式键盘。由硬件逻辑电路来编码式键盘完成键识别的工作和可靠措施。每一按键,键盘会自动的提供出该按键读数,于此同时用产生的选通脉冲来通知给微处理器。这种键盘比拟容易使用,但是硬件构造复杂,主机任务会相对繁重。而非编码式键盘主要包括有独立按键构造的键盘与有矩阵按键构造的键盘两种。矩阵构造键盘适合用在按键数量偏多的场合,由行线与列线来组成,按键在行列穿插点的位置上,节省 I/O 口。独立按键构造就是各按键相互独立,每个按键单独占用一根 I/O 口线,每根 I/O 口线按键的工作状态是不会影响其他 I/O 口线按键的工作状态。因此,用输入电平状态的检测可以很容易确定是哪个按键按下。此键盘是用于按键较少或操作速度较高的场合。由于本次设计只用到 6 个键,所以采用独立式键盘,按键主要对模式和设定值进展更改。键盘电路是由假设干按键组成的,它是单片机系统中最常用的输入设备,用户能通过键盘向计算机输入指令、地址和数据。一般单片机系统中采和非编码键盘,非编码键盘是由软件来识别盘上的闭合键,它具有构造简单,使用灵活等特点,因此被广泛应用于单片机系统。本次设计采用通用方式,即按键采用共地并联方式,当按下按键时,输入单片机低电平信号,当待机时,输入单片机高电平,页脚下载后可删除,如有侵权请告知删除!图 3.5 按键电路图 四土壤湿度检测模块 湿度检测采用 FC-28 土壤湿度传感器模块,湿度的不同导致电阻阻值发生改变,利用电阻分压不同经过 LM358 运放后放大然后进入单片机 A/D 转换。原理图如图 3.6所示:页脚下载后可删除,如有侵权请告知删除!五继电器执行模块 在电控制系统中,虽然直接利用控制器引脚控制被控对象可以实现最根本的自动控制,但对于稍复杂的情况就无能为力。在极大多数的电控制系统中,需要根据系统的各种状态或参数进展判断和逻辑运算,然后根据逻辑运算结果去控制执行元件,实现自动控制的目的。这就需要能够对系统的各种状态或参数进展判断和逻辑运算的电器元件,这一类电器元件就称为继电器。继电器实质上是一种传递信号的电器,它是一种根据特定形式的输入信号转变为其触点开合状态的电器元件。一般来说,继电器由承受机构、中间机构和执行机构三局部组成。承受机构反映继电器的输入量,并传递给中间机构,与预定的量整定量进展比拟,当到达整定量时过量或欠量,中间机构就使执行机构动作,其触点闭合或断开,从而实现某种控制目的。继电器作为系统的各种状态或参量判断和逻辑运算的电器元件,主要起到信号转换和传递作用,其触点容量较小。所以,通常接在控制电路中用于反映控制信号。继电器的种类很多,按它反映信号的种类可分为电流、电压、速度、压力、温度等;按动作原理分为电磁式、感应式、电动式和电子式;按动作时间分为瞬时动作和延时动作。电磁式继电器有直流和交流之分,它们的重要构造和工作原理与接触器根本一样,它们各自又可分为电流、电压、中间、时间继电器等,由于继电器的线圈需要 100MA 左右的电流,单片机无法直接提供,因此本次设计继电器控制电路中引用三极管从当“开关,用以保护单片机。在智能喷灌控制系统中,采集到的参数在进展进展数据处理、数字滤波,标度变换之后,与给出的标准参数上下限给定值进展比拟,如果高于上限值(或低于下限值)那么驱动相应的外部灌溉电路,对目标区域进展微喷灌。本设计采用了继电器电路来驱动相应的外部灌溉电路用来实施对植物的灌溉。考虑到继电器仿真效果不明显,设计采用指示灯电路代替该效果。通过 AT89C51给出处理信号。当相对湿度值高于上限值(或低于下限值)时,由指示灯指示电路模拟外部灌溉电路的导通与断开。相应的继电器模块和替代的指示灯接口模块。继电器执行模块电路如图 3.6 所示:页脚下载后可删除,如有侵权请告知删除!图模块电路图 在智能喷灌控制系统中,采集到的参数在进展进展数据处理、数字滤波,标度变换之后,与给出的标准参数上下限给定值进展比拟,如果高于上限值(或低于下限值)那么驱动相应的外部灌溉电路,对目标区域进展微喷灌。本设计采用了继电器电路来驱动相应的外部灌溉电路用来实施对植物的灌溉。考虑到继电器仿真效果不明显,设计采用指示灯电路代替该效果。通过 AT89C51给出处理信号。当相对湿度值高于上限值(或低于下限值)时,由指示灯指示电路模拟外部灌溉电路的导通与断开。相应的继电器模块和替代的指示灯接口模块。页脚下载后可删除,如有侵权请告知删除!四、系统软件设计 本次设计软件系统主要包括:湿度采集转换模块、键盘控制模块、LCD 显示模块、继电器驱动模块等。一系统整体框架介绍 当单片机上电复位后,系统开场运行程序,时间日期和温度值相对湿度值会实时显示的液晶显示器上,按下相应的功能键可以对温度值显示与相对湿度值显示的转换和显示时间的调整。当按下温湿度调整功能键时,LCD 显示器上会有相应显示。当按下时钟调整功能键时,可以调节当前的时间值。当采集到的相对湿度值高于上限值(或低于下限值)那么由继电器驱动相应的外部灌溉电路,对目标区域进展微喷灌。开始初始化显示欢迎按键参数设定模式选择模式控制 上电初始化流程图 页脚下载后可删除,如有侵权请告知删除!二 键盘控制模式软件流程图 等待倒计时开始模式1控制开始小于下限延时5秒小于下限启动报警5秒后放水湿度是否大于上限10秒后判断是否小于下限启动备用且报警报警NYNY模式1结束NY 模式一流程图 页脚下载后可删除,如有侵权请告知删除!模式2控制开始按键控制打开或者关闭水阀模式2控制结束 模式二流程图 二编程软件介绍 KEIL C51 标准 C 编译器为 8051 微控制器的软件开发提供了 C 语言环境,,本站特地制作了一个相对简单的教程。此软件能嵌入汇编语言保存了汇编代码高效,快速的特点。KEIL C51 编译器的功能不断增强,使你可以更加贴近 CPU 本身,及其它的衍生产品,其效率已经到达了相当搞的程度。C51 已被完全集成到 uVision2 的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,工程管理器,调试器。uVision2 IDE 可为它们提供单一而灵活的开发环境。Keil C51 软件是众多单片机应用开发的优秀软件之一,它集编辑,编译,仿真于一体,支持汇编,PLM 语言和 C 语言的程序设计,界面友好,易学易用。如图 4.2 为翻开界面:页脚下载后可删除,如有侵权请告知删除!图 4.2 keil 翻开界面 工程新建后保存即可在翻开界面进展编程,如图 4.3 为编写程序时的界面图。图 4.3 keil 翻开界面 页脚下载后可删除,如有侵权请告知删除!五、系统调试页脚下载后可删除,如有侵权请告知删除!结论 单片机技术在各个领域正得到越来越广泛的应用,尤其Mcs-51 系列单片机,迅速占领了现代化工业的测控和自动化工程应用的主要市场,并取得了令人瞩目的成绩,展现出了广阔的应用前景。基于单片机的温湿度测量系统,采用 STC 单片机和温湿度传感器,实现了对环境温湿度的自动测量和报警,STC 单片机因其指令系统丰富、小巧、低价、灵活易扩展等独特的优点,在所设计的温湿度测量系统中使整个系统的性价比得以大幅度的提高。将 STC 单片机成功应用于温湿度测控系统,所研发产品可靠性和扩大性较强,能广泛应用于粮库、物流仓储、档案馆、农业大棚等对温湿度要求较高的场所,具有较大的市场推广前景。页脚下载后可删除,如有侵权请告知删除!附录 A 硬件电路图 页脚下载后可删除,如有侵权请告知删除!附录 B 程序源代码#include#include#include#include 1602.h#include delay.h sbit Guandao1=P32;sbit Guandao2=P33;sbit Beiyong=P34;sbit Baojing=P35;sbit S1=P14;sbit S2=P15;sbit S3=P16;sbit S4=P17;int Shidu_set=10,Time_set=0,Shidu,Time,L_time=0,LL_time=0,LLL_time=0;char Flag=0,Modle=1;char displaytemp18,displaytemp28;/定义显示区域临时存储数组 unsigned char ad_average_result,tp;/*-定时器初始化子程序-*/void Init_Timer0(void)TMOD|=0 x01;/使用模式 1,16 位定时器,使用|符号可以在使用多个定时器时不受影响 /TH0=0 x00;/给定初值 /TL0=0 x00;EA=1;/总中断翻开 ET0=1;/定时器中断翻开 TR0=1;/定时器开关翻开 /*AD 转换程序*/void AD_initiate()/初始化函数 ES=0;TMOD=0 x21;/定时计数器方式控制存放器,自动重装,16 位计数器.SCON=0 x50;/串行控制存放器,方便在串口助手那观察 TH1=0 xfa;TL1=0 xfa;TR1=1;void ADC_Power_On()/AD 转换电 ADC_CONTR|=0 x80;DelayMs(5);页脚下载后可删除,如有侵权请告知删除!void get_ad_result()/取 AD 结果函数,它是十位 AD 转换,每十次平均,最后取低八位作为 AD 采样数据 unsigned int i,q=0;for(i=0;i10;i+)tp=0;ADC_RES=0;/高八位数据清零,STC12C5A60S2 AD数据存放名与STC12C54系列不同 ADC_RESL=0;/低两位清零 ADC_CONTR|=0 x08;/启动 AD 转换 while(!tp)/判断 AD 转换是否完成 tp=0 x10;tp&=ADC_CONTR;ADC_CONTR&=0 xe7;ad_average_result=ADC_RES;q=q+ad_average_result;ad_average_result=q/10;/*AD 转换完毕*/-湿度采样程序-void caiyangP10()/P1M0|=0 x01;/设 P1_0 为开漏模式 如:P1_0=#00000000B P1M1|=0 x01;DelayMs(50);get_ad_result();/取转换数据 /*-主函数-*/void main(void)char i;Guandao1=1;Guandao2=1;Beiyong=1;Baojing=1;LCD_Init();/初始化液晶 DelayMs(20);/延时有助于稳定 LCD_Clear();/清屏 Init_Timer0();AD_initiate();/初始化 ADC_Power_On();/开 AD 电源 Lcd_User_Chr();/写入自定义字符 LCD_Write_String(0,0,Welcome);for(i=0;i0)Time_set-;LCD_Write_String(0,0,Modle1:Automatic);sprintf(displaytemp1,Q:%3d,Shidu);/显示实际的湿度值 LCD_Write_String(1,1,displaytemp1);sprintf(displaytemp1,TS:%3d,Time_set);/显示实际的湿度值 LCD_Write_String(8,1,displaytemp1);if(Time_set=0)/定时时间到 if(Flag=1)/每 1s 运行一次 Flag=0;if(ShiduShidu_set-20)if(L_time5)L_time+;if(L_time=5)页脚下载后可删除,如有侵权请告知删除!Baojing=0;if(LL_time5)LL_time+;if(LL_time=5)Baojing=1;Guandao1=0;Guandao2=0;if(LLL_timeShidu_set+20)Baojing=0;else Baojing=1;Guandao1=1;Guandao2=1;Beiyong=1;/while /main /*-定时器中断子程序-*/void Timer0_isr(void)interrupt 1 static unsigned int num;TH0=(65536-2000)/256;/重新赋值 2ms TL0=(65536-2000)%256;num+;if(num=500)/num=0;Flag=1;/读标志位置 1 【本文档内容可以自由复制内容或自由编辑修改内容期待你的好评和关注,我们将会做得更好】