4.蜂鸣器

1.了解蜂鸣器:

  • 蜂鸣器在使用3.3V无法驱动,需要借助到三极管的放大特性(Ic=βIb)将蜂鸣器驱动;
  • 本次原理图中,接R33电阻是因为当STM32单片机复位时处于浮空状态,防止小电流让蜂鸣器响而添加的。

2.蜂鸣器原理图:

 3.库函数实现蜂鸣器响:

(1)主函数:

#include "beep.h"
#include "delay.h"

int main(){
    
    delay_init();   //延时初始化
    BEEP_Init();    //初始化蜂鸣器
    while(1){
        delay_ms(100);
        GPIO_SetBits(GPIOB,GPIO_Pin_8);   //响,
        delay_ms(100);
        GPIO_ResetBits(GPIOB,GPIO_Pin_8);   //不响,
        
    }

}

(2)蜂鸣器头文件:

#ifndef __BEEP_H
#define __BEEP_H

void BEEP_Init(void);

#endif

(3)蜂鸣器功能函数:

#include "stm32f10x.h"
#include "beep.h"

void BEEP_Init(void)
{   
    GPIO_InitTypeDef GPIO_InitStruct;
    
    //1.使能时钟
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
    
    //2.配置io->PB8
    GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;     //推挽输出
    GPIO_InitStruct.GPIO_Pin=GPIO_Pin_8;    //PB8
    GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;    
    GPIO_Init(GPIOB,&GPIO_InitStruct);
    
    GPIO_ResetBits(GPIOB,GPIO_Pin_8);   //不响,看原理图可知高电平驱动蜂鸣器响
    
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&jhan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值