找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6070|回复: 3
收起左侧

单片机与DHT11温湿度检测设计参考论文

[复制链接]
ID:361299 发表于 2018-6-28 20:02 | 显示全部楼层 |阅读模式

摘要

本次设计是采用STC89C54单片机加上低成本的温湿度模块DHT11构成的温湿度检测系统。设计主要由硬件与软件两部分设计构成。硬件方面包括单片机STC89C54、温湿度模块DHT11、显示模块LCD1602、电池电源、I2C存储器以及控制按键等5个部分。此系统完全基于单片机最小系统并进行一定的改进,系统电路简单,工作稳定,调试方便,可以精确到1,因此具有一定实用性。系统提供3中工作模式,可以分别显示温度、湿度、温湿度报警上下限,超出温湿度限定的范围蜂鸣器实现报警。为了方便实用,系统使用3节1.5v电池作为电源,方便使用。软件部分则是本系统所使用的C语言程序。

     DHT11数字温湿度传感器是一款含有已校准熟悉信号输出的温湿度复合传感器,它应用专用的数字模块采集技术和温湿度传感技术,确保产品具有极高的可靠性和卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个NTC测温元件,并与一个高性能8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。单片机STC89C54是一款价格便宜,性能高强的CMOS8位单片机。

摘要
前言
1设计的引出
2 设计的意义
3 传感器的发展
4 设计的目的与内容
第一章 系统设计
1.1 设计任务
单片机的温湿度检测系统,能够实时监控当前环境的温度、湿度。
1.2 设计要求
第二章  总体方案的确定
2.1 设计的总体概略
2.2 设计方案的选定
2.2.1 单片机
2.2.2 温湿度传感器
2.2.3 显示器
2.2.3 温湿度上限储存
第三章 系统硬件设计
3.1单片机STC89C54简介
3.1.1主要特性
3.1.2 引脚功能说明
3.2 温湿度传感器DHT11简介和电路图
3.3 显示器LCD1602简介和电路图
3.4 报警系统设计
3.5 键盘设计
3.6 复位电路设计
3.7 晶振电路设计
3.8 AT24C02存储器电路设计
第四章 系统软件设计模块
4.1系统流程图
4.2 按键扫描子程序
4.3编程思想
结束语
本设计综合利用单片机技术、传感器技术、数字电子技术和LCD显示等科学知识,完成了单片机控制的温度、湿度和显示装置的设计。比较系统地介绍了硬件的组成及设计方法。利用单片机C语言完成了系统软件的设计。
参考文献
整个系统原理图
前言
1设计的引出
在当前社会中,各个行业的发展都极为迅速。尤其是进入21世纪后,整个中国的社会都发生了巨大的变革,社会成分日益复杂,社会利益重新分配,人民生活急剧变化。物质领域和精神领域的生活、医疗、教育、服务等广泛领域都发生了极大的变化。面对社会变革带来的新情况、新问题,都要求我们去了解、去解决。其中对于环境温湿度的检测也成为了必不可少的一件事。不同人对于温湿度差异所造成的影响都各不相同,对于夏天的中暑,冬天的感冒等等屡见不鲜。为了让人们可以更明确的了解温湿度变化,国家采取了天气预报的方式。但这只是一种大范围性的估计,我们需要研究一种简单的、家庭的装置方便人们根据所显示的数据调整自身环境,以达到最佳的居住环境,这是社会发展中不可或缺的一步。
2 设计的意义
由于时代的进步,人民生活的极大提高,人们对于生活环境的需求日益提高,而由于温湿度差异所造成的影响对人们生活造成了极大的不便。对于生活环境温湿度的检测已经成了一项必不可少的研修方向。当温湿度可以把握的情况下,人们可以根据需要调节室内环境。
研究温湿度的检测很有必要,它可以让人们正确把握自身环境,同时也可以据此预测环境的变化等等。具有比较重要的意义。
3 传感器的发展
传感器是现代信息技术的三大基础之一。随着监控系统的自动化、智能化的发展,要求传感器准确度高、可靠性高、稳定性号,并具备一定的数据处理能力。
传感器本身是一种物理装置,能够探测外界的信号、物理条件(如光、热、湿度等)并将弹指的信息传给其他装置。随着继承化技术的发展,各类混合集成和单片机继承式压力传感器的相继出现,传感器得到快速的发展和推广,并逐步迈向集成化、多功能化、智能化。
其中温湿度传感器也是发展中的重要一员,温湿度传感器从一开始的板子变成至今的集成块,历经很多跨越式的进步,并能够做到对当前所测数据的检测。已经具备了一定的智能化。
随着科技的进步,温湿度传感器同样也要进一步发展,如何能使得其在稳定性、精确性等方面有更大的方面发展显的尤为重要
4 设计的目的与内容
    设计的目的是为了满足人们对于家居环境温湿度的不同需求,让人们可以清楚的了解自身所处环境的不同状况并作出适当调整。
