资料编号:208

功能介绍:(全套毕设资料齐全)

本电路是由51单片机为控制核心,另外主要通过5个模块的电路设计实现功能,他们分别是LCD显示模块、粉尘传感器、A/D转换、蜂鸣器电路、LED指示电路。

设计的主要内容

本设计提出的检测空气质量PM2.5的方案最基本的实现方法是由单片机、粉尘监测传感器、显示模块、报警模块等组成的电路, GP2Y1010AU0F粉尘传感器采集空气中PM2.5的浓度值,经过STC89C51单片机处理后,在LCD1602液晶上显示,并通过LED和蜂鸣器提示浓度状态。

设计的主要意义

21世纪的今天,科学技术的发展日新月异,科学技术的进步同时也带动了测量技术的发展,现代控制设备不同于以前,它们在性能和结构发生了翻天覆地的变化。我们已经进入了高速发展的信息时代,测量技术是当今社会的主流,广泛地深入到应用工程的各个领域。

因为空气质量的恶化,阴霾天气现象出现增多,危害现象加重。中国不少地区把阴霾天气现象并入雾一起作为灾害性天气预警预报。统称为“雾霾天气”。雾霾主要由PM2.5、PM10、PM0.1以及重金属镍砷铬铅等颗粒组成。在空气动力学和环境气象学中,颗粒物是按直径大小来分类的,粒径小于100微米的称为TSP(TotalSuspendedParticle),即总悬浮物颗粒;粒径小于10微米的称为PM10(PM为ParticulateMatter缩写),即可吸入颗粒物;粒径小于2.5微米的称为PM2.5,即可入肺颗粒物,它的直径仅相当于人的头发丝粗细的1/20。虽然PM2.5只是地球大气成分中含量很少的组分,但它与较粗的大气颗粒物相比,粒径小,富含大量的有毒、有害物质且在大气中的停留时间长、输送距离远,因而对人体健康和大气环境质量影响更大。

世界卫生组织发布的报告显示,无论是发达国家还是发展中国家,目前大多数城市和农村人口均遭受到颗粒物对健康的影响。高污染城市中的死亡率超出相对清洁城市的15%至20%。据统计,在欧洲,PM2.5每年导致386000人死亡,并使欧盟国家人均期望寿命减少8.6个月。人体的生理结构决定了对PM2.5没有任何过滤、阻拦能力,而PM2.5对人类健康的危害却随着医学技术的进步,逐步暴露出其恐怖的一面。气象专家和医学专家认为,由细颗粒物造成的灰霾天气对人体健康的危害甚至要比沙尘暴更大。粒径10微米以上的颗粒物,会被挡在人的鼻子外面;粒径在2.5微米至10微米之间的颗粒物,能够进入上呼吸道,但部分可通过痰液等排出体外,另外也会被鼻腔内部的绒毛阻挡,对人体健康危害相对较小;而粒径在2.5微米以下的细颗粒物,直径相当于人类头发的1/10大小,不易被阻挡。被吸入人体后会直接进入支气管,刺激呼吸道,干扰肺部的气体交换,从而引发咳嗽、呼吸困难、哮喘、慢性支气管炎等呼吸系统的疾病并导致心律不齐、非致命性心脏病等心血管方面的疾病。其中,老人、小孩以及心肺疾病患者是PM2.5污染的敏感人群。

因此,对PM2.5的监测与治理便显得越来越重要。

程序部分展示(有中文注释,新手容易看懂)

#include <intrins.h>

#define uint unsigned int

#define uchar unsigned char //宏定义

sbit RS=P1^6;//液晶接口

sbit EN=P1^7;

sbit LED = P2^0;//粉尘传感器控制接口

sbit ADCS = P3^7;//AD0832接口

sbit ADCLK =P3^5;

sbit ADDI = P3^6;

sbit ADDO = P3^6;

sbit SET= P1^1;//按键接口

sbit ADD= P1^2;

sbit DEC= P1^3;

sbit BEEP=P2^1;//蜂鸣器接口

uchar set_st;

uchar tab[5];

uint DUST_SET=150; //固体颗粒的阈值

//bit shanshuo_st; //闪烁间隔标志

bit beep_st; //蜂鸣器间隔标志

uchar x=4; //计数器

//定义标识

uchar FlagStart = 0;

float DUST_Value;

uint DUST;

uchar num=0;

uchar mm;

uchar abc;

uchar ADC_Get[10]={0}; //定义AD采样数组

uchar str[5]={0};

/*****初始化定时器0*****/

void InitTimer(void)

{

TMOD = 0x01;

TL0 = (65536-10000)/256; //定时10ms

TH0 = (65536-10000)%256;

TR0 = 1;

ET0 = 1;

EA = 1;

}

/*************************lcd1602程序**************************/

void delay1ms(uint ms)//延时1毫秒

{

uint i,j;

for(i=0;i<ms;i++)

for(j=0;j<100;j++);

}

void wr_com(uchar com)//写指令//

{

delay1ms(1);

RS=0;

//RW=0;

EN=0;

P0=com;

delay1ms(1);

EN=1;

delay1ms(1);

EN=0;

}

void wr_dat(uchar dat)//写数据//

{

delay1ms(1);;

RS=1;

//RW=0;

EN=0;

P0=dat;

delay1ms(1);

EN=1;

delay1ms(1);

EN=0;

下面是资料分享下载链接:

https://pan.baidu.com/s/1kFGt0uQGmRt5JZh4BT82PQ?pwd=xzo5

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