STM32F103C8T6蜂鸣器的使用

您所在的位置:网站首页 蜂鸣器图例 STM32F103C8T6蜂鸣器的使用

STM32F103C8T6蜂鸣器的使用

2024-07-10 19:51| 来源: 网络整理| 查看: 265

STM32F103C8T6蜂鸣器使用 蜂鸣器简介 :有源蜂鸣器与无源蜂鸣器区别:有源蜂鸣器驱动电路:无源蜂鸣器驱动电路:STM32驱动有源蜂鸣器主函数bee.c函数bee.h函数

蜂鸣器简介 :

  蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电。蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。蜂鸣器在电路中用字母"H"或"HA"(旧标准用"FM"、“ZZG”、“LB”、"JD"等)表示。

有源蜂鸣器与无源蜂鸣器区别:

  蜂鸣器可以分为有源蜂鸣器与无源蜂鸣器。这里的"源"不是指电源,而是指震荡源。有源蜂鸣器直接接上额定电源就可连续发声,而无源蜂鸣器则和电磁扬声器一样,需要接在音频输出电路中才能发声。无源蜂鸣器可以通过单片机产生2K-5KHz的频率控制,改变空控制频率就可以发出不同的声音。有源蜂鸣器频率是固定的,不能播放音乐,只能发出一种声音。

有源蜂鸣器底电平触发有源蜂鸣器

有源蜂鸣器驱动电路:

有源

无源蜂鸣器驱动电路:

相比与有源蜂鸣器增加一个滤波电容。 无源

STM32驱动有源蜂鸣器 主函数

  切记如果蜂鸣器直接接在单片机IO端口是无法正常工作的,但是STM32自带LED灯PC13端口有驱动能力,可以把蜂鸣器接在PC13端口,以下就是在PC13端口驱动蜂鸣器。

#include "sys.h" #include "delay.h" #include "beep.h" int main() { NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2 现在不需要,可以删除中断 delay_init(); //初始化延时函数 BEEP_Init(); //初始化蜂鸣器 while(1) { BEEP = 0;//底电平触发 delay_ms(1000); BEEP = 1; } } bee.c函数 #include "beep.h" void BEEP_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能PC端口时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //BEEP-->PC13 端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz GPIO_Init(GPIOC, &GPIO_InitStructure); //根据设定参数初始化PC13 GPIO_SetBits(GPIOC,GPIO_Pin_13); //PC13输高 } bee.h函数 #ifndef __BEEP_H #define __BEEP_H #include "sys.h" //蜂鸣器驱动 代码 //蜂鸣器端口定义 #define BEEP PCout(13) // BEEP,蜂鸣器接口 void BEEP_Init(void); //初始化 #endif


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3