1.粉尘有什么危害?
什么是粉尘?
总悬浮颗粒物(TSP)—环境空气中空气动力学当量直径小于等于100μm的颗粒物。
• PM10—环境空气中空气动力学当量直径小于等于10μm的颗粒物。
• PM2.5—环境空气中空气动力学当量直径小于等于2.5μm的颗粒物。
粉尘对人体的危害,根据其理化性质、进入人体的量的不同,可引起不同的病变。如呼吸性系统疾病、局部作用、中毒作用等。
职业性呼吸系统疾病有如下4种表现
1.尘肺
2.粉尘沉着症
3.有机粉尘引起的肺部病变
4.呼吸系统肿瘤
2. 目的:
随着经济的发展,大气中的污染物也随之增加了许多。现如今的雾霾天气也越来越严重,这些恶劣的天气与空气中的粉尘有着紧密的关系,当然也与其他的因素有关。为了时刻使人们能够更加直观地了解到自己所处环境中粉尘的浓度,这才引进了基于51单片机的GE粉尘传感器技术,这样才能够对大气进行全方位,实时性地采集与处理。
3.粉尘传感器工作原理
① 光散射方法
② LED发射出光线遇粉尘产生反射光
③ 接收传感器检测到反射光的光强,输出信号
④ 通过光强的大小判断粉尘的浓度。
4.传感器内部设计
• 连续光发射的IR LED
• 可见光滤波器,减少外界光线干扰
• 线性电源控制,稳压器稳定探测器的电压,减少噪声
• MICOM自动控制传感器的灵敏度,消除偏移,信噪比好
• 使用加热电阻形成自然向上气流
5.传感器输出
空气中粉尘浓度的计算方法:
一个规定的周期内所有低脉冲时间之和除以这个周期时间。
6.程序
/************************************************************/
//利用单片机P1.0测试10秒内接收到的低脉冲时长
//计算10秒内空气中平均粉尘浓度,并显示。
/************************************************************/
#include unsigned charseven_seg[] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned intj,k,counter1,counter2,dat1=1,dat2; unsigned int i; sbit P1_0 = P1^0; //脉冲输入 bit P1_0_S; /*******************Timer0中断服务函数**********************/ voidtimer0_isr(void) interrupt 1 { TH0 = (65536 - 1000) / 255; TL0 = (65536 - 1000) % 255; i++; if(P1_0 == 0){P1_0_S = 1;counter2++;} //检测低电平并计时 if(P1_0 == 1 && P1_0_S == 1) {P1_0_S = 0;counter1++;} //检测脉冲个数 if(i >= 10000) //10秒到了 { i = 0; dat2 = counter2 * 0.1; //求10秒内平均值 counter1 = 0; counter2 = 0; if(dat2 <= 130)dat1 = 1; //颗粒物等级显示 else { if(dat2 >=250)dat1 = 3; else dat1 = 2; } } P0 = 0xff; //Proteus仿真需要消隐 switch(j) { case 0: P0 = seven_seg[dat2 % 100% 10]; P2 = ~0x01;break; case 1: P0 = seven_seg[dat2 % 100/ 10]; P2 = ~0x02;break; case 2: P0 = seven_seg[dat2 % 1000/ 100] & 0x7f; P2 = ~0x04;break; case 3: P0 = seven_seg[dat2 %10000 / 1000]; P2 = ~0x08;break; case 4: P2 = ~0x00;break; case 5: P0 = seven_seg[dat1 % 10]; //显示颗粒物污染等级 P2 = ~0x20;break; } j++; if(j >= 6) j = 0; } /*********************Timer0初始化函数***********************/ voidtimer0_init(void) { TMOD = 0x01; TH0 = (65536 - 1000) / 255; TL0 = (65536 - 1000) % 255; EA = 1; ET0 = 1; TR0 = 1; } /**************************主函数****************************/ void main(void) { timer0_init(); while(1); }
上一篇:51单片机内部E2ROM
下一篇:【STC单片机学习】第十课:单片机的定时器和计数器
推荐阅读最新更新时间:2024-11-11 13:50
设计资源 培训 开发板 精华推荐
- SSD1619~手♂冲灰阶墨水屏牌子~
- LT1767EMS8E-5 12V 至 3.3V 降压转换器的典型应用电路
- 使用 MaxLinear, Inc 的 LP2950 的参考设计
- 在 AD9279 的 I/Q 输出之后使用 ADA4896-2ACPZ-R7 作为滤波器、I/V 转换器、电流加法器和 ADC 驱动器的典型应用电路
- 使用 California Eastern Laboratories 的 THCV214 的参考设计
- 2019电赛C题-电路负载及故障检测装置-设计报告(国一,东南大学)
- 基于STM32控制的平衡小车
- L7905C 负电压稳压器的典型应用
- LTC6990HS6#TRMPBF 使用 8 位 DAC 编程控制振荡器 NDIV 的典型应用
- LTC3623EUDD 高效 12V 音频驱动器的典型应用电路