MP3详细设计文档_第1页
MP3详细设计文档_第2页
MP3详细设计文档_第3页
MP3详细设计文档_第4页
MP3详细设计文档_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、详细设计说明书目录1引言.21.1 编写目的.21.2 项目背景.21.3问题定义.21.4参考资料.32、功能概述.32.1 目标.32.2 完成功能.32.3系统技术.33. 软件结构化计.33.1概要设计.33.2系统流程图.43.3数据流说明.63.主要函数及实现功能.71、引言 MP3的全名是MPEG Audio Layer-3,是一种声音文件的压缩格式。世界第一台MP3播放器诞生在韩国企业Saehan(世韩,1995年从三星分离出来),并在1998年推出第一台MP3播放器MPman F10。MPMan取意于MP3与WALKMAN的结合。MPMan F10的体积为70×90

2、×16.5mm,约有四个1.44M软盘堆叠起来这么大,体重为65g。由于MP3的小体积、便携带、低价格、高音质等功能,MP3已经成为了当今音乐播放领域的主流产品,并在市场中牢牢地占有一席之地。其中,最具特色的是以ATmega16单片机为核心的MP3播放器,它是能以单一的技术整合方案,更低廉的生产成品来实现一台可用的MP3播放器。1.1 编写目的 为明确MP3播放器设计实现的软件需求,安排软件规划与进度,分配成员的任务,完成软件的开发与测试,撰写本文档,以供开发人员参考。1.2 项目背景基于ATmega16单片机为核心的MP3播放器开发以其较简单的程序设计和便宜的开发板成为了电子专业学

3、生实训的最先选择。故学院给我们电科专业安排了这样一个实训,旨在提高我们的实践能力,提高将知识学以致用的意识。1.3问题定义 MP3播放器总的实现目标是:实现播放歌曲、歌曲暂停、切换上下歌曲、显示播放列表、调节音量等基本播放功能;实现按数字键换歌、显示音量和歌曲数等扩展功能。1.4参考资料(1)育松电子QC12864B使用说明 (2)cn_mega16-16L (3)VS1003(1)2、功能概述2.1 目标设计出一款可以播放后缀为.MP3的歌曲文件,有基础功能:播放、显示播放列表、 调节音量 、歌曲切换。有拓展功能:暂停,按数字键换歌、音量显示。2.2 完成功能1.能播放后缀为.MP3的歌曲文

4、件2.基础功能:播放、显示播放列表、 调节音量 、歌曲切换3.拓展功能:暂停,按数字键换歌、音量显示2.3系统技术 本嵌入式开发主要是基于 AVR STUDIO 4 的平台和MP3实训工程开发板,采用C语言编程实现,同时运用其他语言的思维逻辑。3.软件结构化设计3.1概要设计 MP3播放器主要由以下几个模块组成:串口、LCD、SPI+VS1033、SD+PFATFS、Infrared remode。 需要分别完成: (1)串口USART的通信(2)驱动LCD12864 (3)驱动VS1003 (4)SD卡驱动 (5)移植Fatfs文件系统 (6)红外的接口实现与中断函数 (7)主程序逻辑实现3

5、.2系统流程图 1屏幕点亮,数据初始化(包括LCD初始化,VS1003初始化) 2.判断是否切歌,如果是,切换到所要听的歌。如果否,Mp3 开始顺序播放。同时屏幕上显示音量,歌曲名,当前歌曲排序 以及总共歌曲数。 3. 判断是否调音,如果调高声音,则屏幕上显示声音值增加,如 果调低声音,则显示声音值降低。 4. 判断是否暂停,如果是,则屏幕上内容静止不动,如果否,不 动作。 5.判断是否不动作超过30秒,如果是,则屏幕停止显示背光,否 则,一直显示背光。 6.判断是否播放到最后一首歌,如果是,则开始切换到第一首歌, 否则不动作。 开始 数据初始化 显示播放列表是 切歌 切换到所要听的歌否 顺序

