蜂鸣器和普通扬声器相比,最重要一个特点是只要按照极性要求加上合适的直流电压,就可以发出固有频率的声音,因此使用起来比扬声器简单。由此可知,有源蜂鸣器的控制和LED的控制对单片机而言是没有区别的。无源蜂鸣器则要交流驱动,改变驱动频率可以奏简单音乐。
虽然蜂鸣器的控制和LED的控制对于单片机是一样的,但在外围硬件电路上却有所不同,因为蜂鸣器内阻较低且是一个感性负载,一般不建议用单片机I/O口直接对它进行操作,所以最好加个驱动三极管,在要求较高的场合还会加上反向保护二极管。硬件电路如下图所示。
通过硬件原理图可知,图中三极管用了PNP型9012,所以要使蜂鸣器发声只要给单片机RD7交替置低置高电平就可,程序设计如下: