求c语言用51单片机编有线门铃的程序只要简单的按键就响的那种!

2025-02-22 23:22:08
推荐回答(1个)
回答1:

#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();

}

}

}

}