图1和图3采用的是NPN型三极管驱动,图2和图4采用的是PNP型三极管驱动。
如图所示,四种驱动蜂鸣器的电路。
采用图1和图3方,法驱动,蜂鸣器工作电压可以随便取,只要不超过管子的极限参数即可。
如图1,采用这种方法驱动蜂鸣器,在用STC89C52的任何IO口控制,蜂鸣器都能响。采用这种方式接,蜂鸣器没有图3响。
如图3,采用这种方法驱动蜂鸣器,只有使用P0口(P0由于内部没有上拉电阻,在电路板上外接了1K 的上拉电阻,其他IO口内部都有上拉电
阻)控制,蜂鸣器才会响,若采用其他IO口,虽然蜂鸣器两侧电压能达到4.3V左右,但是电流却只有1~2mA,根本无法驱动蜂鸣器。这是什么
原因?当采用其他IO(内部有上拉电阻)控制时,通过测该口的电平发现是低电平。由电路可以分析,蜂鸣器驱动是应该是高电平驱动的。出
现这种原因,可能是B极拉低了电平值,导致电路根本无法工作。也许是跟单片机内部、外部的上拉电阻有关。有待查阅。
图2和图4两种方式驱动都是可以的,任何IO口都能通过低电平驱动。但采用图4的方式,流过蜂鸣器的电流比图2的大。