51单片机蜂鸣器实验

1.原理:

51单片机蜂鸣器实验_第1张图片 有源蜂鸣器

 有源蜂鸣器,自带震荡电路,编程时只需要给一个电平即可控制,例BEEP=1(打开蜂鸣器)

51单片机蜂鸣器实验_第2张图片 无源蜂鸣器

 无源蜂鸣器,因为没有振荡电路,所以我们要提供一定频率的脉冲信号才能发声

例:while(1){ BEEP=~BEEP;delay(20);}

1.我们先要了解什么是有源蜂鸣器/无源蜂鸣器:
  有源蜂鸣器内部自带振荡电路,只需提供电源即可发声。
  无源蜂鸣器则需提供一 定频率的脉冲信号才能发声, 频率大小通常在 1.5-5KHz 之间。

2.要实现蜂鸣器的控制,我们能否 直接使用 STC89CXX 的 IO 口驱动呢?答案是否定的,
  因为51单片机 IO 口的驱 动能力较弱(即使外接上拉电阻),而蜂鸣器驱动需要约 30mA,
  所以非常困难,即使可以驱动,那对于整个芯片的其 IO 剩下驱动能力就更加弱甚至无法工作。

3.所以我们用一个集成电路ULN2003D来增大电流,来实现蜂鸣器发声

2.电路原理图:(普中A2开发板)

51单片机蜂鸣器实验_第3张图片

51单片机蜂鸣器实验_第4张图片

3.程序说明:

虽然蜂鸣器没有直接与单片机相连,但还是通过控制IO口,我们通过控制P1^5间接的控制蜂鸣器
因为本单片机上的蜂鸣器为无源,所以我们编程时要提供一定频率的脉冲信号。

4.源程序:

#include 

sbit BEEP=P1^5;

/*延时函数:用来产生不同的频率*/
void delay(unsigned int i)
{
	while(i--);
}

/*主函数*/
void main()
{
	while(1)
	{
	   BEEP=~BEEP;
     delay(20);		
	}
	
}

5.开发板运行结果:

   这一环节就省去了,反正也听不到。

   51单片机蜂鸣器实验_第5张图片


以上就是51单片机的蜂鸣器实验了 

想要了解更多的单片机实验,请查看我的51单片机专栏。

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