Section 8_蜂鸣器实验
1.蜂鸣器介绍2.蜂鸣器模块电路3.编写蜂鸣器控制程序beep.cbeep.hmain.c
1.蜂鸣器介绍
蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。
蜂鸣器主要分为压电式蜂鸣器和电磁式蜂鸣器两种类型。 (1)压电式蜂鸣器主要由多谐振荡器、压电蜂鸣片、阻抗匹配器及共鸣箱、外壳等组成。多谐振荡器由晶体管或集成电路构成,当接通电源后(1.5~15V直流工作电压),多谐振荡器起振,输出1.5~5kHZ的音频信号,阻抗匹配器推动压电蜂鸣片发声。 (2)电磁式蜂鸣器由振荡器、电磁线圈、磁铁、振动膜片及外壳等组成。接通电源后,振荡器产生的音频信号电流通过电磁线圈,使电磁线圈产生磁场,振动膜片在电磁线圈和磁铁的相互作用下,周期性地振动发声。
改变单片机引脚输出波形的频率,就可以调整控制蜂鸣器音调,产生各种不同音色、音调的声音。 改变输出电平的高低电平占空比,则可以控制蜂鸣器的声音大小。
左有源 右无源
2.蜂鸣器模块电路
3.编写蜂鸣器控制程序
蜂鸣器控制程序主要分为 2 大块: (1)使能蜂鸣器端口时钟、初始化GPIO。APP新建文件夹beep (2)主函数控制。
beep.c
#ifndef _beep_H
#define _beep_H
#include "system.h"
#define BEEP_Pin (GPIO_Pin_8)
#define BEEP_Port (GPIOF)
#define beep PFout(8)
void BEEP_Init(void);
#endif
beep.h
#include "beep.h"
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure
;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF
,ENABLE
);
GPIO_InitStructure
.GPIO_Mode
=GPIO_Mode_OUT
;
GPIO_InitStructure
.GPIO_Pin
=BEEP_Pin
;
GPIO_InitStructure
.GPIO_Speed
=GPIO_Speed_100MHz
;
GPIO_InitStructure
.GPIO_OType
=GPIO_OType_PP
;
GPIO_InitStructure
.GPIO_PuPd
=GPIO_PuPd_UP
;
GPIO_Init(BEEP_Port
,&GPIO_InitStructure
);
GPIO_SetBits(BEEP_Port
,BEEP_Pin
);
}
main.c
#include "system.h"
#include "SysTick.h"
#include "led.h"
#include "beep.h"
int main()
{
SysTick_Init(168);
LED_Init();
BEEP_Init();
while(1)
{
led1
=!led1
;
beep
=!beep
;
delay_ms(1000);
}
}