单片机与DHT11温湿度检测设计

news2024/11/24 20:39:48
本次设计是采用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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1827904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

英伟达与斯坦福携手,打造未来全息XR眼镜:头带时代的终结

在XR(扩展现实)技术的演进过程中,一个显著的挑战在于如何平衡设备的便携性与视觉体验。传统的XR设备由于需要厚重的头带固定光学器件和显示器,不仅增加了体积,还为用户带来了社交上的不便。然而,随着英伟达与斯坦福大学戈登韦茨斯坦教授领导的研究团队的合作,这一难题似…

极致深耕,打造核心竞争壁垒——探寻蓝思科技穿越周期的密码

作者 | 曾响铃 文 | 响铃说 一家企业,如何才能在时代变幻的风云中不计较一时得失,长期稳健发展,穿越周期?本期主题就来探寻一家在湖南的国际化企业的发展密码。 穿越周期的企业,都在坚持一个驱动发展的“原点” 细…

【新课程】PICO VR 交互开发指南

从PICO开始,迈向XR跨平台开发 Unity XR Interaction Toolkit (简称XRI)是一套跨平台的 XR 交互开发工具包,随着版本的更新与完善,逐渐获得了开发者的青睐。各 XR 平台逐步推荐开发者采用 XRI 作为首选的交互开发工具为…

【FreeRTOS】ARM架构汇编实例

目录 ARM架构简明教程1. ARM架构电脑的组成1.2 RISC1.2 提出问题1.3 CPU内部寄存器1.4 汇编指令 2. C函数的反汇编 学习视频 【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS(FreeRTOS教程 基于STM32,以实际项目为导向)】 https://www.…

每日一练——用队列实现栈

225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; Queue.h #pragma once #include<stdlib.h> #include<assert.h> #include<stdbool.h>typedef int QDataType;typedef struct QNode {QDataType data;struct QNode* next; } QNode;typedef struct …

【RabbitMQ】异步消息及Rabbitmq安装

https://blog.csdn.net/weixin_73077810/article/details/133836287 https://www.bilibili.com/video/BV1mN4y1Z7t9/ 同步调用和异步调用 如果我们的业务需要实时得到服务提供方的响应&#xff0c;则应该选择同步通讯&#xff08;同步调用&#xff09;。 如果我们追求更高的效…

【MySQL】在CentOS环境下安装MySQL

目录 一、卸载残留环境 二、获取官方yum源 三、安装yum源 四、安装MySQL 五、启动MySQL 一、卸载残留环境 输入 ps axj | grep mysql 查看是否存在正在运行的MySQL服务 如果有&#xff0c;则先输入 systemctl stop mysqld 来关闭服务 然后输入 rpm -qa | grep mysql 查看…

搭建k8s集群报错unknown command “\u00a0“ for “kubeadm init“

搭建k8s报错unknown command “\u00a0” for “kubeadm init” 网上搜了一下&#xff0c;是因为复制过来的命令前面包含了空格&#xff0c;将复制的命令放到idea可以清楚看到几个命令前面有空格&#xff0c;删除掉就好了&#xff0c;记录一下

达梦基于什么数据库?

达梦数据库&#xff08;DM Database&#xff09;是中国自主研发的高性能关系型数据库管理系统。它并不是基于其他现有的数据库系统&#xff0c;而是完全自主开发的。这种独立开发使其具有很多独特的特点和优势&#xff0c;特别是在安全性、性能优化、适应中国本地化需求等方面。…

【Linux】软硬连接

目录 一.现象 二.硬链接 用处 三.软链接 用处 ​编辑 hello&#xff0c;大家好&#xff0c;今天&#xff0c;我们要学习的内容是软硬链接的。我们将从软连接的作用&#xff0c;硬链接的作用 和软硬链接的区别等方面学习。那我们就开始啦&#xff01; 在看本篇博客之前&a…

leetcode第709题:转换成小写字母

注意字符不仅有26个英文字母&#xff0c;还有特殊字符。特殊字符的话&#xff0c;原样输出。 public class Solution {public char toLowChar(char c){if(c>a&&c<z){return c;}else if(c>A&&c<Z){int n(int)c32;return (char)n;}return c;}publi…

华为机考入门python3--(36)牛客36-字符串加密

分类&#xff1a;字符串 知识点&#xff1a; 判断一个元素是否在集合中 if char not in key_set 计算字母差 index ord(char) - ord(a) 题目来自【牛客】 # 生成加密表 def generate_cipher_table(key):key_set set()cipher_table ""# 去重for char in k…

红队攻防渗透技术实战流程:中间件安全:JettyJenkinsWeblogicWPS

红队攻防渗透实战 1. 中间件安全1.1 中间件-Jetty-CVE&信息泄漏1.2 中间件-Jenkins-CVE&RCE执行1.2.1 cve_2017_1000353 JDK-1.8.0_291 其他版本失效1.2.2 CVE-2018-10008611.2.3 cve_2019_100300 需要用户帐号密码1.3 中间件-Weblogic-CVE&反序列化&RCE1.4 应…

微软正在推动 OpenAI 转变为营利性公司!Sam Altman 或拥有更多股权 股东也“逼宫”保时捷

目前&#xff0c;OpenAI估值为860亿美元&#xff0c;转型为营利性公司或加速OpenAI IPO&#xff0c;微软及其他投资者认为&#xff0c;若 Altman拥有更多股权&#xff0c;可能就不会那么有动力专注于其他项目和投资其他AI公司。 根据The Information最新报道&#xff0c;Sam A…

使用mysqldump导出mysql数据库的数据

使用mysqldump导出mysql数据库的数据 mysqldump是mysql自带的一个工具&#xff0c;路径一般是C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump.exe 有点需要导出的数据库&#xff0c;选择导入/导出&#xff0c;选择用mysqldump导出 在使用 IntelliJ IDEA 通过 mysqldum…

59.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露(7)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;58.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露&#xff08;6&#xff09; 关于御剑…

Integer溢出问题

0. 背景 在刷 LeetCode 时&#xff0c;代码的执行结果与预期出现了偏差&#xff0c;原因是 Int 值超过了允许范围 [ − 2 31 , 2 31 − 1 ] [-2^{31},2^{31}-1 ] [−231,231−1]。工作中从来没有遇到过这种情况&#xff0c;之前的认知是如果 Int 中存储的值超过了允许范围也许…

Java_FileIO流

存储数据的方案 有些数据想长久保存起来&#xff0c;咋整&#xff1f; 文件时非常重要的存储方式&#xff0c;在计算机硬盘中。 即便断电&#xff0c;或者程序终止了&#xff0c;存储在硬盘文件中的数据也不会丢失。 File File 是Java.io.包下的类&#xff0c;File类对象&…

Python高级编程:Functools模块的8个高级用法,强烈建议添加到你的开发工具箱中!

目录 1. functools.partial 2. functools.lru_cache lru_cache的特点 cache的特点 性能比较与选择 3. functools.reduce functools.reduce的作用 工作原理 示例 累加序列中的所有元素 计算阶乘 initializer的使用 应用场景 示例:计算平均销售额 小结 4. funct…

使用PyTorch实现LSTM生成ai诗

最近学习torch的一个小demo。 什么是LSTM&#xff1f; 长短时记忆网络&#xff08;Long Short-Term Memory&#xff0c;LSTM&#xff09;是一种循环神经网络&#xff08;RNN&#xff09;的变体&#xff0c;旨在解决传统RNN在处理长序列时的梯度消失和梯度爆炸问题。LSTM引入了…