MP3毕业设计

时间:2024.4.5

常州信息职业技术学院

学生毕业设计(论文)报告

系       别:电子与电气工程学院       

专       业:  电子信息工程技术        

班       号:     电子093             

学 生 姓 名:      俞亚南              

学 生 学 号:   0906013337             

设计(论文)题目:  基于C51单片机MP3的设计 

指 导 教 师:         梅奕              

设 计 地 点:  常州信息职业技术学院     

起 迄 日 期:  2011.09.06 2011.10.20    


毕业设计(论文)任务书

专业 电子信息工程技术        班级电子093       姓名俞亚南

一、课题名称:     基于C51单片机MP3的设计                                 

二、主要技术指标:

   (1) 至少支持USB2.0协议                                                      

   (2) 取样频率为44.1KHZ                                                       

   (3) 能够完成对8~320kbps基本数据流的解码                                    

   (4) 频响:20HZ~20KHZ                                                       

   (5) 信噪比:≥80DB(±3DB)                                                    

三、工作内容和要求:

   (1) 认真分析MP3的工作原理,并能熟练画出其方框图;                          

   (2) 分析出各部分的所需程序,参考资料写出程序,并调试与仿真;                 

   (3) 采用电路仿真软件进行仿真实验,得到理想结果后,再画pcb图;               

   (4) 对pcb进行改善直至达到满意为止;                                         

   (5) 分析与总结MP3,并同时思考在此基础上增加新的功能。                      

四、主要参考文献:_(1)_博创科技《MP3播放器与u盘的设计》 北京  清华大学出版社;_

   (2)陈宜建 杨全会 《便携式数码产品调测与维修》 2011.1   常州信息学院印刷室;   

   (3)王宇炎 李明伟  《基于C51单片机的MP3的设计》    2009.12.16  电子科技.    

                                                                               

学      生(签名)  俞亚南        2011 年09月14日

                      指 导 教师(签名)                     年   月   日

                      教研室主任(签名)                     年   月   日

                      系  主  任(签名)                     年   月   日


毕业设计(论文)开题报告


第二篇:毕业设计:C语言的应用(MP3的设计过程)


MP3程序设计过程

MP3(U盘)程序由两在部分组成:MP3播放功能和USB通信功能。本部分介绍程序的整体结构。

MP3播放器部分的设计

MP3播放器程序要与键盘配合起来设计。下面是MP3部分的主程序。

printu(“Entering MP3…\n”);

Flash_Reset(); // Flash复位 MP3Init(); //MP3初始化 KeyBoadInit(); //键盘初始化

EA=1; //开中断,键盘可以开始工作 NumofSong=GetMP3List(); //得到U盘中的MP3歌曲列表 printuf(“Song:%x\n”,NumofSong); //输出歌曲总数信息 P3_5=0; //USB灯亮,此灯亮后,可以按Play键开始播放MP3歌曲 While(1){

if(PlayState==PLAY) PlayMP3(&SONG[11*NowPlaying]);

//如果处于播放状态,则播放当前歌曲

if(NowPlaying==NumofSong) PlayState=STOP;

//全部歌曲播放完了,播放器停止 }

在主程序时,如果处于播放状态,则调用PlayMP3程序播放歌曲,直至播放到最后一首。在PlayMP3里面,MP3解码器一旦开始工作以后,就会一直向CPU请求数据,直至歌曲结束。程序进入此函数以后,只有改变当前歌曲的键盘操作才会使此函数提前结束,进入下一首歌的播放。

void PlayMP3(unsigned char *SongName)

{

int i=0,j=0;

//First 1024 Byte MP3 Data

m=ReadSector(SongName,Page_Buf); //从当前歌曲中读取512字节 if(MP3STA1&MPFREQ) //解码器数据请求中断产生时 {

for(i=0;i<1024;i++) //第一次要向解码器缓存中置入1024字节 {

if(j==512) //当用完512字节时 {

m=ReadSecror(SongName,Page_Buf);

//读取当前歌曲的下一个512字节

j=0;

}

MP3DAT=Page_Buf[j++]; //向MP3解码器数据寄存器送入一个数 while(!PlayState); //如果是暂停状态则等待 while(ChangeSong){DateRead=0;ChangeSong=0;return;}

//如果选曲时,则重新播放当前曲目