设计的内容主要是温湿度的检测。设计中采取了数字化的温度检测,当环境温度发生改变时,湿度传感器和温度传感器也将同时发生变化、主要是其中的感应电阻会发生阻值的变化,并通过电路将之转化为电压型号,再由A/D转换器变为数字信号送入单片机中,通过单片机进行数据的过滤处理,再由单片机将信号传出通过外部显示设备显示该温湿度。该系统设置按键可以分3种模式显示温湿度,并采用简单的干电池作为电源,方便实用。
第一章 系统设计
1.1 设计任务单片机的温湿度检测系统,能够实时监控当前环境的温度、湿度1.2 设计要求

1、上电显示环境温湿度值。带温湿度报警、显示功能,可超过报警范围(报警上限值和下限值),相应的LED灯亮。

2、支持串口通信,把温度值、湿度值发送串口调试助手。

第二章  总体方案的确定
2.1 设计的总体概略

    本设计总体思路为:信息采集→信息处理→信息显示/报警。它的主要模块为单片机模块,温湿度采集模块,显示模块,键盘模块,LED报警模块,电源模块,阈值设置模块,设计方块图如下:

设计方案模型图
2.2 设计方案的选定2.2.1 单片机
采用STC89C54单片机作为硬件核心。具有8K 在系统可编程Flash 存储器,可以用3V的比较低压工作,其能与MCS-51系列单片机完全兼容,AT89C51的功能完全具有,当在对电路进行调试时,由于对程序的错误修改或程序的新增功能需要烧入程序时,也不必要对芯片重复拔插,所以很大程度上对芯片造成损坏基本没有。
2.2.2 温湿度传感器

    目前传感器应用非常广泛,传感器的品种繁多,本次设计选择DHT11

DHT11:  
湿度测量范围:20~95%RH;
温度度测量范围:0 ~ 50℃;
湿度测量精度:± 5%RH
温度测量精度:±2℃
DHT11完成能满足我们日常生活检测的需求,故本次设计选择DHT11作为设计温湿度传感器。其实物图如下:
2.2.3 显示器

LCD1602液晶显示,具有字符发生器ROM,可显示192种字符(32个5x10点阵字符和160个5x7点阵字符和),具有64个字节的自定义字符RAM,可以自定义4个5x11点阵字符或8个5x8点阵字符。具有80个字节的RAM,标准的接口特性,适配m6800系列mpu的操作时序。模块结构轻巧、紧凑、装配容易,像素分辨率高,尺寸小。

对于本次设计,只要同时能直观地显示温度湿度出来就可以了,选择LCD1602能够把温湿度很直观的显示出来,而且不占用资源,在设定阈值时更能简洁明了,1602能显示两行字符,恰好对应分配给温度和湿度,本次设计选择LCD1602为显示元件。1602实物图如下:

2.2.3 温湿度上限储存
    温湿度阈值储存在EEPROM芯片AT24C03中,并可以通过按键调节并保存。
第三章 系统硬件设计
3.1单片机STC89C54简介
STC89C54是一种高性能、低功耗的CMOS八位微控制器,具有8K在系统在线可编程Flash存储器,使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51产品引脚和指令完全兼容。片上Flash允许ROM在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使其为众多嵌入式控制应用系统提供灵活的解决方案。
3.1.1主要特性

(1) 低功耗空闲和掉电模式;

(2) 全静态操作:0Hz~33Hz;

(3) 八个中断源;

(4) 8K字节在系统可编程Flash存储器;

(5) 掉电标识符;

(6) 三级加密程序存储器;

(7) 与MCS-51单片机产品兼容;

(8) 全双工UART串行通道;

(9)  三个16位定时器/计数器;

