1049-基于51单片机的报警器(温度,烟雾,红外)原理图、流程图、物料清单、仿真图、源代码
功能介绍:
系统采用单片机为核心硬件平台,传感器选用热释电红外模块。系统能自动探测人员出入,火灾异常,并及时做出声光报警。
温度过高、烟雾过限、红外有信号,启动报警
LED指示报警类型
有哪些资料:
1、仿真工程文件
2、源代码工程文件
3、原理图工程文件
4、流程图
5、功能介绍
6、元件清单
#include "reg51.h"
#include "lcd1602.h"
#include"Ds18b20.h"
#include "ADC0832.h"
#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^3;//按钮
sbit k2=P3^4;
sbit k3=P3^5;
sbit k4=P3^6;
sbit led3=P2^3;//led
sbit led1=P2^4;
sbit led2=P2^5;
sbit beep=P2^6;//蜂鸣器
sbit in=P3^7;//红外
uchar time=0,mode=0;//系统变量
uint wendu=0,lim1=60;//温度
uchar yan=0,lim2=80;
uchar disp1[]="T:00.0C Lim:00C";//显示
uchar disp2[]="Yan:00% Lim:00% ";
//延时
void delay(uint i)
{
while(i--);
}
void main() //主函数
{
init_1602();
TMOD|=0X01;
TH0=0X3C;
TL0=0XB0;
ET0=1;//打开定时器0中断允许
EA=1;//打开总中断
TR0=1;//打开定时器
while(1)
{
if(!k1)//温度加
{
delay(1000);
if(!k1)
{
if(lim1<99)
lim1++;
while(!k1);
}
}
if(!k2)//温度减
{
delay(1000);
if(!k2)
{
if(lim1>0)
lim1--;
while(!k2);
}
}
if(!k3)//烟雾加
{
delay(1000);
if(!k3)
{
if(lim2<99)
lim2++;
while(!k3);
}
}
if(!k4)//烟雾减
{
delay(1000);
if(!k4)
{
if(lim2>0)
lim2--;
while(!k4);
}
}
}
}
//定时器中断