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

本次设计是采用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.mzph.cn/pingmian/28137.shtml

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

相关文章

【C++ | 静态成员】类的 静态(static)数据成员、静态(static)成员函数 详解及例子代码

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 ⏰发布时间⏰:2024-06-16 0…

Electron+vite+vuetify项目搭建

最近想用Electron来进行跨平台的桌面应用开发。同时想用vuetify作为组件,于是想搭建一个这样的开发环境。其中踩了不少坑,总是会出现各种的编译错误和问题,依赖的各种问题,搞了好久最终环境终于弄好可正常开发了。这里分享下快速搭…

前端面试题日常练-day71 【面试题】

题目 希望这些选择题能够帮助您进行前端面试的准备,答案在文末 好的,以下是另外五个与Sass相关的选择题: Sass中,以下哪个符号用于声明一个变量? a) $ b) c) # d) & 在Sass中,以下哪个符号用于引入…

践行国产化替代,优刻得私有云勇当先锋

编辑:阿冒 设计:沐由 阳泉,十万火急! 位于太行山西麓的山西省阳泉市,是一座历史悠久、底蕴深厚、资源丰富的名城,拥有超百万常住人口,国内生产总值在2022年成功跨越千亿元大关。然而&#xff0c…

「C系列」C 共用体

文章目录 一、C 共用体1. 定义共用体2. 初始化共用体变量3. 访问共用体成员4. 共用体的用途 二、C 共用体常见问题1. 内存覆盖问题2. 类型混淆3. 初始化问题4. 跨平台兼容性问题5. 逻辑错误 三、相关链接 一、C 共用体 在C语言中,共用体(union&#xff…

RocketMQ源码学习笔记:源码启动NameServer,Broker

这是本人学习的总结,主要学习资料如下 马士兵教育rocketMq官方文档 目录 1、Overview2、NameServer2.1、源码启动NameServer 3、Broker启动过程 1、Overview 这篇文章的源码的版本是release-4.9.8。在启动各个模块之前应该先对项目进行打包mvn install -Dmaven.te…

OS复习笔记ch9-1

单处理器调度 调度类型 主要类型 长程调度:决定将哪个进程放入进程池中 中程调度:决定将哪些进程部分或者全部放入内存中 短程调度:决定哪个空闲进程上处理机 I/O调度:决定哪个进程的I/O请求被可用的I/O设备处理 处理器调度和进…

HTML中的<img>标签使用指南

在HTML中&#xff0c;<img>标签用于嵌入图片。它是一个自闭合标签&#xff0c;意味着它没有结束标签。<img>标签的属性可以控制图片的显示方式和来源。以下是<img>标签的使用和属性的详细介绍。 <img>标签的基本用法 基本的<img>标签只需要src…

jupyter notebook中使用不同的anaconda环境及常用conda命令

conda命令 在jupyter notebook中使用不同的anaconda环境其他常用conda命令 在jupyter notebook中使用不同的anaconda环境 创建环境 myenvname 需替换为自己的环境名称 conda create --name myenvname python3.7激活环境 conda activate myenvname 在该环境中安装Jupyter N…

java8 树类型转换

/*** 创建树** param list 列表* param parentRoot 父根* return {link List}<{link TreeLabelDto}>*/ public static List<TreeLabelDto> createTree(List<TreeLabelDto> list, String parentRoot) {Map<String, List<TreeLabelDto>> roo…

springboot原理篇-springboot

springboot原理篇-springboot&#xff08;三&#xff09; 一、起步依赖 虽然我是直接学习springboot的&#xff0c;没有经历过使用spring开发&#xff0c;但是鉴于我还学习了c,对依赖这方面真的一言难尽&#xff01;springboot起步依赖解决依赖问题我实在是羡慕&#xff01; 直…

第 18章 安全架构设计理论与实践

安全架构是架构面向安全性方向上的一种细分&#xff0c;可关注三个安全方面&#xff0c;即产品安全架构、安全技术体系架构和审计架构&#xff0c;这三个方面可组成三道安全防线。本章主要分析安全威胁、介绍安全模型&#xff0c;在此基础上&#xff0c;就系统、信息、网络和数…

mac m芯片安装win11遇坑

mac m芯片安装win11遇坑 1、下载arm架构镜像 磁力链接&#xff1a; magnet:?xturn:btih:e8c15208116083660709eac9aee124e025c01447&dnSW_DVD9_Win_Pro_11_22H2_64ARM_ChnSimp_Pro_Ent_EDU_N_MLF_X23-12755.ISO&xl57198960642、使用VMWare Fusion安装&#xff0c;启…

element Steps 步骤条无法设置单击事件

原因&#xff1a;vue封装click方法阻止了element组件的原DOM事件 解决方案 为 click方法 添加修饰符 native&#xff0c;click.native <el-steps :active"1"><el-step title"步骤 1" description"这是一段很长很长很长的描述性文字" cl…

从0开始理解DevOps

目录 一、DevOps背景 二、DevOps介绍 DevOps 组成 三、Jenkins Jenkins 工作流程 四、云原生与DevOps 相信你一定听过 DevOps 这个词&#xff0c;那它到底是什么呢&#xff1f;为什么越来越多的互联网企业都在追随使用它&#xff1f;它与云原生有什么关系&#xff1f;本文将…

VRChat 2024年裁员原因与背景深度分析

VRChat&#xff0c;作为2022年元宇宙/VR社交领域的巨头&#xff0c;近期在2024年宣布裁员计划&#xff0c;其背后原因和背景值得业界尤其是仍在纯元宇宙虚拟空间创业的同仁们重点关注。 一、创始人决策失误 根据CEO的邮件披露&#xff0c;VRChat的创始人因缺乏经验和过度自信…

Java 桥接模式(Bridge Pattern)是设计模式中的一种结构型设计模式,桥接模式的核心思想是将抽象与实现解耦

桥接模式&#xff08;Bridge Pattern&#xff09;是一种结构型设计模式&#xff0c;它将抽象部分与它的实现部分分离&#xff0c;使它们都可以独立地变化。桥接模式的核心思想是将抽象与实现解耦&#xff0c;使得它们可以独立扩展。 在桥接模式中&#xff0c;通常包含以下四个…

八股两场合集

Java 语言有哪些特点?(基本概念) JVM vs JDK vs JRE Java为什么半编译半解释语言 continuexxx的区别 finalxxxx的区别(finalize不熟悉) 成变和成变的区别 重载和重写有什么区别 字符型常量与字符串常量区别(卡顿,2字节) 深拷贝与浅拷贝的区别,引用拷贝了解吗(不了解引…

MySQL之优化服务器设置(四)

优化服务器设置 InnoDB的IO配置 双写缓冲(Doublewrite Buffer) InnoDB用双写缓冲来避免页没写完整所导致的数据损坏。当一个磁盘写操作不能完整地完成时&#xff0c;不完整的页写入就可能发生&#xff0c;16KB的页可能只有一部分被写到磁盘上。有多种多样的原因(崩溃、Bug&am…

【纯干货级教程】深度学习根据loss曲线进行分析调参

相信很多刚刚接触目标检测系列算法小伙伴跑深度学习算法时会有许多困惑&#xff0c;比如训练得出的loss曲线有什么意义&#xff1f;训练的一些参数要如何设置选择&#xff1f;选择哪个算法模型作为baseline、选择哪个参数量/复杂度/深度的模型进行训练最为合适&#xff1f; 本…