当前位置:首页 > 单片机 > 单片机
[导读]摘要:为了解决专用音乐播放芯片只能一次性烧录、播放内容不可变的缺点,文中给出了采用单片机来设计音乐播放器,同时通过Proteus软件对基于AT89S52单片机的音乐播放器进行仿真的实现方法。利用该方法设计的播放器的

摘要:为了解决专用音乐播放芯片只能一次性烧录、播放内容不可变的缺点,文中给出了采用单片机来设计音乐播放器,同时通过Proteus软件对基于AT89S52单片机的音乐播放器进行仿真的实现方法。利用该方法设计的播放器的播放内容和歌曲数量可以随时修改。
关键词:单片机;音乐播放器;Proteus

0 引言
    播放音乐最简单的方法就是采用专用音乐芯片,该方法的缺点是音乐芯片只能一次性烧录,播放的内容不可变。而采用单片机播放音乐则能克服这一缺点,其播放的内容以及歌曲的数量都可以随时修改。同时,使用软件Proteus在产品开发的初期对设计进行仿真无疑是一种提高效率和降低成本的好办法,但是仿真毕竟有一定的局限性,要实践起来可能会碰到一些问题。为此,本文通过Proteus软件对用AT89S52单片机播放音乐进行了仿真,指出了实际制作过程中需要注意的地方。

1 硬件电路设计
1.1 仿真软件Proteus简介
    Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,它支持单片机且元件库齐全,使用方便,是不可多得的专业单片机软件仿真系统。目前可支持的单片机类型有68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。
1.2 电路设计
    图1所示是单片机音乐播放器的仿真原理图。在Proteus仿真软件中,按一下按钮,蜂鸥器即可播放音乐。


    事实上,按照图1所示原理图来焊接电路,其结果可能没有任何效果。而图2所示才是单片机音乐播放器的实际制作电路。与图1相比,实
际电路多了两个部分:一是单片机左边最小系统所需的电路部分,而仿真软件中则将这些省略了;另一个是单片机右边多了一个三极管。之所以要加这个三极管,主要是为了放大蜂鸣器的驱动电流,而仿真软件里面所有的元件都是理想元件,所以,仿真能实现的效果,实际做出来往往没有效果。因此,要想在实际中实现满意的效果还要凭借硬件经验进行反复的摸索和尝试。



2 软件设计
2.1 播放原理
    声音的频谱范围通常约为几十到几千赫兹,通过程序控制单片机的I/O口可输出不同频率的矩形波。当该矩形波的频率位于声音频谱范围内时,在单片机的I/O口接上喇叭就能发出声音。然后利用延时程序控制矩形波的高、低电平持续时间,即改变矩形波的频率,即可产生不同的音调,从而发出不同的声音,再让矩形波输出的长短对应节拍,就可以实现单片机对音乐的演奏。
2.2 音调和节拍编码
    单片机奏乐只需弄清楚两个概念,也就是“音调”和“节拍”。音调表示一个音符唱多高的频率,节拍表示一个音符唱多长的时间。
    由于各个音调对应的频率是已知的,因此,播放音乐时,应对乐曲中出现的音调进行编码,并找出单片机播放这些音调所对应的定时初值。表1所列是音调编码与定时器的初值表,其中频率是已知的,编码可以自己设置,而定时初值是怎样得来的呢?下面以“低6”为例进行说明。“低6”的频率f为440 Hz,其对应的周期为:T=1/f=1/440=272μs。单片机上对应蜂鸣器的I/O口来回取反的时间应为:t=T/2=2272/2=1136μs。单片机奏乐时,其定时器为工作方式1,若以振荡器的十二分频信号为计数脉冲,如果单片机晶振为12MHz,则1μs计数一次。所以,对于“低6”,其定时器的初值应该是:216-1136=64400。
    对节拍的控制可通过延时程序来实现。表2所列是节拍编码表。若以1拍的时长为400ms为例,1/2拍的时长为200ms,1/4拍的时长为100ms。首先,这样,确定一个基本时长的延时程序,比如以100ms为基本延时时间,那么,1/4拍可以调用一次延时程序,1/2拍需调用二次延时程序,1拍需调用四次延时程序,依次类推。
2.3 编程
    音调和节拍都进行过编码后,那么,一首乐曲就可以用若干个8位的简码表示。比如“生日快乐歌”的第一个简码是“82H”,由表1可知,其高四位“8”表示音调“中5”,对应的频率是784Hz,对应的定时器初值是64898;另由表2可知,其低四位“2”表示节拍为“2/4拍”。这样,任意一首乐曲的简码都可以通过乐谱提取软件获得,而得到简码后,就可以编程了。图3所示是单片机播放音乐的程序流程图,本文使用的是定时器0,音调的高低由定时器来控制P3.7并按一定频率取反实现,节拍的长短由延时程序控制。流程图中的“TABLE”是由表1中的定时初值组成的。



3 结束语
    本文通过Proteus ISIS对单片机音乐播放器进行了仿真,并在仿真的基础上制作了一个音乐播放器实物,其音乐播放的效果很好。作者通过仿真与制作,对这两者进行了比较与总结,并给出了两种电路图及程序流程图,希望能成为读者的参考。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