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

相关文章

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

Linux系统之lvcreate命令使用解读

《Linux系统之lvcreate命令使用解读》lvcreate是LVM中创建逻辑卷的核心命令,支持线性、条带化、RAID、镜像、快照、瘦池和缓存池等多种类型,实现灵活存储资源管理,需注意空间分配、R... 目录lvcreate命令详解一、命令概述二、语法格式三、核心功能四、选项详解五、使用示例1. 创建逻

使用Python构建一个高效的日志处理系统

《使用Python构建一个高效的日志处理系统》这篇文章主要为大家详细讲解了如何使用Python开发一个专业的日志分析工具,能够自动化处理、分析和可视化各类日志文件,大幅提升运维效率,需要的可以了解下... 目录环境准备工具功能概述完整代码实现代码深度解析1. 类设计与初始化2. 日志解析核心逻辑3. 文件处

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

linux重启命令有哪些? 7个实用的Linux系统重启命令汇总

《linux重启命令有哪些?7个实用的Linux系统重启命令汇总》Linux系统提供了多种重启命令,常用的包括shutdown-r、reboot、init6等,不同命令适用于不同场景,本文将详细... 在管理和维护 linux 服务器时,完成系统更新、故障排查或日常维护后,重启系统往往是必不可少的步骤。本文

Mac系统下卸载JAVA和JDK的步骤

《Mac系统下卸载JAVA和JDK的步骤》JDK是Java语言的软件开发工具包,它提供了开发和运行Java应用程序所需的工具、库和资源,:本文主要介绍Mac系统下卸载JAVA和JDK的相关资料,需... 目录1. 卸载系统自带的 Java 版本检查当前 Java 版本通过命令卸载系统 Java2. 卸载自定

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

Linux系统中的firewall-offline-cmd详解(收藏版)

《Linux系统中的firewall-offline-cmd详解(收藏版)》firewall-offline-cmd是firewalld的一个命令行工具,专门设计用于在没有运行firewalld服务的... 目录主要用途基本语法选项1. 状态管理2. 区域管理3. 服务管理4. 端口管理5. ICMP 阻断