有源蜂鸣器(高电平触发)
时间: 2023-06-16 10:08:20 浏览: 764
有源蜂鸣器是一种内置振荡器的电子元件,它可以发出一种高频的声音。有源蜂鸣器通常需要一个高电平触发才能发声,这意味着当输入信号为高电平时,蜂鸣器才会响起。
以下是一个简单的电路图,使用一个NPN型晶体管来控制有源蜂鸣器:
![有源蜂鸣器电路图](https://img-blog.csdnimg.cn/20210720172023922.png)
当输入信号为高电平时,晶体管的基极会被电流驱动,导通电路。此时,有源蜂鸣器内置的振荡器会被激活,发出高频声音。注意,蜂鸣器需要连接到电源正极和晶体管的集电极。
需要注意的是,有源蜂鸣器在长时间工作时会产生热量,因此建议不要让它连续工作太长时间。同时,为了避免对电路的干扰,通常需要添加适当的抗干扰电路。
相关问题
stm32有源高电平触发蜂鸣器代码
以下是基于STM32的有源高电平触发蜂鸣器代码:
```c
#include "stm32fxxx.h"
GPIO_InitTypeDef GPIO_InitStructure;
int main(void)
{
// 初始化GPIO口,PA0为输出口
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
while (1)
{
// 使引脚输出高电平
GPIO_SetBits(GPIOA, GPIO_Pin_0);
// 延时一段时间
for (volatile int i = 0; i < 0x100000; i++)
;
// 使引脚输出低电平
GPIO_ResetBits(GPIOA, GPIO_Pin_0);
// 延时一段时间
for (volatile int i = 0; i < 0x100000; i++)
;
}
return 0;
}
```
此代码将PA0引脚配置为输出口,并周期性地在引脚上输出高电平和低电平。由于蜂鸣器是有源的,因此输出高电平时,蜂鸣器将自动响起。如果要更改蜂鸣器的频率或占空比,请更改延迟循环的计数值。
51单片机低电平触发有源蜂鸣器的程序
以下是51单片机低电平触发有源蜂鸣器的程序:
sbit beep = P1^5; //定义蜂鸣器控制引脚
void delay(unsigned int i) //延时函数
{
while(i--);
}
void main() //主函数
{
while(1) //死循环
{
beep = 0; //给控制引脚发送低电平信号,使蜂鸣器发出声音
delay(1000); //延时一段时间
beep = 1; //给控制引脚发送高电平信号,关闭蜂鸣器
delay(1000); //延时一段时间
}
}
阅读全文