1、基于单片机的音乐盒设计本科毕设论文2014届本科毕业论文 基于单片机的音乐盒设计 姓 名: 张静伟 系 别: 物理与电气信息学院 专 业: 通信工程 学 号: 100313037 指导教师: 吕广申 2014年4月20日目 录 摘要与关键词 II0 引言 11 整体设计方案 11.1 系统总体结构框图 11.2 对音乐盒基本功能介绍 11.3 系统相关软件介绍 22 系统整体硬件介绍 22.1 硬件设计总体框图 22.2 分部硬件框图及介绍 22.2.1 STC89C52单片机简介 22.2.2 单片机晶振电路 32.2.3 单片机复位电路 32.2.4 蜂鸣器驱动电路 42.2.5 数码管驱
2、动电路 42.2.6 LED驱动电路 52.2.7 歌曲切换电路 52.2.8 电源电路 52.2.9 程序下载电路 63 系统整体软件介绍 73.1 音乐盒乐曲播放原理 73.1.1 音调及音频脉冲 73.1.2 节拍 83.1.3 编码 93.2 主程序流程图 104 仿真与调试 115 结语 11 参考文献 11 致 谢 12基于单片机的音乐盒设计摘 要本设计是根据单片机系统而设计研发的音乐盒,分别由各个功能模块组成整个音乐盒的设计研发。由电源电路、蜂鸣器驱动电路、复位电路、数码管显示电路、LED模块电路、按键电路以及下载程序电路组成。该音乐盒可实现存储多首乐曲、并利用按键控制音乐盒的切
3、换歌曲等基本功能。本音乐盒是通过两个按键来控制音乐的播放,分别达到快进和返回的功能。音乐盒工作时,数码管显示正在播放的歌曲序号,LED灯显示歌曲频谱变化。默认单曲循环的音乐盒内部共存储5首音乐。本设计利用PROTEUS硬件仿真软件对硬件进行仿真调试,结合KEIL编程软件对软件进行调试,节省了时间。电路原理图由软件Protel99se完成,PCB板的制作通过手工完成,最终实现音乐盒的制作。关键词音乐盒;单片机;数码管Music box design based on single chip microcomputerAbstractThis product is a designed music
4、 box based on a microcontroller-based system, composed by the power circuit, buzzer driver circuit, the digital display circuit, LED module circuit, the key circuit and download the program circuit. The music box can store multiple songs, switch songs by keys and so on. The music box can do fast for
5、ward and return via 2 keys respectively. When the box working, the playing song will be displayed, and LED lights will work when the spectrum of the song changes. Five music are stored and the default mode is single cycle. This design debugs the hardware via PROTEUS hardware simulation software whil
6、e debugs the software via KEIL debug software, save the time. Using simulation software Protel99se draw circuit principle diagram, manual of PCB production, realize the music box.KeywordsMusic box; Single chip microcomputer; Digital tube0 引言随着科学技术的飞速发展,新兴的电子技术也迅速在神州大地普及开来。电子技术的发展也推动电子产品的研发生产。而单片机的出现
7、为电子技术的发展提高了一个层次,同时单片机也在不断的进行自我完善。目前的单片机正向着高性能、多功能、微型单片化等优良方向发展1。 时代在发展,经济在腾飞,人们的生活水平也在发生着翻天覆地的变化,传统的机械式的音乐盒已经不能满足人们对于音乐上更高层次的追求。而单片机产品的层出不穷让人们对单片机的认识也在不断地加深。基于对传统音乐盒的改造以及对单片机的应用,便产生了电子式音乐盒。小小的音乐盒不仅带来听觉上的享受更保留了一些难忘的回忆。这种以单片机为核心制作而成的音乐盒体积小,携带方便,而且可以存储多首乐曲,外表漂亮,制作工艺简单且成本低廉,更重要的是可以批量生产,具有一定的商业价值。液晶显示器的工
8、作电压低、微低耗、显示信息量大、接口方便等优点已被广泛应用于计算机、数字式仪表等仪器,成为结果显示和人机交流的重要工具2。1 整体设计方案从设计选题到思路以及后续工作由以下几个步骤分别实现:1首先提出了音乐盒的整体方案2对完成音乐盒所需的硬件电路进行编排3其次对软件程序进行设计、调试4然后完成软件及硬件结合的仿真调试5最后做到软、硬件的完美契合微机原理与接口技术需综合运用计算机的底层硬件设备和底层汇编编程语言知识3。1.1 系统总体结构框图系统是基于STC89C52系列单片机研发的,可以实现存储功能;音乐的正常播放由2个按键决定,一个按键返回上首乐曲,另一个切换下首乐曲,LED灯用来显示乐曲音
9、调不同变化。系统整体结构框图如下图1所示。图1 系统总体结构框图1.2 对音乐盒基本功能介绍 音乐盒具有存储多首音乐的功能,由两个按键控制音乐盒的播放,分别实现快进和返回的功能。按键1是切换到下一首歌曲,按键2是返回上一首歌曲,如果音乐盒工作时,不对其进行按键控制,那么默认单曲循环。并由LED灯组模块显示音乐频谱变化。 1.3 系统相关软件介绍(1)PROTEL 99SE介绍:PROTEL 99SE由两部分组成,分别是由电路原理图设计模块和多层印刷电路板模块两部分组合而成。原理图设计是由电路图和元件库编辑器编辑两个部分构成。电路板设计软件不胜枚举,可是性能好的就寥寥可数了,其中Protel99
10、se电路板设计软件就是一款简单易学方便易用的电路板设计软件。它的良好性能决定了它的广泛适用性,得到了大家一致的好评,是一款首选的电路板设计工具。(2)KEIL软件简介:硬件设计和软件编译在单片机应用开发中均占有重要意义。要把我们的语言转换成处理器可以识别的机器代码,除了手工汇编之外,还可以采用机器汇编。顾名思义,机器汇编就是通过汇编软件将源程序转化为机器代码。考虑到效率以及成本,我们现在大部分采用机器汇编。随着人们对单片机认识的逐步加深,单片机开发软件也在不断地发展。从各大仿真机厂商全面支持Keil软件的程度就可以看出,Keil软件是我们最喜欢的51系列单片机的软件。本程序采用C语言软件开发系
11、统,C和汇编语言相比,在各方面都有很大的优势,更简单、方便实用。另外,它还提供了系统完整开发方案,并由集成开发环境将系统各个部分组合在一起,该软件要求只有一些特定的操作系统方可采用Keil软件4。(3)PROTEUS软件简介:仿真软件是一家英国公司生产的,Proteus软件不仅具有其他EDA工具软件的基本功能,还具备电路模拟的互动。互动性的作用是表示,微处理器的应用程序,可直接在虚拟工作原理图模型上彻底实现软件的实时调试。软件所受到的好评与推广的时间长短并没有影响。它不仅是一款性能优良的仿真软件,更是做到了从布图、调试到仿真,以及PCB设计,从实际意义上做到了概念到产品的完美整合。2 系统整体
12、硬件介绍2.1 硬件设计总体框图 图2 硬件设计总体框图2.2 分部硬件框图及介绍2.2.1 STC89C52单片机简介随着单片机产品的出现及研发,经过逐步研究探索,我们了解单片机实验体系有充足的电路和机动的组合方法5-6 。单片机不仅仅是一个可以完成某项具体功能的芯片,而是一个计算机的微型缩影。总而言之,单片机就是由一个芯片组成的具有计算机通用功能的微型计算机。从单片机的出现到普及,单片机的性能得到了广泛的提高。STC89C52单片机除了具备单片机的一些共同特点外,还有一些自身的特点:STC89C52单片机是继单片机性能提高后的新一代的功耗低、稳定性能好的单片机。它是8051系列单片机的增强
13、型,所以除了兼容8051系列单片机的优点同时还具备传统51单片机所不具备的功能。STC89C52是一款具有一定大小程序存储空间和数据存储空间、EEPROM存储空间大小为4K、32个双向输入输出端口、并可以直接使用串口下载的存储器7。2.2.2 单片机晶振电路图3 晶振电路晶振电路是单片机正常工作必不可少的工具。单片机正常工作时,都是依次对从存储器取出的指令进行操作执行。单片机每访问存储器的固定时间定为一个机器周期。一个机器周期包括12个时钟周期。不同指令执行的速度快慢有差异,特此介绍指令周期,也即是执行一条指令所用的时间。选用不同参数的晶振,机器周期就不同,机器周期不同,相应的指令周期也不同。
14、由此来看,机器周期对指令的执行有着非比寻常的意义。2.2.3 单片机复位电路图4 复位电路 任何事物都不是完美的,微机系统操作同样如此。为了保证微机系统的正常工作,就需要一个“清零”按钮,就像计算器运行结束或出现错误要进行清零一样。微机系统要对运行失误或结束的电路进行一个复位操作,简单来说就是恢复到初始状态,但复位电路的运行不像计算器的清零按钮那样简单。复位电路在电路通电时马上进行复位操作,也可以进行人工手动操作。仅仅依靠电阻和电容就可以组成简单的复位电路,当然也可以根据实际需要,添加一些必要的元器件组成一些复杂的复位电路。2.2.4 蜂鸣器驱动电路图5 蜂鸣器驱动电路本设计采用的播放模块选用
15、蜂鸣器当作音乐的输出设备。凭据有没有振荡源的区别,特此我们又区分为有源和无源蜂鸣器。有源蜂鸣器的输出频率是稳定的,用途是提示或告警。与有源蜂鸣器相类比,无源蜂鸣器因为可以孕育不同频率的音响,用途是播放各种频率的声音。数字式音乐盒要求具有一定的灵活性因为播放曲目频率的不确定性,多采用无源蜂鸣器8。多用无源蜂鸣器演奏不同类别的乐曲或模拟频率差异的声响9。由上图,当P3.6管脚输出稳定高电平信号时,三极管正常放大声音,启动蜂鸣器。当P3.6管脚输出恒定电平的控制信号,规范了方波信号的规律形成,造成间歇性蜂鸣器的响声,发出美妙的音乐旋律。2.2.5 数码管驱动电路图6 数码管显示电路本设计用数码管显示
16、目前播放音乐的序号,由上图我们可以看出数码管的整体显示是由发光二极管分段组成的。通常情况下,在单片机系统中由8段LED数码管组成显示模块,7个组成“8”,另外1个形成小数点。LED数码管显示块的亮或灭取决于控制端口电平的高低。我们都知道,LED数码管有共阴极接法和共阳极接法。如4.5示:图中的发光二极管为共阴极接法。2.2.6 LED驱动电路图7 LED驱动电路从单片机出现至广泛推广以来,凭借其优良的性能快速的占据了大部分市场。单片机开发系统具有体积小、功能齐全、易学易用等优点,并逐步渗透社会的各个领域,充分体现了它的实用价值。LED灯可以比拟单片机系统的“眼睛”,从LED灯的显示可以向人们传
17、达单片机系统的工作状态信息和输出结果。综上所述,简捷的LED灯驱动电路对于单片机系统就是必不可少的硬件电路。上图就是针对单片机音乐盒的LED灯的驱动电路原理图,8个发光二极管组成显示电路,LED灯组连接至单片机的P1端口。在P1端口处若为低电平,那么LED显示灯亮。由此可见,单片机内部程序控制发光二极管的亮或灭,8个发光二极管分别对应不同的音阶,音阶的规律性变化会导致相应LED灯的亮、灭,从而显示不同频率的乐调。2.2.7 歌曲切换电路图8 按键切换电路本设计由按键来控制音乐播放,一个实现快进下一首音乐,返回上一首音乐是由另一个按键控制的,是手动干预音乐盒播放的主要手段。由上图我们也可以看出,
18、本设计采用独立式按键控制音乐播放。独立式按键方式,即每个按键分别单独的连接一个I/O端口,每一个都是独立的工作状态,不影响其他I/O端口的正常工作。这样的按键方式方便简单,应用范围广泛,是本设计其中一个亮点,按键方式的连接也为我们以后关于单片机应用开发提供了可行性的方案。2.2.8 电源电路能够提供电力能源支持的电路设计叫做电源电路。根据用电设备的特点及要求,电源电路可灵活进行设计。本系统采用4节7号电池组成5V电源为单片机供电电池为供电能源。采用电池供电方便,价格便宜,应用广泛。其中下图便为电源电路设计图。图9 电源电路2.2.9 程序下载电路图10 程序下载电路对电脑熟悉的都知道电脑串口的
19、重要性,为了方便快捷的对软件进行调试,大多数器件选用经过串口和电脑端软件的连接,经由串口对数据与信息进行必要的处理与交换。但由于电脑配置的问题,导致有些台式机电脑和笔记本都没有串口,这就让我们多了许多的麻烦。为了方便客户解决无串口的问题,USB转串口模块应运而生。它可以将USB接口虚拟为一个串口,这就解决了无串口的问题。但随之又出现了另一个问题,不是每个USB到串口芯片都可以进行ISP下载,通过寻找及测试,发现PL2303是一款应用广泛又价格低廉的器件。上图就是为下载程序而提供的硬件支持,这样的设计使系统实现更为简单易操作。系统整体电路图在前面我们分别说明了组成系统的各个功能模块的电路原理图,
20、并附带着对电路原图的原理进行了简单的说明。这样也方便我们对该音乐盒设计有一个由局部到整体的认识与总结。通过对音乐盒由整体到部分的构思,结合对部分的研究与设计,确立功能模块电路图,进而完成功能模块的整体布局。通过对系统整体硬件、软件的整合调试,找到存在的问题,通过资料与老师指导,找到解决问题的方法,并最终确定硬件电路组成。为了直观的看到本设计硬件电路布局,特此展示整个系统硬件连接电路图如下:图11 系统整体电路图3 系统整体软件介绍在 STC89C52 系列单片机研发的电子音乐盒中,各个功能不同的软件程序与硬件模块之间既“独立”又“协作”,在接到输入指令后,立即运行相应的程序,从而实现设计的各项
21、功能,进而控制音乐的播放7。3.1 音乐盒乐曲播放原理能够正常播放一段音乐必不可少的两个因素就是音调和音符10。音调和声音频率及声音强度息息相关,而音符发音的关键主要依靠音频脉冲。对于利用单片机来实现演奏乐曲的功能来说,我们只要弄清楚内在关键就好,也即是明白“音调”和节拍表示一个音符所需的时间即可。3.1.1 音调及音频脉冲本设计是由核心模块单片机及相关乐理知识进行组织设计的一个音乐播放器,也就是经由核心模块单片机对数据与信息进行微机处理,再由内部电路将信号进行处理放大,由放音设备耳机或扬声器放出声响。声音是由振动产生的,不同的振动频率发出不同的声音,我们将有规律的振动发出的声音叫“音乐”11
22、。音调和节拍组成音乐,音调是由音频决定的,节拍也即是延时时间的多少。我们把音乐音阶用C、D、E、F、G、A、B来表示不同音高的乐音,读作DO、RE、MI、FA、SO、LA、SI,也即是简谱1、2、3、4、5、6、7。这些乐音都有其固定频率,在音乐产生时期就已经存在。我们只要利用单片机内部定时器改变计时器时间长短就可以得到不同的频率,不同的频率产生不同的声响,只要控制频率的输出就可以由单片机产生音乐。单片机内部元器件会产生一定频率的方波,方波控制程序中断延时,从而达到实现“17”的发音,最后全曲的编程和硬件工具实现歌曲播放。如要延生一定的音频脉冲,只需求出某固定音频半周期时间。时间使用定时器的周
23、期,一旦定时器的半周期输出的I / O逆转,所以对脉冲可以得到相应的频率。结合脉冲滤波器的硬件电路,得到正弦信号的近似以及音乐扬声器的声音。单片机计数器计数值是由音阶频率决定的,下面是计数值N与频率之间的数量关系: (1) 注:N:半周期内计数器的计数值; Fi:定时器技术频率(通常默认12M晶振,其频率Fi为1MHZ); Fr:要产生的音乐频率; 计数器数值是依次增加的,计满溢出,故计数初值计算公式如下: (2)其中N为半周期计数器的计数值表1 C调各音符频率Fr与计数值T的对照低音频率T参数中音频率T参数高音频率T参数Do2621908229Do523956115Do10465757Do2
24、771805217Do554903108Do11095454Re2941701204Re587852102Re11755151Re3111608193Re62280497Re12454848Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa3701351162Fa74067681Fa14804141So3921276153So78463877So15683838So4151205145So83160272So16613636La4401136136La88056868La17603434La4641078129L
25、a93253664La18653232Si4941012121Si98850661Si197630303.1.2 节拍节拍也是保证音乐能够正常播放必不可少的因素。节拍数用来描述音阶持续时间长短的即时值,音阶快慢的唯一标准就是为了播放音乐的悦耳动听。通过源程序内的休止符来控制发音暂停。一段音乐通常是由许多不同的音符按照一定的创作方式,不同的音符对应于不同频率,不同频率和时间延迟是美丽的音乐组合。由上节我们知道,只要可以产生不同频率的脉冲就可以产生音乐。产生不同频率的脉冲对单片机来说是轻而易举的。因此,明确的音符和相应的频率和单片机内部定时器计数的关系是至关重要的。表2 节拍与节拍码对照节拍码节拍
26、数节拍码节拍数11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍42/1拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81拍A2又1/2拍A1又1/4拍C3拍C1又1/2拍F3又3/4拍音符在系统中存在独特的编码方式。每个音符占用一个字节,前四位表示音符的高低,音符的节拍就用低四位表示。上图为节拍码对照图表。从以上我们可以知道时间的节奏,只要设定延时时间是足够的,因此延迟时间1 / 4拍,获得其他的节拍。表3 1/4和1/8拍的时间设置曲调值DELAY曲调值DELAY调4/4125毫秒调4/462毫秒调3/4187毫秒调3/494毫秒调2/4250毫秒调2/4125毫
27、秒3.1.3 编码编码,也即是用代码表示数据信息,使计算机通过对代码的分析实现信息处理。7个乐曲发音“do re mi fa so la si”编译为1-7,8为重音do的译码,9为重音re的编码,停顿编为0。音调、节拍组成一个完整编码,前4位为音调的代码,低4位为播放时间代码。曲谱的结束用0xff来表示。将音乐的简谱进行编码后储存在unsigned char 数据类型的数组中。程序读取数字数组,然后分离高4位,找到定时器0定时器的操作和蜂鸣器的相应值,得到相应的音;接着选低4位,获得延时时间,然后调用软件延时。表4 简谱码、T值、节拍数的对比简谱发音简谱码T值节拍码节拍数5低音SO16426
28、011/4拍6低音LA26440022/4拍7低音TI36452433/4拍1中音DO46458041拍2中音RE56468451又1/4拍3中音MI66477761又1/2拍4中音FA76482082拍5中音SO864898A2又1/2拍6中音LA964968C3拍7中音TIA65030F3又3/4拍1高音DOB650582高音REC651103高音MID651574高音FAE651785高音SOF652173.2 主程序流程图 YES YES YES4 仿真与调试本设计包括硬件设计和相应的软件设计,调试系统将分别对硬、软件系统进行分析和仿真调试。1) 对硬件进行调试 检查硬件电路是否符合逻
29、辑、针对电路连线是否正确,然后通过PROTUES硬件仿真软件对硬件电路进行校对,找到问题所在进而解决硬件电路的问题。2) 对软件进行调试 首先要针对系统原理检查程序流程图是否正确。根据流程图再次对编写的程序进行校验;将所有软件进行整合,然后通过KEIL软件仿真对程序运行,检查程序的对错。3) 系统整合 设计包括硬件设计和软件设计,调试系统将在硬,软件调试系统分析与仿真。 5 结语将软、硬件进行整合后,装上4节7号电池,调节合适的音量大小,音乐盒可以实现数码管显示当前播放音乐的序号,按键1切换下一首音乐,按键2返回上一首音乐的功能,还有一个单独的按键实现歌曲复位功能。经过测试,按键可以实现各自作用,蜂鸣器正常工作,数码管显示准确,功能的实现也验证了设计的成功。从学习和探索的经历了两个多月的时间的选择,从设计到软件编程,调试和硬件电路设计和软件、硬件的调试,我付出的努力和汗水很多。在此过程中,我曾因为找不到解决问题的办法而失望沮丧。第一次动手做这个设计,我还存在许多不足,例如自己不够仔细认真、腐蚀电路板及布线不够美观,这些都说明自己动手能力有待提高。人们都说实践出真知,实践经验对于我来说才是更重要的。在这次宝
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1