蜂鸣器介绍

  • 蜂鸣器是一种将电信号转换为声音信号的器件,常用来产生设备的按键音、报警音等提示信号
  • 蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器
  • 有源蜂鸣器:内部自带振荡源,将正负极接上直流电压即可持续发声,频率固定
  • 无源蜂鸣器:内部不带振荡源,需要控制器提供振荡脉冲才可发声,调整提供振荡脉冲的频率,可发出不同频率的声音

驱动电路

  • 三极管驱动

  • 集成电路驱动

ULN2003

键盘与音符对照

音符与频率对照

简谱

蜂鸣器播放提示音

Bzzer.c文件

#include <REGX52.H>
#include <INTRINS.H>
#include "Nixie.h"

//蜂鸣器端口
sbit Buzzer=P2^5;

/**
  * @brief 蜂鸣器私有延时函数,延时500us
  * @param  无
  * @retval 无
  */
void Buzzer_Delay500us()        //@11.0592MHz
{
    unsigned char i;

    _nop_();
    i = 227;
    while (--i);
}

/**
  * @brief 蜂鸣器发声
  * @param  ms发声时长
  * @retval 无
  */
void Buzzer_Time(unsigned int ms)
{
    unsigned int i;
    for(i=0;i<ms*2;i++)
            {
    
                Buzzer=!Buzzer;
                Buzzer_Delay500us();
            }
}

Bzzer.h文件

#ifndef __BUZZER_H__
#define __BUZZER_H__

void Buzzer_Time(unsigned int ms);

#endif

main.c文件

#include <REGX52.H>
#include "Key.h"
#include "Nixie.h"
#include "Buzzer.h"

unsigned char KeyNum;

void main()
{
    while(1)
    {
        KeyNum=Key();
        if(KeyNum)
        {
            Buzzer_Time(1000);
            Nixie(1,KeyNum);
        }
    }
}

参考资料

51单片机入门教程-2020版 程序全程纯手打 从零开始入门\_哔哩哔哩\_bilibili

最后修改:2023 年 10 月 21 日
如果觉得我的文章对你有用,请随意赞赏