这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 蜂鸣器驱动

共1条 1/1 1 跳转至

蜂鸣器驱动

助工
2014-10-15 20:07:54     打赏

.概述


蜂鸣器分压电式蜂鸣器和电磁式蜂鸣器。压电式蜂鸣器需要较高的电压(9V以上)才能驱动。而电磁式蜂鸣器只要1.5V-12V的直流电按极性连接就能发音,在DC5V电源下电流为20毫安左右,这个电流已经超过单片机一个IO口的最大承受能力,所以要设驱动电路。对于51单片机来说,只需接一个PNP型三极管来放大驱动电流即可。


.电路设计


WSF-51DB开发板上,利用PNP三极管S8550来驱动蜂鸣器。蜂鸣器设有电源开关(由两位贴片拨码开关SW-DIP的第2位控制)。如果蜂鸣器的驱动电压较高(超过5V),用一个电阻串联限流,可以提高蜂鸣器的使用寿命。


 


                                   


      


.软件设计


/**************************************************************************


*程序名称:蜂鸣器驱动


*程序功能:发出不同音质的声音



* MCU型号:AT89S52-24PU


*时钟频率:12MHZ




**************************************************************************/


#include<reg52.h>


sbit buz=P1^0;


//延时ms函数:


void Delayms(unsigned int t)


{


     unsigned int i,j;


     for(i=t;i>0;i--)


             for(j=0;j<120;j++);


}


 


//蜂鸣器发声函数:


void Buzzer(unsigned char f)


{


     buz=0;


     Delayms(f);//通过改变延时长短来改变蜂鸣器的音质


     buz=1;


     Delayms(f);


}


 


//主函数:


int main(void)


{


        while(1)


        {


                Buzzer(75);


         }


         return 0;      


}


共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]