基于单片机的音乐播放器设计毕业论文.docx

上传人:b****2 文档编号:743751 上传时间:2022-10-12 格式:DOCX 页数:43 大小:308.61KB
下载 相关 举报
基于单片机的音乐播放器设计毕业论文.docx_第1页
第1页 / 共43页
基于单片机的音乐播放器设计毕业论文.docx_第2页
第2页 / 共43页
基于单片机的音乐播放器设计毕业论文.docx_第3页
第3页 / 共43页
基于单片机的音乐播放器设计毕业论文.docx_第4页
第4页 / 共43页
基于单片机的音乐播放器设计毕业论文.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

基于单片机的音乐播放器设计毕业论文.docx

《基于单片机的音乐播放器设计毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的音乐播放器设计毕业论文.docx(43页珍藏版)》请在冰豆网上搜索。

基于单片机的音乐播放器设计毕业论文.docx

基于单片机的音乐播放器设计毕业论文

图书分类号:

密级:

毕业设计(论文)

 

基于单片机的MP3播放器设计

 

学生

汤明

学院名称

信电工程学院

专业名称

电子信息工程

指导教师

 

2012年

5月

10日

摘要

因为单片机编写的MP3播放器具有执行效率高、频率输出稳定、易于修改、高可靠性、高性价比、低电压、低功耗等,使单片机近几年得到迅猛发展和大围推广,广泛应用于工业控制系统、数据采集系统、智能化仪器仪表、及通讯设备、日常消费类产品、玩具等[1]。

利用单片机设计的MP3播放器具有硬件电路简单,软件运行可靠等特点。

本文介绍了一种以AT89S52单片机为控制核心的MP3。

该设计采用2*16个点阵液晶模块LCD1602作为显示界面,蜂鸣器作为发声元件,并利用定时器进行中断控制。

本文分析了基于单片机的MP3播放器的工作原理,详细介绍了MP3播放器的功能及其硬件设计和软件设计的方法,给出了基于MCS-51单片机的MP3播放器的具体实现方案并重点讲述了其硬件实现与软件编写,实现了单片机MP3播放器对音乐的演奏。

 

关键词:

MP3播放器;AT89S52;LCD1602

 

1绪论

几千年来,各种乐器的发声无一不是依靠琴弦、簧片、哨片引起管柱振动而作为声源的。

随着现代电子工业技术的飞速发展,一种用新的声源来制造音响的新型乐器脱颖而出,这就是目前人们熟知的电子MP3播放器。

目前市场上的MP3播放器形形色色,例如大家所熟悉的MP3,随着电子技术的不断发展,MP3播放器的发展也会进一步发展。

目前单片机的应用渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械了。

本课题即是在这种背景下,对基于MCS-51单片机的MP3播放器的设计与实现进行了硬件及软件的设计,并给出了一套完整的解决方案,实现了单片机MP3播放器对音乐的演奏。

基于单片机的MP3播放器可应用于MP3,MP4,扩音器等很多方面,并可作为很多系统的辅助功能,作为单片机的重要硬件资源之一,利用定时器可以产生各种固定频率的方波信号,也可以产生包括"Do"、"Re"、"Me"--等音阶在的各种频率声音。

将各个音阶连接在一起,便可组成一支曲子或是演奏一段旋律。

基于这个思想,我设计了一款特殊的"MP3播放器",本播放器可实现播放、暂停、选曲等功能。

由于时间及条件限制,本设计实现了一种简单的MP3播放器,其核心器件采用AT89S52单片机,本播放器具有电路简单,功能强大,易于拓展等特点。

在此基础上,可以添加按键,LED显示屏等模块,实现切换歌曲,歌名显示,动感音乐屏等功能[2]。

 

2设计综述

2.1单片机工作原理

2.1.1单片机概述

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、有效的解决方案。

2.1.2单片机的应用领域及发展趋势

单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个畴:

一、在智能仪器仪表的应用

单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。

采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。

例如精密的测量设备(功率计、示波器、各种分析仪)。

二、在家用电器中的应用

可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。

三、在工业控制中的应用

用单片机可以构成形式多样的控制系统、数据采集系统。

例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

四、在计算机网络和通信领域中的应用  

现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动,集群移动通信,无线电对讲机等。

单片机的发展趋势现在可以说是百花齐放,百家争鸣的时期,世界上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,数不胜数,应有尽有,有与主流C51系列兼容的,也有不兼容的,但它们各具特色,互成互补,为单片机的应用提供了广阔的天地。

纵观单片机的发展过程,可以预示单片机的发展趋势,大致有:

一、微型单片化

