STM32F103C8T6蜂鳴器的使用

蜂鳴器簡介 :

  蜂鳴器是一種一體化結構的電子訊響器,採用直流電壓供電。蜂鳴器主要分爲壓電式蜂鳴器和電磁式蜂鳴器兩種類型。蜂鳴器在電路中用字母"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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章