蜂鸣器
#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,即高电平低电平或者说是通电与断电,为了得到更高的音调,就要不断减短铁片来回抖动的时间,即改变抖动的频率。
这个实验是从高音调逐步变成低音调。