基于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鸣叫效果良好。

05-08 08:44