APP下载

基于SHT11 传感器的温湿度测量系统设计

2014-03-13张东旭付文卓

电子科技 2014年6期
关键词:液晶显示高电平温湿度

喻 旋,张东旭,付文卓

(南车株洲电力机车研究所 制造中心,湖南 株洲 412001)

随着新技术被应用到温湿度测量领域中,高集成度、智能化、高精度、高可靠性的温湿度一体化检测传感器开始得到应用。SHT11 作为新一代的高性能智能传感器,具有广泛的应用前景。本设计介绍了SHT11温湿度传感器的工作原理,并论述了如何利用单片机进行温湿度数据处理以及结合外围电路完成温湿度监视和控制功能。

1 传感器工作原理

SHT11 智能温湿度传感器的结构如图1 所示[1],该传感器由一片检测相对湿度和温度的混合传感器模块及一个经校准的数字输出组成,两线串行接口和内部电压自动调节,使其具有方便、快速的系统集成[1]。

SHT11 系列传感器的优点为:无需外部模拟电子电路,可直接被微控制器访问;温度、供电、电容偏差及剩余电流等变化均不影响精度,即使被浸湿也不会失灵或出现误差。同时具有长期稳定性,无需再校准,且反应速度快、能量消耗低,适用于电池供电[2]。

图1 传感器内部结构图

2 硬件设计

设计系统框图如图2 所示,采用SHT11 传感器采集温湿度数据,利用非自锁按钮式开关组成的键盘向控制部分发出人为的控制信号,再使用DS1302 时钟芯片产生实时时间数据。而控制部分采用AT89s52 单片机进行各类数据接收、处理和输出。输出部分则采用报警发生电路来报警,并通过液晶显示模块对温湿度和时间等结果信息进行显示。

2.1 传感器硬件接口电路设计

图2 系统框图

SHT11 通过两线串行接口电路与单片机连接,具体电路如图3 所示。其中,串行时钟输入线SCK 用于单片机控制器与SHT11 之间的通信同步。串行数据线DATA 用于内部数据的输出与外部数据的输入。DATA 在SCK 时钟下降沿之后改变状态,并仅在SCK时钟上升沿后有效。因此,单片机可在SCK 高电平时读取数据,而当其向SHT11 发送数据时,在SCK 时钟下降沿后改变状态,同时保证DATA 线上的电平状态在SCK 高电平段稳定[2]。

设计中在数据线DATA 上加入10 kΩ 的上拉电阻。此外,在VDD和GND 之间跨接一个100 nF 的电容用于去耦滤波。

图3 SHT11 与单片机的连接

2.2 单片机系统外围电路设计

系统采用的AT89S52 是一个低功耗,高性能CMOS 8 位单片机,片内含8 kB 的Flash 程序存储器,256 Byte 的RAM,40 个引脚,32 个I/O 口,3 个16 位可编程定时/计数器,5 个中断源,2 个优先级,1 个全双工串行通信口,兼容标准MCS-51 指令系统及80C51 引脚结构[3]。应用中单片机的最小系统通常包含电源开关、复位电路、晶振电路等相关外围电路,设计中单片机系统部分电路如图4 所示。

图4 单片机系统电路图

2.3 显示电路设计

系统采用带ST7920 汉字液晶控制驱动器的OCMJ4×8C 液晶显示模块,该液晶提供8 位微处理器接口,带有显示RAM 及字型产生器,只需一个最小的微处理系统,便可方便地操作模块。该显示模块内置2 MB 中文字型ROM(CGROM)总共提供8 192 个中文字型(16×16 点阵),16 kB 半宽字型ROM(HCGROM)总共提供128 个符号字型(16×8 点阵),并可与文字画面混和显示[4]。

使用单片机的P0口作为并行数据传输接口,在P0口接入8 个1 kΩ 的电阻用于提高带负载能力,使其可正常驱动单片机[5],电路如图5 所示。

图5 液晶显示接口电路

2.4 其他功能电路设计

如图6 所示,系统采用非自锁按钮式开关组成的简单键盘,向单片机发出人为的功能选择和设定控制信号,利用带3 V 纽扣电池供电的DS1302 时钟芯片产生实时时间数据[6]。同时采用三极管放大电路和蜂鸣器组成的简单报警发生电路报警,而报警电路可通过拔出跨接器P_SP 来进行隔离。整个系统采用5 V 电源直接供电。

图6 键盘、时钟及报警电路设计

3 软件设计

编程主要涉及SHT11 传感器的温湿度数据测量和采集、时间数据采集、液晶显示界面、键盘扫描设定及温湿度限值数据比较等读写程序与算法程序的编写。

3.1 温湿度测量程序设计

