📄 alarm detection.c
字号:
#include "reg51.h"
sbit Low_Power_Alarm=P1^7;
sbit High_Power_Alarm=P1^6;
void Delay(unsigned char n)
{
unsigned char i,j;
for(;n!=0;n--)
for(j=2;j!=0;j--)
for(i=250;i!=0;i--);
}
void Short_Wong(void) /*尖锐嘟嘟声---周期为380us,持续100ms,间隔200ms,重复10次*/
{
unsigned char i,j,n;
for(n=10;n!=0;n--)
{
for(i=132;i!=0;i--)
{
for(j=94;j!=0;j--);
Low_Power_Alarm=0;
for(j=94;j!=0;j--);
Low_Power_Alarm=1;
for(j=94;j!=0;j--);
Low_Power_Alarm=0;
for(j=94;j!=0;j--);
Low_Power_Alarm=1;
}
Delay(200);
}
}
void Short_Wong_3s(void) /*尖锐嘟嘟声---周期为380us,持续3s*/
{
unsigned char i,j,n;
for(n=24;n!=0;n--)
{
for(i=165;i!=0;i--)
{
for(j=94;j!=0;j--);
Low_Power_Alarm=0;
for(j=94;j!=0;j--);
Low_Power_Alarm=1;
for(j=94;j!=0;j--);
Low_Power_Alarm=0;
for(j=94;j!=0;j--);
Low_Power_Alarm=1;
}
}
}
void Rings(void) /*长嘟嘟声----周期为4.624ms,持续1.5s,间隔250ms*/
{
unsigned char i,j,n;
for(j=162;j!=0;j--)
{
for(n=2;n!=0;n--)
{
for(i=250;i!=0;i--);
for(i=250;i!=0;i--);
for(i=250;i!=0;i--);
for(i=250;i!=0;i--);
for(i=153;i!=0;i--);
Low_Power_Alarm=0;
for(i=250;i!=0;i--);
for(i=250;i!=0;i--);
for(i=250;i!=0;i--);
for(i=250;i!=0;i--);
for(i=153;i!=0;i--);
Low_Power_Alarm=1;
}
}
Delay(250);
}
void Alarm(void)
{
unsigned char i,j,Fre_Time;
for(Fre_Time=109;Fre_Time!=84;Fre_Time--)
for(i=90;i!=0;i--)
{
j=Fre_Time;
while(--j!=0);
Low_Power_Alarm=0;
j=Fre_Time;
while(--j!=0);
Low_Power_Alarm=1;
}
}
void main(void)
{
while(1)
{
Rings();
Short_Wong();
Short_Wong_3s();
while(1)
Alarm();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -