51单片机学习记录之蜂鸣器

蜂鸣器发声原理
是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。三极管的作用为驱动,通过三极管放大驱动电流,从而可以让蜂鸣器发出声音。
有源蜂鸣器和无源蜂鸣器的区别
这里的“源”不是指电源。而是指震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。
而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。

51单片机蜂鸣器原理图
此单片机中的蜂鸣器为无源蜂鸣器,所以需要用方波来驱动蜂鸣器。只需在ULN2003芯片的P15口施加方波信号即可,其代码实现:
sbit beep=P1^5;
.
.
.
beep=~beep;

 ● 改变单片机引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各 种不同音色、音调的声音。
 ● 改变输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。

猜你喜欢

转载自blog.csdn.net/weixin_43361544/article/details/84764023