STM32蜂鸣器音乐播放实例教程

发布时间:2024-08-21  

本文用STM32单片机蜂鸣器来演奏音乐,用的开发软件是STM32CubeIDE。

蜂鸣器

有源蜂鸣器

内部有震荡源,只要通电就会有响声,但是声音频率固定。

无源蜂鸣器

内部不含振荡源,蜂鸣器管脚输出一定频率的信号,才能发声。

本实例中用到的是无源蜂鸣器,控制频率高低发出不同声调的声音。

电路原理图

4929c0f4-eb2e-11ee-a297-92fbcf53809c.png

4938cc70-eb2e-11ee-a297-92fbcf53809c.png

由电路原理图可知,蜂鸣器在PB5管脚,以一定频率翻转PB5管脚的电平,可以使蜂鸣器发声。

STM32工程

打开STM32CubeIDE软件,新建STM32工程。关于STM32CubeIDE软件的使用方法,可以参考此文:STM32中PWM的配置与应用详解。

配置时钟。

4944b742-eb2e-11ee-a297-92fbcf53809c.png

49523480-eb2e-11ee-a297-92fbcf53809c.png

项目设置。

495f9332-eb2e-11ee-a297-92fbcf53809c.png

设置调试模式。

49733a18-eb2e-11ee-a297-92fbcf53809c.png

开启PB5管脚。

498626c8-eb2e-11ee-a297-92fbcf53809c.png

49a22292-eb2e-11ee-a297-92fbcf53809c.png

写延时函数。

开启定时器TIM7,是为了写延时函数HAL_Delay_us()。具体过程请移步此文:STM32的HAL库实现自定义延时函数delay_us(),文末附代码。

49a91674-eb2e-11ee-a297-92fbcf53809c.png

保存,生成代码。

49c2a3be-eb2e-11ee-a297-92fbcf53809c.png

打开gpio.c,添加如下代码。

49db0bde-eb2e-11ee-a297-92fbcf53809c.png

依次从音调数组中取music[i]。

根据music[i]的值在tone数组中得到该音的发声频率(tone[music[i]]),调用sound函数控制蜂鸣器发声。

声音的发声时间由time数组控制。

蜂鸣器演奏音乐的两个要素就是声音频率、声音持续时间,分别对应乐谱中的音调、节拍。

49edf280-eb2e-11ee-a297-92fbcf53809c.png


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    蜂鸣器类代码(2024-08-15)
    );         }          }          } //---------------------------------------------- #ifndef _BEEP2_H_ #define _BEEP2_H_ void beep2(); #endif /* 标题:蜂鸣器播放音乐......
    蜂鸣器播放音乐+普中51单片机+江科大自化协;1 现象 利用蜂鸣器实现音乐播放功能,播放《天空之城》。 2 原理 (1)天空之城的乐谱 3 参考程序 3.1 主程序 #include......
    下表示设置分钟,设置完分钟再按下设置键退出闹钟设置模式。闹钟时间到了会通过蜂鸣器播放闹钟铃声。期间如果想停止闹铃可以按下停止闹铃按键。 通过按下闹钟按键进入闹钟显示模式,秒表指示灯亮。开始按键启动秒表计时,暂停......
    Arduino门铃接收器 电路也有一个蜂鸣器,当按钮被按下时播放一些旋律。   在这里,我们将Arduino的引脚7连接到蜂鸣器正极,负极接地。VCC 的电源电压提供给接收模块,模块的 GND 引脚......
    PCB 钢琴需要以下组件。   Arduino纳米   电阻器 (1Mega Ohm) X 8   压电蜂鸣器   18650 电池芯   18650 电池座   18650电池充电模块   直流......
    中,选择“播放特定歌曲”触发器。 现在输入按下门铃按钮时要播放的歌曲名称。就我而言,我正在播放我的谷歌播放音乐中名为“123”的歌曲。您还可以使用 Spotify 或其他音乐应用程序。 之后,单击......
    蜂鸣器播放DOREMI+普中51单片机+江科大自化协;现象 在无源蜂鸣器上循环演奏低音“DO、RE、MI、FA、SO、LA、SI”这7个音调。 参考程序 1 主函数 #include......
    STM32蜂鸣器音乐播放实例教程;本文用STM32单片机蜂鸣器来演奏音乐,用的开发软件是STM32CubeIDE。 蜂鸣器 有源蜂鸣器 内部有震荡源,只要通电就会有响声,但是声音频率固定。 无源蜂鸣器......
    基于ESP32构建的音频播放器;  DIY 音乐播放器很有趣,我们之前使用 Arduino和 专用 MP3 模块构建了一些音乐播放器。现在我们正在使用 ESP32 构建一个有趣的音频播放器,您只......
    信息,通过按键就能控制音乐盒的歌曲切换以及歌曲的开始和暂停,系统在运行后需要点击开机键才能开始工作。当点击播放键后以蜂鸣器为主体的播放装置就会开始播放歌曲。 二.仿真概述 1.通过......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>