基于STM32的蜂鸣器
一 蜂鸣器原理:
1.1 本实验实现1个蜂鸣器间隔1S鸣叫。
1.2 实验思路:根据电路图原理,给蜂鸣器相关引脚赋予高低电平,实现电路的导通,使蜂鸣器实现鸣叫或不鸣。
1.3 开发环境 : MDK5 库函数版本开发 JLINK仿真
二 实验步骤:
2.1 beep.h代码:
#ifndef __BEEP_H
#define __BEEP_H
#include "sys.h"
#define BEEP PBout(10) // BEEP,蜂鸣器接口
void BEEP_Init(void); //初始化
#endif
2.2 beep.c代码(IO配置):
#include "beep.h"
void BEEP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); //使能GPIOB端口时钟
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; // 推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; // IO速度为50MHz
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; //BEEP-->PB.10端口配置
GPIO_Init(GPIOB, &GPIO_InitStructure); // 根据参数初始化GPIOB.10
GPIO_ResetBits(GPIOB,GPIO_Pin_10); // 关闭蜂鸣器输出
}
2.2 main.c代码(实现蜂鸣器间隔1S鸣叫效果):
#include "sys.h"
#include "delay.h"
#include "led.h"
#include "beep.h"
int main(void)
{
delay_init(); //延时
BEEP_Init(); //蜂鸣器初始化
while(1)
{
BEEP =!BEEP;
delay_ms(1000);// 1 S延时
}
}
三 接线测试:
3.1 与板子接线测试效果良好,蜂鸣器间隔1S鸣叫效果良好。