当前位置: 首页 > news >正文

基于单片机的空气质量检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式

文章目录

    • 概要
  • 一、主要内容
  • 二、系统方案设计
    • 2.1 系统方案设计
    • 2.2 主控制器模块选择
  • 三、 系统软件设计
    • 4.1 程序结构分析
    • 4.2系统程序流图
    • 实物
    • 仿真
  • 四、结论
  • 五、 文章目录

概要

  本设计使用STC89C52单片机作为主控单元,由夏普GP2Y1010AU粉尘传感器采集周围环境的粉尘浓度值,再经过ADC0832模数转换器对测量到的信号进行模数转换,最后将数值通过LCD1602液晶显示屏显示出来,然后根据事先通过按键设置好的阈值相比较,超出则蜂鸣器报警。

关键词:GP2Y1010AU0F传感器,粉尘检测,空气质量

一、主要内容

本文的主要内容就是使用STC89C52单片机作为主控单元,由夏普GP2Y1010AU粉尘传感器采集周围环境的粉尘浓度值,再经过ADC0832模数转换器对测量到的信号进行模数转换,最后将数值通过LCD1602液晶显示屏显示出来,然后根据事先通过按键设置好的阈值相比较,超出则蜂鸣器报警。

二、系统方案设计

本系统主要分成四个部分:粉尘传感器测量空气中的粉尘浓度,液晶显示屏显示实时数值,按键上下调整设定的阈值,当测量到的实时数值超过所设定的阈值时,蜂鸣器发出声音报警。

2.1 系统方案设计

本系统的工作流程就是首先由粉尘传感器测量周围环境中的粉尘的浓度,然后通过ADC0832模数转换器将模拟量转换为数字量,之后再将数字量送入STC89C52单片机中,通过单片机内部的数据以及程序处理,将测量到的数据传输到液晶显示屏上显示出来,我们可以通过按键模块进行设置阈值,当粉尘传感器实时监测到的粉尘浓度超出所设置的阈值时,蜂鸣器会产生报警。系统的总体框图如下图2.1所示:
在这里插入图片描述

图2.1 总体结构框图

2.2 主控制器模块选择

1、方案一:我们可以采用CPLD 作为主控单元,其中文是复杂可编程逻辑器件,因为它是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,所以这就使CPLD可以轻易地实现各种复杂的逻辑功能,并且这个器件编程灵活、适用范围广、设计制造的成本较低、开发工具先进,尤其是这个器件对设计者的硬件要求不高。但是本设计只用到了很简单的数据传输以及处理的功能,并不需要复杂的逻辑功能,并且从价格方面来考虑,这个方案并不适合我们这个设计。
2、方案二:采用STC89C52单片机作为主控单元,分析我们的设计方案就可以得出STC89C52单片机最为适合,因为STC89C52单片机控制比较简单,但是功能强大,其功耗和电压都比较低,便于供电,方便随身携带,单片机的编程语言也是比较基础和简单,出现错误也容易检查。还有一点就是CPLD无法媲美的,那就是STC89C52单片机价格十分便宜,而且非常容易购买。

三、 系统软件设计

4.1 程序结构分析

在整个设计中,分别有液晶屏显示程序、粉尘浓度测量程序、按键设定报警阈值程序,这三个子程序都要通过主程序来居中调度。首先通过粉尘传感器测量到周围环境中粉尘的浓度,然后将数据输送到主程序中,经过主程序的处理,再将数据送到液晶显示屏上显示,然后通过按键来设定报警阈值。

4.2系统程序流图

主程序的主要功能是读取粉尘传感器测量出来的数据,并加以处理。粉尘传感器的测量速度为1秒1次,主程序不间断的读取这些数据,并将此数据与设定的报警阈值相比较,当前的浓度值没有超过报警阈值,没反应。但是一旦超出报警阈值,主程序则会向报警电路发送信号,蜂鸣器响。其程序流程见图4.1所示。

在这里插入图片描述

图4.1 系统工作流程图

实物

在这里插入图片描述
在这里插入图片描述

仿真

在这里插入图片描述

四、结论

  本设计使用了STC89C52单片机作为整个系统的大脑,起着居中调度数据和资源的作用,将单片机的利用程度发挥到最大。因为本系统可以实时检测出当前环境的粉尘浓度,并且能在液晶显示屏上显示出来,极为方便。
在这次设计中,从开始构思,设计电路仿真图,购买元器件,到最后的焊接成功,这期间让我对相关的知识有了一个系统性的回顾,从而也体会到了理论结合实践的重要性。从定题到完成论文,这期间不断地出现问题,不断地解决问题,在这过程中,使我学到了很多新的知识,也让我懂得了合理配置资源的重要性。

五、 文章目录

