基于单片机的塑料厂房气体检测系统设计
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式
文章目录
- 概要
- 一、设计的主要内容
- 二、系统硬件设计
- 三、软件设计
- 实物
- 四、结论
- 五、 文章目录
概要
本文首先分析了基于单片机的可燃气体检测系统的设计需求,完成了系统架构设计。在此基础上进行了单片机外围电路设计,液晶显示外部电路设计,MQ传感器与AD转换电路设计,电机外部电路设计,开关电路设计。在完成硬件电路设计的基础上,进行了软件流程设计,包括对LCD液晶显示控制程序,读取AD转换后的数据,按键控制程序。
经过调试与验证,基于单片机的可燃气体检测系统已经实现了初始的应用需求,可以对系统所在环境的浓度值进行判断,并通过按键对浓度值进行调整,在超过门限值的时候,能够实现蜂鸣器响、电机转动等报警功能,有着很强的可靠性与实用性。
关键词: 单片机; LCD;声光报警;可燃气体;
一、设计的主要内容
基于单片机的可燃气体检测系统架构框图,系统以STC89C52单片机作为中央处理器。系统工作频率由外部晶振提供,开关按键可以来对系统内的判决门限进行调整;由MQ-2传感器来对当前环境的气体浓度值进行不断检测,经过AD转换后,数据将会送交给单片机;单片机对该数据进行处理,与外部输入的门限值进行比较,当出现大于门限的情况,则输出相应的信号控制报警系统:蜂鸣器响、电机转动;整个工作过程的结果将会由LCD1602进行显示。

图1.1 基于单片机的可燃气体检测系统架构
二、系统硬件设计
2.1 绘制电路板概述
本次对基于单片机的可燃气体检测系统设计中使用的是Altium Designer软件完成电路板的绘制,包含以下一些步骤:
(1)新建空的原理图与PCB图;
(2)依据基于单片机的可燃气体检测系统所需要实现的功能选择器件,绘制原理图;
(3)绘制元器件库,如果现有库文件没有相关器件,我们需要自己进行补充,也可以方便下次设计;
(4)PCB封装;
(5)生成PCB;
(6)进行合理的元器件布局,需要充分考虑走线是否方便、散热等问题;
(7)布线,要充分考虑系统电流大小,过孔,焊盘大小等等;
(8)送去加工,找厂家进行板子的制作
三、软件设计
基于单片机的可燃气体检测系统程序架构如图3.1所示,当整个系统运行时,首先是各个部分的初始化,由于系统要实现对开关是否按下的检测,还需要完成包括单片机的中断设置等。

图3.1程序架构
初始化完成以后,MQ-2传感器开始工作,同时将检测到的物理量送交给AD转换器,单片机对AD转换后的数字量数据不断进行读取,而后经过计算可得到当前气体的浓度值。在此过程中,系统不断对开关按键进行检测,当检测到开关按下时,需要对设定的浓度值执行加或者减,长加或者长减。
单片机对计算得到的浓度值与设定的浓度值进行一个比较,并将检测到的浓度值实时显示。倘若当前浓度值已经超过了设定的门限,则表明处于危险状态,单片机控制蜂鸣器响、电机转动。
实物

