×
单片机 > 单片机程序设计 > 详情

ARM开发(2)基于STM32的蜂鸣器

发布时间:2020-06-02 发布时间:
|

一 蜂鸣器原理: 

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


关键字:ARM  STM32  蜂鸣器 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机CO2检测显示程序解析