SHT11 传感器的工作时序如图7 所示,传感器工作时首先对数据传输进行初始化来启动SHT11 测量时序,即在第一个SCK 时钟高电平时,DATA 翻转为低电平,并在第二个SCK 时钟高电平时,DATA 翻转为高电平。SHT11 测量命令包含3 个地址位和5 个命令位。单片机发布一组8 bit 测量命令后,DATA 在第8个SCK 时钟的下降沿被置为低电平。再发送第9 个SCK 时钟作为命令确认,DA2TA 在其下降沿后,恢复为高电平。同时,单片机可暂时停止发送时钟序列以进入空闲模式,准备读取测量数据。SHT11 在转换结束后,将DATA 置为低电平,单片机继续发出时钟序列,来读取2 个8 bit 的测量数据和1 个8 bit 的CRC奇偶校验。所有数据从MSB 开始,右值有效。其中,在每个字节传输结束后,均需要发出一个时钟高电平ACK,并将DATA 置为低电平,以确认读取成功。在测量和传输结束后,SHT11 自动转入休眠模式[2]。

图7 SHT11 传感器工作时序图

3.2 键盘设定算法程序设计

键盘采用K1、K2、K3、K4,4 个非自锁开关设计,当开关按下后会给单片机相应I/O 口一个高电平。键盘主要实现对显示界面的切换、温湿度报警上下限设定及时间设定3 大功能。这4 个开关的功能为:K1为界面切换键;K2为逻辑“+”,上翻页,光标上移;K3为逻辑“-”,下翻页,光标下移;K4选择键。

3.3 液晶显示程序设计

图8 SHT11 测量操作流程图

液晶显示模块的编程方式主要由该模块使用的控制/驱动器所决定。设计采用ST7920 汉字液晶控制/驱动器,其拥有8 位并行微控制器接口,通过单片机编程,并使用了显示字母、数字符号和中文字型的功能。另外,对于液晶屏的编程,一般只需向其中写数据即可。显示程序设计流程如图9 所示。

图9 液晶模块操作程序流程图

3.4 报警程序设计

温湿度越限报警功能通过报警函数实现,当温湿度高于设定的报警上限或低于设定的报警下限时,便会在单片机的P2.1管脚输出高电平,并通过三极管放大电路驱动蜂鸣器报警[7-8]。

在报警函数中,通过算法比较温湿度显示的限值和湿度设定限值的大小来判断当前湿度是否越限。而温度与湿度的比较类似,仅是算法上仍需对综合温度的正负值进行考虑。

3.5 DS1302 时钟程序设计

DS1302 时钟芯片在系统中起计时及时间显示、设定的功能。DS1302 的读写操作时序如图10 所示[6],在控制指令字输入后的下一个SCLK 时钟上升沿时,数据被写入DS1302,数据输入从低位即位0 开始。同样,在紧跟8 位控制指令字后的下一个SCLK 脉冲的下降沿读出DS1302 的数据。

图10 DS1302 的读写时序图

3.6 主函数程序设计

主函数程序将上述各功能单元子函数程序综合到一个函数中循环运行,其流程如图11 所示。

图11 主函数程序流程图

4 结束语

SHT11 作为新一代高性能智能传感器,具有较高的应用前景。本文所设计的智能电子温湿度测量系统,经实验验证可对温度和相对湿度进行精确测量,并实时显示测量结果,此外,该装置还具有时间显示、历史温湿度数据查询、温湿度上下限越限报警和相关显示切换及设定等功能。该装置成果具有体积小、测量精度高、测量速度快、范围广、使用操作方便、成本低以及功能强等优点,适用于家居、旅行、温室农业、食物储存、档案保管等多种应用场合,并具有较大的实际应用与经济利用价值。

[1] GRISHA S,NIKOLAY K.Measurement of temperature and humidity using SHT11/71 intelligent sensor[J].Electronics,2004(9):2-3.

[2] 齐秋红,马斌,韩中华,等.基于SHT11 的智能建筑室内温湿度检测[J].低压电器,2008(18):2-3.

[3] 田立,田清,代方震.51 单片机C 语言程序设计快速入门[M].北京:人民邮电出版社,2007.

[4] 舒鑫,郭其一.ST7920 点阵式液晶显示模块的应用研究和编程[J].液晶与显示,2007,22(2):192-193.

[5] 柳义筠,李湘伟,熊建玲.液晶显示控制器ST7920 的接口方式研究与编程[J].国外电子元器件,2008(7):40-41.

[6] 姚德法,张洪林.串行时钟芯片DS1302 的原理与使用[J].信息技术与信息化,2006(1):92-93.

[7] 屈军锁,程鸿.基于M2M 的电梯安全运行监控系统设[J].西安邮电学院学报,2012,17(4):44-47.

[8] 赵国强,周茜,张宏建.基于区间观测器的矿井水位传感器故障检测[J].计算机仿真,2012,29(2):404-407,423.

猜你喜欢

液晶显示高电平温湿度
一种基于FPGA的PWM防错输出控制电路
基于AT89C51的数字型蚕用温湿度计的设计
基于DSP的多路温湿度监测系统
TS-03C全固态PDM中波发射机开关机控制电路原理及故障分析
基于温湿度控制的天气预测装置
基于TRIZ理论液晶显示模块开发板的创新设计
浅谈物理电路与数字电路
蒸发冷却温湿度独立控制空调系统的应用
PDM 1kW中波广播发射机保护电路分析
122×32 点阵液晶显示汉字原理实验