
本文用STM32单片机蜂鸣器来演奏音乐,用的开发软件是STM32CubeIDE。 蜂鸣器 有源蜂鸣器 内部有震荡源,只要通电就会有响声,但是声音频率固定。 无源蜂鸣器 内部不含振荡源,蜂鸣器管脚输出一定频率的信号,才能发声。 本实例中用到的是无源蜂鸣器,控制频率高低发出不同声调的声音。 电路原理图& @8 g' C- _% E ![]() 由电路原理图可知,蜂鸣器在PB5管脚,以一定频率翻转PB5管脚的电平,可以使蜂鸣器发声。 ( _3 r) Y" V% s7 p8 K; O/ F& Z STM32工程 打开STM32CubeIDE软件,新建STM32工程。 H; ?6 P% ~" {$ o6 k! V 配置时钟。4 ]4 Q; F6 D! X$ ?! _' D# w; F ![]() 项目设置。 b5 t+ H& Z+ l. A* V# V; x3 A" N ![]() 设置调试模式。 ![]() 开启PB5管脚。0 k1 O4 {+ K0 D8 \ p' w( ] ![]() 写延时函数。9 f5 i3 |& Z" W1 | 开启定时器TIM7,是为了写延时函数HAL_Delay_us()。3 b6 K2 w- G6 h D7 ^( { ![]() 保存,生成代码。0 E& h8 E% F e1 R+ ^$ ~ ![]() 打开gpio.c,添加如下代码。 ![]() 依次从音调数组中取music。 根据music的值在tone数组中得到该音的发声频率(tone[music]),调用sound函数控制蜂鸣器发声。 声音的发声时间由time数组控制。 蜂鸣器演奏音乐的两个要素就是声音频率、声音持续时间,分别对应乐谱中的音调、节拍。 ![]() |
【2025·STM32峰会】GUI解决方案实训分享2-编译运行TouchGFX咖啡机例程(含桌面仿真)
实战经验 | Keil工程使用NEAI库的异常问题
STM32 ISP IQTune:真正零门槛的免费ISP调整软件
【经验分享】STM32 新建基于STM32F40x 固件库的MDK5 工程
意法半导体MCU双供应链策略,打消中国客户后顾之忧
【经验分享】基于STM32使用HAL库实现USB组合设备CDC+MSC
2024意法半导体工业峰会:赋能智能电源和智能工业,构筑可持续未来
ST推出灵活、面向未来的智能电表通信解决方案,助力能源转型
意法半导体 x Qu-Bit Electronix:推动新一轮的数字声音合成革命
从STM32 MPU产品看嵌入式系统中微处理器的新变化