[STM32学习笔记]蜂鸣器的介绍与使用

一.蜂鸣器的介绍

1.压电式蜂鸣器 (无源蜂鸣器)

压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳 等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V 直流工 作电压),多谐振荡器起振,输出 1.5~5kHZ 的音频信号,阻抗匹配器推动压电 蜂鸣片发声。 

2.电磁式蜂鸣器(有源蜂鸣器)

电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电 源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜 片在电磁线圈和磁铁的相互作用下,周期性地振动发声。

3.区别

对于无源蜂鸣器,如果改变频率就可以调节蜂鸣器音调,产生各种不同音色、 音调的声音。如果改变输出电平的高低电平占空比,则可以改变蜂鸣器的声音大小。

  对于有源蜂鸣器,通常内部已经固定了频率,对于调节频率或占空比可能改 变不了蜂鸣器的音调和音量,当然也有的有源蜂鸣器可以实现和无源蜂鸣器一样的效果。

  其实一句话就可概括它们之间的区别,想要压电式蜂鸣器发声,需提供一定 频率的脉冲信号;想要电磁式蜂鸣器发声,只需提供电源即可。

注意:有源与无源指的是内部有无振荡电路。

原理图介绍

如图所示,我们可以看到图中用的是一个共阳极的三极管,我们只需要知道当基极为低电平是,PNP导通。当基极为高电平时,NPN导通,所以当BEEP端输出高电平时这个三极管导通。我们可以看到该图中我们接了一个 R33的电阻,究其原因是当单片机上电的一瞬间属于浮空状态,引脚状态是不确定的,所以接一个10k的下拉电阻是保证在浮空状态时给一个稳定的低电平。

程序设计

当我们确认了原理图之后我们就可以开始写程序了。

void BEEP_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
	GPIO_InitStructure.GPIO_Mode  =GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin   =GPIO_Pin_8 ;
	GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz ;
	GPIO_Init(GPIOB, &GPIO_InitStructure);
	
	GPIO_ResetBits(GPIOB,GPIO_Pin_8);    //配置完我们给一个低电平
}

int main(void)
{
	BEEP_Init();
	delay_init();
	while(1)
	{
		GPIO_ResetBits(GPIOB,GPIO_Pin_8);
		delay_ms(200);
		GPIO_SetBits(GPIOB,GPIO_Pin_8);
		delay_ms(200);
	}
}

当我们给一个稳定的高电平后,蜂鸣器就可以叫了。

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值