前几天做的小东西小型环境检测系统,能测pm2.5,代码附上,欢迎大家下载和学习,






程序参考主程序如下:

#include<reg52.h>
#include “delay.h”
#include “LCD12864.h”
#include “PM2_5.h”
#include “BMP180.h”
#include “DHT11.h”
#define uint unsigned int
#define uchar unsigned char

sbit waring=P1^3;
void main()
{
lcd_init();
Init_BMP085();
Init_PM2_5();

while(1)
{
bmp085Convert();
RH();

lcd_pos(0,0);
display_string(“pm2.5:”);
if(read_pm()>5)
display_num(read_pm());
else
display_num(5);
display_string(“ug/m3”);
display_string(" ");

lcd_pos(1,0);
display_string(“T:”);
display_num(temperature/10);
display_string(".");
display_num(temperature%10);
display_string("'C");
display_string(" ");

display_string(“H:”);
display_num(RHdataH);
display_string("%");

lcd_pos(2,0);
display_string(“pre:”);
display_num(pressure/1000);
display_string(".");
display_num(pressure%1000);
display_string(“kpa”);

lcd_pos(3,0);
display_string(“smo:”);
if(read_pm()>200)
{
display_string(“High”);
waring=0;
}
else
{
display_string(“low”);
display_string(" “);
waring=1;
}
display_string(“Al:”);
display_num(Altitude);
display_string(“m”);
display_string(” ");
delay_ms(200);
}
}

单片机PM2.5检测程序:

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
#define K_PM 820
void senddata(uchar dat);
uint read_pm();
uchar cal[7]={0};
// cal[0]:起始位 0xAA
// cal[1]:Vout(H)
// cal[2]:Vout(L)
// cal[3]:Vref(H)
// cal[4]:Vref(L)
// cal[5]:校验位
// cal[6]:结束位0xFF

uchar buf;
uchar sum;
int i=0;
float Vo;
void Init_PM2_5()
{
SCON=0x50;
PCON=0x00;

TMOD=0x20;
EA=1;
ES=1;
TL1=0xF4;
TH1=0xF4;
TR1=1;
}

uint read_pm()
{
return (uint)(K_PM*Vo);
}

void serial() interrupt 4
{
ES=0;
RI=0;
buf=SBUF;
senddata(buf);
ES=1;
}

void senddata(uchar dat)
{

if(dat0xAA)
{
i=0;
cal[i]=dat;
}
else
{
i=i+1;
cal[i]=dat;
if(i6)
{
sum=cal[1]+cal[2]+cal[3]+cal[4];
if(sum==cal[5]&&cal[6]==0xFF)
{

// for(i=0;i<=6;i++)
// {
// SBUF=cal[i];
// while(!TI);
// TI=0;
// }
Vo=(cal[1]256+cal[2])/1024.05;
// SBUF=cal[1];
// while(!TI);
// TI=0;
//
//
// SBUF=cal[2];
// while(!TI);
// TI=0;

}
}
}
}

最后,如果有什么意见或者建议欢迎您留言给我,让我们共同学习一起进步,
如果需要 程序完整源代码和 设计文件,请在下方留言或者私信我,看到后会第一时间回复。

项目实战:51单片机控制的小型PM2.5环境检测系统,附技术文件和源码相关推荐

  1. 练手小项目:51单片机控制的智能台灯设计(自动感应调光) 电路图,测试图,源代码全技术资料

    功能及概述 本系统组成如图一所示,主要由三部分组成: 传感器及信号处理部分:检测人体辐射红外信号及光强信号经过处理后变成可处理的数字信号 以80C51组成的中央处理单元:处理信号并发出控制命令 提醒电 ...

  2. 遥控51单片机控制42步进电机(TB6600驱动)控制方向、速度

    遥控51单片机控制步进电机控制方向.速度 控制开发板自带步进电机 遥控控制 控制42步进电机 大二在做srtp时做到了这部分内容,感觉C51控制起来挺简单的,之后有做关于MSP430的魂斗罗游戏和st ...

  3. 51单片机控制的数字温度计 PROTEUS 和51单片机教程

    51单片机控制的数字温度计 总览部分 MCU部分 显示部分 开仿真以后实时显示温度 因为这个程序比较简单,我就直接上代码了,有不明白的请看我以前的文章,谢谢哦! 参考代码如下: #include &q ...

  4. 51单片机控制步进电机-电路连接

    51单片机控制步进电机-电路连接 概要:本案例讲解的内容是51单片机控制步进电机硬件连接部分.后续会分别讲解单片机程序,S曲线加减速方法,上位机等相关内容 硬件清单: 1.51单片机控制板一个 2.二 ...

  5. 51单片机控制二相四线步进电机

    步进电机按定子上绕组来分,有二相.三相和五相等系列.最受欢迎的是两相混合式步进电机,约占97%以上的市场份额,其原因是性价比高,配上细分驱动器后效果良好.该种电机的基本步距角为1.8°/步,配上半步驱 ...

  6. 51单片机控制TB6600驱动器驱动42步进电机

    51单片机控制TB6600驱动器驱动42步进电机 第一次 功能实现目标 硬件简介 硬件连接 程序代码 第一次 以前总是看别人写的博客,通过别人的博客解决了我很多问题,从中也学到了各种知识,虽然不是很系 ...

  7. 51单片机控制的收音机(带串口,遥控,芯片89S52+LC72131+LA1845N)

    本方案采用89S52做为主控芯片,LC72131+LA1845N做为收音模块,支持按键控制,红外线遥控控制,也可通过串口上位机控制,可以通过计算机并口更新单片机软件程序. 音量用两块DS1804控制, ...

  8. 51单片机控制LCD1602模块

    51单片机控制LCD1602模块 视频播放:LCD1602视频 (1)LCD1602概述 先来看看LCD1602什么意思?Liquid Crystal Display(LCD)表示液晶显示,1602 ...

  9. 51单片机控制DHT11温湿度传感器,并使用OLED屏幕显示

    目录 前言 一.MCU主控选型 二.DHT11温湿度传感器 1.模块介绍 2.软件实现 DHT11.c DHT11.h 三.OLED显示屏 1.模块介绍 2.软件实现 OLED.c OLED.h OL ...

最新文章

  1. 云服务器开启ftp_阿里云搭建wordpress 及部署java项目
  2. 一次上机试题(面向对象)
  3. 修改win10 默认网卡 --其实就是改网卡接口跃点
  4. leetcde-27-移除元素
  5. Jmeter之Bean shell使用(四)——跨线程组之间的全局参数传递
  6. python获取html文本框内容_Python3处理HTML获取所需内容
  7. rtsp,rtp,gb28181直接转化为html5播放(二)
  8. Java多线程学习总结(5)——乐观锁和悲观锁的基本概念、实现方式(含实例)、适用场景及常见面试题
  9. System V 共享内存区
  10. Linux的WIFI架构,Linux Wireless架构总结
  11. AUTOSAR如何实现CAN Bus Off恢复的功能?
  12. ftps linux 服务器,linux下ftps服务器的搭建总结
  13. cadence导入dxf文件_CADENCE16.3导入DXF文件
  14. hp 服务器主板如何查看型号,hp台式电脑主板型号怎么查看
  15. Python爬取拉勾网招聘信息并可视化分析
  16. 电脑出现不良代码查找
  17. matlab绘图崩溃,重新采用硬件加速绘图
  18. winform做的单机登录界面和账号注册界面
  19. 【Java】浅谈Swing概况及简单窗口的构建
  20. YII2 with的使用

热门文章

  1. Charm-crypto的安装与使用
  2. 2d有限元计算机仿真,永磁同步电机2D电磁场分析.doc
  3. Buy Tickets
  4. 报表设计工具FastReport Online Designer V2022.1新改变全介绍
  5. 计算机材料仿真,材料微结构的计算机仿真
  6. 《众病之王:癌症传》——读后感
  7. 数字图像处理知识点总结(中)图像增强复习
  8. Java用蚁群算法求最短路径,求最短路径的可用程序代码(蚁群算法)
  9. 官宣!Databend Cloud 和青云科技达成合作
  10. iOS--正则表达式