蜂鸣器的分类
有源蜂鸣器与无源蜂鸣器的区别
这里的“源”不是指电源。而是指震荡源。 也就是说有源蜂鸣器内部带震荡源,所以只要一通电就会叫。 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。
无源蜂鸣器的优点是1.便宜 2.声音频率可控,可以做出"多来米发索拉西"的效果 3.在一些特例中,可以和LED复用一个控制口。 有源蜂鸣器的优点是:程序控制方便 。
蜂鸣器模块
C语言
P2.3=0时,蜂鸣器发声
P2.3=1时,蜂鸣器不发声
IO口电平取反方法:
while(1){beep(P2.3)=~beep,delay(10)}//蜂鸣器发出警笛一样的声音
笔记
C语言位运算符
& 按位与:如果两个相应的二进制位都为1,则该位的结果值为1,否则为0 /* 1&1=0,0&0=1,1&0=0 */
| 按位或: 两个相应的二进制位中只要有一个为1,该位的结果值为1 /* 1|0=1 , 1|1=1, 0|0=0 */
^ 按位异或 :若参加运算的两个二进制位值相同则为0,否则1。/1^1=1,0^0=1,1^0=0/
~ 取反:~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0。 /*~1=0,~0=1*/
<< 左移:用来将一个数的各二进制位全部左移N位,右补0
>> 右移:将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0