#include
sbit beep=P3^1; //报警蜂鸣器
sbit key=P3^2; //按键
#define uchar unsigned char
#define uint unsigned int
void delay(uint a) //延时
{
while(a--);
}
void delaybeep( uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void Beep(void) //报警声音
{
uint i;
for(i=20;i>0;i--) //取反蜂鸣器驱动口,以产生频率
{
beep=~beep; //音调设置
delaybeep(10);
}
for(i=10;i>0;i--)
{
beep=~beep;
delay(8);
}
}
void main()
{
while(1)
{
if(key==0)
{
delay(1); // 消抖动
if(key==0)
{
while(!key); //松手检测
Beep();
}
}
}
}