本次设计主要分五个个功能,分别为测温湿度,烟雾感应和报警,显示信息和报警信息。将这几个个功能巧妙的与家居结合,我们已经知道五个单独功能如何实现,现在要将五个功能通过单片机系统化反馈,以达到能实现综合五种功能的智能家居。 设计涉及主硬件为:STC89C52RC单片机,DHT11温湿度传感器,MQ-2烟雾传感器,按键设置与LCD1602液晶显示模块,蜂鸣器报警电路,以及超标指示显示模块组成。 1.2.2 功能介绍 1. 采用DHT11温湿度传感器检测温湿度,夏普的GP2Y1010AUOF粉尘传感器检测空气质量给ADC0832模数转换芯片,0832将模拟量装换成数字量给单片机。 2.采用LCD1602液晶屏显示温度、湿度和pm2.5粉尘数据以及各个指标的阀值。 3.三个按键:按键1设置、按键2加、按键3减。按键可以设置温湿度的上下限值和粉尘的上限值,设置的值可以存储到单片机(STC系列)内部的EEPROM中,实现掉电存储,设置的值掉电不丢失。 4. 当温湿度值低于下限或高于上限时,或粉尘数据超过上限值时,相应的led指示灯亮,同时蜂鸣器响,实现声光报警。 #include <reg52.h> #include <intrins.h> #include <absacc.h> #include <math.h> #include "0832.h" #define uchar unsigned char #define uint unsigned int #include "eeprom52.h"
sbit DATA = P3^7; //温湿度 sbit E=P2^7;//1602使能引脚 sbit RS=P2^5;//1602数据/命令选择引脚 sbit RW=P2^6; sbit K1=P1^3;//设置键 sbit K2=P1^4;//加 sbit K3=P1^5;//减 //sbit K5=P1^6; //布防撤防按键 sbit LED1=P3^1; //烟雾报警 sbit LED2=P3^2; //温度上限 sbit LED3=P3^3;//温度下限 sbit LED4=P3^4; //湿度上限 sbit LED5=P3^5; //湿度下限 //sbit LED6=P3^6; //红外报警 sbit alarm=P3^0; //蜂鸣器 uchar U8FLAG,U8temp,U8comdata,U8RH_data_H_temp,U8RH_data_L_temp,U8T_data_H_temp,U8T_data_L_temp,U8checkdata_temp; uchar U8RH_data_H,U8RH_data_L,U8T_data_H,U8T_data_L,U8checkdata; uchar Mode,humidity,temperature,smog; bit flag_BJ=0; uchar PM_Counter=0; uint sum=0; uint DA=0; bit bdata FlagStartRH; uchar flag ;//记录当前设置状态 uint count;
//定时器0初始化 void Timer0_Init() { ET0 = 1; //允许定时器0中断 TMOD = 0x11; //定时器工作方式选择 TL0 = 0xb0; TH0 = 0x3c; //定时器赋予初值 TR0 = 1; //启动定时器 TH1=0xdc; TL1=0x00; ET1=1; EA=1; }
//定时器0中断 void Timer0_ISR (void) interrupt 1 { uchar RHCounter; TL0 = 0xb0; TH0 = 0x3c; //定时器赋予初值 RHCounter++; PM_Counter++; if(RHCounter%2==0&&flag_BJ==1) { alarm=!alarm; } if(RHCounter >= 20) { FlagStartRH = 1; RHCounter = 0; } if(PM_Counter%2==0) { DA=adc0832(0); sum=sum+DA; if(PM_Counter>=100) { PM_Counter=0; sum=sum/50; PM_NUM=(sum/256.0)*5000; PM_NUM=PM_NUM*0.172-0.0999; sum=0; } }
} void Delay1(uint j) { uchar i; for(;j>0;j--) { for(i=0;i<27;i++); } }
void Delay_10us(void) { uchar i; i--; i--; i--; i--; i--; i--; }
void COM(void) {
因篇幅原因,其他内容请查看附件(只有设计思路,不包含程序和仿真图哦,可以作为有限的参考)
智能环境检测仪(文档).docx
(498.85 KB, 下载次数: 22)
|