因为自激蜂鸣器是直流电压驱动的,不须要利用交流信号进行驱动,只需对驱动口输出驱动电平并经过三极管放大驱动电流就能使蜂鸣器发出声音,很简单,这里就不对自激蜂鸣器进行说明了。这里只对必须用1/2duty 的方波信号进行驱动的他激蜂鸣器进行说明。
单片机驱动他激蜂鸣器的方式有两种:一种是PWM 输出口直接驱动,另外一种是利用I/O 定时翻转电平产生驱动波形对蜂鸣器进行驱动。
PWM 输出口直接驱动是利用PWM 输出口自己能够输出必定的方波来直接驱动蜂鸣器。在单片机的软件设置中有几个系统寄存器是用来设置PWM 口的输出的,能够设置占空比、周期等等,经过设置这些寄存器产生符合蜂鸣器要求的频率的波形以后,只要打开PWM 输出,PWM 输出口就能输出该频率的方波,这个时候利用这个波形就能够驱动蜂鸣器了。好比频率为2000Hz 的蜂鸣器的驱动,能够知道周期为500μs,这样只须要把PWM 的周期设置为500μs,占空比电平设置为250μs,就能产生一个频率为2000Hz 的方波,经过这个方波再利用三极管就能够去驱动这个蜂鸣器了。
而利用I/O 定时翻转电平来产生驱动波形的方式会比较麻烦一点,必须利用定时器来作定时,经过定时翻转电平产生符合蜂鸣器要求的频率的波形,这个波形就能够用来驱动蜂鸣器了。好比为2500Hz 的蜂鸣器的驱动,能够知道周期为400μs,这样只须要驱动蜂鸣器的I/O 口每200μs 翻转一次电平就能够产生一个频率为2500Hz,占空比为1/2duty 的方波,再经过三极管放大就能够驱动这个蜂鸣器了。
因为这里要介绍两种驱动方式的方法,因此在设计模块系统中将两种驱动方式作到一块,即程序里边不只介绍了PWM
输出口驱动蜂鸣器的方法,还要介绍I/O 口驱动蜂鸣器的方法。因此,咱们将设计以下的一个系统来讲明单片机对蜂鸣器的驱动:系统有两个他激蜂鸣器,频率都为2000Hz,一个由I/O 口进行控制,另外一个由PWM 输出口进行控制;系统还有两个按键,一个按键为PORT 按键,I/O 口控制的蜂鸣器不鸣叫时按一次按键I/O 口控制的蜂鸣器鸣叫,再按一次中止鸣叫,另外一个按键为PWM 按键,PWM 口控制的蜂鸣器不鸣叫时按一次按键PWM输出口控制的蜂鸣器鸣叫,再按一次中止鸣叫。
介绍完毕