STM32 蜂鸣器控制实验-物联网

举报
泽宇-Li 发表于 2022/11/29 18:37:42 2022/11/29
【摘要】 *概念:         蜂鸣器可以分为两种:有源蜂鸣器与无源蜂鸣器,这里的“源”指的是有没有自带震荡电路,有源的蜂鸣器自带有震荡电路,通电的瞬间就会发出声音;而无源的蜂鸣器,需要提供一个2~5Khz左右的方波进行驱动,才可以发出声音。1.   实验目的学习RFID模块中主控芯片基于Cortex-M3内核的STM32F103C8T6的使用利用程序实现蜂鸣器发声2.   实验环境硬件:RFID...

*概念:

         蜂鸣器可以分为两种:有源蜂鸣器与无源蜂鸣器,这里的“源”指的是有没有自带震荡电路,有源的蜂鸣器自带有震荡电路,通电的瞬间就会发出声音;而无源的蜂鸣器,需要提供一个2~5Khz左右的方波进行驱动,才可以发出声音。

1.   实验目的

  • 学习RFID模块中主控芯片基于Cortex-M3内核的STM32F103C8T6的使用
  • 利用程序实现蜂鸣器发声

2.   实验环境

  • 硬件:RFID开发板(125K56M915M2.4G)UART串口底板,ST-LINK仿真器
  • 软件:Keil5

3.   实验原理

125K,13.56M915M2.4G这四个RFID模块上均有一个蜂鸣器。

不过要注意,每个蜂鸣器连接的GPIO引脚不兼容,需要单独定义

硬件原理图

各个模块蜂鸣器与STM32芯片连接引脚表

模块

125K

13.56M

915M

2.4G

连接引脚

PA5

PA1

PA4

PA0

蜂鸣器使用三极管控制,当BUZZER管脚为高电平时,蜂鸣器发声。

4.   实验步骤

  • ST-LINK仿真器一端连在电脑,一端连在UART调试底板的JTAG接口上。

Keil软件打开工程\Components\第三章RFID硬件处理器实验\2_STM32_BEEP\MDK-ARM\STM32_BEEP.uvprojx

        打开Keil软件,Project->Open Project

  • 打开h 在宏定义中设置RFID模块类型

BEEP_PIN 后边输入以上红框内参数。图例定义为125K的模块

  • 编译程序,点击按钮如图:

  • 编译通过之后下载程序到RFID模块,点击按钮如图:

5.   实验结果

RED灯BLUE灯常亮

蜂鸣器一直发声

部分代码展示:

void BEEP1_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA,&GPIO_InitStructure);
    GPIO_SetBits(GPIOE,GPIO_Pin_4);//设置GPIOA--GPIO_Pin_4为高电平
}

头文件:

#ifndef __BEEP_H
#define __BEEP_H     
#include "sys.h"
//蜂鸣器端口定义
#define BEEP PEout(4)    // BEEP,蜂鸣器接口           
void BEEP1_Init(void);    //初始化                    
#endif

作者:泽宇-Li

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。