while(!(MP3STA1&MPBREQ)); //等待中断再次产生

} }

while(1){

while(MP3STA1&MPFREQ) //解码器数据请求中断产生时 if(j==512){ //当用完512字节时 j=0;

if(m<512){NowPlaying++;return;}

//如果上一次从歌曲中读出的数据不足512时,则结束本歌曲播放

m=ReadSecter(SongName,Page_Buf);

//读取当前歌曲的下一个512字节

}

MP3DAT=Page_Buf[j++]; //向MP3解码器数据寄存器送入一个数

while(!PlayState); //如果是暂停状态则等待 while(ChangeSong){DateRead=0;ChangeSong=0;return;}

//如果选曲时,则重新播放当前曲目

while(!(MP3STA1&MPBREQ)); //等待中断再次产生

}

MP3播放函数的工作分两部分进行,第一部分是播放一首新的MP3歌曲时,要做一些初始化工作。第二部分则一直在等待中断发生。第二部分是与键盘结合起来,以实现MP3播放过程中的用户操作。其流程如图: }

MP3与U盘功能的整合

MP3与U盘功能的整合,主要是实现当插入到USB接口时,执行U盘功能;当没有插入到USB时,执行MP3功能,这个状态是通过P3_3的状态来判断的。以下是两个功能的整合部分的代码。

printu(“UP-TECH MP3 Player USB Disk Begin!\n”);

P3_5 = 0x01; //USBLED off P3_5 = 0; //P3_3=0 LCD Power off,P3_3=1 LCD Power on if(!P3_4){

//如果没有插入到USB接口中,则执行MP3程序

}

else{

毕业设计C语言的应用MP3的设计过程

//如果有插入到USB接口中,则执行U盘程序

}

使用这种方式,使得在设计U盘和设计MP3两部分的代码时,可以分开同时进行,这样,可以简化设计的复杂性,并且使工作可以由不同设计者同时进行。

MP3功能按钮设计

当执行MP3程序的时候,需要通过按键操作来控制MP3歌曲的播放,键盘响应流程图如图:

每个键对应了一个键盘响应函数。

(1)Func,功能切换。功能切换的作用是设置功能状态。每按下一次此键,则功能状态计数器在1~3之间轮换。源代码如下:

void Func()

{

if(CurrentFun<3) CurrentFun++; //在选曲/音量调节/音效调节三者间切换 else if(CurrentFun==3) CurrentFun=1;

}

(2)Next,向后。根据所处功能状态不同,按下此键时,将进行不同的操作,进而可以实现不不的功能。当处于“音量控制(VOLUME)”状态时,则改变音量寄存器的值,从而控制音乐音量。当处于“音效(EFFECTION)”状态时,则改变音效寄存器的值。面如果处于“选曲(SELECTSONG)” 状态时,则切换到当前MP3歌曲列表中的下一首。源代码如下:

毕业设计C语言的应用MP3的设计过程

void Next() //按下“下一首/音量减小”键时的处理 {

switch(CurrentFun){ //如果当前处于音量调节功能 case VOLUME: { } if(MP3VOR>0x01) //当前音量没有达到最小时 { } break; MP3VOR-=0x01; //右声道音量增大一档 MP3VOL-=0x01; //左声道音量增大一档 case EFFECTION: //如果处于音效调节功能 { } if(MP3BAS>7){ //降低重音效果 } break; MP3BAS-=7; MP3MED=0x0f; MP3TRE+=7; case SELECTSONG: //如果处理MP3选取功能 { if(NowPlaying==(NumfSong-1)) NowPlaying=0;

//如果已经处于最后一首了,则指向第一首

} } else NowPlaying++; //否则,指向下一首 ChangeSong=1; //置选曲标志位 break; default:break; }

(3)Previous,向前。此键的功能与Next正好相对应。源代码如下:

void Previous() //按下“上一首/音量增大”键时的处理 {

} break; switch(CurrentFun){ case VOLUME: //如果当前处于音量调节功能 { MP3VOR+=0x01; //右声道音量增大一档 MP3VOL+=0x01; //左声道音量增大一档 } if(MP3VOR<0x01f) //当前音量没有达到最大时 { case EFFECYION: //如果处于音效调节功能 { if(MP3BAS<0x1d){ //增加重音效果

} } MP3BAS+=7; MP3MED=0x0f; MP3TRE-=7; break; case SELECTSONG: //如果处理MP3选取功能 { if(NowPlaying>0)NowPlaying--;