6、播放是 调音 调高声音,则屏幕上显示声音值增加是否 调低声音,则屏幕上显示声音值降低 暂停 屏幕上内容静止不动否 不动作是 否 超过30秒 屏幕停止显示背光 一直显示背光是 播放LAST 开始切换到第一首歌否 继续播放歌曲3.3数据流说明 1. LCD和VS1003的初始化接上USB插口,PC4给高电平,致使LCD点亮。同时,数据开始初始化,包括LCD的初始化和VS1003的初始化。具体步骤如下:LCD: 初始化之后,主芯片即ATmega发送写命令,将当前歌曲名等信息写到LCD屏幕上。VS1003:初始化之后,主芯片要转变声音信号的电信号信息写到VS1003芯片上,经过VS1003解码,读到主

7、芯片上,再经过耳机转变成声音信号。2. SD卡驱动 SD卡驱动流程:(1) 挂载一个SD卡 程序代码:pf_mount (2) 打开一个目录 程序代码:pf_opendir(3) 读取目录中的一个条目 程序代码:pf_readdir(4) 打开一个文件程序代码:pf_open(5) 读取文件中的具体内容 程序代码:pf_read (6)通过指针去访问不同的文件 程序代码:pf_lseek 3. 中断处理3.4主要函数及实现功能 1.文件名:led.c 功能:点亮芯片上的D3发光二极管 描述:led头文件,用于点灯调用通过给TMS(PC3)引脚一个高 电 平,使其相连的二极管发光。 2.文件名:

8、usart.c 功能:串口通信模块描述:实现串口的字符、字符串的接收与发送 (1)函数名称:void Usart_Init(void) 描述:串口的初始化 注释:PD0、1 (2)函数名称:void Put_Char(unsigned char c) 描述:通过串口发送一字节 输入格式:unsigned char c:0255 (3)函数名称:unsigned char Get_Char(void) 描述:通过串口接收一字节 返回值格式:unsigned char c:0255 (4)函数名称:void Put_String(char *str) 描述:打印一个字符串输出到串口 输入格式:ch

9、ar *str (5) 函数名称:usart.h 描述:usart.h 头文件3.文件名:vs1003.c (1)函数名称:vs1003.c 描述: vs1003.c源文件 (2)函数名称:SPI_Init 描述: SPI初始化 (3)函数名称:SPI_SetSpeed 描述: 设置SPI速率 输入格式:unsigned char x: 0:全速 1:64分频 (4)函数名称:SPI_RW 描述: SPI总线读取数据 输入格式:unsigned char data 返回格式: unsigned char (5)函数名称:VS1003_Write 描述: VS1003在对应的地址写数据 输入格式

10、: unsigned char arr: unsigned short data: (6)函数名称:VS1003_Read 描述: 从VS1003对应的地址读取2字节数据 输入格式:unsigned char arr: 输出格式:unsigned short: (7)函数名称:VS1003_Init 描述: vs1003初始化 (8)函数名称:VS1003_SineTest 描述: vs1003正弦测试 输入格式:unsigned char x3. 文件名:lcd12864.c (1)函数名称:lcd12864.h 描述: lcd12864.h 头文件 (2)函数名称:static void

11、LCD_Busy(void);描述:判断LCD12864当前是否忙 (3)函数名称:static void Write_Command(unsigned char cmd)描述:向LCD12864发出对应的cmd输入格式:unsigned char : cmd 根据LCD12864手册填写 (4)函数名称:static void Write_Command(unsigned char data)描述:向LCD12864发出对应的data输入格式:unsigned char : data 根据LCD12864手册填写 (5)函数名称:void LCD12864_Init(void)函数描述:LC

12、D12864 的初始化 (6)函数名称:LCD12864_Putchar描述: 在具体带的坐标处输出对应的字符输入格式: unsigned char x: 行03 unsigned char y: 列07 unsigned char c: 输入的ASCII表 (7)函数名称::LCD12864_Putstring描述: 在具体带的坐标处输出对应的字符串输入格式:unsigned char x: 行03 unsigned char y: 列07 char *string: 字符串 (8)函数名称::LCD12864_Clear描述: 清屏函数 输入格式: unsigned char x: 03:清楚对应的行 4:清楚所有行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论