用单片机驱动无源蜂鸣器播放音乐

本文介绍如何通过单片机可以输出音频信号,驱动喇叭(或者无源蜂鸣器)播放音乐。

需要的器材:1个单片机,3根杜邦线,1个喇叭(或者无源蜂鸣器),一个音箱(可选)。

先介绍一下什么是有源蜂鸣器、无源蜂鸣器。

有源蜂鸣器内部集成了产生音频信号的功能,只要按照规定给蜂鸣器的引脚发一个低电平的信号蜂鸣器就会自动发声了,常常用来提醒、警报。

但是有源蜂鸣器的缺点就是只能发出固定的单调的声音,如果想自由控制发出声音的内容就必须使用无源蜂鸣器了。

无源蜂鸣器和无源蜂鸣器从外观上看几乎没有差别,都是黑色的圆柱体。

播放音乐代码编译成功后下载到单片机上。用两条杜邦线引出3V和P3.4,然后连接到无源蜂鸣器的两个引脚上(顺序无所谓),一切顺利的话这时会听到《小星星》这首歌的旋律。因为单片机本身的输出功率有限,所以音乐的音量不大,如果想更响亮还可以把音频信号输出到喇叭上。如果是没有外接电源的喇叭,就像蜂鸣器一样不分正负极的接两个接线柱就可以了。如果是有外接电源的音箱,音箱加电后用P3.4引出的杜邦线直接接触音频接口的“头”,不管哪种标准,接口的“头”都是左声道,第二节是右声道。因为音箱本身有外接电源了,所以只需要P3.4一根线就可以让音箱发出响亮的音乐。

通过C语言代码输出音频信号非常繁琐,不过有一位叫“科学男孩”的高手已经写好了现成的转换程序叫做单片机音乐代码生成器。只要按照要求依次输入音符和长度,最后程序会自动声称一段C语言的源代码,大大节省了工作量。本文附件中有一个写好的单片机播放音乐的C语言源代码,这个软件也可以通过附件免费下载。

附件:

附件1.[无标题] 41.80KB