我是靠谱客的博主 甜美镜子,最近开发中收集的这篇文章主要介绍基于51单片机的报警器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1、433M射频模块
对应四个输出,当有输出是对应端口为1.
2、震动传感器
当有震动的时候,传感器的DO数字输出口为0
3、继电器
当IN检测到低电平的时候,COM与NO口连通

#include "reg52.h"
sbit   IN = P2^4;//继电器的电平	
sbit   D0 = P2^3;//433M射频
sbit   D1 = P2^2;
sbit   LED = P3^7;
sbit variable = P3^4;//震动传感器
int mark;
void Delay800ms()		//@11.0592MHz
{
	unsigned char i, j, k;

	i = 6;
	j = 155;
	k = 91;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}

void Delay500ms()		//@11.0592MHz
{
	unsigned char i, j, k;
	i = 4;
	j = 129;
	k = 119;
	do
	{
		do
		{
			while (--k);
		} while (--j);
	} while (--i);
}
void alarm_off()
{
	IN = 0;
	Delay500ms();
	IN = 1;
}
void alarm_on()
{				  
	IN = 0;
	Delay500ms();
	Delay500ms();
	IN = 1;
}
void alarm()//蜂鸣器报警
{
	IN = 0;
	Delay800ms();
	IN = 1;
}
void main()
{
	while(1)
	{
		if(D0 == 1)//报警模式
		{
			mark = 1;
			alarm_on();
		}
		else if(D1 == 1)//解除报警模式
		{
			mark = 0;
			alarm_off();
		}
		if(mark == 1)
		{
		 	if(variable == 0)
			{
			   alarm();
			}
		}
	}
}

基于51单片机的报警器

最后

以上就是甜美镜子为你收集整理的基于51单片机的报警器的全部内容,希望文章能够帮你解决基于51单片机的报警器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(86)

评论列表共有 0 条评论

立即
投稿
返回
顶部