基于单片机的音乐播放器设计毕业论文.doc
《基于单片机的音乐播放器设计毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的音乐播放器设计毕业论文.doc(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、图书分类号:密 级:毕业设计(论文)基于单片机的MP3播放器设计学生汤明学院名称信电工程学院专业名称电子信息工程指导教师陈豹2012年5月10日 学习文档 仅供参考摘要因为单片机编写的MP3播放器具有执行效率高、频率输出稳定、易于修改、高可靠性、高性价比、低电压、低功耗等,使单片机近几年得到迅猛发展和大范围推广,广泛应用于工业控制系统、数据采集系统、智能化仪器仪表、及通讯设备、日常消费类产品、玩具等 1 。利用单片机设计的MP3播放器具有硬件电路简单,软件运行可靠等特点。本文介绍了一种以 AT89S52 单片机为控制核心的MP3。该设计采用2*16个点阵液晶模块LCD1602作为显示界面,蜂鸣
2、器作为发声元件,并利用定时器进行中断控制。本文分析了基于单片机的MP3播放器的工作原理,详细介绍了MP3播放器的功能及其硬件设计和软件设计的方法,给出了基于MCS-51单片机的MP3播放器的具体实现方案并重点讲述了其硬件实现与软件编写,实现了单片机MP3播放器对音乐的演奏。关键词:MP3播放器;AT89S52;LCD1602目 录摘要I1绪论12设计综述2单片机工作原理22.1.1 单片机概述22.1.2 单片机的应用领域及发展趋势22.2 单片机产生音调的方法32.3 KEIL开发系统42.4 PROTEUS的操作83硬件设计9总体方案设计93.2 单片机最小系统电路93.2.1 AT89S
3、52芯片性能介绍93.2.2 电源电路133.2.3 时钟振荡电路133.3 键盘扫描模块143.4 显示模块153.5 播放模块164 系统软件设计18编程原理及流程图185 调试与仿真结果225.1 软件调试225.1.1 测试LED显示模块225.1.2 测试键盘控制模块235.1.3 测试口输出235.2 调试中遇到的问题及解决245.3 仿真结果25结束语26致 谢27参考文献28附录29附录1 源程序29学习文档 仅供参考1绪论几千年来,各种乐器的发声无一不是依靠琴弦、簧片、哨片引起管柱振动而作为声源的。随着现代电子工业技术的飞速发展,一种用新的声源来制造音响的新型乐器脱颖而出,这
4、就是目前人们熟知的电子MP3播放器。目前市场上的MP3播放器形形色色,例如大家所熟悉的MP3,随着电子技术的不断发展,MP3播放器的发展也会进一步发展。目前单片机的应用渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,电脑的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。本课题即是在这种背景下,对基于MCS51单片机的MP3播放器的设计与实现进行了
5、硬件及软件的设计,并给出了一套完整的解决方案,实现了单片机MP3播放器对音乐的演奏。基于单片机的MP3播放器可应用于MP3,MP4,扩音器等很多方面,并可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括Do、Re、Me-等音阶在内的各种频率声音。将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。基于这个思想,我设计了一款特殊的MP3播放器,本播放器可实现播放、暂停、选曲等功能。由于时间及条件限制,本设计实现了一种简单的MP3播放器,其核心器件采用AT89S52单片机,本播放器具有电路简单,功能强大,易于拓展等特点。在此基础上,
6、可以添加按键,LED显示屏等模块,实现切换歌曲,歌名显示,动感音乐屏等功能2。2设计综述2.1.1 单片机概述单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路集成到一块硅片上构成的一个小而完善的电脑系统。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flas
7、h允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。2.1.2 单片机的应用领域及发展趋势单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴:一、在智能仪器仪表的应用单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器
8、仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备功率计、示波器、各种分析仪。 二、在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。三、在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与电脑联网构成二级控制系统等。 四、在电脑网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与电脑进行数据通信,为在电脑网络和通信设备间的应用提供了极好的物质条件,现在的通
9、信设备基本上都实现了单片机智能控制,从 , 机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动 ,集群移动通信,无线电对讲机等。单片机的发展趋势现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:一、微型单片化现在常规的单片机普遍都是将中央处理器CPU、随机存取数据存储RAM、只读程序存储器ROM、并行和串行通信接口,中断系统、定时电路
10、、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW脉宽调制电路、WDT看门狗、有些单片机将LCD液晶驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。现在的许多单片机都具有多种封装形式,其中SMD外表封装越来越受欢送,使得由单片机构成的系统正朝微型化方向发展。二、低功耗CMOS化MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都100mW左右,随着对单片
11、机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS互补金属氧化物半导体工艺。像80C51就采用了HMOS即高密度金属氧化物半导体工艺和CHMOS互补高密度金属氧化物半导体工艺。CMOS虽然功耗低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于要求低功耗像电池供电的应用场合。所以这种工艺将是今后一段时期单片机发展的主要途径。2.2 单片机产生音调的方法MP3播放器是利用单片机产生乐曲音符,再把乐曲音符翻译成电脑音乐语言,用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制蜂
12、鸣器发音。要想产生音频脉冲信号,需要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间。利用单片机定时器计时这个半个周期时间,每当计时到后就将输出脉冲的I/O口反相,然后重复计时此半周期时间再对I/O口反相,这样就能在此I/O口上得到此频率的脉冲。通常,利用单片机的内部定时器0,工作在方式1下,改变计数初值TH0和TL0来产生不同频率。对于音乐的节拍,每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍。如果1拍为0.4S,1/4拍为0.1S,只要设定延迟时间就可求得节拍的时间。假设1/4拍为1DELAY,那么1拍应为4DELAY,以此类推。所以只要求得1/
13、4拍的DELAY,其余的节拍就是它的倍数。总而言之,一首乐曲是由音阶和节拍两大要素构成。一首乐曲演奏的原理是:不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的长短;假设将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。根据这一特点,我们采用单片机辅以相应的接口来设计MP3播放器。2.3 KEIL开发系统使用Keil软件建立一个工程:Keil是目前进行51单片机开发最常用的编译软件。关于Keil的使用,有很多的资料介绍,这里只介绍其整个编译过程。在Keil里,每一个完整的程序,都是以一个工程的形式建立的。一个工程里可以有一个或多个*.c文件和*.h文件,但只可
14、以有一个main()函数。一般的做法是将包含main()函数的C文件加入到工程中,其他文件以#include头文件的形式加到这个C文件里。这样,在编译的时候,其他的文件会被自动的导入到工程里来。打开Keil软件后,出现图2-3-1所示界面。当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。图2-3-1 Keil软件主界面首先点击Project-New ProjectProject-Open Project为打开一个已经存在的工程,如图2-3-2所示。图2-3-2 Keil软件打开新工程界面点开后,在出现的对话框中选择工程存在路径,单击“保存”后,出现如图2-
15、3-3所示界面。在此界面上选择电路板上所用的单片机型号:Atmel AT89S51或者是AT89S52,视开发板上具体型号而定,单击“确定”。图2-3-3 选择电路板上所用的单片机型号设置完成后,软件会提示“是否将8051上电初始化程序添加入工程?”如图2-3-4所示,这个一般选择“否”。关于STARTUP.A51的相关内容可查阅相应资料图2-3-4 是否将8051上电初始化程序添加入工程这样,就建立了一个空的51工程。接下来的事,就是在这个工程里面加入自己的程序代码。点击,或者File-New,便建立了一个空的文本框。现在,就可以开始在里面输入你的代码了。保存时注意:如果是用C语言写的程序,
16、则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm。到目前为步,我们已经建立了一个工程,也写了一个程序代码。但现在还不能开始编译。因为还没有将程序代码添加到工程里面去。下一步就是将写完的程序添加到工程里面,如图2-3-5所示,在左边Project Workspace里的Source Group 1上右击,选择Add Files to Group Source Group 1。在打开的对话框中,选择刚存的文件路径和对应的文件名。图2-3-5 添加文件到工程中下一步,就开始编译刚输入进去的代码。点击工具栏中的按钮。接着,Keil会打出下面的提示:Build target Targe
17、t 1assembling led.asm.linking.Program Size: data=8.0 xdata=0 code=100first - 0 Error(s), 0 Warning(s).其中“first - 0 Error(s), 0 Warning(s).”说明现在的工程编译通过,0个错误和0个警告。建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:单击,或者在Project Workspace里Target 1上右击,选择“Options for Target Target 1”。出现如图2-3-6所示对话框,选择“Output”按图示,将箭头所指的多项选择框
18、勾上,点“确定”。现在再点击重新编译,系统提示:“creating hex file from first.”。便会在工程所在文件夹里生成HEX文件。图2-3-6 生成HEX文件2.4 PROTEUS的操作1.硬件电路图的接法操作3(1)放置选择删除元器件(2)移动元器件(3)缩放视图(4)连接导线(5)仿真,调试2. 单片机系统PROTEUS设计与仿真过程4 Proteus强大的单片机系统设计与仿真功能,使它可成为单片机系统应用开发和改良手段之一。全部过程都是在电脑上通过Proteus来完成的。其过程一般也可分为三步:(1)在ISIS平台上进行单片机系统电路设计、选择元器件、接插件、连接电路
19、和电气检测等。简称Proteus电路设计。(2)在Keil平台上进行单片机系统程序设计、编辑、汇编编译、代码级调试,最后生成目标代码文件*.hex。简称Proteus源程序设计和生成目标代码文件。(3)在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。它在相当程度上反映了实际单片机系统的运行情况。简称Proteus仿真。3硬件设计3.1总体方案设计以AT89S52为核心,通过单片机的定时器产生一定长度的方波,方波脉冲驱动蜂鸣器发声。要产生音频脉冲,只需算出某一音频的周期1/音频,然后取半周期的时间定时。利用定时器计时这个半周期时间,每当计时到后就将输出脉冲
20、的I/O反相,然后重复计时此半周期时间再对I/O口反相,就可在I/O脚上得到此频率的脉冲。当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。同时在LCD显示歌曲序号和歌曲名称5。总体如图3-1所示:AT89S52 键盘扫描模块液晶显示模块蜂鸣器发声模块图3-1 总体方案图3.2 单片机最小系统电路3.2.1 AT89S52芯片性能介绍AT89S52是低电压,高性能CMOS八位单片机,片内含8K字节的可反复擦写的只读程序存储器和256字节的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失存储技术生产与标准MCS-51指令系统及8052产品引脚兼容,片
21、内置通用八位中央处理器和Flash存储单元,功能强大适合于许多较复杂控制应用场合6。AT89S52主要性能参数:u 与MCS-51产品指令和引脚完全兼容u 8K字节可重复擦写Flash闪速存储器u 1000次擦写周期u 全静态操作:0Hz33MHzu 三级加密程序存储器u 2568字节内部RAMu 32个可编程I/O口线u 3个16位定时/计数器u 8个中断源u 全双工可编程串行UART通道u 低功耗空闲和掉电模式u 掉电后中断可唤醒 u 看门狗定时器 u 双数据指针u 掉电标识符u 快速编程周期u 灵活ISP编程字节和模式芯片如图3-2-1所示:图3-2-1 AT89S52引脚图功能特性概述
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 音乐 播放 设计 毕业论文
限制150内