数码显示电路由6个数码管组成,分成两组,一组用于显示温度值,一组用于显示湿度值。当用户设置温湿度参考值时,显示的是设置的最大值或是最小值;当系统处于监测控制时,显示的是当前检测到的温湿度值。
输出电路
系统采用继电器输出,通过改变温度控系统或湿度控系统的工作状态,实现对环境温湿度的控制。系统温度和湿度控制设备主要包括加热装置、通风装置、抽湿装置和加湿装置。ULN2803是8重达林顿反相驱动器,其输入端接单片机的输出端口,输出端接继电器的输入端。继电器采用国产的交流固态继电器(AC-SSR)H220D15,其内部采用光电隔离方式,可以有效避免电磁干扰。当单片机检测到温度值或湿度值超过预设的范围时,单片机的I/O口输出控制信号驱动继电器,启动电器工作,实现对温度控系统或湿度控系统的控制。
系统软件设计
系统软件设计采用模块化结构,各个功能子块独立,方便调试。系统主流程图如图3所示。从图中可以看出,整个软件在结构上分为主程序、键盘扫描程序、LTM8901控制程序、显示程序以及输出控制程序。主程序实现各个模块的初始化,然后进入中断等待。键盘扫描程序主要任务是判断被按下的是哪一个键,从而执行相应的功能子程序。LTM8901控制程序主要是检测环境的温湿度值,并将检测结果传送给单片机。显示程序是用来显示用户预设值或检测值。输出控制程序主要是将检测值和用户预设值相比较,根据比较结果将相应的输出端口置位或复位,从而控制继电器的工作状态。
LTM8901的控制程序主要包括以下几个步骤:发启动转换命令(250~350μs的负脉冲);延时850~1000ms,用于LTM01转换;发上位机读取命令。当单片机发送读取命令00H时,读取湿度值,然后延时4.5~5 ms,发送读取命令01H,读取温度值。
结语
LTM8901是单片集成的数字式温湿度传感器,所有信号的处理都在内部完成,采用“一线式总线”进行通信,以数字形式完成数据的传输,节省了单片机的I/O口,而且省掉了A/D器件,降低了成本。该系统电路结构简单、检测准确、稳定性好,可以实现对环境温湿度的测量和控制。