蜂鸣器发声原理是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声的,因此需要一定的电流才能驱动它,单片机IO引脚输出的电流较小,单片机输出的TTL电平基本上驱动不了蜂鸣器,因此需要增加一个电流放大的电路。三极管的作用为驱动,通过三极管放大驱动电流,从而可以让蜂鸣器发出声音。
有源蜂鸣器和无源蜂鸣器的区别:
这里的“源”不是指电源。而是指震荡源。 也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫。 而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K~5K的方波去驱动它。 有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路。 无源蜂鸣器的优点是:1。便宜,2。声音频率可控,可以做出“多来米发索拉西”的效果。3。在一些特例中,可以和LED复用一个控制口 有源蜂鸣器的优点是:程序控制方便 。
单片机源程序如下:
- #include<reg51.h>
- sbit sound=P1^7;
- #define f1(a) (65536-a)/256
- #define f2(a) (65536-a)%256
- unsigned int i=500;
- unsigned int j=0;
- void main(void)
- {
- TMOD=0x10;
- TH1=f1(i);
- TL1=f2(i);
- EA=1;
- ET1=1;
- TR1=1;
- while(1)
- {
- i=460;
- while(j<20000);
- j=0;
- i=360;
- while(j<20000);
- j=0;
- }
- }
- void TT1(void) interrupt 3 using 0
- {
- TR1=0;
- sound=~sound;
- TH1=f1(i);
- TL1=f2(i);
- j++;
- TR1=1;
- }
复制代码
所有资料51hei提供下载:
蜂鸣器.rar
(11.04 KB, 下载次数: 81)
|