stm32无源蜂鸣器定时器_STM32无源蜂鸣器播放音乐

本文介绍了如何使用STM32通过定时器产生PWM波驱动无源蜂鸣器发声,并详细讲解了音乐播放的原理,包括不同频率的PWM波构成音调,不同持续时间形成节拍。还分享了音乐文件的制作方法,以及如何用STM32蜂鸣器播放生日快乐歌的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.STM32产生PWM波驱动无源蜂鸣器使其发声

1)查看原理图,找到对应引脚(我这里时PA1)

2)打开CubeMax,输入自己芯片的类型确定后,配置好系统时钟RCC,我这里是80Mhz,找到相应引脚PA1设置为GPIO_Output模式(用来切换引脚状态,使蜂鸣器发声),

3)设置定时器我这里用TM2

2.音乐播放原理

原理:给无源蜂鸣器输入不同频率的PWM波(构成不同音调)  让PWM波持续不同长度的时间(构成节拍)

3.音乐文件制作(播放自己喜欢的音乐)

(1)1=F,表示这首曲子是F调的。

3/4,是表示这首曲子是34拍。

(2)音符下面有一条横线,这个表示的是节拍。

下面没有线的音符,叫做四分音符,也就是一拍,如果用数组来表示节拍时一般用4来表示一拍(当然可根据自己喜好来定)

下面有一根横线的音符,叫八分音符,是半拍,如果用数组来表示节拍时一般用2来表示半拍(当然可根据自己喜好来定)

(3)音符上面有一个点。上面有点的是高音,下面有点的是低音,没有点的是中音。(对应的音区,我们称之为低音区,中音区,高音区,看图更易懂)

(4)音符后面有一根短横线。这个叫做延音线,意思就是唱到这里得拖长音。

延音线在节拍数组中一般省略不写

(5)0。叫做休止符,就是停顿不唱,等待下一段节奏再唱。如果用数组来表示节拍时一般用4来表示休止符,当然可根据自己喜好来定

4.用蜂鸣器播放音乐

play_music.h

#ifndef _PLAY_MUSIC_H

#define _PLAY_MUSIC_H

#include "stdlib.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值