单片机实验6:蜂鸣器

蜂鸣器

#include <reg52.h>

sbit Beep = P1^5;

void fp(int x)
{
    
    
	while(x--);
}

void main()
{
    
    
	int i=1,m=0;
	while(1)
	{
    
    
		fp(i);
		Beep = ~Beep;
		m = (m+1)%1000;
		if(m==0)
		{
    
    
			i=i+10;
		}		
	}
}

这里需要注意的是蜂鸣器的工作原理
在这里插入图片描述

大致原理如图,线圈通电后,产生电磁感应形成磁场从而吸引铁片,铁片来回抖动,使空气流动,而铁片抖动的速率不同从而形成不同频率的音调。

因此,在写程序时,为了让蜂鸣器发声,其实就是不断给Beep赋值为0和1,即高电平低电平或者说是通电与断电,为了得到更高的音调,就要不断减短铁片来回抖动的时间,即改变抖动的频率。

这个实验是从高音调逐步变成低音调。

猜你喜欢

转载自blog.csdn.net/The_RedMaple/article/details/111461835