我是靠谱客的博主 霸气雪碧,最近开发中收集的这篇文章主要介绍STM32F103C8T6蜂鸣器的使用蜂鸣器简介 :有源蜂鸣器与无源蜂鸣器区别:有源蜂鸣器驱动电路:无源蜂鸣器驱动电路:STM32驱动有源蜂鸣器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

最后

以上就是霸气雪碧为你收集整理的STM32F103C8T6蜂鸣器的使用蜂鸣器简介 :有源蜂鸣器与无源蜂鸣器区别:有源蜂鸣器驱动电路:无源蜂鸣器驱动电路:STM32驱动有源蜂鸣器的全部内容,希望文章能够帮你解决STM32F103C8T6蜂鸣器的使用蜂鸣器简介 :有源蜂鸣器与无源蜂鸣器区别:有源蜂鸣器驱动电路:无源蜂鸣器驱动电路:STM32驱动有源蜂鸣器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部