目 录
摘 要 I
ABSTRACT II
第一章 引言 3
1.1 课题研究背景与意义 3
1.2 国内外研究现状 3
1.3 本文主要内容 4
第二章 系统方案设计、比较与论证 5
2.1 系统方案设计…5
2.2 主控制器模块选择 5
2.3 按键的选择 6
2.4 显示模块的选择 6
2.5 电源选取 6
第三章 系统硬件设计 7
3.1 GP2Y1010AU0F传感器 7
3.1.1 内部原理图 7
3.1.2 主要参数 7
3.1.3 电光特性 8
3.1.4 LED的输入条件…8
3.1.5 LED输入端子的输入条件 8
3.1.6 电路接线 9
3.1.7 检出方法 11
3.2 ADC0832模数转换器 13
3.3 LCD显示模块 15
3.3.1 LCD1602的特性 15
3.3.2 LCD1602的使用说明 17
3.4 STC89C52单片机 19
3.4.1 STC89C52单片机主要特性 20
3.4.2 STC89C52单片机引脚说明…21
3.5主控制模块 23
3.6显示模块电路 24
3.7报警模块的设计 25
3.8按键模块的设计 25
3.9粉尘模块电路设计 26
3.10电源部分的设计 27
第四章 系统软件设计 28
4.1程序结构分析 28
4.2系统程序流图 28
4.2.1 DS18B20初始化程序流程图 29
4.2.2读空气中粉尘浓度子程序流程图 29
第五章 系统的安装与调试 31
5.1安装步骤 31
5.2电路的调试 31
第六章 总结与展望 34
6.1 本文总结 34
6.2 展望…34
参考文献 35
致谢 …36

相关文章:

基于单片机的空气质量检测系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、主要内容二、系统方案设计2.1 系统方案设计2.2 主控制器模块选择 三、 系统软件设计4.1 程序结构分析4.2系统程序…...

论文阅读——InstructGPT

论文:Training_language_models_to_follow_instructions_with_human_feedback.pdf (openai.com) github:GitHub - openai/following-instructions-human-feedback 将语言模型做得更大并不能从本质上使它们更好地遵循用户的意图。例如,大型语…...

【表面缺陷检测】铝型材表面缺陷检测数据集介绍(含xml标签文件)

一、铝型材介绍 铝型材是一种由铝合金材料制成的,具有固定截面形状和尺寸的条形建材。由于其优良的物理性能和广泛的应用领域,铝型材在现代工业和生活中发挥着重要的作用。 1、铝型材的分类 根据截面形状的不同,铝型材可分为角铝、槽铝、工…...

我的学习:从本科到研究生的认识与实践经验总结

学习实践经历 18年 上大学以后,因为对计算机的喜爱和对未知编程技术的好奇和探索,选择了从零开始学习程序设计,经过实践,选择了转专业到计算机科学与技术,开始了我的计算机学习之路。 19年 因为想要拓宽自己的专业能力…...

云游长江大桥,3DCAT实时云渲染助力打造沉浸化数字文旅平台

南京长江大桥是中国第一座自主设计建造的双层公路铁路桥,也是世界上最早的双层公路铁路桥之一。它不仅是一座桥梁,更是一座历史文化的见证者和传承者。它见证了中国人民的智慧和奋斗,承载了中国社会的变迁和发展。 如何让这座不可移动的文物…...

【音视频|PCM】PCM格式详解

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…...

行为型模式-行为型模式

在模板模式中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类…...

openpnp - Warning - Unknown firmware

文章目录 openpnp - Warning - Unknown firmware概述笔记https://github.com/openpnp/openpnp/wiki/Motion-Controller-Firmwares备注END openpnp - Warning - Unknown firmware 概述 接上飞达控制板后, 显示未知固件的警告 开始没看源码之前, 总以为是回答的版本号不合适, …...

Android 中如何使用 App Links

1. 简介 什么是 App Links呢?App Links 是 Android 6.0 (API 级别23) 引入的新功能,它是基于 DeepLinking,允许应用自动处理网站的 URL,而无需提示用户启动相应的应用。 例如:如果你在手机浏览器中输入了某个网站&am…...

7 款好用的 PDF 密码删除工具

这是最佳 PDF 密码删除工具列表。该列表包括免费和付费软件。将要在线完成的所有事情都需要密码才能感到安全。数据传输也是如此。大多数数据是通过文件传输的,PDF有自己的标志。PDF是一种灵活的文件格式,因此也可以专业使用。 有多种PDF 编辑器软件&am…...

你一般什么时候会用到GPT?

GPT(Generative Pre-trained Transformer)是一种自然语言处理技术,它在各种领域和场景中都有广泛的应用。下面将详细介绍一些常见的情况,人们在这些情况下通常会使用GPT: 自然语言生成: GPT可以用于生成文本…...

YUV编码格式解析

YUV 颜色编码 YUV 颜色编码采用的是 明亮度 和 色度 来指定像素的颜色。 其中,Y 表示明亮度(Luminance、Luma),而 U 和 V 表示色度(Chrominance、Chroma)。 而色度又定义了颜色的两个方面:色…...

