完整版 电路图和程序代码 下载地址
https://pan.baidu.com/s/1Me9mZoz7foiuoPrzV33LBQ?pwd=3456
部分代码展示
#include <AT89X51.H>
#include <INTRINS.H>
bit flag;
unsigned char count;
void dely500(void) //延时
{
unsigned char i;
for(i=250;i>0;i--)
{
_nop_();
}
}
void main(void)
{
while(1)
{
if(P3_0==0) //检测到低电平
{
while(1)//死循环报警
{
/*两种频率不一样的脉冲*/
for(count=200;count>0;count--)
{
P2_0=~P2_0;
dely500();
}
for(count=200;count>0;count--)
{
P2_0=~P2_0;
dely500();
dely500();
}
}
}
}
}