基于单片机的温湿度检测装置的设计与实现

2021-11-08 10:15孙宇舸
科技创新与应用 2021年30期
关键词:开发板字符温湿度

叶 柠,孙宇舸,张 宁

(东北大学 信息科学与工程学院,辽宁 沈阳 110819)

为了保障人们的日常健康生活,提高生活质量,以及满足生产生活的需求,常常需要对人们所生活或工作的环境展开监督。但是人类自身对外界环境的感知是感性的,也是模糊的,无法单纯通过人类自身的感知能力而量化出实际的环境参数,而且人们所感受到的环境状况是结合了多个变量参数与自身身体情况交织而成的复杂状态。因此,单凭人类自身的感知能力,在很多情况下是不足以满足需求的,依靠人类自身的感知能力感受环境,在很多情况下不足以克服生产生活中的很多难题。即便在依靠人类感知能力足以应对困难的环境中,也会消耗大量精力去感知和解决问题。为了解决这些难题,需要准备应对各个特殊环境的传感设备,以供在需要的情况下进行应用。

温度与湿度是环境参数的重要部分,针对温湿度的检测是判断环境是否满足生活需求的重要组成部分。文章设计了一种检测当地环境温湿度参数的系统,使用Keil 开发环境,以dht11 温湿度传感器为传感器件,以STC89C52 为核心的HC6800-MS 开发板作为数据采集与处理装置,并使用LCD1602 将测量的数据以直观的方式展现出来,以方便于使用者进行观察。

1 系统构成

本设计的主要目的是通过使用电子系统来代替人体完成外界温度湿度状态的感知任务。因此,需要有相应的温湿度传感器进行测量。因为温湿度传感器的传输数据和传输方式缺少显示部分,人类很难进行直观的检测,本设计还需要完成一个显示部分,将表示温湿度传感器的电信号转化为人类易于观察的形式,系统整体设计方案如图1 所示。

图1 整体设计方案

1.1 传感器部分

由于生产生活中的广泛需求,如今温度测量已经具备众多较为成熟的方法。主要有热敏电阻测温、热电偶测温膨胀测温、定压气体温度计、定容气体温度计、压力测温法、磁学测温法、声学测温法、频率测温法实现温度的测量[1]。在湿度测量方面,目前成熟应用的测量元件包含电子湿度传感器、声湿传感器、光湿传感器,其中电子湿度传感器以电阻式湿度传感器与电容式湿度传感器为主[2]。

dht11 温湿度传感器是一种响应较快,稳定性强,精确度较高且价格低廉的传感器[3]。内部包含一个电阻式感湿元件,以及一个NTC 测温元件,其工作电压为3-5.5V,配有4 个引脚,引脚Vdd 接电源电压,引脚Gnd 接地,引脚NC 悬空,引脚Data 用于传输数据[4]。dht11 采用单总线数据格式,在实际应用时,首先由对方发送信号开启数据传输,随后dht11 接收到信号后回发一个标志信号,标志信号结束后,dht11 回发4 组8 位信号,分别表示温湿度的整数部分与小数部分,最后发送一组检验标志位,当检验信号与温湿度的末尾信号之和相等时,证明信号无误。

dht11 的工作过程中,需要一个稳定的供电器件,并需要一个端口用于和Data 端间的连接。dht11 的工作范围为20%-90%的湿度与0-50℃的温度。可以用于日常生活之中的温湿度测量。同时,它的体积较小,利于携带与安装,在实际连接时难度较小。

本系统选择温湿度传感器dht11 作为环境检测装置。dht11 具备体积小,价格低廉的优势,并且它可以同时检测温度湿度两种参数,非常适合大规模使用。同时,由于它体积小,轻便可携带的特点,可以用于各种非极端环境下的环境参数检测之中。

1.2 处理器部分

单片机作为单片微型计算机SCMC,其芯片内部集成了包括CPU、ROM、RAM、中断、定时器、计数器等多个应用模块,具备体积小、功耗小、可靠性高等多个特点。

