【51单片机】驱动蜂鸣器实验代码

//驱动蜂鸣器实验
#include 						
sbit buzzer = P3^7;				//声明蜂鸣器位置
void delay(int);				//声明延迟函数
void pulse_BZ(int,int,int);		//声明发声函数

//主程序。
main()
{
	while(1)
	{
		pulse_BZ(100,10,10);	//响100次,频率为100Hz
		delay(2000);			//延迟2000×0.5ms=1s
	}
}

//延迟函数。延迟时间=n×0.5ms
void delay(int n)
{
	int i,j;
	for(j=0;j<n;j++)
		for(i=0;i<60;i++);		//循环60次约0.5ms
}

//发声函数。在0.5(TH+TL)ms的时间里响count次
void pulse_BZ(int count,int TH,int TL)
{
	int i;
	for(i=0;i<count;i++)
	{
		buzzer = 1;				//输出高电平
		delay(TH);
		buzzer = 0;				//输出低电平
		delay(TL);
	}
}

你可能感兴趣的:(单片机)