(10) 看门狗定时器;

(11) 双数据指针;

(12) 1000次擦写周期;

(13)32个可编程I/O口线。

3.1.2 引脚功能说明

VCC:电源

GND:地

P0口:8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。当访问数据存储器和外部程序时,P0口也被作为低8位数据/地址复用。在这种模式下,P0具有内部上拉电阻。在Flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需要外部上拉电阻。

P1口:具有内部上拉电阻的8位双向I/O口,P1输出缓冲器可以驱动4个TTL逻辑电平。对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1^0和P1^2分别作定时器/计数器的外部计数输入(P1^0/T2)和定时器/计数器的触发输入(P1^1/T2EX),具体如下表所示。在Flash编程和校验时,P1口接收低8位地址字节。



引脚号
第二功能
P1.0
T2(定时器/计数器T2的外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器T2的重载/捕捉触发信号和方向控制)
P1.5
MOSI(在系统编程用)
P1.6
MISO(在系统编程用)
P1.7
SCK(在系统编程用)

P2口:具有内部上拉电阻的8位双向I/O口,P2输出缓冲器驱动4个TTL逻辑电平。对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在方位外部程序存储器或用16位地址读取外部数据存储器时,P2口送出高八位地址。在Flash编程和校验时,P2口也接收一些控制信号和高8位地址字节。

P3口:P3口是一个具有内部上拉电阻的8位双向I/O口,P2输出缓冲器能驱动四个TTL逻辑电平。对P3端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为STC89C54特殊功能(第二功能)使用,如表所示。

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INTO(外中断0)

P3.3

INT1(外中断1)

P3.4

TO(定时/计数器0)

P3.5

T1(定时/计数器1)

P3.6

WR(外部数据存储器写选通)

P3.7

RD(外部数据存储器读选通)


P3口引脚的第二功能

RST:复位输入。晶振工作时,单片机复位需要RST脚持续2个机器周期高电平将。看门狗计时完成后,RST脚输出96个晶振周期的高电平。AXUR(地址8EH)特殊寄存器上的Disrto位可以使此功能无效。Disrto默认状态下,复位高电平有效。

ALE/:控制信号(ALE)访问外部程序存储器时,锁存低8位地址的输出脉冲。在Flash编程时,此引脚()也用作编程输入脉冲。
在一般情况下,ALE以晶振1/6的固定频率输出脉冲,可用来作为外部定时器或时钟使用。然而,特别强调,ALE脉冲将会跳过,当每次访问外部数据存储器时。如果需要,通过将SFR(其地址为8EH)的第0位置“1”,ALE操作将无效。这一位置“1”,ALE仅在执行MOVC或MOVX指令时有效。否则,ALE将被微弱拉高。这个ALE使能标志位(SFR地址为8EH的的第0位)的设置对微控制器处于外部执行模式下无效。
:外部程序存储器选通信号()是外部程序存储器选通信号。当S54从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而在访问外部数据存储器时,将不被激活。
/VPP:访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令。必须接地。为执行内部程序指令,应该接VCC。
在Flash编程期间,也接收12V电压。
XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2:振荡器反相放大器的输出端。

3.2 温湿度传感器DHT11简介和电路图

数字温湿度传感器DHT11是一款含有已校准熟悉信号输出温湿度复合传感器,它应用专用的温湿度传感技术和数字模块采集技术,确保产品具有卓越的长期稳定性和极高的可靠性。传感器包括一个NTC测温元件和一个电阻式感湿元件,并与一个性能高的8位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。每个DHT11传感器都在即为精确的湿度校验室中进行校准。校准系数以程序的形式存在OTP内存中,传感器内部在检测型号的处理过程中要调用这些校准系数。单线制串行接口,使系统集成变得简易快捷。超小的体积、极低的功耗,信号传输距离可达20米以上,使其成为给类应用甚至最为苛刻的应用场合的最佳选择。产品为4针单排引脚封装,连接方便。

典型的应用电路如图:

DHT11引脚说明:
pin
名称
注释
1
VDD
供电3-5.5V
2
DATA
串行数据,单总线
3
NC
空脚,悬空
4
GND
接地,电源负极

性能说明:
参数
条件
Min
Typ
Max
单位
分辨率

8
±
Bit
1
1
1
%RH
精度
25℃

±4

