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


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

    概要

      本设计使用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

  • 相关阅读:
    redis高可用
    Redis-主从复制是怎么实现的
    iPhone辐射超标,发布三年突然禁售了
    Elasticsearch8 - Docker安装Elasticsearch8.12.2
    搞明白 行锁、表锁、意向锁、间隙锁、next-key锁。。。
    GDB调试器(linux)
    javascript复习之旅 2.3 instanceof
    Harbor仓库概述
    数据仓库架构详解
    一次吃亏的运维经历
  • 原文地址:https://blog.csdn.net/2201_75940997/article/details/134081053