MP3详细设计文档

上传人:壹****1 文档编号:563652309 上传时间:2023-02-17 格式:DOCX 页数:10 大小:83.18KB
返回 下载 相关 举报
MP3详细设计文档_第1页
第1页 / 共10页
MP3详细设计文档_第2页
第2页 / 共10页
MP3详细设计文档_第3页
第3页 / 共10页
MP3详细设计文档_第4页
第4页 / 共10页
MP3详细设计文档_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《MP3详细设计文档》由会员分享,可在线阅读,更多相关《MP3详细设计文档(10页珍藏版)》请在金锄头文库上搜索。

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的体积为70X90X 16.5mm,

2、约有四个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的歌曲文件2. 基础功

4、能:播放、显示播放列表、调节音量、歌曲切换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.2系统流

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

6、数据流说明1. LCD和VS1003的初始化接上USB插口,PC4给高电平,致使LCD点亮。同时, 数据开始初始化,包括LCD的初始化和VS1003的初始化。具 体步骤如下:LCD:初始化之后,主芯片即ATmega发送写命令,将当前歌 曲名等信息写到LCD屏幕上。VS1003:初始化之后,主芯片要转变声音信号的电信号信息 写到VS1003芯片上,经过VS1003解码,读到主芯片 上,再经过耳机转变成声音信号。2. SD卡驱动SD卡驱动流程:(1)挂载一个SD卡程序代码:pf_mount(2)打开一个目录程序代码:pf_opendir(3)读取目录中的一个条目程序代码:pf_readdir(4)

7、打开一个文件程序代码:pf_open(5)读取文件中的具体内容程序代码:pf_read(6) 通过指针去访问不同的文件程序代码:pf_lseek3. 中断处理3.4主要函数及实现功能1 文件名:led.c功能:点亮芯片上的D3发光二极管描述:led头文件,用于点灯调用通过给TMS(PC3)引脚一个高 电 平,使其相连的二极管发光。2文件名:usart.c功能:串口通信模块描述:实现串口的字符、字符串的接收与发送(1) 函数名称:void Usart_Init(void)描述:串口的初始化注释:PD0、1(2) 函数名称:void Put_Char(unsigned char c)描述:通过串口

8、发送一字节输入格式:unsigned char c: 0255(3) 函数名称:unsigned char Get_Char(void)描述:通过串口接收一字节返回值格式:unsigned char c: 0255(4) 函数名称:void Put_String(char *str)描述:打印一个字符串输出到串口输入格式:char *str(5) 函数名称:usart.h描述:usart.h头文件3.文件名:vsl003c(1) 函数名称:vsl003.c描述:vs1003.c源文件(2) 函数名称:SPI_Init描述:SPI初始化(3) 函数名称:SPI_SetSpeed描述:设置SPI速

9、率输入格式:unsigned char x: 0:全速1:64分频(4) 函数名称:SPI_RW描述:SPI总线读取数据输入格式:unsigned char data 返回格式: unsigned char(5) 函数名称:VS1003_Write描述: VS 1003在对应的地址写数据 输入格式:unsigned char arr:unsigned short data:(6) 函数名称:VS1003_Read描述:从VS1003对应的地址读取2字节数据输入格式:unsigned char arr:输出格式:unsigned short:(7) 函数名称:VS1003_Init描述:vs10

10、03初始化(8) 函数名称:VS1003_SineTest描述: vs 1003正弦测试输入格式:u nsigned char x3.文件名:lcdl2864.c(1) 函数名称:lcdl2864.h描述:lcd12864.h头文件(2) 函数名称:static void LCD_Busy(void);描述:判断LCD12864当前是否忙(3) 函数名称:static void Write_Command(unsigned char cmd)描述:向LCD12864发出对应的cmd输入格式:unsigned char : cmd根据LCD12864手册填写(4) 函数名称:static voi

11、d Write_Command(unsigned char data)描述:向LCD12864发出对应的data输入格式:unsigned char : data根据LCD12864手册填写(5) 函数名称:void LCD12864_Init(void)函数描述:LCD12864的初始化(6) 函数名称:LCD12864_Putchar描述: 在具体带的坐标处输出对应的字符输入格式:unsigned char x:行 03unsigned char y:列 07unsigned char c: 输入的 ASCII 表(7) 函数名称:LCD12864_Putstring描述: 在具体带的坐标

12、处输出对应的字符串输入格式:unsigned char x:行 03unsigned char y: 列 07char *string: 字符串(8) 函数名称::LCD12864_Clear描述: 清屏函数输入格式:unsigned char x:03:清楚对应的行4:清楚所有行4. 文件名:Main.c(1) 函数名称:int main(void)描述: 主程序,用于调用调用一些分支函数及其他简 单程序(2) 函数名称:void Show_Music_List(unsigned char tmp)函数描述:用于显示歌曲列表(3) 函数名称:static void MusicList_Update(void)描述: 更新播放列表,并打印打印到串口输出。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号