//如果当前播放歌曲不为第一首,则指向上一首

else NowPlaying=NumofSong-1;

//如果当前已经到达第一首,则指向最后一首

} } ChangeSong=1; //置选曲标志位 break; default:break; }

(4)PlayPause,播放/暂停。每当按下此键时,改变一下播放状态,配合在MP3播放函数中对此状态的判断,可以实现MP3播放过程中的暂停。源代码如下:

void PlayPause()

{

}

PlayState=!PlayState; //按一下播放键时,改变播放状态

更多相关推荐:
毕业设计范文

本科生毕业设计论文题目姓名学号系别专业年级指导教师年月日独创性声明本毕业设计论文是我个人在导师指导下完成的文中引用他人研究成果的部分已在标注中说明其他同志对本设计论文的启发和贡献均已在谢辞中体现其它内容及成果为...

毕业设计范文

前言物有本末事有终始知所先后则近道矣现在人们往往分不清何为根本何为需要何为欲望有个故事一次我们几位同学去拜访大学时的老师老师问我们生活得怎么样一句话勾出了大家的满腹牢骚大家纷纷诉说着生活的不如意工作压力大呀生活...

毕业设计格式样本

西北工业大学网络教育学院毕业论文范本毕业论文西北工业大学网络教育学院毕业论文任务书一题目商务楼项目进度控制方法研究二指导思想和目的要求本论文从方面着手实现了三主要技术指标论文中出现的名词例如工程项目管理进度控制...

毕业设计综述格式+范文

广师天河学院毕业设计文献综述题目系机电工程系专业机械设计制造及其自动化学生姓名学号指导教师年月日毕业设计文献综述毕业设计文献综述样板供参考

毕业设计文案范本

吉首大学美术学院艺术设计专业本科毕业设计文案题目名称谭木匠凤求凰系列包装设计学生姓名何玲玲学号20xx4151018专业年级艺术设计专业20xx级学院美术学院指导教师职称杨静讲师专业方向视觉传达艺术设计目录一选...

毕业设计文本一格式范本

宁波理工学院毕业设计论文开题报告含文献综述外文翻译题目XXXXXXXXXX题目名与文本二一致姓名李小明李明双名中间空格学号3060321022专业班级06土木工程结构方向1班指导教师赵子龙周晋双名中间空格分院土...

毕业设计范文

江门职业技术学院经管系学生毕业设计作者所学专业班别学号年级完成日期指导教师万好食品的供应商管理优化设计一背景万好食品有限公司通过物流中心集中进行采购通过物流中心集中进行采购食品加工品质检定包装及分销等工序以保证...

本科毕业论文范文模板

题目程序在线评测系统题目程序在线评测系统姓名学号所在学院年级专业指导教师职称讲师完成时间20xx年月日指导教师评语评定成绩指导教师签名答辩小组意见评定成绩答辩小组长签名综合评定成绩日期日期程序在线评测系统后台评...

毕业论文设计格式范文

20xx20xx学年度第二学期教育科学研究方法学试卷学生姓名学生学号系别专业评分标准题目对中学基础物理教学方法的研究一研究论文设计开题报告二本课题文献综述

护理毕业论文范文(护理毕业设计)

中央电大护理学专业专科生毕业科研论文题目对病人及家属的心理护理学生指导老师20xx年7月23日对病人及家属的心理护理摘要在临床工作中我们发现单纯性地为病人做心理护理往往达不到理想的效果只有通过家属的积极配合通过...

毕业设计论文范文参考——摘要、目录、正文、致谢、参考文献、附录

单片机运动控制系统设计摘要本文介绍了利用红外反射式传感器实现小车自动寻迹的设计与实现本设计中的小车能够自动识别路线关键词自动寻迹传感器单片机机器人数据采集IAbstractThisarticleintroduc...

毕业设计论文范文参考—-—摘要、目录、正文、致谢、参考文献、附录

单片机运动控制系统设计摘要本文介绍了利用红外反射式传感器实现小车自动寻迹的设计与实现本设计中的小车能够自动识别路线关键词自动寻迹传感器单片机机器人数据采集IAbstractThisarticleintroduc...

毕业设计范本(25篇)