51单片机 使用一个独立按键控制蜂鸣器

第一次按下按键按键key后,蜂鸣器响;

第二次按下按键按键key后,蜂鸣器停。

#include <reg52.h>
sbit beep=P1^5;
sbit key=P3^1;
unsigned int mode;                 //定义一个模式

void delay(unsigned int i)
{
	while(i--);
}

void voice()
{
	if(mode)
	{
	  beep=~beep;
		delay(100);                //更改delay可以让蜂鸣器发出不同的声音
	}
	else
	{
		beep=0;
	}
}

void main()
{
	while(1)
	{
		voice();
	  if(key==0)
	  {
	    delay(1000);
		  if(key==0)
		  {
		    mode=!mode;
		    while(!key);
		  }
	  }
	}
}

猜你喜欢

转载自blog.csdn.net/qq_56894255/article/details/120595655