有源蜂鸣器与无源蜂鸣器的区别:
注意:这里的'源'不是指电源,而是指震荡源。
也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫;
而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K的方波去驱动它
有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。
无源蜂鸣器的优点是:
1. 便宜
2. 声音频率可控,可以做出'多来米发索拉西'的效果
3. 在一些特例中,可以和LED复用一个控制口
有源蜂鸣器的优点是:程序控制方便。
首先根据SH69P43 的PWM 输出的周期宽度是10 位数据来选择PWM 时钟。系统使用4MHz 的晶振作为主振荡器,一个tosc 的时间就是0.25μs,若是将PWM 的时钟设置为tosc 的话, 则蜂鸣器要求的波形周期500μs 的计数值为500μs/0.25μs=(2000)10=(7D0)16,7D0H 为11 位的数据,而SH69P43 的PWM
输出周期宽度只是10 位数据,所以选择PWM 的时钟为tosc 是不能实现蜂鸣器所要的驱动波形的。
这里我们将PWM 的时钟设置为4tosc,这样一个PWM 的时钟周期就是1μs 了,由此可以算出500μs 对应的计数值为500μs/1μs=(500)10=(1F4)16,即分别在周期寄存器的高2 位、中4 位和低4 位三个寄存器中填入1、F 和4,就完成了对输出周期的设置。再来设置占空比寄存器,在PWM 输出中占空比的实现是
蜂鸣器的正极性的一端联接到
5V
电源上面,
另一端联接到三极管的集电极,
三极管的基级由单片机的
P1.5
管脚通过一个与非门来控制,
当
P1.5
管脚为低时,
与非门输出高电平,三极管导通,这样蜂鸣器的电流形成回路,发出声音。当
P1.5
管脚为高时,与非门输出低电平,三极管截止,蜂鸣器不发出声音。在这里
与非门是作为非门来用的,
这里采用一个非门的作用是为了防止系统上电时峰鸣
器发出声音,以为系统复位以后,
I/O
口输出的是高电平。