基于51单片机的可燃气体监测系统

目录

具体实现功能

设计介绍

资料内容

全部内容

资料获取


具体实现功能

具体功能:

(1)O2传感器、CO传感器、H2S传感器、CH4传感器实时检测空气中的数值,并通过LCD1602实时显示;

(2)可以通过按键设定O2、CO、H2S、CH4的报警阈值;

(3)当测得的值超过设定的报警阈值时,相应的指示灯亮,蜂鸣器响,实现声光报警,同时继电器动作实现排风和断燃气。

仿真演示视频:

202-基于51单片机的可燃气体监测

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

复制代码
///////////////////////////////////////////////////
/*********************************************************/
// 主函数
/*********************************************************/
void main(void)
{
	uchar i;				// 循环变量

	LcdInit();				    	// 液晶功能初始化
	LcdShowInit();					// 液晶显示初始化
	AlarmInit();						// 报警值初始化

	while(1)
	{
		Q7=Get_ADC0832();			// 读取Q7强度
		Q7=Q7/2.5;					// 缩小Q7检测结果(在0-99)
		if(Q7>99)							// 如果大于99
			Q7=99;								// 则依然保持99
		LcdGotoXY(0,3);							// 液晶定位到第0行第6列
		LcdPrintNum1(Q7);						// 显示测量结果
		
		Q8=Get_ADC08321();			// 读取Q8强度
		Q8=Q8/2.5;					// 缩小Q8检测结果(在0-99)
		if(Q8>99)							// 如果大于99
			Q8=99;
		LcdGotoXY(0,12);							// 液晶定位到第0行第6列
		LcdPrintNum1(Q8);						// 显示测量结果
		
		
		Q2=Get_ADC08322();			// 读取Q2强度
		Q2=Q2/2.5;					// 缩小Q2检测结果(在0-99)
		if(Q2>99)							// 如果大于99
			Q2=99;								// 则依然保持99
		LcdGotoXY(1,3);	 						// 定位到要显示Q2的地方
		LcdPrintNum2(Q2);					// 显示Q2值
		
		Q5=Get_ADC08323();			// 读取Q5强度
		Q5=Q5/2.5;					// 缩小Q5检测结果(在0-99)
		if(Q5>99)							// 如果大于99
			Q5=99;	
		LcdGotoXY(1,12);						// 定位到要显示Q5的地方
		LcdPrintNum2(Q5);					// 显示Q5值
		
		
		// 报警判断
		AlarmJudge();						
		
		/*按键扫描和延时*/
		for(i=0;i<30;i++)
		{
			KeyScanf();								// 按键判断
			DelayMs(10);
		}
	}
}

程序运行结果如图:

全部内容

全部资料包括程序(keil5)、protues仿真(protues8.7)、设计说明、答辩PPT、开发资料、资料使用介绍、仿真视频、最小系统介绍视频等。

资料获取

https://docs.qq.com/doc/DT3J0WXhtcENmT1dw

相关推荐
曼亿点2 分钟前
STM32HAL驱动L298N电机驱动模块(PWM调速+双电机控制)保姆级教程
stm32·单片机·嵌入式硬件
筱谙3 分钟前
BES 芯片跨核通讯与共享内存设计原理
嵌入式硬件·音频·蓝牙
思为无线NiceRF17 分钟前
高空线路安装智能安全帽全双工组网对讲系统(含优先级管控)应用方案
嵌入式硬件·物联网
独小乐2 小时前
012.整体框架适配SDRAM|千篇笔记实现嵌入式全栈/裸机篇
c语言·汇编·笔记·单片机·嵌入式硬件·arm·gnu
不吃鱼的羊2 小时前
ADC扫描组Scan Group
单片机
LCMICRO-133108477463 小时前
长芯微LPC556D1完全P2P替代DAC8830,是引脚兼容的16位数模转换器,该系列产品为单通道、低功耗、缓冲电压输出型DAC
stm32·单片机·嵌入式硬件·fpga开发·硬件工程·电压输出型dac
forAllforMe3 小时前
如何用定时器PWM产生SPWM?--电机驱动控制
嵌入式硬件
charlie1145141914 小时前
嵌入式C++教程实战之Linux下的单片机编程(9):HAL时钟使能 —— 不开时钟,外设就是一坨睡死的硅
linux·开发语言·c++·单片机·嵌入式硬件·c
钿驰科技4 小时前
水泵无刷电机驱动板如何实现恒压控制?
单片机·嵌入式硬件
xingzhemengyou14 小时前
STM32 DMA
stm32·单片机·嵌入式硬件