本帖最后由 talkativefox 于 2020-4-26 17:52 编辑
使用TIM1输出PWM,控制蜂鸣器,调整PWM频率就可以让蜂鸣器发出不同频率的声音,然后编程完成一小段音乐。
当然蜂鸣器的效果并不是太好,有兴趣的话,大家可以下载程序自己试试,我就不放视频了,毕竟蜂鸣器发出的声音还是比较刺耳,在录制一次,就更不好听了。
不过主要目的不是听歌,而是测试一下PWM功能。
对了,压缩包不一定能直接编译,因为我最开始的drive文件夹路径不在压缩包内,
可能要修改一下keil工程的include路径,或者增加一个路径就可以了。
如果程序上有什么问题,可以提出来大家讨论。
音阶和频率的对应关系是我在网络上直接搜索的,然后频率和pwm初始值自己算的,因为MCU主频与音阶频率并不是倍数关系,所以每一个音阶都有误差,只是误差大小。
PWM设置部分参考了这个帖子,在此谢谢@hayden0
https://bbs.21ic.com/icview-2946382-1-1.html
timer.zip
(2.62 MB)
|