基于51单片机的音乐播放器设计(共28页).doc
《基于51单片机的音乐播放器设计(共28页).doc》由会员分享,可在线阅读,更多相关《基于51单片机的音乐播放器设计(共28页).doc(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上题目:音乐播放器课程设计(论文)任务书课程设计(论文)题目:音乐播发器基本内容:利用单片机的定时器产生各种频率的方波,信号经过放大后送到喇叭从而产生各种音调。自行定义键盘,每按一键,可选择一首歌曲进行演奏,至少能够存储并播放十首歌曲,在LCD上显示演奏歌曲的名称并滚动显示歌词,单片机可连续播放这首歌曲,演奏可通过按键停止。课程设计(论文)专题部分:题目:音乐播放器 基本内容:通过单片机设计可以播放十首歌曲的音乐播放器,同步显示歌曲名称和歌词。学生接受毕业设计(论文)题目日期第 19 周指导教师签字:2009年7月摘要随着电子技术的发展和计算机越来越普遍的使用,单片机作
2、为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。单片机的英文名称为single chip microcomputer,最早出现在20世纪70年代,国际上现在已逐渐被微控制器(Microcontroller Unit 或 MCU)一词所取代。它体积小,集成度高,运算速度快,运行可靠,功耗低,价格廉,因此在数据采集、智能化仪表、通讯设备等方面得到了广泛应用。而8051单片机在小到中型应用场合很常见,已成为单片机领域的实际标准。随着硬件
3、的发展,8051单片机系列的软件工具也有了C级编译器和实时多任务操作系统RTOS,为单片机编程使用C语言提供了便利的条件;并针对单片机常用的接口芯片编制通用的驱动函数,可针对常用的功能模块,算法等编制相应的函数;C语言模块化程序结构特点,可以使程序模块大家共享,不断丰富,这样就使得单片机的的程序设计更简单可靠,实时性强,效率高。作为测控技术与仪器的学生,掌握8051单片机硬件基础及其相关软件操作,将其应用于现代电子产品中是必要而且重要的,这次课程设计我们的题目是用单片机实验箱系统制作音乐播放器。本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音
4、符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显示器上显示相应播放歌曲的曲名和滚动歌词。再加上一个开关键来控制歌曲的播放停止。本设计的目的是培养理论联系实际的学习方法以及独立解决工程实际问题的能力。能够熟识单片机C51语言的编程特性,及其应用。能够用C51语言进行编程,能成功的编出较为简单的程序。关键词:单片机,音乐,蜂鸣器,同步显示专心-专注-专业目 录第一章 绪论
5、1.1课程设计目的应用单片机,利用它的原理组成一个音乐播放器。1.2课程设计任务1) 以单片机为核心部件组成一个音乐播放器;2) 利用单片机的定时器产生乐谱的各种频率方波,信号经过放大后由蜂鸣器发出声音;3) 自行定义按键盘,当有键按下时,能相应的播放出歌曲。有一个停止键能控制音乐的播放;4) 在LCD液晶显示屏上同步显示演奏歌曲的曲名;5) 附加要求:在LCD上滚动显示演奏歌曲的歌词。1.3课程设计要求1)用Protel画出硬件原理图;2)画出软件流程图,采用单片机C语言或汇编语言进行编程;3)完成硬件与软件调试综合调试,实现预定功能,并写出课程设计报告。1.4课程设计的意义通过自己动手设计
6、单片及组成的器件,在软件及硬件上进一步了解单片机的原理,深入了解了单片机C51语言的实际应用,能更深地理解课堂上所学的内容,巩固C语言程序编写,亲身体会作为一名设计人员所需要具备的各种能力,学会理论知识联系实际,提高我们发现问题,分析问题,解决问题和实践动手的能力。第二章 设计原理及总体方案选择2.1 设计原理2.1.1 基本原理简述声音是通过振动产生的。单片机对某一引脚以一定的频率循环置1置0,该引脚便产生一定频率的方波,方波通过放大,作用于一定的物理实件(蜂鸣器),就产生了一定频率的声音。若改变输出方波的频率,产生的声音随之改变。通过控制输出方波的时间长短,声音的长短也可以得到控制,因此,
7、根据乐谱,以类似的音及同样的节拍,单片机就可以产生电子音乐。音乐的播放选择可以通过按键的输入得以实现。为简便起见,以一定的频率方波产生的音在其每个周期内高低幅值得时间各占一半因此,输出引脚在每个方波周期内要动作两次:一次升高,一次降低。即输出引脚的频率是原音频率的两倍。方波的产生由定时器控制。定时器T0工作在定时方式1,改变TH0及TL0,产生不同的音频频率。必须考虑到中断响应时间的影响,尤其在高音部分,若忽略中断响应时间,会使音频频率比标准值低几十Hz,相当于1/4音程,很容易听出来,对低音部分影响不大。一般中断响应时间为36个机器周期,经过反复试验取5个机器周期作为校正最为恰当,表1中所给
8、的定时初值就是考虑中断响应后的定时常数。另外,为避免T1中断可能引起杂音,应将定时器T0中断设为高优先级。这样编写出来的程序播放的音与标准音叉进行差频校音,非常准确和谐。音乐播放器的基本硬件电路有六部分组成:单片机、时钟与复位电路、选择按键输入电路、音频发生器、音频放大器和扬声器。音乐播放器硬件电路设计框图如图2.1所示。LCD液晶显示屏显示时钟与复位电路单片机音频发生器按键输入歌曲选择电路蜂鸣器音频放大器图2.1 音乐播放器硬件电路设计框图利用单片机内部定时器/计数器T0与P1.1引脚配合,构成音频发生器,与外置电路组成音频放大器,驱动扬声器输出。LCD液晶模块以并行方式与微控制器相连,15
9、脚接高电平为并行方式,通过送入指令和数据,可对显示方式和显示内容做出选择。2.1.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、表示,对应于钢琴上的黑键。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音。表2.1 各音符及对应频率
10、音符低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中SO中#SO中LA中#LA中SI简谱码FA#SOSO#LALA#SI频率740HZ785HZ831HZ880
11、HZ932HZ988HZ音符高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所示。对应的拍子: 2/2。以二分音符为一拍,每小节有两拍(二分音符代表一拍)2/4。以四分音符为一拍,每小节有两拍(四
12、分音符代表一拍)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 0FH2.2 设计方案的拟定和选择2.2.1.基本方案实现四10个按键选择10首歌曲,能够实现音乐播放。演奏通过按键来停止,在LCD上显示演奏歌曲的名称。简单说明:采用8279芯片来控制键盘,使其IRQ引脚接单片机
13、的外部中断0,一旦有键按下就对应一首曲播放目。停止按键可以使用外部中断1来实现。关于LCD采用的是并行接法传输数据,查找汉字码表找出各首歌名的对应数码,软件中用数组存储即可,一个歌名用一个数组,根据按键可以把存储各首歌名数码的数组首地址传给全局指针,调用显示函数即可显示相应的歌名。各音调对应的定时器初始装载表也以数组的形式按升调顺序存储,并按前面所述将各歌曲的对应音调和节拍存储在数组中,有按键按下时,将对应歌曲的数组首地址传给全局指针,利用相应的处理函数调出音调对应的定时器装载值表,给定时器装载初值并启动,产生控制扬声器的方波,根据低半字节控制延时时间,即音调的发音长短。2.2.2.附加方案能
14、够在播放音乐得同时,实现LCD同步显示歌曲的歌名和歌词内容 。 第三章 音乐播放器硬件电路的设计和调试3.1 硬件原理电路的设计由设计原理框图2.1,分别设计相应模块,构成原理图。3.1.1 时钟与复位模块由电容,电位器,按键组成复位电路部分,该电路接于单片机的RESET端可以通过按键达到手动复位的效果,也可以通过电位器和电容组成上电复位电路。通过复位电路使单片机回到初始状态。图 3.1 复位电路和晶振时钟电路3.1.2 按键选择模块图3.3 按键选择模块 通过74LS138与P3.0口、按键公共端及按键和P1口相连,构成按键选择模块。P3.0口输出0时,选择左边8个键,P3.0口输出1时,选
15、择右边8八个键。是某个键按下可由P1口读取。3.1.3 音频发生及放大器模块由非门(74LS04),三极管(9014),蜂鸣器,电阻组成的外部驱动发音电路。该电路部分接于P3.1口,经过外部非门和三极管的驱动,通过扬声器发出音乐。图 3.3 音频发生与放大电路3.1.4 LCD显示模块 由RT12864,按键和保护电阻组成的外部扩展电路。其工作过程是通过单片机P3.6/WR和P3.7/RD接于RT12864,使其接收单片机由使用者通过按键发来的信息,显示歌曲名称,在没有设备启动没有按键工作时显示“按键选择歌曲”,当有按键工作后,设备播放歌曲同时显示歌曲序号及歌曲名称。3.1.5 电路原理图综合
16、以上功能模块,连接于单片机,绘制原理图如图3.4所示。图 3.4 音乐播放器电路原理图3.2 ATMEL 89C51简介3.2.1 AT89C51单片机AT89C51是美国ATMEL公司推出的系列单片机,将多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。89C51内含4KB的FPEROM,一般的EEPROM
17、的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。3.2.2 单片机CPU结构 图3.6单片机CPU结构3.2.3 AT89C51用户系统l CPU为Atmel公司生产的89C51/89C52/89C55等。出厂所配晶振频率为11.0592MH,每个机器周期为1.085us,用户更换晶振以提高速度;l 存贮器为64K,前4K/8K20K在CPU内部,其它程序在EPR0M27512中;l 数据存贮器为32K(62256),地址为8000FFFFH;l /O扩展8155,片内RAM地址200O-20FFH ;l 8155命令口地址为2100
18、H ;l A口地址21O1H B口地址:2102H C口地址:2103H ;l T低八位2104H T高八位2105H ;l 多路模拟开关的使用 IN0P1=0F8H IN4:P1=0FCH IN1P1=0F9H IN5:P1=OFDH IN2P1=0FAH IN5:P1=0FEH IN3P1=0FBH IN7:P1=0FFH l 不掉电数据存贮器为500EH-507FH ;l 控制板160x1O9(mm) 供电+5V300mA +12V100mA -12V100mA ;l AT89C51是一种低功耗、高性能的片内含有4KB快闪可编程/擦除只读存储器(FPEROM-Flash Programm
19、able and Eraseable Read Only Memory)的8位CMOS微控制器,使用高密度、非易失存储技术制造,并且与80C51引脚和指令系统完全兼容;l 主要性能: 与MCS-51 微控制器产品系列兼容;片内有4KB可在线重复编程的快闪擦写存储器 。3.2.4 引脚介绍图3.7 89C51引脚图第四章 软件编程设计与综合测试4.1 编程思路简述要产生音频信号,只要算出某一音频的周期(频率的倒数),将此周期除以2即为半周期的时间,利用定时器计时此半周期时间,计时到后取反输出,重复此过程即得到此频率的声音信号。此信号从P3.0脚输出。定时器T0工作在定时方式1,改变TH0及TL0
20、,产生不同的音频频率。必须考虑到中断响应时间的影响,尤其在高音部分,若忽略中断响应时间,会使音频频率比标准值低几十Hz,相当于1/4音程,很容易听出来,对低音部分影响不大。一般中断响应时间为36个机器周期,经过反复试验取5个机器周期作为校正最为恰当,表2.1中所给的定时初值就是考虑中断响应后的定时常数。另外,为避免T1中断可能引起杂音,应将定时器T0中断设为高优先级。这样编写出来的程序播放的音与标准音叉进行差频校音,非常准确和谐。本设计中单片机晶振频率为11.0592MHz。每个音符使用两个字节。低位字节(偶地址)代表音级,00H表示不发音(休止符),01H30H依次表示的音级为c、c、d、d
21、、e、f、a3、a3、b3 ,详见表2.1。高位字节(奇地址)代表音符的时值(拍数),00H0FH依次表示拍数为1/8拍(0.10s)8拍(6.40s),见表2.2。乐曲的结束标志是两个字节:0FFH,0FFH。设计延时程序125ms,来控制节拍,并在延时中判断是否有停止键按下,以便随时停止音乐。改变延时程序的延迟时间,即可实现歌曲的快慢演奏。主程序的任务是按顺序读取数据表中的字节,根据情况调用音级子程序和演唱子程序,启动定时器T0;通过延时控制节拍,并循环回音级子程序,等待演唱完毕。要编写的乐谱按要求以音符字节数据表的形式存放在程序中,改变乐曲就是通过改变该数据表的内容来实现的。主程序的任务
22、是按顺序读取数据表中的字节,根据情况调用音级子程序和音长子程序,启动定时器T0;根据定时器T1应中断的次数,启动定时器T1。数据表读完后,根据所设置的循环演奏次数决定是否结束程序。音级子程序的任务是取出字节中的音级部分,分析TH0和TL0中应送入何值,送给33H,34H。演唱子程序的任务是取出对应频率值,并乘以2,启动T0,实现发音。之后执行延时程序,体现节拍,依此循环,直到音乐结束。定时器T0的中断服务程序任务是取反P3.0输出产生方波,重新为TH0,TL0送初值。定时器T1的中断服务程序任务是:判断计数完成否,给373的控制端高或低电平,从而实现数据输出或禁止,达到二极管亮灭闪烁的效果。当
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 音乐 播放 设计 28
限制150内