%RH
重复性


±1

%RH
温度
0-50℃


±5
%RH
温度

量程范围
0℃
30

90
%RH
50℃
20

80
%RH
25℃
20

90
%RH
长期稳定性
典型值

±1

%RH/yr
迟滞


±1

互换性
可完全互换
分辨率

8
8
8
Bit
1
1
1
重复性

±1

响应时间
1/e(63%)
6

30
S
量程范围

0

50
精度

±1

±2

总线空闲状态为高电平的时候主机把总线拉低等待DHT11响应, DHT11能检测到起始信号,主机必须把总线拉低,至少大于18ms。DHT11一旦接收到主机的开始信号,接着就等待开始信号的结束,然后发送80us的低电平响应信号,要读取DHT11的响应信号,必须等待开始信号的结束,并延时等待20-40us后才能够接受,主机发送开始信号后,这时候就可输出高电平或切换到输入模式,接着总线由上拉电阻拉高。
DHT11发送响应信号的时候总线为低电平 ,DHT11把总线拉高80us之前,必须等到响应信号发送,准备发送数据时,每一bit数据都以50us低电平时隙开始,数据位是0或1是由高电平的长或短来决定。假如响应信号的读取为高电平,但是DHT11无响应响应,这时候说明路线可能连接不正常,当最后一bit数据传送结束后,DHT11把总线拉低50us,接着总线由上拉电阻拉高进入空闲状态。
3.3 显示器LCD1602简介和电路图

1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形

1602LCD是指显示的内容为16X2即可以显示两行,每行16个字符液晶模块(显示字符和数字)。

具有80个字节的RAM,标准的接口特性,适配M6800系列MPU的操作时序。模块结构紧凑、轻巧、装配容易,像素尺寸小,分辨率高。颜色分单色(黑白)、彩色两种。

使用时,可将P0与LCD的数据线相连,P2口与LCD的控制线相连,其中,TC1602第4脚RS为寄存器选择,第5脚RW为读写信号线,第6脚E为使能端。第7~14脚:D0~D7为8位双向数据线。

相反,因此在编写软件时需要做处理,使读取正确。LCD显示电路如下图所示

LCD显示图
3.4 报警系统设计
  在微型计算机控制系统中,为了安全生产,对于一些重要的系统部位或参数,都设有紧急状态报警系统,以便提醒操作人员注意采取紧急措施。其方法就是把计算机采集的数据通过过计算机进行数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值,进行显示和控制。
本设计采用三个LED灯电路。如果温度和湿度都没有超过或低于程序设定值时,绿灯常亮.如温度和湿度没有在范围内,则相应的LED灯亮红色。            


3.5 键盘设计

按键是用来设定温度、湿度上下限报警值,查看温度、湿度上下限报警值。主要有4个按键分别是功能选择键、上键、下键、确认键。

3.6 复位电路设计
RST引脚是单片机复位端,高电频有效。在引脚端输入至少连续两个单片机周期的高电频,单片机复位。使用时,在引脚与VSS引脚之间接一个10KΩ的下拉电阻,与VCC引脚之间接一个约10μF的电解电容,即可保证上电自动复位。本设计中复位电路如图

3.7 晶振电路设计
单片机晶振的作用是为系统稳定提供周期性的时钟信号,一个晶振通常是一个系统共用,以使系统各部分保持同步,有些通讯系统的射频和基频使用不同的晶振,而是通过电子调整频率的方法保持同步。晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率,可以用于同一个晶振项链的不同锁相环来提供的。
设计中晶振电路如图

3.8 AT24C02存储器电路设计
AT24C02是EEPROM,可以配合温湿度采集控制系统存贮掉电前需要保存的数据,把设定的温湿度报警上限、下限保存下来。


第四章 系统软件设计模块
4.1系统流程图

计算机在完成一项工作时,必须按顺序执行各种操作。这些操作是程序设计人员用计算机所能够接受的语言把解决问题的步骤事先描述好的,也就是事先编制好计算机程序,再由计算机去执行。另外,一个有效率的控制系统还需要完善的算法,由算法绘制出相应的流程图,这样根据流程图编制软件程序。

根据温湿度监控系统功能,系统软件流程图如下:


                  系统流程图
4.2 按键扫描子程序

