软件开发PM2.5检测 带BH1750FVI光照
软件开发单片机源程序:
- 软件开发#include <reg52.h>
- 软件开发#include <intrins.h>
- 软件开发#include "12864.h"
- 软件开发#include "ds1302.h"
- typedef unsigned char BYTE;
- typedef unsigned short WORD;
- uint wendu=0; //温度变量
- uint shidu=0; //湿度变量
- uint pm25=0; //pm2.5变量
- uint stwendu=30; //温度报警变量
- uint stguang=100; //光照报警变量
- uint stpm25=100; //pm2.5报警变量
- uchar hor,min,sec; //时分秒
- uchar initial_time[]={0x00,0x00,0x00}; //时分秒设定
- unsigned int guangzhao=0; //光照变量
- float xdata guang=0; //光照变量
- sbit DQ=P1^0; //DHT11 单片机引脚
- sbit SCL=P2^0; //IIC时钟引脚定义 读取光照用
- sbit SDA=P2^1; //IIC数据引脚定义
- sbit k1=P3^2; //+ 按键
- sbit k2=P3^3; //-
- sbit k3=P3^4; //设置
- sbit led1=P1^5; //wendu baojing
- sbit led2=P1^6; // guangzhao baojing
- sbit led3=P1^7; //pm2.5baojing
- sbit fmq=P0^0; //pm2.5baojing
- uchar BUF[8]; //接收数据缓存区
- unsigned char xdata dat[6]; //串口变量 用于读取pm2.5
- unsigned char k=0;
- unsigned char flagcom=0;
- unsigned char xdata ge,shi,bai,qian,wan; //显示变量
- #define SlaveAddress 0x46 //定义器件在IIC总线中的从地址,根据ALT ADDRESS地址引脚不同修改
- //ALT ADDRESS引脚接地时地址为0x46,接电源时地址为0x3A
- //*****************************************长延时*****************************************
- void Delay(unsigned int s)
- {
- unsigned int i;
- for(i=0; i<s; i++);
- for(i=0; i<s; i++);
- }
- void Delay5us()
- {
- _nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();
- _nop_();_nop_();_nop_();_nop_();
- }
- void Delay5ms()
- {
- WORD n = 560;
- while (n--);
- }
- //**************************延时函数
- void delay_ms(unsigned int k)
- {
- unsigned int i,j;
- for(i=0;i<k;i++)
- {
- for(j=0;j<121;j++)
- {;}}
- }
- //温湿度读取
- //初始化DTH11
- bit Init_DTH11()
- {
- bit flag;
- uchar num;
- DQ=0;
- delay_ms(20); // >18ms
- DQ=1;
- for(num=0;num<10;num++); // 20-40us 34.7us
- for(num=0;num<12;num++);
- flag=DQ;
- for(num=0;num<11;num++); //DTH响应80us
- for(num=0;num<24;num++); //DTH拉高80us
- return flag;
- }

芯片解密