图6 液晶显示电路
1602液晶双行显示,上行显示温度,下行显示湿度。1602有14脚和16脚两种接口,区别是前者不带背光源,后者带背光源,本设计采用带背光源设计。引脚15和16即是背光源的正负极,引脚7到14为8位双向数据线,在此主要用来传输8位温湿度数据,引脚3、4、5、6是功能引脚,分别代表液晶显示偏压、数据/命令选择、读/写选择、使能信号。引脚3调整液晶显示器对比度,接电源时对比度最弱,接地时对比度最高,为了取得最佳的显示效果,本设计接一个10K电阻和1K电阻来调节对比度。引脚4高电平选择数据寄存器,低电平选择指令寄存器。引脚5与引脚4基本相同。引脚6由高电平变为低电平时,液晶显示模块儿执行操作。1602液晶模块内部的控制器共有11条控制指令,通过单片机发送指令控制来显示温湿度。
2.4 按键及报警电路
本设计采用物理按键设定温湿度阈值,采用四个LED灯进行温湿度报警,电路图如图7所示。
图7 按键及报警电路
图中S1、S2、S3、S4为四只调节按键,分别为设置键、上调键、下调键和保存键,用以调整温湿度阈值,单片机将阈值保存在存储器中。按键不动作时,默认输入高电平,当按键按下时单片机接口输入低电平。D2、D3、D4、D5为四只报警灯,其中D2为低温报警,D3为高温报警,D4为低湿报警,D5为高湿报警,当温湿度超出设定阈值时,单片机输出对应的低电平信号,点亮LED灯。
2.5 继电器驱动电路
本设计采用继电器驱动电机控制温湿度,电路图如图8所示。
图8 继电器电路
本设计采用鑫宏公司的JQC-3F-C型继电器,即封闭式大功率超小型继电器,继电器是由线圈和触点组两部分组成的,所以继电器在电路图中的图形符号包括两部分:一个长方框表示线圈;一组触点符号表示触点组合[7]。
当温湿度数据超过正常范围时,单片机发出继电器动作信号。该低电平信号通过三极管,加在基集上,此时发射集正偏,集电极反偏,三极管导通,驱动继电器线圈得电,继电器触点动作。该触点可以控制执行机构工作,以控制温湿度保持在一定的范围。
2.6 程序下载及供电电路设计
本设计旨在设计一个尽可能完整的系统,方便使用,考虑到编程时可能需要多次调试,因此本设计有独立的程序下载口,可以直接与上位机相连下载程序,电路如图9所示。
图9 程序下载及供电电路
下载口采用4针的串行下载口,引脚2和3是数据传输引脚,上位机下载程序时,可以采用USB转串口转换电路。当灯D1亮,代表电路接通,可以进行数据下载;灯D6亮,表明数据正在进行传输。
常用的供电电路有两种方案,一种是采取稳压电源,另一种采用干电池供电,由于本设计体积小,采用干电池虽然结构简单、使用方便,但相对本系统而言较重,不适合携带。因此采用稳压电源供电,但稳压电源并不是本设计的重点,考虑到现在手机、平板电脑、MP4等数码设备已经十分普及,且更新速度很快,导致大量仍能正常使用的充电插头还留在用户手中。USB充电插头体积小、使用方便且输出电压为5V,正好符合VCC的要求,本设计电源使用USB充电插头改造,只使用其中的红、黑两根电源线,实现供电。
3. 软件编程
3.1 主程序流程图
主程序是系统的监控程序,刚开始需要进行初始化,其中包括数据初始化、定时器初始化、显示初始化;单片机首先先发送温湿度测量命令,然后通过单片机对所测量数据进行温湿度转换;用软件查询的方式比较所测量温度与设定的TH和TL,湿度与设定的HH和HL的关系,判断是否超过阈值;如果所测量温度或湿度超出设定值时,报警并驱动继电器电路,直到温湿度变为设定阈值内,再在LCD1602上实时显示,然后进行键盘查询,判断是否需要进行按键处理[8]。流程图如图10所示。 STC89C52单片机温室在线监控系统设计+流程图(5):http://www.youerw.com/zidonghua/lunwen_1916.html