当前位置: 首页 > 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.科学研究行业在逐…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

uniapp 开发ios, xcode 提交app store connect 和 testflight内测

uniapp 中配置 配置manifest 文档&#xff1a;manifest.json 应用配置 | uni-app官网 hbuilderx中本地打包 下载IOS最新SDK 开发环境 | uni小程序SDK hbulderx 版本号&#xff1a;4.66 对应的sdk版本 4.66 两者必须一致 本地打包的资源导入到SDK 导入资源 | uni小程序SDK …...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

flow_controllers

关键点&#xff1a; 流控制器类型&#xff1a; 同步&#xff08;Sync&#xff09;&#xff1a;发布操作会阻塞&#xff0c;直到数据被确认发送。异步&#xff08;Async&#xff09;&#xff1a;发布操作非阻塞&#xff0c;数据发送由后台线程处理。纯同步&#xff08;PureSync…...