STC85C51RC/RD+系列单片机是由STC 公司生产的增强型8051 单片机,其性能稳定,应用广泛,具备低功耗、高速、抗干扰等多项优点[5],其中5V 单片机可以在3.4-5.5V 的电压下正常工作。STC89C52 可以通过Keil 软件进行编译。

HC6800-MS 是以STC89C52 单片机为核心的开发板,在HC6800-MS 中,以STC89C52 为核心配备了多种外设及接口,包括数码管、3.3V 电源接口、流水灯,以及独立按键等。其中包含LCD1602 的预留插口,增强了HC6800-MS 与LCD1602 连接的安全性与稳定性。HC6800-MS 可以通过普中科技专用的PZ-ISP 程序烧录软件完成Keil 程序的录入与运行,简化了实物操作。

本系统选择以STC89C52 为核心的HC6800-MS为开发板。STC89C52 作为一种稳定的单片机种类,在成本低廉的同时,足以应对一般条件下的数据处理问题,能够应对在本次实验中所需的信号接收与处理问题。HC6800-MS 有面对LCD1602 的预设插口,在减轻了LCD1602 连线问题压力的同时提高了连接的稳定性,可以为实验起到辅助作用。

1.3 显示部分

显示技术作为信息化有关产业的组成部分之一,在如今各行各业的生产活动与居家生活之中扮演了重要角色。

LCD1602 液晶显示器作为一种稳定的显示装置活跃在生产生活中。它具有16*2 个字符的显示容量[6],4.5-5.5V 的工作电压,2.0mA 的工作电流。其共有16个引脚,分别为2 个电源端,1 个偏压信号端,1 个使能端,2 个读写端,2 个背光源端口以及8 个数据端。通过控制读写端与使能端的输入,能够调整LCD 的输入状态,完成地址到字符的切换。通过控制数据端的输入,能够调整具体的输入数据,选中所需的地址或控制当前地址下的字符输出。

LCD1602 的运行需要外接16 个端口,并需要对其中的控制端(2),使能端(1),数据端(8)进行实时变换,可以与单片机进行连接并进行数据传输,完成数据接收的任务。LCD1602 适用于表达数据较少的场合,在本设计中涉及到的需要显示的数据分别是温度与湿度的代指字符与温度湿度的数值两部分,其中用RH 代指湿度(两个字符),TEMP 代指温度(四个字符),%为湿度单位(一个字符),C 为温度单位(一个字符),两组数据(每组两个字符表示数据整数,共四个字符)。共计占用14 个字符,而LCD 总共能够同时显示32 个字符的数据。因此LCD 的功能足以支撑此设计中的数据显示任务。

在HC6800-MS 开发板中,存在单片机与LCD1602 间的预留接口,使开发板到LCD1602 的应用更为便捷,也增强了连线的安全性与稳定性,令LCD1602 在本次设计在实际应用时更为便携可靠。

综上所述,本系统选择LCD1602 液晶显示屏作为显示器完成数据表达任务。LCD 的成本低廉,其功能足以完成环境参数表达任务。并且由于LCD1602 和HC6800-MS 间的适配特点,使用LCD1602 可以减轻连线方面的压力,增加硬件连接的稳定性。

2 系统设计与实现

本系统以单片机STC89C52 为核心,并采用了普中科技的开发板HC6800-MS,为了便于程序的编译与烧录,此次选择了在Keil 上进行单片机程序的编写,并通过普中科技特有的烧写程序PZ-ISP 将预定程序烧录到单片机中。

本设计的目标是设计一个能够使传感器正常工作并转移数据到显示器件的系统。由于传感器自身的信号在未经加工的条件下不能被显示器件识别,因此本设计中需要应用单片机,通过合适的编程方式使传感器测量的信号转变成能够被显示器件应用的信号。

本次设计以日常生活中的温湿度检测任务为目标,因此选择的器件应该满足系统稳定、器件大小适中、低耗能、价格低廉等要求。

