概述
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单片机的报警器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复