0422-基于单片机的有害气体/空气质量监测系统设计

2024-03-14 19:10

本文主要是介绍0422-基于单片机的有害气体/空气质量监测系统设计,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

近年来,随着生活水平的提高和现代工业化社会的发展进步,家居环境中存在的各类有害气体,和易燃易爆气体正在威胁着人们的正常生活,对生命安全带来巨大隐患。研究具备智能化属性,支持环境自动检测和网络报警功能的家庭有害气体检测系统,对保障人们安全的生活环境具有重要意义。

功能描述

1、采用51单片机作为主控单元芯片;

2、采用LCD1602液晶显示;

3、采用MQ135传感器检测有害毒气浓度;

4、采用ADC0832进行模数转化处理;

5、当检测到浓度超标时,蜂鸣器会发出报警同时红灯亮、风扇开;

6、当检测到浓度未超标时,绿灯亮;

7、通过按键对报警值进行设置;

按键说明

KEY1:进入/退出报警值设置菜单;

KEY2:对报警值参数进行“+1”操作;

KEY3:对报警值参数进行“-1”操作;

整体方案

本设计采用模块化设计思想,以51单片机为核心,将其他模块有机的整合在一起,形成一个统一的系统,硬件系统的框图如图所示。

电路设计

采用Altium Designer作为电路设计工具。Altium Designer通过把原理图设计、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。

仿真设计

采用Proteus作为仿真设计工具。Proteus是一款著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

主程序设计

void main()	  //主函数
{Init1602();//初始化显示init();	   //初始化定时器while(1)   //进入循环{for(m=0;m<50;m++)		//读50次AD值sum =adc0832(0) + sum;	//读到的AD值,将读到的数据累加到sumtemp_r =sum/50;			//跳出上面的for循环后,将累加的总数除以50得到平均值tempsum =0; 					//平均值计算完成后,将总数清零if(set==0 && delay_1s==20)			//只有在非设置状态时,{delay_1s=0;temp = temp_r;}Display_1602(temp,WARNING);	//才刷新显示实时浓度值if(temp<WARNING && set==0)	   	//非设置时当浓度值小于报警值时{flag=0;					   	//报警标志位置0,不报警}else if(temp>WARNING && set==0)	//非设置时当浓度值大于报警值时{flag=1;					   	//报警标志位置1}Key();						   	//扫描按键}
}

源文件获取

关注公众号【电子开发圈】,首页发送 “气体” 获取;

这篇关于0422-基于单片机的有害气体/空气质量监测系统设计的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/809444

相关文章

电脑找不到mfc90u.dll文件怎么办? 系统报错mfc90u.dll丢失修复的5种方案

《电脑找不到mfc90u.dll文件怎么办?系统报错mfc90u.dll丢失修复的5种方案》在我们日常使用电脑的过程中,可能会遇到一些软件或系统错误,其中之一就是mfc90u.dll丢失,那么,mf... 在大部分情况下出现我们运行或安装软件,游戏出现提示丢失某些DLL文件或OCX文件的原因可能是原始安装包

电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案

《电脑显示mfc100u.dll丢失怎么办?系统报错mfc90u.dll丢失5种修复方案》最近有不少兄弟反映,电脑突然弹出“mfc100u.dll已加载,但找不到入口点”的错误提示,导致一些程序无法正... 在计算机使用过程中,我们经常会遇到一些错误提示,其中最常见的就是“找不到指定的模块”或“缺少某个DL

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Linux系统之主机网络配置方式

《Linux系统之主机网络配置方式》:本文主要介绍Linux系统之主机网络配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、查看主机的网络参数1、查看主机名2、查看IP地址3、查看网关4、查看DNS二、配置网卡1、修改网卡配置文件2、nmcli工具【通用

Linux系统之dns域名解析全过程

《Linux系统之dns域名解析全过程》:本文主要介绍Linux系统之dns域名解析全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、dns域名解析介绍1、DNS核心概念1.1 区域 zone1.2 记录 record二、DNS服务的配置1、正向解析的配置

Linux系统中配置静态IP地址的详细步骤

《Linux系统中配置静态IP地址的详细步骤》本文详细介绍了在Linux系统中配置静态IP地址的五个步骤,包括打开终端、编辑网络配置文件、配置IP地址、保存并重启网络服务,这对于系统管理员和新手都极具... 目录步骤一:打开终端步骤二:编辑网络配置文件步骤三:配置静态IP地址步骤四:保存并关闭文件步骤五:重

Windows系统下如何查找JDK的安装路径

《Windows系统下如何查找JDK的安装路径》:本文主要介绍Windows系统下如何查找JDK的安装路径,文中介绍了三种方法,分别是通过命令行检查、使用verbose选项查找jre目录、以及查看... 目录一、确认是否安装了JDK二、查找路径三、另外一种方式如果很久之前安装了JDK,或者在别人的电脑上,想

Linux系统之authconfig命令的使用解读

《Linux系统之authconfig命令的使用解读》authconfig是一个用于配置Linux系统身份验证和账户管理设置的命令行工具,主要用于RedHat系列的Linux发行版,它提供了一系列选项... 目录linux authconfig命令的使用基本语法常用选项示例总结Linux authconfi