当前位置: 首页 > 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

相关文章:

  • 接口测试 —— Requests库GET请求!
  • order by数据过多引起的cpu飙升
  • Web:探索 SpreadJS强大的在线电子表格库
  • 云原生之深入解析如何合并多个kubeconfig文件
  • Linux下protobuf和 protobuf-c安装使用
  • IP地址与代理ip在网络安全中的关键作用
  • Autojs 利用OpenCV识别棋子之天天象棋你马没了
  • Spigot 通过 BuildTools 构建 MineCraft Spigot 官方服务端文件
  • 代码随想录算法训练营第3天| 203.移除链表元素 、 707.设计链表 、 206.反转链表
  • 【Acwing167】木棒(dfs+剪枝)超级详细题解!
  • 【数据库】组合查询 UNION
  • Spring Cloud之微服务
  • 微信小程序笔记功能(富文本editor功能)开发
  • 一文拿捏内网穿透利器之frp(反向代理软件相关)
  • Hadoop3.0大数据处理学习3(MapReduce原理分析、日志归集、序列化机制、Yarn资源调度器)
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • canvas绘制圆角头像
  • exif信息对照
  • Git同步原始仓库到Fork仓库中
  • JAVA之继承和多态
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • vue.js框架原理浅析
  • 笨办法学C 练习34:动态数组
  • 汉诺塔算法
  • 看域名解析域名安全对SEO的影响
  • 前端性能优化--懒加载和预加载
  • 如何解决微信端直接跳WAP端
  • 入门到放弃node系列之Hello Word篇
  • 设计模式走一遍---观察者模式
  • 小试R空间处理新库sf
  • 用element的upload组件实现多图片上传和压缩
  • 用Python写一份独特的元宵节祝福
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (三)模仿学习-Action数据的模仿
  • (三十五)大数据实战——Superset可视化平台搭建
  • (四)c52学习之旅-流水LED灯
  • (四)汇编语言——简单程序
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (转)ORM
  • .net core控制台应用程序初识
  • .Net IOC框架入门之一 Unity
  • .NET和.COM和.CN域名区别
  • .ui文件相关
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • @Resource和@Autowired的区别
  • [《百万宝贝》观后]To be or not to be?
  • [1159]adb判断手机屏幕状态并点亮屏幕
  • [1181]linux两台服务器之间传输文件和文件夹
  • [BJDCTF2020]The mystery of ip1
  • [C#] 如何调用Python脚本程序
  • [CTF]2022美团CTF WEB WP