最终,本系统选择以dht11 温湿度传感器作为环境参数检测装置,以HC6800-MS 开发板为核心进行数据的处理、传输部分,通过LCD1602 液晶显示屏来展示获得的数据。本系统的主要工作有硬件选用与连接,软件编译两部分。

2.1 硬件部分

硬件连接需要兼顾软件编写方面的问题。由于LCD1602 与HC6800 间存在预设的接口,因此,在采用LCD 与开发板间的备用接口的情况下,dht11 和HC6800-MS 间的连接会受到限制,即部分引脚包括P0,P2^5,P2^6,P2^7 等,均被LCD1602 占用。因此,本系统最终采用LCD 预设接口,dht11 数据传导接口与P2^4 相连的硬件连接方式,其原理图如图2 所示。

图2 系统硬件原理图

2.2 软件部分

本系统主要针对单片机STC89C52 进行编译,使用Keil 软件编写程序。综合设计程序主要分为两部分,分别是单片机针对dht11 的信号接收程序与单片机针对LCD1602 的信号发送程序。

2.2.1 单片机针对dht11 的信号接收程序

首先,按照dht11 的初始化程序,由单片机向dht11 发送信号使dht11 进入工作状态,待dht11 进入工作状态后,根据实验所需的测量频率运行dht11 的工作程序,收集五组8bits 反馈数据,按照顺序分别为温度整数,温度小数,湿度整数,湿度小数,校验位数据。单片机将这几位数据存储下来,准备下一阶段的使用。若在初始化过程中,未获得dht11 的反馈数据,则准备将default 字符导入LCD 中。

2.2.2 单片机对温湿度数据的检验程序

在数据接收完成后,单片机需要通过校验位检测数据的正确性。若四组数据之和与校验位相同,则证明数据正确,将数据存入,以备后续。若四组数据之和与校验位不等,则数据有误,不予留存,等待新的数据接收流程。

2.2.3 单片机对温湿度数据的处理程序

LCD1602 可以通过识别输入字符,在预定地址显示常用字符,因此,本设计需要对温湿度数据进行处理,将其转化为易于理解的十进制字符显示。由于本设计中温湿度测量范围均大于0 小于100,且只显示整数部分,因此只需将两组整数数据进行处理后保存即可。

具体方法为取测量数据/10 为十位,测量数据%10为个位。

2.2.4 单片机针对LCD1602 的信号发送程序

在LCD1602 中,存有常用的字符显示,本次实验无需通过特定方式编辑显示符号。而LCD 展示的数据,本设计采用“固定字符+可变字符”的显示方式,固定字符表示数值种类,可变字符表示数值大小。本系统用“RH”代指湿度,“TEMP”代指温度,“%”和“C”均为单位。

本实验取温度与湿度整数部分进行显示,即取温度高八位与湿度高八位,在经过单片机处理后导入可变字符中,在LCD 上观察到温度和湿度为整数的检测数据,由于单片机和dht11 交互数据的过程持续进行,因此检测到的温度和湿度数据会随时间不断变化,如图3 所示。

图3 可变字符展示

综上所述,本系统完成了一个从环境参数采集到LCD 屏幕显示的过程,可以实时观察到当前环境下的温湿度参数,如图4 所示。

图4 系统实物图

3 结束语

文章通过单片机、传感器与显示设备的结合运用,从实际应用的角度出发,完成了一种价格低廉,设备轻巧的环境检测装置,具备一定的实用价值。

猜你喜欢
开发板字符温湿度
文物展柜内环境温湿度的调控与监测
论高级用字阶段汉字系统选择字符的几个原则
基于AT89C51的数字型蚕用温湿度计的设计
基于STM32H7的FDCAN通信系统设计与实现∗
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
基于温湿度控制的天气预测装置
基于DSP和μcos的温湿度检测系统的设计
开发板在单片机原理及接口技术课程教学中的应用