左起第一个键是功能选择键,按一次进入报警温度上限设置,此时显示上一次设置温度报警上限值(TH36)且光标不断闪烁,进行上限温度设置,设置好后按确认键。

按第二次,进行下限温度报警设置,此时显示上一次设置温度报警下限值(TL25)且光标不断闪烁,设置好后按确认键。

按第三次,进行上限湿度报警设置,此时显示上一次设置湿度报警上限限值(HH72)且光标不断闪烁,设置好后按确认键。

    再按一次即第四次,进行下限湿度报警设置,此时显示上一次设置湿度报警下限限值(HH62)且光标不断闪烁,设置好后按确认键。

第二个按键是增加键,可以对上限温度或下限温度进行增大调整

第三个按键是减小键,可以对下限温度或下限温度进行减小调整。

第四个按键是确认键,可以对温湿度上下限报警值保持到IIC(AT24C02)中。



4.3编程思想
本次设计主要是能够实时显示出当前确切的温湿度。接通电源后将有一定缓冲时间,随后向模块发送命令,并接受模块所发送数据。经检查校验后,通过LCD1602显示。首先是LCD初始化,采用八位的数据端口,两行显示,5*7的点阵,然后可以通过按键切换,设置温湿度上限极限报警,报警值存放AT24C02存储器中。也可以通过按键查看报警上下限值。如果没有特殊情况,LCD会随着显示当前湿度与温度的数值。

结束语
本设计综合利用单片机技术、传感器技术、数字电子技术和LCD显示等科学知识,完成了单片机控制的温度、湿度和显示装置的设计。比较系统地介绍了硬件的组成及设计方法。利用单片机C语言完成了系统软件的设计。

1. 把传感器技术应用到单片机控制系统中,实现了对环境温度和湿度的数据采集和读取。

2. 利用LCD液晶的显示技术完成了环境温度、湿度及显示电路的设计。

3. 外接了蜂鸣器报警模块,在超过设定温湿度上下限时自动报警。

4. 在本设计的基础上皆有继电器模块,可以外接调温调湿电器,把功能扩展延伸为实现对环境温湿度的控制。

5. 整个系统软硬件搭配合理,设计、开发、维护方便,性价比高。

由于单片机经济实用、开发简便,因而在工业控制、农业自动化、家电智能化等领域占据了广泛的市场。本文介绍的系统设计有一定的实用性,但该系统在设计过程中还有很多漏洞。还需要在智能化方面加以改进。特别是在提高稳定度和节省功耗等方面。不过,该产品有很好的可扩性能,比如,该设备的测量结果不仅能在本地显示,而且能利用单片机的RS-485总线通信协议和串行口将采集的数据传送到主控机,以进行进一步的处理、存档。主控机负责控制指令的发送,以控制各个从机的温湿度采集和收集测量数据,并对测量结果(包括历史数据)进行整理、显示和存储。从机与主控机之间也能够相互协调、相互联系,从而达到系统整体统一、和谐的效果。


参考文献
[1]   郭天祥.51单片机C语言教程.北京:电子工业出版社,2010

[2]  李晓荃.单片机原理与应用[M]. 北京:电子工业出版社,2000.

[3]  刘和平.单片机原理及应用[M].重庆:重庆大学出版社,2002 .

[4]  徐爱钧.单片机高级语言 C51 应用程序设计[M]. 北京:电子工业出版社,2002.

[5]  谢自美.电子线路设计.实验.测试(第二版) [M].武汉:华中科技大学出版社,2000.

[6]  江国强.现代数字逻辑电路.北京:电子工业出版社,2002 .

[7]  张勇.PROTEL 99SE 电路设计技术入门与应用(第一版).北京:电子工业出版社,2002 .

[8]  樊昌信.通信原理(第五版)[M].北京:国防工业出版社,2001 .



整个系统原理图

完整的Word格式文档51黑下载地址:
单片机温湿度检测设计参考论文.doc (345 KB, 下载次数: 92)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:909939 发表于 2021-4-22 21:12 | 显示全部楼层
对我还挺有帮助的,顶一个喽
回复

使用道具 举报

ID:909939 发表于 2021-4-26 10:19 | 显示全部楼层
请问有具体的软件程序吗
回复

使用道具 举报

ID:909939 发表于 2021-4-30 17:46 | 显示全部楼层
没有软件部分可以参考下吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表