23-基于51单片机的红外防盗报警系统模拟

本文详细描述了一个基于51单片机的红外防盗报警系统,包括紧急报警、布防功能以及取消操作的程序设计。使用Protues8.7进行仿真,并提供了Keil5编程和相关教程视频资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

具体实现功能

设计介绍

51单片机简介

资料内容

仿真实现(protues8.7)

程序(Keil5)

全部内容

资料获取


具体实现功能

(1)按下紧急报警按键,报警指示灯闪烁,蜂鸣器报警;
(2)按下布防按键,布防指示灯开始闪烁,闪烁大约30秒,常亮后进入布防模式;
(3)在布防模式下,红外(按键模拟红外传感器)检测到人后,红外检测指示灯亮,发出声光报警;
(4)按下取消报警/布防按键,退出布防模式,取消报警。

仿真演示视频:

基于51单片机的红外防盗报警系统模拟-仿真视频

设计介绍

51单片机简介

51单片是一种低功耗、高性能CMOS-8位微控制器,拥有灵巧的8位CPU和可编程Flash,使得51单片机为众多嵌入式控制应用系统提供灵活、高效的解决方案。

本设计所使用的芯片可兼容以下所有的51系列单片机(包括AT系列和STC系列)。

资料内容

仿真实现(protues8.7)

本设计利用protues8.7软件实现仿真设计,具体如图。

程序(Keil5)

本设计利用KEIL5软件实现程序设计。

主函数如下:

void main()
{
	LR=1;//初始化三个灯都是灭
	LG=1;
	LY=1;
	delay(5);
	while(1)
	{
		if(s1==0)				//紧急手动报警
		{
				delay(5);	   //延时消抖
				if(s1==0)	
				{
					delay(5);
					while(!s1);
					kai=0;
					LY=1;	    
					LG=1;
					alarm=0; //进入报警状态
					Mode1=1; //Mode1置1:紧急报警过程中以防按了布防键取消紧急报警
					delay(5);
				}			 

		}
		if(s3==0)			//取消报警
		{
								
				delay(5);
				if(s3==0)				
				{
					delay(5);
					while(!s3);
					LR=1;
					LY=1;
					Mode=1;
					Mode1=0;
					alarm=1;
					delay(5);
				}
		}
		if(s2==0)			//布防
		{
			if(Mode1==1) //判断Mode1的状态,如果是紧急报警状态就保持,否则进入布防设置
			{
				alarm=0;
			}
			else
			{
				for(t=0;t<150;t++)
				{
				  LY=~LY;
				  delay(200);
				}
				LR=1;
				LY=0;
				Mode=0;	//布防状态标识
				kai=1;
				delay(5);
			}	
		} 		
		if(alarm==0)
		{
			di();
			delay(100);
			di();
			delay(100);
		}
		if(HR==1&&Mode==0)
		{
			alarm=0;//开始进入报警
		}
		else
		{
			if(kai)
			{
				alarm=1;
				LR=1;
			}
		}
		if(HR==1)  //检测红外模块有信号,绿灯亮,否则灭
		{	   
			LG=0;
			delay(200);
		}
		else
		{
			LG=1;
		}			 
	}
}

程序运行结果如图:

全部内容

全部资料包括程序(keil5)、protues仿真(protues8.7)、开发资料、资料使用介绍、仿真视频、程序讲解视频、仿真讲解视频、最小系统介绍视频等。

资料获取
https://docs.qq.com/doc/DT2lQaG9Ic2lWWmRS

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值