基于STC89C51单片机的盆栽浇花系统设计*

2018-03-15 08:36董红松孔跃辉
山西电子技术 2018年1期
关键词:手动限值按键

董红松,闫 静,孔跃辉

(山西农业大学信息科学与工程学院,山西 太谷 030801)

面对空气污染,越来越多的人倡导绿色生活。而花草不仅可以美化环境、装饰空间、净化空气[1],而且具有陶冶情操、舒缓压力,增添生活乐趣的作用,对人的身心健康十分有利。因此,人们倾向于在家中或办公室养花草。花草需要浇灌,养花成败的关键在于浇水量。但是由于日常生活中,因为不同花草习性不同或者生活忙碌,很多人无法做到适量浇水,不能很好的照顾花草。面对令人困扰的花草浇灌问题,设计出一种自动浇花系统。通过湿度传感器对土壤湿度精确测量,按照预设的湿度范围,湿度比较,单片机控制浇水量。根据不同盆花对水量需求不同,可以调整预设的土壤湿度范围,使花草得到适度的水量,长的更好。

1 系统设计方案

本浇花系统设计分为六大模块:单片机主控模块、湿度检测模块、按键模块、显示模块、继电器浇水模块、报警模块[2]。系统框图如图1所示。

系统中,核心模块是单片机控制模块,湿度检测模块和继电器浇水模块,附带显示模块、报警模块。设置4个按键,S0:复位键,S4:设置/保存,S5:加/模式切换,S6:减/手动灌溉。系统功能分为检测和设定两类。检测包含自动和手动浇花模式。自动模式下:YL-69土壤湿度传感器将感应到的湿度模拟信号通过ADC0832模数转换器转换成数字信号,同按键输入信号传递给单片机,单片机将信号分析判断,控制LCD1602显示器显示浇水模式、当前湿度及其预设范围,同时控制继电器是否浇水。手动模式下:通过按键人为控制浇水。设定即为修改预设湿度范围,按键控制对预设湿度的上下限值进行修改。

图1 系统硬件框图

2 系统硬件设计

2.1 STC89C51RC简介

STC89C51RC是具有8051核的单片机,具有ISP特性,工作电压是3.4 V~5.5 V,工作频率在0~35 MHz之间,兼容标准MCS-51指令系统和80C51引脚,512 kB的RAM,2KB的EEPROM,有看门狗功能,2个16位定时器/计数器,外部中断2路。有40个引脚。P0口作为I/O口,为输出高电平,必须接上拉电阻。EA/VPP引脚内部接高电平,系统复位后,其运行内部ROM程序。图2为系统控制主电路。

图2 系统控制主电路

2.2 湿度传感模块

湿度传感模块主要由YL-69土壤湿度传感器和ADC0832模数转换器构成。当被测湿度发生变化,电路中的电阻值随之而变,范围是0 Ω~10 kΩ,变化的幅度是根据湿度传感器采集到的湿度大小而定。导致电路的输出电压变化,可以根据电路需求调节电阻,得到不同电压值。ADC0832是8位分辨率的双通道A/D转换芯片[3]。分辨可高达256级,它的电压输入范围是在0~5 V,转换时间仅需32 μs。使用双数据输出用来数据校验,减少数据差错,有独立的使能输入,方便控制其他器件。

2.3 显示模块

LCD1602属于点阵型液晶显示器[4],电路连接简单,常用作单片机系统设计显示数据。可以显示2行16列共32个字符。它的内部存进160个点阵字符图形,常见的字母、数字均有,编程时需要固定的代码调用,本浇花系统用LCD1602显示湿度值和模式。LCD1602的D0-D7分别与单片机的P0.0-P0.7连接,进行数据传输;P2.7、P2.6分别于RS、E相连,用于选择寄存器和使能端操作;RW接地,进行写操作;VL连接2.2k的电阻是为了设定对比度。

2.4 按键模块

按键模块设置了3个按键,S4:设置/保存,S5:加/模式切换,S6:减/手动灌溉。S4、S5、S6分别与单片机的P1.5 、P3.3、P3.4相连。按S4键进入预设湿度值调节模式和实现保存功能;按S5键是预设值加、手动和自动模式切换;按S6键是预设值减、手动浇水。与单片机连接如图2所示。

2.5 继电器浇水模块