现在常规的单片机普遍都是将中央处理器(CPU)、随机存取数据存储(RAM)、只读程序存储器(ROM)、并行和串行通信接口,中断系统、定时电路、时钟电路集成在一块单一的芯片上,增强型的单片机集成了如A/D转换器、PMW(脉宽调制电路)、WDT(看门狗)、有些单片机将LCD(液晶)驱动电路都集成在单一的芯片上,这样单片机包含的单元电路就更多,功能就越强大。

甚至单片机厂商还可以根据用户的要求量身定做,制造出具有自己特色的单片机芯片。

此外,现在的产品普遍要求体积小、重量轻,这就要求单片机除了功能强和功耗低外,还要求其体积要小。

现在的许多单片机都具有多种封装形式,其中SMD(表面封装)越来越受欢迎,使得由单片机构成的系统正朝微型化方向发展。

二、低功耗CMOS化

MCS-51系列的8031推出时的功耗达630mW,而现在的单片机普遍都100mW左右,随着对单片机功耗要求越来越低,现在的各个单片机制造商基本都采用了CMOS(互补金属氧化物半导体工艺)。

像80C51就采用了HMOS(即高密度金属氧化物半导体工艺)和CHMOS(互补高密度金属氧化物半导体工艺)。

CMOS虽然功耗低,但由于其物理特征决定其工作速度不够高,而CHMOS则具备了高速和低功耗的特点,这些特征,更适合于要求低功耗像电池供电的应用场合。

所以这种工艺将是今后一段时期单片机发展的主要途径。

2.2单片机产生音调的方法

MP3播放器是利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。

音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制蜂鸣器发音。

要想产生音频脉冲信号,需要算出某一音频的周期(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/4拍的DELAY,其余的节拍就是它的倍数。

总而言之,一首乐曲是由音阶和节拍两大要素构成。

一首乐曲演奏的原理是:

不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的长短;若将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。

根据这一特点,我们采用单片机辅以相应的接口来设计MP3播放器。

2.3KEIL开发系统

使用Keil软件建立一个工程:

Keil是目前进行51单片机开发最常用的编译软件。

关于Keil的使用,有很多的资料介绍,这里只介绍其整个编译过程。

在Keil里,每一个完整的程序,都是以一个工程的形式建立的。

一个工程里可以有一个或多个*.c文件和*.h文件,但只可以有一个main()函数。

一般的做法是将包含main()函数的C文件加入到工程中,其他文件以#include头文件的形式加到这个C文件里。

这样,在编译的时候,其他的文件会被自动的导入到工程里来。

打开Keil软件后,出现(图2-3-1)所示界面。

当然,如果Keil在上次关闭时有打开的工程,再一次打开时它会自动加载上一次的工程文件。

图2-3-1Keil软件主界面

首先点击Project->NewProject…(Project->OpenProject…为打开一个已经存在的工程),如图2-3-2所示。

图2-3-2Keil软件打开新工程界面

点开后,在出现的对话框中选择工程存在路径,单击“保存”后,出现(如图2-3-3所示)界面。

在此界面上选择电路板上所用的单片机型号:

AtmelAT89S51(或者是AT89S52,视开发板上具体型号而定),单击“确定”。

图2-3-3选择电路板上所用的单片机型号

设置完成后,软件会提示“是否将8051上电初始化程序添加入工程?

”如图2-3-4所示,这个一般选择“否”。

(关于STARTUP.A51的相关容可查阅相应资料)

图2-3-4是否将8051上电初始化程序添加入工程

这样,就建立了一个空的51工程。

接下来的事,就是在这个工程里面加入自己的程序代码。

点击,或者File->New,便建立了一个空的文本框。

现在,就可以开始在里面输入你的代码了。

保存时注意:

如果是用C语言写的程序,则将文本保存成*.c,如果是用汇编写的程序,则将文本存成*.asm。

到目前为步,我们已经建立了一个工程,也写了一个程序代码。

但现在还不能开始编译。

因为还没有将程序代码添加到工程里面去。

下一步就是将写完的程序添加到工程里面,如图2-3-5所示,在左边ProjectWorkspace里的SourceGroup1上右击,选择AddFilestoGroup’SourceGroup1’。

在打开的对话框中,选择刚存的文件路径和对应的文件名。

图2-3-5添加文件到工程中

下一步,就开始编译刚输入进去的代码。

点击工具栏中的按钮。

接着,Keil会打出下面的提示:

Buildtarget'Target1'

assemblingled.asm...

linking...

ProgramSize:

data=8.0xdata=0code=100

"first"-0Error(s),0Warning(s).

其中“"first"-0Error(s),0Warning(s).”说明现在的工程编译通过,0个错误和0个警告。

建立工程的时候,默认是不生成HEX文件的,得在编译做如下设置:

单击,或者在ProjectWorkspace里Target1上右击,选择“OptionsforTarget‘Target1’”。

出现

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1