电子音乐播放器单片机课程设计.doc
《电子音乐播放器单片机课程设计.doc》由会员分享,可在线阅读,更多相关《电子音乐播放器单片机课程设计.doc(22页珍藏版)》请在沃文网上搜索。
1、目 录摘 要目 录1第一章 绪论21.1课程设计目的21.2课程设计任务21.3课程设计要求21.4课程设计的意义2第二章 设计原理及总体方案选择32.1 基本原理简述32.2 关于音乐的原理知识4第三章 音乐播放器硬件电路的设计和调试63.1 硬件原理电路的设计63.1.1 时钟与复位模块63.1.2 按键选择模块63.1.3 数码管显示模块73.1.4 下载电路模块73.1.5 US供电模块83.1.6 蜂鸣器模块83.1.7 整个原理图93.2 ATMEL 89C51简介103.2.1 AT89C51单片机103.2.2 引脚介绍10第四章 软件编程设计与综合测试114.1 编程思路简述
2、114.2 编程方案的设计134.2.1 软件功能选择134.2.2 程序流程图134.2.3 程序清单154.2.4 软件调试15参考文献20心得体会21第一章 绪论1.1课程设计目的应用单片机,利用它的原理组成一个音乐播放器。利用按键进行音调选择,即不同的按键产生不同的音调,蜂鸣器发出1234567音调,并在数码管上显示。编写2支歌曲,并可进行选择播放。1.2课程设计任务1) 以单片机为核心部件组成一个音乐播放器。2) 利用单片机的定时器产生乐谱的各种频率方波,由蜂鸣器发出声音。3) 自行定义按键盘,每按一键,可以发出对应的音调,或者可选择按键进行歌曲播放。4) 在数码管上显示Do、Re、
3、Mi、Fa、Sol、La、Si音调所对应的1、2、3、4、5、6、7。1.3课程设计要求1)硬件电路的搭建是用采用AltiumDesigner6.9。2)采用单片机C语言进行编程。3)完成硬件与软件调试综合调试,实现预定功能,并写出课程设计报告。1.4课程设计的意义 通过自己动手设计制作单片及组成的器件,深入了解了单片机的实际应用,能更深地理解课堂上所学的内容,使得单调的理论知识与实际联系起来,帮助我们更好的理解。同时学会PCB制版的过程,熟悉AltiumDesigner6.9这个软件。 第二章 设计原理及总体方案选择2.1 基本原理简述声音是通过振动产生的。单片机对某一引脚以一定的频率循环置
4、1置0,该引脚便产生一定频率的方波,方波通过放大,作用于一定的物理实件(蜂鸣器),就产生了一定频率的声音。若改变输出方波的频率,产生的声音随之改变。通过控制输出方波的时间长短,声音的长短也可以得到控制,因此,根据乐谱,以类似的音及同样的节拍,单片机就可以产生电子音乐。音乐的播放模式及选择可以通过按键的输入得以实现。为简便起见,以一定的频率方波产生的音在其每个周期内高低幅值得时间各占一半因此,输出引脚在每个方波周期内要动作两次:一次升高,一次降低。即输出引脚的频率是原音频率的两倍。方波的产生由定时器控制。定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。必须考虑到中断响应时间的
5、影响,尤其在高音部分,若忽略中断响应时间,会使音频频率比标准值低几十Hz,相当于1/4音程,很容易听出来,对低音部分影响不大。一般中断响应时间为36个机器周期,经过反复试验取5个机器周期作为校正最为恰当,表1中所给的定时初值就是考虑中断响应后的定时常数。另外,为避免T1中断可能引起杂音,应将定时器T0中断设为高优先级。这样编写出来的程序播放的音与标准音叉进行差频校音,非常准确和谐。音乐播放器的基本硬件电路有六部分组成:单片机、时钟与复位电路、选择按键输入电路、音频发生器、蜂鸣器、数码管显示。音乐播放器硬件电路设计框图如图2.1所示。数码管对应显示时钟与复位电路单片机音频发生器选择按键输入电路蜂
6、鸣器图2.1 音乐播放器硬件电路设计框图利用单片机内部定时器/计数器T0与P2.0引脚配合,构成音频发生器,与外置电路组成音频放大器,驱动蜂鸣器输出。选择按键通过P1.0 至P1.7。 2.2 关于音乐的原理知识 在音乐中使用的各个固定频率的音叫音级1。常用符号C、D、E、F、G、A、B、c、d、e、a1、b1、c2、d2表示,它们对应于钢琴上的白键。两音之间音高的距离叫音程。在上述音级中,E与F、B与C之间音高的距离仅为其它相邻音级之间距离的一半,称它们之间的音程为半音音程,而称其它相邻各音之间的距离为全音音程。在这些全音音程之间又加入新的半音音级,用符号C、D、F、G、A、c、d、f、表示
7、,对应于钢琴上的黑键。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。表2.1 各音符及对应频率音符低DO低#DO低RE低#RE低MI低EA简谱码DO_LDO#_LRE_LRE#_LMI_LFA_L频率262HZ277HZ294HZ311HZ330HZ349HZ音符低#FA低SO低#SO低LA低#LA低SI简谱码FA#_LSO_LSO#_LLA_LLA#_LSI_L频率370HZ393HZ415HZ440HZ466HZ494HZ音符中DO中#DO中RE中#RE中MI中EA简谱码DODO#RERE#MIFA频率523HZ554HZ587HZ622HZ659HZ698HZ音符中#FA中
8、SO中#SO中LA中#LA中SI简谱码FA#SOSO#LALA#SI频率740HZ785HZ831HZ880HZ932HZ988HZ音符高DO高#DO高RE高#RE高MI高EA简谱码DO_HDO#_HRE_HRE#_HMI_HFA_H频率1047HZ1109HZ1174HZ1245HZ1318HZ1397HZ音符高#FA高SO高#SO高LA高#LA高SI简谱码FA#_HSO_HSO#_HLA_HLA#_HSI_H频率1480HZ1568HZ1661HZ1760HZ1865HZ1976HZ每个音符分为简谱码和节拍码。简谱码为D0-L到SI-H,节拍码为1到16。对应的节拍表如表2.2所示。对应的
9、拍子: 2/2。以二分音符为一拍,每小节有两拍(二分音符代表一拍)2/4。以四分音符为一拍,每小节有两拍(四分音符代表一拍)3/4。以四分音符为一拍,每小节有三拍(四分音符代表一拍)4/4。以四分音符为一拍,每小节有四拍(四分音符代表一拍)表2.2 节拍表拍数字符拍数字符 1/8 00H 2 08H 1/4 01H 5/2 09H 1/2 02H 3 0AH 3/4 03H 7/2 0BH 1 04H 4 0CH 5/4 05H 5 0DH 3/2 06H 6 0EH 7/4 07H 8 0FH第三章 音乐播放器硬件电路的设计和调试3.1 硬件原理电路的设计3.1.1 时钟与复位模块由电容,电
10、位器,按键组成复位电路部分,该电路接于单片机的RESET端可以通过按键达到手动复位的效果,也可以通过电位器和电容组成上电复位电路。通过复位电路使单片机回到初始状态。图 3.1 复位电路图 3.2 晶振时钟电路3.1.2 按键选择模块 利用P1.0到P1.7与构成按键阵列,可以扫描十六个按键,但本次设计只用到九个按键。图3.3矩阵键盘3.1.3 数码管显示模块 图3.4数码管3.1.4下载电路模块图3.5下载电路3.1.5 USB供电模块图3.6 USB供电电路3.1.6 蜂鸣器模块图3.7 蜂鸣器3.1.7 整个原理图综合以上功能模块,连接于单片机,绘制原理图如图3.8所示。图 3.8 音乐播
11、放器电路原理图PCB完成版:3.2 ATMEL 89C51简介3.2.1 AT89C51单片机AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时
12、控制系统来说,这样长的时间是不可能在线修改程序的。3.2.2 引脚介绍图3.7 引脚图第四章 软件编程设计与综合测试4.1 编程思路简述要产生音频信号,只要算出某一音频的周期(频率的倒数),将此周期除以2即为半周期的时间,利用定时器计时此半周期时间,计时到后取反输出,重复此过程即得到此频率的声音信号。此信号从P2.0脚输出。定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。必须考虑到中断响应时间的影响,尤其在高音部分,若忽略中断响应时间,会使音频频率比标准值低几十Hz,相当于1/4音程,很容易听出来,对低音部分影响不大。一般中断响应时间为36个机器周期,经过反复试验取5个机器
13、周期作为校正最为恰当,表2.1中所给的定时初值就是考虑中断响应后的定时常数。另外,为避免T1中断可能引起杂音,应将定时器T0中断设为高优先级。这样编写出来的程序播放的音与标准音叉进行差频校音,非常准确和谐。本设计中单片机晶振频率为11.0592MHz。每个音符使用两个字节。低位字节(偶地址)代表音级,00H表示不发音(休止符),01H30H依次表示的音级为c、c、d、d、e、f、a3、a3、b3 ,详见表2.1。高位字节(奇地址)代表音符的时值(拍数),00H0FH依次表示拍数为1/8拍(0.10s)8拍(6.40s),见表2.2。乐曲的结束标志是两个字节:0FFH,0FFH。设计延时程序50
14、ms,来控制节拍,改变延时程序的延迟时间,即可实现歌曲的快慢演奏。主程序的任务是按顺序读取数据表中的字节,根据情况调用音级子程序和演唱子程序,启动定时器T0;通过延时控制节拍,并循环回音级子程序,等待演唱完毕。要编写的乐谱按要求以音符字节数据表的形式存放在程序中,改变乐曲就是通过改变该数据表的内容来实现的。定时器T0的中断服务程序任务是取反P2.0输出产生方波,重新为TH0,TL0送初值。蜂鸣器产生音乐的2个关键参数是频率和音长。一个节拍的时间大概是400-500ms之间。用定时器定时50ms,8个定时时间就是一个节拍,即为Rhythm。音调频率如下表:C调1234567低(Hz)262293
15、329349392440494中(Hz)523586658697783879987高(Hz)1045110613161393156317551971根据表中的频率计算出周期T=1/f;则T/2就是电平的持续时间;得到的T/2再除以15us就可以得到带参延时函数delay_15us的入口参数,即为Tone:C调1234567低12711310195857567中63565047423733高31282523211916依次按照音调,节拍,音调,节拍的顺序写入到数组中,并在结尾处加入休止符0即可完成整个音乐的播放。4.2 编程方案的设计4.2.1 软件功能选择1)对于九个按键的功能设计,按键07控
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电子音乐 播放 单片机 课程设计
