当前位置:   article > 正文

【单片机毕业设计】【mcuclub-dz-069】空气质量检测

【单片机毕业设计】【mcuclub-dz-069】空气质量检测

一、基本介绍

项目名:基于单片机的空气质量检测系统设计

项目名:空气质量检测
项目编号:mcuclub-dz-069
单片机:STC89C52
功能简介:
1、通过GP2Y10测量PM2.5浓度,当PM2.5浓度大于设置最大值,进行声光报警,并开启风扇通风
2、通过DHT11测量温湿度,当温度大于设置最大值,启动风扇降温,当温度小于设置最小值,启动加热片升温,当湿度大于设置最大值,启动风扇除湿,当温湿度小于设置最小值,启动加湿器加湿。
另外,温湿度异常需要进行声光报警
3、通过按键设置各阈值
4、通过LCD1602显示测量数据

二、资料总览

实物资料

请添加图片描述

仿真资料

请添加图片描述

三、51单片机部分资料展示

1、实物图展示

单片机型号:STC89C52
供电接口:TYPE-C
板子类型:PCB集成板,厚度1.2,两层板(上下层覆铜接地)
器件类型:元器件基本上为插针式,个别降压芯片会使用贴片式。

在这里插入图片描述

2、仿真图展示

在这里插入图片描述

3、原理图展示

软件版本:AD2013
电路连线方式:网络标号连线方式
注意:原理图只是画出了模块的引脚图,而并不是模块的内部结构图

在这里插入图片描述

4、PCB图展示

由原理图导出,中间有一个项目编号,隐藏在单片机底座下,插入单片机后不会看到。
两层板,上下覆铜接地。

在这里插入图片描述

四、系统框图

绘制软件:VISIO

在这里插入图片描述
本设计以单片机为核心控制器,加上其他模块一起组成此次设计的整个系统,其中包括中控部分、输入部分和输出部分。中控部分采用了单片机控制器,其主要作用是获取输入部分的数据,经过内部处理,逻辑判断,最终控制输出部分。输入由四部分组成,第一部分是PM2.5检测模块,通过GP2Y10测量PM2.5浓度;第二部分是温湿度传感器模块,通过DHT11测量温湿度;第二部分是按键模块,通过该模块可以切换界面、设置阈值、切换模式等;第三部分是供电模块,通过该模块可给整个系统进行供电。输出由三部分组成,第一部分是显示模块,通过该模块可以显示监测的数据以及设置的阈值;第二部分是继电器模块,通过三个继电器分别加热片升温、风扇除湿、加湿器加湿。;第三部分是声光报警模块,当监测值不在设置的阈值内时进行声光报警。具体系统框图如图3.1所示。

五、部分程序展示

软件版本:keil5
注意:逻辑程序和驱动程序分开,分布于main.c和其他.c文件

*******处理函数
*****/
void Manage_function(void)
{
if(flag_display == 0) //测量界面
{
if(pm2_5_value > pm2_5_max) //如果PM2.5大于最大值声光报警启动风扇
{
pm25_led_beep = 1;
pm25_fs = 1;
}
else //如果PM2.5小于最大值关闭声光报警和风扇
{
pm25_led_beep = 0;
pm25_fs = 0;
}

	if(temp_value > temp_max*10)				//如果温度大于最大值开启风扇和声光报警,同时关闭加热
	{
		temp_fs = 1;
		JR = 1;
		temp_led_beep = 1;
	}
	else if(temp_value < temp_min*10)		//如果温度小于最小值关闭风扇,开启声光报警,同时加热
	{
		temp_fs = 0;
		JR = 0;	
		temp_led_beep = 1;
	}
	else																//温度在正常范围内,关闭风扇,声光报警和加热
	{
		temp_fs = 0;
		JR = 1;	
		temp_led_beep = 0;		
	}
		
	if(humi_value > humi_max*10)			//如果湿度大于最大值开启风扇和声光报警,同时关闭加湿
	{
		humi_fs = 1;
		JS = 1;
		humi_led_beep = 1;
	}
	else if(humi_value < humi_min*10) //如果湿度小于最小值关闭风扇,开启声光报警,同时开启加湿
	{
		humi_fs = 0;
		JS = 0;	
		humi_led_beep = 1;
	}
	else															//湿度在正常范围内,关闭风扇,声光报警和加湿
	{
		humi_led_beep = 0;
		humi_fs = 0;
		JS = 1;	
	}

	if(pm25_led_beep == 1 || temp_led_beep == 1 || humi_led_beep == 1)
	{
		if(time_num % 10 == 0)
		{
			LED = ~LED;
			BEEP = ~BEEP;			
		}
	}
	else
	{
		LED = 1;
		BEEP = 1;				
	}
	
	if(pm25_fs == 1 || temp_fs == 1 || humi_fs == 1)
		CS = 0;
	else
		CS = 1;	
}
else													         //设置界面
{
	JR = 1;
	CS = 1;
	JS = 1;
	LED = 1;
	BEEP = 1;	
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65

}

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/554107
推荐阅读
相关标签
  

闽ICP备14008679号