本系统采取电磁式继电器,继电器的作用类似开关,当继电器通电后,线圈流过电流,产生电磁效应,衔铁受到的电磁力大于弹簧的拉力,导致衔铁的动、静触点吸和,相当于开关闭合。当线圈断电后,失去电磁力,衔铁受弹簧的反作用力回到初始位置,动触点与初始静触点吸和,相当于开关断开。单片机的P2.5与三极管的基极连接,继电器与另外两极连接。当P2.5输出低电平时,三极管导通[5],继电器通电,相当于开关闭合,进而浇水。

2.6 报警模块

单片机P1.6与蜂鸣器报警电路相连,当检测湿度值低于预设湿度下限值时,进行声光报警。

3 系统软件设计

浇花系统的软件部分采取C语言进行编程,为方便统筹,选用模块化设计方法[6]。

3.1 按键扫描子程序

系统开始运行后,首先完成对ADC0832、LCD1602初始化设置,读取土壤湿度值,然后等待按键操作。不进行任何按键操作,执行自动模式。在自动模式下,判断当前湿度是否低于预设值,低于则继电器使水泵浇水,当湿度高于预设值,停止浇水。S4键按下表示进入设置预设湿度值状态,否则表示进入正常检测状态。当进入设置湿度值状态时,S5键按下预设值加,S6按下预设值减,S4按下是选择设置上限值、下限值和退出。当进检测状态时,S5键选择手动和自动模式。若按下S5键,选择手动模式,人为控制浇水。否则进行自动模式。在运行过程中,伴随着LCD1602液晶显示湿度值和当前模式,蜂鸣器警报。

在主程序中,扫描按键S4、S5、S6,及时获取按键状态,当无按键按下,系统一直循环执行主程序;当有按键按下时,扫描获取其状态,然后运行对应的子程序。

3.2 显示子程序

显示子程序是由初始化、写命令、写数据、写入位置和写入格式子程序构成。系统调用这些子程序,使数据按照需要的格式显示在LCD1602显示屏上。

3.3 系统流程图

本浇花系统的软件程序总流程图,图3所示。

4 结论

本次设计的浇花系统硬件电路简单,操作简单,成本低,实用性好,设计满足预期功能。以STC89C51RC单片机为核心,由YL-69和ADC0832湿度检测模块、LCD1602液晶显示模块、继电器浇水模块、按键模块、蜂鸣器报警模块构成。

系统有自动和手动浇花模式,自动模式下,YL-69检测的土壤湿度信号经ADC0832处理后传入单片机,单片机将检测的土壤湿度与预设湿度范围进行比对,比下限值低,单片机驱动继电器,开始浇水,直到达到上限值。若比上限值高,停止浇水。手动模式是手动按键控制水量。本系统设置了3个按键,主要用来选择浇水模式、改变预设的湿度上下限值[7]。LCD1602显示屏用来显示湿度值和浇花模式,蜂鸣器用来报警。

图3 系统软件程序总流程图

[1] 张富春,邵婷婷,杨彦宁.一种基于DHT11的家用自动浇花电路的设计[J].微处理器和可编程控制器,2014(16):35-36,24.

[2] 覃光锋.根据湿度进行智能浇花的硬件设计[J].装备制造技术,2016(9):54-57.

[3] 刘雪雪.串行数据芯片的编程检测方法[J].现代电子技术,2010,32(2):160-163.

[4] 李鹏伟.基于单片机的出租车计价器设计[D].晋中:山西农业大学,2016.

[5] 童诗白,华成英.模拟电子技术基础[M].第4版.北京:高等教育出版社,2012.

[6] 谭浩强.C程序设计[M].北京:清华大学出版社,2004.

[7] 宋艳丽.基于单片机湿度控制系统的设计[J].宁波:宁波职业技术学院学报,2016,20(5):87-90.

猜你喜欢
手动限值按键
基于有限状态机的按键检测程序设计
按键消抖在单片机和FPGA实验教学中的应用
小巧手动起来
辽宁省辽河流域石油炼制排放限值的制定
汽油车稳态工况法污染物统计分析及限值修订研究
一种多方向导光按键结构设计
风行S5001.6L手动尊享型
宝骏5601.8L手动豪华型
C4世嘉 1.6L手动豪华型
中美炼钢行业污染物排放限值研究