mysql-面试50题-5

一、查询数据 ymysql-面试50题-2-CSDN博客 二、问题 41.按照出生日期来算&#xff0c;当前月日 < 出生年月的月日则&#xff0c;年龄减一 mysql> select student.SId as 学生编号,student.Sname as 学生姓名, -> TIMESTAMPDIFF(YEAR,student.Sage,CURDATE(…...

微服务初始和Nacos安装

一)初始微服务: 微服务是将一个大型的&#xff0c;单一的应用程序拆分成多个小型服务&#xff0c;每一个服务负责于特定的业务功能&#xff0c;并且可以通过网络来和其他服务进行通讯&#xff0c;是一个思想&#xff0c;将一个大的项目拆分成多个小的项目&#xff0c;多个小的项…...

YouTube博主数据信息资源

YouTube博主数据信息资源 &#x1f525;我是一位拥有10年编程经验的程序猿&#xff0c;为你带来一个全新的优质资源 &#x1f50d;您是否在寻找最新、最活跃的YouTube博主数据&#xff0c;以助力你的项目、营销或研究&#xff1f; 我们的数据&#xff0c;您的优势&#xff1a;…...

算法通过村第十七关-贪心|黄金笔记|跳跃游戏

文章目录 前言跳跃游戏最短跳跃游戏总结 前言 提示&#xff1a;曾走过山&#xff0c;走过水&#xff0c;其实只是借助他们走过我的生命&#xff1b;我看着天&#xff0c;看着地&#xff0c;其实只是借助它们确定我的位置&#xff1b;我爱这她&#xff0c;爱着你&#xff0c;其实…...

【精选】VMware部署ESXI6.5 vCenter Server详解

VMware部署ESXI6.5 vCenter Server 一、ESXi主机介绍1、虚拟机的好处2、为什么要使用虚拟机 二、虚拟化服务器概述1、VSphere物理架构2、体系架构3、VMware vSphere 组件 三、ESXi安装环境1、安装步骤2、使用VMware新建ESXi主机3、初始环境安装 四、创建虚拟机五、安装部署VMwa…...

如何借助数据集更好的评估NLP模型的性能?

随着信息时代的迅猛发展&#xff0c;每天有无数文本、声音、图片和视频不断涌入互联网。如何从海量数据中提炼有意义信息成为学术界和工业界迫切需要解决的问题。在此背景下&#xff0c;自然语言处理&#xff08;NLP&#xff09;应运而生&#xff0c;成为人工智能领域最为活跃的…...

2023年腾讯云服务器地域节点选择指南(亲自整理)

腾讯云轻量应用服务器地域是指轻量服务器数据中心所在的地理位置&#xff0c;如上海、广州和北京等地域&#xff0c;如何选择地域&#xff1f;腾讯云百科txybk.com建议地域选择遵循就近原则&#xff0c;用户距离轻量服务器地域越近&#xff0c;网络延迟越低&#xff0c;速度就越…...

华媒舍:日韩媒体发稿推广中8个关键因素帮助你实现突破

在当今经济全球化的时代背景下&#xff0c;日韩地域媒体影响力日益提高。对于需要在这一地区开展发稿推广的人来讲&#xff0c;掌握适度的思路和流程是十分重要的。下面我们就为大家介绍8个关键因素&#xff0c;以帮助你在日韩地域媒体发稿推广中实现突破。 1.科学研究行业在逐…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

【入坑系列】TiDB 强制索引在不同库下不生效问题

文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

ffmpeg(四):滤镜命令

FFmpeg 的滤镜命令是用于音视频处理中的强大工具&#xff0c;可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下&#xff1a; ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜&#xff1a; ffmpeg…...

Python爬虫(二):爬虫完整流程

爬虫完整流程详解&#xff08;7大核心步骤实战技巧&#xff09; 一、爬虫完整工作流程 以下是爬虫开发的完整流程&#xff0c;我将结合具体技术点和实战经验展开说明&#xff1a; 1. 目标分析与前期准备 网站技术分析&#xff1a; 使用浏览器开发者工具&#xff08;F12&…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

SpringCloudGateway 自定义局部过滤器

场景&#xff1a; 将所有请求转化为同一路径请求&#xff08;方便穿网配置&#xff09;在请求头内标识原来路径&#xff0c;然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

以光量子为例,详解量子获取方式

光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学&#xff08;silicon photonics&#xff09;的光波导&#xff08;optical waveguide&#xff09;芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中&#xff0c;光既是波又是粒子。光子本…...

Web后端基础(基础知识)

BS架构&#xff1a;Browser/Server&#xff0c;浏览器/服务器架构模式。客户端只需要浏览器&#xff0c;应用程序的逻辑和数据都存储在服务端。 优点&#xff1a;维护方便缺点&#xff1a;体验一般 CS架构&#xff1a;Client/Server&#xff0c;客户端/服务器架构模式。需要单独…...