蜂鸣器驱动

来源:互联网 发布:淘宝中国白银原料批发 编辑:程序博客网 时间:2024/04/29 22:49

摘自:http://blog.21ic.com/user1/8392/archives/2012/91761.html

 

.概述

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

.电路设计

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

 

                                  

      

.软件设计

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

*程序名称:蜂鸣器驱动

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

*开发工具:WSF-51DB开发板

* MCU型号:AT89S52-24PU

*时钟频率:12MHZ

*程序作者:吴师傅

*版权说明:吴师傅版权所有。转载请注明来源和作者。

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

#i nclude<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;      

}

 

原创粉丝点击