四、结论
基于单片机的可燃气体检测系统通过传感器对当前环境的可燃气体浓度值进行实时检测,经过AD转换后送交给单片机进行处理;可以通过外部按键来对系统的判决门限即最高浓度值进行设置;单片机对数据处理后,与设定的最高浓度值进行比较,若是大于该浓度值,则输出信号控制蜂鸣器响、电机转动;整个过程中的探测值、设定值均由LCD液晶来进行显示。
本文首先分析了基于单片机的可燃气体检测系统的设计需求,完成了系统架构设计。在此基础上进行了单片机外围电路设计,液晶显示外部电路设计,MQ传感器与AD转换电路设计,电机外部电路设计,开关电路设计。在完成硬件电路设计的基础上,进行了软件流程设计,包括对LCD液晶显示控制程序,读取AD转换后的数据,按键控制程序。
五、 文章目录
目 录
摘 要 I
Abstract II
引 言 3
1 系统总体架构 5
1.1 需求分析与方案设计 5
1.2 系统器件选择 5
1.3 系统架构 6
2 系统硬件设计 6
2.1 绘制电路板概述 6
2.2 单片机电路设计 7
2.2.1 STC89C52单片机介绍 7
2.2.2 STC89C52单片机外围电路设计 8
2.3 LCD1602液晶显示电路设计 10
2.3.1 LCD1602液晶显示器介绍 10
2.3.2 LCD1602液晶外围电路设计 11
2.4 传感器与AD转换电路设计 12
2.5 电机电路设计 13
2.6 按键系统 14
2.7 调试电路 15
3 系统软件流程设计 16
3.1 程序架构 16
3.2 LCD显示程序设计 17
3.3 按键控制程序设计 19
4 系统验证 22
4.1 焊接与调试 22
4.2 程序烧录与调试 23
结 论 25
参考文献 26
附录1 元器件清单 27
附录2 源程序清单 28
致 谢 44
相关文章:
基于单片机的塑料厂房气体检测系统设计
欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 技术交流认准下方 CSDN 官方提供的联系方式 文章目录 概要 一、设计的主要内容二、系统硬件设计三、软件设计实物 四、结论五、 文章目录 概要 本文首先分析了基于单片机的可燃…...
HTTP-FLV详解及分析
文章目录 前言一、HTTP-FLV 简介1、市场上使用 http-flv 的商家2、http-flv、rtmp 和 hls 直播的优缺点3、http-flv 技术实现 二、Nginx 配置 http-flv1、Windows 安装 nginx,已经集成 nginx-http-flv-module2、nginx.conf 配置文件3、运行 nginx 服务器4、ffmpeg 推…...
docker应用实例及dockerfile
实际应用 神经网络项目由x86cpu的linux环境移到arm cpu架构上运行,使用docker进行测试以及环境配置。 docker load -i 镜像压缩文件.tar docker load -i命令用于从一个压缩的镜像存档文件(通常是以.tar扩展名结尾)中加载镜像到本地Docker引擎…...
【Qt之QWizard】使用1
QWizard使用 描述方法枚举:enum QWizard::WizardButton枚举:enum QWizard::WizardOption枚举:enum QWizard::WizardStyle枚举:enum QWizard::WizardPixmap常用成员方法槽函数信号 示例设置标题添加page页设置按钮文本设置自定义按…...
移植LVGL到单片机的一个demo简单介绍
简介 背景: 本文使用的是主控IC为stm32f103zet6, 显示IC为ST7735s,它是128*160的像素,色深为RGB565颜色。 官方虽然说LVGL移植平台只需 64kB 闪存和 8kB RAM 就足以满足简单的用户界面。但我移植到stm32f103c8t6,不管怎么修改配…...
rust_for_linux驱动完整版记录
文章目录 [清华开源操作系统训练营]《Rust fox Linux》课程的练习1-2完整版记录。1. 环境搭建2. 编译rust内核2.1 下载源代码2.2 安装rust支持2.3 检查linux内核是否支持rust2.4 编译linux内核 3. aarch64的qemu环境3.1.下载源代码3.2. 解压编译安装3.3. 配置环境变量3.4.验证 …...
Android拖放startDragAndDrop拖拽Glide灵活加载堆叠圆角图,Kotlin(6)
Android拖放startDragAndDrop拖拽Glide灵活加载堆叠圆角图,Kotlin(6) Android拖放startDragAndDrop拖拽Glide加载堆叠圆角图,Kotlin(5)-CSDN博客文章浏览阅读1.3k次。Android Dyna…...
计算机网络课后作业2023秋
计算机网络第三版吴功宜版 课后作业 第一章作业三、计算与问答3.73.8 第二章作业三、计算与问答3.23.53.6 第三章作业三、计算与问答3.13.53.73.8 第四章作业三、计算与问答3.13.2 第五章作业三、计算与问答3.13.33.4VLAN交换机模式模式切换重置交换机VLAN配置命令其…...
阿里云国际站:全球加速GA
文章目录 一、前言 二、阿里云全球加速的概念 三、阿里云全球加速的功能优势 四、阿里云全球加速的原理 五、阿里云全球加速的应用场景 六、写在最后 一、前言 随着互联网的快速发展,网站速度已经成为了用户访问体验的一个重要指标。阿里云加速作为一种新的技…...
M2LC-Net
模型结构 作者未提供代码...
Jenkins 质量扫描
代码质量扫描工具(SonarQube) 质量评审 SonarQube有四个关键组件 ◼ SonarQube Server运行有三个组件 ◆ Web Server:UI ◆ Search Server:为UI提供搜索功能,基于ElasticSearch ◆ Compute Engine Server:…...
【LeetCode刷题笔记】滑动窗口
992. K 个不同整数的子数组 解题思路: 滑动窗口 , 题目问题转化为: 求 「最多存在 K 个不同整数的子数组的个数」 与 「最多存在 K - 1 个不同整数的子数组的个数」 之差, 就是题目所求的 「恰好存在 K 个不同整数的子数组的个数」 , 最终问题就变成求解滑动窗口内,以 R …...
笔试题之指针和数组的精讲
𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…...
.secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
导言: 勒索病毒成为了网络安全的一项严峻挑战,其中.secret勒索病毒尤为引人注目。这种恶意软件通过加密用户的数据文件,使其无法访问,并勒索受害者支付赎金以获取解密密钥。本文将介绍.secret勒索病毒的基本信息,以及…...
junit写搜索树测试
用法 assertTrue(range.contains("Two")); 2个参数,右边错就打印左边. AbstractSelfBalancingBinarySearchTree abt; AbstractBinarySearchTree.Node node; Before public void setUp() { abt new AbstractSelfBalancingBinarySearchTree() { Override protecte…...
顺丰接口对接-订单创建与取消(java单元测试)
api文档 下单接口 :https://qiao.sf-express.com/Api/ApiDetails?level3393&interName%E4%B8%8B%E8%AE%A2%E5%8D%95%E6%8E%A5%E5%8F%A3-EXP_RECE_CREATE_ORDER 取消订单接口: https://qiao.sf-express.com/Api/ApiDetails?level3339&interNa…...
C++:OJ练习(每日练习!)
编程题: 题一:计算日期到天数的转换 计算日期到天数转换_牛客题霸_牛客网 (nowcoder.com) 示例1 输入: 2012 12 31 输出: 366 思路一: 第一步:创建年,月,日的变量,并按…...
GPTs Hunter 是什么?
原文: https://openaigptguide.com/openai-gpts-hunter/ GPTs Hunter 是一个功能强大的免费导航网站,支持多语言,提供用户友好的界面。 GPTs Hunter:功能强大的免费导航网站 GPTs Hunter是一个功能强大的免费导航网站ÿ…...
【移远QuecPython】EC800M物联网开发板的硬件TIM定时器精准延时
【移远QuecPython】EC800M物联网开发板的硬件TIM定时器精准延时 文章目录 导入库定时器初始化延时函数定时中断回调调用函数打包附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 首先 这个定时器是硬件底层级别的 优先级最高 如果调用 会导致GN…...
HDU 1027:Ignatius and the Princess II ← next_permutation()
【题目来源】http://acm.hdu.edu.cn/showproblem.php?pid1027【题目描述】 Now our hero finds the door to the BEelzebub feng5166. He opens the door and finds feng5166 is about to kill our pretty Princess. But now the BEelzebub has to beat our hero first. feng5…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
