C51——简单的防盗报警器

比较简单就贴个代码行了
后面学习了定时器和中断这些可以加入其中,效果会更好

#include <stdio.h>
#include "reg52.h"
#include <intrins.h>
sbit led 			= P2^2;			 //指示灯 	亮:0  灭:1
sbit wireless_D0 	= P1^0;	   //433无线射频	按下:1  无按下:0
sbit wireless_D1 	= P1^1;	  //433无线射频
sbit shake 			= P1^2;	   //震动传感器: 震动输出:1	   不震动输出:0
sbit buzzer 		= P3^3;	   //蜂鸣器		  响:0  	不响:1

#define led_ON	0
#define	led_OFF 1

#define ON	1
#define OFF	0

void Delay5000us()		//@12.000MHz
{
	unsigned char i, j;

	i = 10;
	j = 183;
	do
	{
		while (--j);
	} while (--i);
}


/*防盗报警器*/
/*
433M无线射频作为遥控警报开关
A键被按下,led指示灯亮起表示开启了警报模式
B键被按下,led指示灯熄灭表示关闭警报模式
警报模式:震动传感器一直工作,每次检测到震动,蜂鸣器响起5秒
*/


int main()
{	
	buzzer = 0;
	while(1){
   //如果sw_a按下,设定为开启警报模式,led指示灯亮起
	 	   if(wireless_D0 == 1){
					 led = led_ON;//指示灯亮起,表示警报模式
		   }

   //如果sw_b按下,设定为关闭警报模式,led指示灯关闭
	   		if(wireless_D1 == 1 ){
					 led = 	led_OFF;
			}
			
			if(led == led_ON){
					if(shake == 1){
					   buzzer = 0;
					   Delay5000us();
					   buzzer = 1;
					}
			}



}
	

 	return 0;
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值