你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32蜂鸣器播放音乐实例

[复制链接]
STMCU小助手 发布时间:2022-6-5 21:00
本文用STM32单片机蜂鸣器来演奏音乐,用的开发软件是STM32CubeIDE。
+ D& @; N2 W1 |9 G5 H  ?
蜂鸣器
2 N$ ^8 s; O* ^! w' a
有源蜂鸣器
    内部有震荡源,只要通电就会有响声,但是声音频率固定。
无源蜂鸣器
    内部不含振荡源,蜂鸣器管脚输出一定频率的信号,才能发声。
    本实例中用到的是无源蜂鸣器,控制频率高低发出不同声调的声音。
6 G# a0 i+ [6 o
电路原理图3 {: k5 a: X5 j# M6 n
U](L20(NTB6$JV%I8X{KD1V.png

; D/ x. L6 Z; b( v2 k2 T
    由电路原理图可知,蜂鸣器在PB5管脚,以一定频率翻转PB5管脚的电平,可以使蜂鸣器发声。

2 k+ i& b1 V- k2 S( y; w5 d
STM32工程
1 S! o* Q* w$ w+ p% L3 O
    打开STM32CubeIDE软件,新建STM32工程。
# f0 o/ l3 z4 W, w
    配置时钟。
8 K* L+ h. Y# v1 Q: {2 k; {
IF57{E]PMP1DR)K~$WH]M9V.png

+ b) @) U) y6 ]$ @. A
    项目设置。% |& x8 G2 p5 x& E7 s( z2 O! |
XJ052)}W]21Q7MRMAAH~T~W.png
    设置调试模式。
R3_FX78WLT%D(1PS(67C{GA.png
    开启PB5管脚。
' a* e. d! f! i  O3 o. c" o: t- \
`W}@RR[WES%$}]8`EL{9)WS.png
) a( s$ ]% X7 f/ f9 b, g. v( _7 z" r
    写延时函数。! v7 g5 z8 l5 D8 H. X
    开启定时器TIM7,是为了写延时函数HAL_Delay_us()。
/ c/ q1 |! l5 \1 L5 p; X
V8)DDM)7YK1L5F2021RSLPL.png
    保存,生成代码。& F6 b/ E. A/ S' `" G/ S
HAGH]ZHW@5UR(HSB}70%4)A.png
    打开gpio.c,添加如下代码。
AY[1DEX}Z$KYFJBO`Z6PZ@U.png
    依次从音调数组中取music。
    根据music的值在tone数组中得到该音的发声频率(tone[music]),调用sound函数控制蜂鸣器发声。
    声音的发声时间由time数组控制。
    蜂鸣器演奏音乐的两个要素就是声音频率、声音持续时间,分别对应乐谱中的音调、节拍。
FV0EJDJJ93@[6~87159N(_6.png
赞 收藏 评论0 发布时间:2022-6-5 21:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版