搜档网
当前位置:搜档网 › 基于STM32的MP3播放器设计论文

基于STM32的MP3播放器设计论文

基于STM32的MP3播放器设计论文
基于STM32的MP3播放器设计论文

闽江学院

本科毕业论文(设计)

题目基于STM32F的MP3播放器设计

学生姓名

学号

系别物理学与电子信息工程系

年级

专业电子信息工程

指导教师

职称

完成日期2011-05-10

闽江学院毕业论文(设计)诚信声明书

本人郑重声明:

兹提交的毕业论文(设计)《基于STM32F的MP3播放器设计》,是本人在指导老师薛小铃的指导下独立研究、撰写的成果;论文(设计)未剽窃、抄袭他人的学术观点、思想和成果,未篡改研究数据,论文(设计)中所引用的文字、研究成果均已在论文(设计)中以明确的方式标明;在毕业论文(设计)工作过程中,本人恪守学术规范,遵守学校有关规定,依法享有和承担由此论文(设计)产生的权利和责任。

声明人(签名):

年月日

摘要

随着生活水平的提高,人们对消费电子的需求也越来越高。多功能的MP3播放器也受到越来越多人的青睐。电子技术快的速发展和消费者的爱好需求,MP3的功能也越来越多,它与PDA、手机一样,都向多功能方面发展,尽可能吸收其它产品的功能,以便增加产品卖点。系统采用ARM Cortex-M3内核的STM32F103RBT6作为微控制器,结合VS1003B音频解码芯片,SD卡存储器,TFT液晶显示屏等外围设备,以及FAT文件操作,设计并实现了集音乐播放﹑电子书阅读﹑游戏﹑触摸画板﹑闹铃时钟﹑USB读卡器等为一体的多功能MP3播放器。

关键词:STM32F103RBT6;VS1003B;SD卡;TFT液晶;MP3播放器;FAT

Abstract

Along with living standard enhancement, the people to expend electronic the demand to be also getting higher and higher. The multi-purpose MP3 players also receive more and more person's favors. With the fast development's electronic technology and consumer's hobby demand, the MP3 has more features , it just like PDA or Mobile phone .In case to increasing the product’s selling point , it’s developing to the multi-purpose aspects and absorbing other product’s functions as far as possible. So this article is precisely focuses on the market demand, designs a multi-purpose MP3 player with Music , e-book , reader, games, touch alarm ,clock, drawing board ,USB card reader and other functions. This system uses the STM32F103RBT6 of Cortex-M3 as microcontroller core and combining the VS1003B decoder chip, SD card, TFT LCD and the FAT file operations to achieve multi-functional MP3 player.

Key words:STM32F103RBT6; VS1003B; SD card; TFT LCD; MP3 player;FAT

目录

1 前言 (1)

1.1 选题背景与现状 (1)

1.2 设计思路与结构 (1)

2 系统概述与硬件电路设计 (3)

2.1 系统的总体构架 (3)

2.2 电源模块 (3)

2.3 微控制器模块 (4)

2.4 带触摸功能的TFT液晶显示模块 (7)

2.5 VS1003音频模块 (9)

3 FAT文件系统 (12)

3.1 FAT文件系统简介 (12)

3.2 FAT文件系统的读取操作 (13)

4 系统软件设计 (18)

4.1 软件设计总流程 (18)

4.2 底层驱动程序设计 (18)

4.2.1 TFT显示驱动程序设计 (18)

4.2.2 ADS7846触摸驱动设计 (21)

4.2.3 VS1003驱动设计 (23)

4.2.4 SD卡读取驱动 (24)

4.2.5 RTC时钟驱动 (26)

4.3 功能模块的设计 (27)

4.3.1 音乐播放功能的设计 (27)

4.3.2 电子书阅读与图片浏览功能设计 (28)

4.3.3 USB读卡器 (29)

4.3.4 触摸画板 (29)

4.3.5 时钟与闹铃功能 (30)

4.3.6 拼图游戏 (31)

5 系统调试与分析 (32)

5.1 硬件调试 (32)

5.2 软件调试 (32)

6 结束语 (33)

参考文献 (33)

附录 (34)

致谢 (34)

基于STM32F的MP3播放器设计

1 前言

1.1 选题背景与现状

二十一世纪的第一个十年过去了,随着电子技术的高速发展和嵌入式系统的应用,越来越多的电子产品进入人们的视野。面对多形式、多渠道的信息,人们对信息的整合运用与随时调整的要求越来越高,消费电子无疑将潜移默化地改变人们的生活。目前,消费电子产业每年都持续增长,所涉及的产品领域和行业也越来越多。丰富的电子产品正从各个角度向消费者展示着“数字生活”的新概念,给人们带来了耳目一新的全面享受。

自从1998年世界上第一台MP3播放器[1]推出以来。MP3播放器市场以极快的速度发展,MP3的功能也越来越多。国产品牌的MP3播放器也进入市场当中,以纽曼、蓝魔、魅族等企业为代表的MP3播放器企业占据了国内MP3播放器市场主要份额。

现阶段的播放器在保障高品质的前提下,尽可能吸收其它产品的功能,以便增加产品卖点。

1.2 设计思路与结构

现阶段MP3播放器技术已经很成熟,但对于缺少实践经验的我们还是有许多吸引力。抱着学习的态度,同时结合大学四年所学的专业知识,设计并制作了一款多功能的MP3播放器。本设计采用STM32F103RBT6作为微控制器、VS1003B音频作为解码模块、SD卡作为文件存储模块、触摸TFT作为控制终端。

以下为主要实现的功能:

MP3/WMA/MIDI文件播放功能

图片浏览功能

电子书阅读

USB读卡器

触摸画板

温度/时间显示

闹铃功能

游戏功能

本文主要分为三个模块介绍说明了设计的理论与实现:

1)硬件电路模块——分析各个模块的原理以及电路的设计。

2)文件系统模块——详细说明了本设计中使用的FAT文件系统的原理及相

关操作方法。

3)系统软件模块——相关的驱动设计及各个功能实现的软件分析。

2 系统概述与硬件电路设计

2.1 系统的总体构架

MP3播放器其实就是一个功能特定的小型电脑。在MP3播放器小小的机身里,拥有MP3播放器存储器(存储卡)、MP3播放器显示器(LCD 显示屏)、MP3播放器中央处理器MCU (微控制器)或MP3播放器解码DSP (数字信号处理器)等。

本设计采用STM32F103RBT6读取SD 卡中的MP3音乐文件,并将数据送入VS1003B 进行音频解码,得到模拟的音乐流,从而实现MP3的音乐播放功能。同时结合TFT 触摸屏、DS18B20温度传感器、24C02存储器、STM32F 等外围接口设备[2],内嵌了游戏、电子书、闹铃时钟、图片浏览、USB 读卡器等功能。其系统框图如图2-1所示。

图2-1 MP3播放器系统框图

硬件模块主要包括电源模块﹑微处理器模块﹑VS1003B 音频解码模块﹑TFT 触摸液晶模块。电源模块提供3.3V 和2.5V 的直流稳压电源。STM32F 微处理器模块主要提供SD 卡接口,TFT 触摸液晶接口,DS18B20接口,24C02接口以及VS1003B 接口。VS1003B 音频解码模块主要获取STM32F103RBT6传入的音频文件信息与控制信息,同时输出音频信号。TFT 触摸液晶模块实现TFT 的显示和触摸屏的控制。

2.2 电源模块

电源是电子设备中必不可少的一部分,它为设备提供了能量。电源模块电路

STM32F103RBT6

微处理器

DS18B20 温度传感器

24C02

VS1003B 音频解码

耳机 接口

TFT 触摸液晶

电源模块

USB 接口

SD 卡

如图2-2所示。USB 或5V 电源适配器经过AMS1117-3.3和AMS1117-2.5产生3.3V 和2.5V 的直流电源供系统使用。C2可以防止电感效应而产生的自激,C6用来减小由于负载电流瞬时变化而引起的高频干扰,C5用来进一步减小输出脉动和低频干扰,使电源输出更加稳定。D1为电源指示灯。

Out

2

In 3

G n d

1

GN D

U1AMS1117-2.5

R41k

2.5V

D1LE D

R00

A3.3V

G N D

1

OU T

2

IN

3

J03.3V +C1470U

C2104

P1

PW IN3-2

+C310U

+C510U

C4104

C6104

3.3V

电源模块

USB_D-USB_D+

R222R322

R11.5K

3.3V

S1SW -SPD T VCC D-D+GN D USB USB

图2-2 电源模块电路

2.3 微控制器模块

1. STM32F103RBT6微控制器

本设计中的微控制器采用意法半导体公司出产的STM32F103RBT6[4]芯片,STM32F103RBT6基于ARM Cortex-M3内核设计[5]

,片上集成有丰富的数字和模拟资源,允许最高72 MHz 的工作频率,是一款性价比很高的32位ARM 处理器,是低成本ARM 嵌入式应用的极佳选择。其引脚分布如图2-3所示。

图2-3 STM32F103RBT6引脚图

STM32F103RBT6模块接口电路如图2-4所示。图中,J3为插针,用于选择系统的启动模式:当BOOT0=1时用户闪存存储器被选为启动区域,此时可以通过串口下载程序;当BOOT0=0时,系统存储器被选为启动区域。电容C17至C22为STM32F103RBT6电源引脚的旁路电容,能够起到稳定电源的作用,在PCB布板时应尽量靠近MCU。Y2为8MHz晶振,为STM32F103RBT6提供工作时钟,在设计时也要靠近MCU,避免干扰。为了PCB布线的方便,本设计中的 PC10~PC12引脚模拟VS1003的SPI接口。STM32F103RBT6微控制器各引脚的接口描述如表2-1所列。

1

2

3 J4

18B20

C33

104

CD/DAT A3

1

CMD

2

VSS

3

VD D

4

CL K

5

VSS

6

DA TA0

7

DA TA1

8

DA TA2

9

U2

SD_CARD

SPI1_CS

SPI1_SCL K

SPI1_MI SO

SPI1_MO SI

SD卡接口

3.3V

P_D ATA

LCD_CS

LCD_RS

LCD_WR

LCD_RD

LCD_RES

DB0

DB1

DB2

DB3

DB4

DB5

DB6

DB7

DB8

DB9

DB10

DB11

DB12

DB13

DB14

DB15

BL

DCLK D_CS

DIN DOUT

PEN

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

JP1

TFT

3.3V

3.3V

触摸液晶接口24C02

18B20

BL

M

I

S

O

M

O

S

I

S

C

K

V

S

_

D

R

E

Q

V

S

_

X

C

S

V

S

_

X

D

C

S

V

S

_

X

R

E

S

E

T

VBAT

1

PC13/RT C

2

PC14/OSCIN

3

PC15/OSCOUT

4

PD0/OSC_IN

5

PD1/OSC_OUT

6

NRST

7

PC0

8

PC1

9

PC2

10

PC3

11

VSSA

12

VD DA

13

PA0/WK UP

14

PA1

15

PA2

16

P

A

3

1

7

V

S

S

1

8

V

D

D

1

9

P

A

4

2

P

A

5

2

1

P

A

6

2

2

P

A

7

2

3

P

C

4

2

4

P

C

5

2

5

P

B

2

6

P

B

1

2

7

P

B

2

2

8

P

B

1

2

9

P

B

1

1

3

V

S

S

3

1

V

D

D

3

2

PB12

33

PB13

34

PB14

35

PB15

36

PC6

37

PC7

38

PC8

39

PC9

40

PA8

41

PA9

42

PA10

43

PA11

44

PA12

45

PA13

46

VSS

47

VD D

48

P

A

1

4

4

9

P

A

1

5

5

P

C

1

5

1

P

C

1

1

5

2

P

C

1

2

5

3

P

D

2

5

4

P

B

3

5

5

P

B

4

5

6

P

B

5

5

7

P

B

6

5

8

P

B

7

5

9

B

O

O

T

6

P

B

8

6

1

P

B

9

6

2

V

S

S

6

3

V

D

D

6

4

STM

STM32F

Y1

32.768

Y2

12M

C13

10p

C14 10p C15 22P

C16 22P

OSC1

OSC2

OSC3

OSC4

OSC1

OSC2

OSC3

OSC4

RE SAT

R9

10K

RE SAT

C32

104

3.3V

V

D

D

V

D

D

VD D

V

D

D

VD D

VSS

V

S

S

V

S

S

VSS

V

S

S

C17

104

C18

104

C19

104

C20

104

C21

104

3.3V

D3

DIO DE

3.3V

B

O

O

T

R13

100K

B

O

O

T

123

J3

CO N3

R14

10K

3.3V

VD D

VSS

3.3V

USB_D+

USB_D-

SPI1_CS

SPI1_SCL K

SPI1_MI SO

SPI1_MO SI

P

E

N

D

O

U

T

D

I

N

D

_

C

S

D

C

L

K

BL

L

C

D

_

C

S

L

C

D

_

R

S

L

C

D

_

W

R

L

C

D

_

R

D

L

C

D

_

R

E

S

P_D ATA

IIC_DAT A

IIC_SLK

DB0

DB1

DB2

D

B

3

D

B

4

D

B

5

D

B

6

D

B

7

DB8

DB9

DB10

DB11

D

B

1

2

D

B

1

3

DB14

DB15

KA I

SW SPST

BT1

BA TTERY

D0

DIO DE

UA SRT1_RX

UA SRT1_TX

IIC_SLK

IIC_DATA

R11

4.7K

R12

4.7K

3.3V

1

2

3

45

6

7

8

24C02

DIP8

STM32F微控制器

图2-4 STM33F103RBT6模块接口电路

表2-1 STM32F103RBT6引脚接口分布表

STM引脚编号连接器件备注

3,4 32.678kHz晶振Y1 RTC时钟晶振

5,6 8MHz晶振Y2 系统时钟

PA0~PA7 ,PC0~PC7 触摸液晶模块接口JP1 液晶16位数据口

PB12~PB15 SD卡 U2 STM32的SPI接口

PC10~PC12 VS1003的SPI接口 U3 采用STM32模拟SPI接口PA14,PA15,PD2,PB3 VS1033控制接口 U3

PB5~PB9 触摸液晶模块接口JP1 液晶控制接口

PB0~PB2,PB10,PB11 触摸液晶模块接口JP1 触摸控制接口

PA11,PA12 USB接口

PA13 18B20数据口 J4

PC8,PC9 24C02接口 U5

2. DS10B20温度传感器

STM32F103RBT6内置了温度传感器,但其所测温度为CPU 的温度,不能很好的反映空气温度,因而本系统另外使用美国DALLAS 公司生产的 DS18B20[6]。

DS18B20的外形及管脚排列如图2-5所示。 I/O 为数字信号输入/输出端; GND 为电源地;

VDD 为外接供电电源输入端(在寄生电源接线方式时接地)。

DS18B20的电路图设计很简单,如图2-6所示,只需要将它的数据引脚与STM32F103RBT6的P_DATA

引脚相接即可。

1

23J418B20

3.3V

P _D A TA

图2-5 DS10B20引脚图 图2-6 18B20接口电路

3. EEPROM 存储器24C02

系统掉电时需要保存一些系统配置信息,用于恢复关机前的状态。STM32F103RBT6提供了备份数据寄存器BKP_DRx ,但BKP_DRx 只能保存10个16位数据,这对于本设计而言不能满足需求。系统中需要保存的数据不是很大,采用24C02

[7]即可满足要求。

24C02串行E2PROM 是基于I 2C 总线的存储器件,遵循二线制协议,它具有接口方便,体积小,数据掉电不丢失等特点。其引脚图如图2-7所示,各引脚的功能如表2-2所列。

图2-7 24C02引脚图

表2-2 24C02引脚功能说明

管脚名称 功能

A0﹑A1﹑A2 器件地址选择 SDA 串行数据/地址 SCL 串行时钟 WP 写保护 VCC 电源 VSS

24C02接口电路设计如图2-8所示。由于只用一个24C02,因而A0、A1和A2可直接接地。WP 接地,关闭写保护功能。

IIC_SLK IIC_DA TA

R 114.7K R 124.7K

3.3V

1234

567824C02DIP8

图2-8 24C02电路设计

2.4 带触摸功能的TFT 液晶显示模块

STM32F103RBT6有丰富的I/O 接口,在选择显示器件时有充足的余地。以往的电路设计一般都采用LCD1602或LCD12864,不过它们都是黑白屏,不能提供彩色图片显示的功能。随着TFT 屏的广泛使用,它的价格也越来越低,并且更符合本设计的要求,因而本系统便采用2.4寸TFT-LCD (型号WXCAT24-TSI#001),它的显示驱动采用ILI9320[8],其特征如下:

320×240分辨率。 供电电压2.5~3.3V 。 16位数据接口。

高的对比、高亮度、低功耗。 4-wires 模拟电阻式触摸屏。

当触摸屏被按下时会得到模拟的电压值,因此要将该值转换成坐标就需要一个A/D 控制器。这种触摸屏的A/D 控制芯片有很多,本系统触摸控制芯片采用TI 公司的ADS7846[9]低压I/O 触摸屏控制器。其芯片引脚图见图2-9所示,各个引脚的功能如表2-3所列。

图2-9 ADS7846引脚图

表2-3 ADS7846芯片引脚说明

引脚号引脚名称引脚说明

1 +VCC 电源(2.2V~5.25V)

2 X+ X+位置输入

3 Y+ Y+位置输入

4 X- X-位置输入

5 Y- Y-位置输入

6 GND 地

7 VBAT 电池监控器输入

8 AUX ADC辅助输入

9 VREF 基准电压输入输出(2.5V)

10 +VCC 数字 I/O 电源(2.2V~5.25V)

11 PENIRQ笔断控制脚

12 DOUT 连续数据输出,数据在DCLK下降沿转换,CS为高电平时输出高阻抗

13 BUSY BUSY 输出,CS为高电平时输出高阻抗

14 DIN 连续数据输入,数据在DCLK上升沿保持

15 CS芯片选择输入,控制转换时间,控制连续数据输入输出寄存器。CS为

高电平时等同于掉电模式,仅仅对ADC有效

16 DCLK 外部时钟输入端。时钟驱动SAR转换器,并与连续输入输出同步

带触摸功能的TFT液晶显示模块电路如图2-10所示。图中,三极管Q1用来控制TFT背光,DB0~DB15是显示驱动ILI9320的数据线,JP1为引脚插针,便于和微控制器模块连接。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36 J1 CON36

VCC

R1

470

E

2

C

3

B

1

Q1

PNP R2

10K

VCC

CS

RS

WR

RD

RES

DB0

DB1

DB2

DB3

DB4

DB5

DB6

DB7

DB8

DB9

DB10

DB11

DB12

DB13

DB14

DB15

YD

XR

YU

XL

BL

CS RS

WR RD

RES DB0

DB1DB2

DB3DB4

DB5DB6

DB7DB8

DB9DB10

DB11DB12

DB13DB14

DB15

BL

VCC

1

1

2

2

3

3

4

4

5

5

6

6

7

7

8

8

9

9

10

10

11

11

12

12

13

13

14

14

15

15

16

16

JP11

ADS7846

XR

YU

XL

YD

R12

100K

C1

104

C2

104

C3

10U

VCC

VCC

DCLK

D_CS

DIN

DOUT

PEN

DCLK

D_CS

DIN

DOUT

PEN

12

34

56

78

910

1112

1314

1516

1718

1920

2122

2324

2526

2728

2930

JP?

HEADER 15X2

图2-10 带触摸功能的TFT液晶显示模块电路

2.5 VS1003音频模块

虽然STM32F103RBT6具有最高72MHz的频率,但它没有独立的DSP音效处理能力,如果直接用它来进行音频数据处理,很难实现优质的音频输出,同时考虑到自己的能力和精力有限,因而本系统的音频解码部分则另采用一款简单实用的音效处理芯片VS1003[10]来完成。

本模块涉及到模拟信号与数字信号,在设计时要考虑信号的隔离措施,模拟信号与数字信号的连接处需串联磁珠或0欧电阻以避免信号干扰。

1. VS1003概述

VS1003是一个单片MP3/WMA/MIDI音频解码器和 ADPCM编码器。它包含一个高性能、自主产权的低功耗DSP处理器核VS_DSP4;一个工作数据存储器,为用户应用提供5KB的指令RAM和0.5KB的数据RAM。串行的控制和数据接口,4个常规用途的I/O口,一个UART,也有一个高品质可变采样率的ADC和立体声DAC,还有一个耳机放大器和地线缓冲器。

VS1003通过一个串行接口来接收输入的比特流,它可以作为一个系统的从机。输入的比特流被解码,然后通过一个数字音量控制器到达一个18位过采样多位?

-

∑ DAC。通过串行总线控制解码器。除了基本的解码,在用户RAM中它还可以作其他特殊应用,例如DSP音效处理。

VS1003的内部结构及引脚如图2-11所示。本设计采用的这款芯片为LQFP-48

封装,所有的数字口输入电压不能大于3.6V,其引脚功能说明如表2-4所列。

图2-11 VS1003内部结构及引脚图

表2-4 VS1003引脚功能表

引脚号管脚名称管脚功能

4,20,21,22 DGND 处理器核与I/O地

6,14,19 IOVDD I/O电源(典型值:2.8V 最大值:3.6V)

38,43,45,47 APWR 模拟电源(典型值:2.5V最大值:2.8V)

5,7,24,31 CVDD 处理器内核电源(典型值:2.8V 最大值:3.6V)37,40,41,47 AGND 模拟地

1和2 MICP和MICN 同相和反相差分话筒输入,自偏压

3 XRESET 低电平有效,异步复位端

8 DREQ 数据请求,输入总线

9 GPIO2/DCLK 通用I/O2,串行数据总线时钟

10 GPIO3/SDATA 通用I/O3,串行数据总线数据

13 XDCS/BSYNC 数据片选端/字节同步

15 VCO 时钟压控振荡器VCO输出

17和18 XTALO和XTALI 晶振输出和晶振输入

23 XCS 片选输入,低电平有效

26 RX UART接收口,不用时接IOVDD

27 TX UART发送口

28 SCLK 串行总线的时钟

29和30 SI和SO 串行输入和串行输出

32 TEST 保留做测试,连接至IOVDD

33 GPIO0/SPIBOOT 通用IO/0,/SPIBOOT,使用100K下拉电阻

34 GPIO1 通用I/O1

39和46 RIGHT和LEFT 右声道输出和左声道输出

42 GBUF 公共地缓冲器

44 RCAP 基准滤波电容

48 LINE IN 线路输入

2. VS1003解码电路设计

在设计VS1003解码电路时,数字地与模拟地必须相互连接并尽量靠近VS1003以避免锁存上拉,为了能播放48KHz 采样率的音频文件,输入时钟使用12.288MHz 。具体设计电路如图2-12所示。VS1003通过MISO ﹑MOSI ﹑SCK(SPI 接口)来接收输入的MP3数据,经过VS1003内置的采样DAC 转换为音频模拟量,最后通过Left ﹑Right 和Gbuf 输出。

MISO MO SI SCK 3.3V

2.5V

VS_XCS VS_XRESET VS_DREQ VS_XDCS

C7

33p

C8

33p

GN D

GN D

GN D

3.3V

R5

100k

C9104AG ND

A3.3V

3.3V GN D

GN D

AG ND

2.5V A

3.3V

Lef t Right Gbuf

R620

R720

R820

C10

103C11

103C12

103AG ND

35421

EA RJ1

Phonejac k Stere o SW

Lef t Right Gbuf

SO 30

SI 29SCL K 28xCS 23xRE SET 3DREQ

8xDCS/BSY NC

13

XT AL118XT ALO

17VCO

15

GP IO033GP IO134GP IO2/D CLK 9GP IO3/SD ATA 10

TEST

32

DG ND 4DG ND 16DG ND 20DG ND 21DG ND

22

DV DD 6DV DD 14DV DD 19CV DD 5CV DD 7RX 26CV DD 31CV DD 24AV DD 38AV DD 43AV DD

45TX

27LEFT

46RIG HT 39MICP

1GBUF 42MICN 2LIN E_IN 48RCA P

44AG ND 37AG ND 40AG ND

47

AG ND 41LQ FP-48

U3

VS1003

AG ND

GN D

C22104C23104C24104C25104C26104C27104C28104C29104C30104

C31104

3.3V Y312.288

GN D AG ND

R00

VS1003解码模块

GN D

RJ01M

图2-12 VS1003解码模块电路

3 FAT文件系统

3.1 FAT文件系统简介

MP3文件﹑BMP﹑TXT等文件在SD卡中是以FAT[11]的文件格式存储的,FAT即文件配置表,本系统采用FAT16/32。以FAT32为例,其数据信息常分为5个部分:MBR区、DBR区、FAT区、FDT区和DATA区。由于SD卡一般不做引导盘,一般也不分区,因此通常无MBR区,直接从DBR区开始。各分区的含义如下。

MBR区: 主引导记录区,该区存储了分区表等信息,位于SD卡的扇区0(物理扇区),在其分区信息里面记录了DBR所在的位置。

DBR区: 内容为系统引导记录,它包括一个引导程序和一个被称为BPB(Bios Parameter Block)的本分区参数记录表。BPB参数块记录着本分区的起始扇区、结束扇区、文件存储格式、根目录大小、FAT个数,分配单元大小等重要参数。

FAT区:称为文件分配表(FAT 表),一般一个卡上会存在2个FAT表,一个用作备份,一个用作使用。FAT表一般紧随DBR,另一个FAT表则紧随第一个FAT 表。FAT表记录了每个文件的位置和区域,是一种链式结构,FAT以“F8 FF FF 0F FF FF FF FF”这样的8个字节为表头,用以表示FAT表的开始,后面的数据每四个字节为一个簇项(从第2簇开始),用来标记下一个簇所在的位置,这样每个位置都存储了下一个簇,只要按着这个表走,就可以找到文件的所有内容。如果找到下一个簇位置,里面记录的是“FF FF FF 0F”,代表这个文件到此就结束了,没有后续簇了,这样一个文件的读取就结束了。

FTD区:该区的内容为文件目录表,FAT文件系统的一个重要思想是把目录(文件夹)当作一个特殊的文件来处理,FAT32甚至将根目录当作文件处理。FAT分区中所有目录文件,实际上可以看作是一个存放其它文件(文件夹)入口参数的数据表。因此,目录占用空间的大小并不等同于其下所有数据的大小,但也不等于0,通常占很小的空间。其具体的存储原理是:不管目录文件所占空间为多少簇,一簇为多少扇区、多少字节,系统都会以32个字节为单位,进行目录文件所占簇的分配,各个字段定义如表3-1所列。

DATA区:该数据区存放文件的内容,SD卡所占用的空间绝大部分为此部分。如果文件长度大于一个簇的大小,需要多个簇存放该文件,这些簇通过FAT链表串连起来。

表3-1 文件目录表各字段定义

FAT32文件目录项32个字节的定义

字节偏移量

字数量

定义 0~7 8 文件名 8~10

3

扩展名

11 1

属性字

节 0x00 (读写) 0x01 (只读) 0x02 (隐藏) 0x04 (系统)

0x08 (卷标)

0x10 (子目录)

0x20 (归档)

12 1 系统保留

13 1 创建时间的10毫秒位 14~15 2 文件创建时间 16~17 2 文件创建日期 18~19 2 文件最后访问时间 20~21 2 文件起始簇号的高16位 22~23 2 文件的最近修改时间 24~25 2 文件的最近修改日期 26~27 2 文件起始簇号的低16位 28~31

4

表示文件的长度

3.2 FAT 文件系统的读取操作

一般硬盘的数据结构是按图3-1而建立的。

图3-1 FAT 文件系统结构图

启动区的内容,也就是第一个扇区,使用WinHex 软件查看,如图3-2所示。其中,带下划线或点线部分为有用内容,具体含义依次如下。

图3-2 FAT启动区

EB 59 90:跳转指令。

4D 53 44 4F 53 35 2E 30:厂商标志和dos版本号,这里是MSDOS5.0。

00 20(偏移地址0BH,长度2):注意这里数据的布局,高地址放高字节,低地址放低字节(数据为小端格式组织),所以数据应该是0200,就是512。表示的意思是,该磁盘每个扇区有512个字节。有的可能是1024、2048、4096。

08(偏移地址0DH,长度1):表示每个簇有8个扇区。这个值不能为0,而且必须是2的整数次方,比如1、2、4、8、16、32、64、128。但是这个值不能使每个簇超过32KB。

24 00(偏移地址0EH,长度2):转换一下,就是0024,意思是保留区域中的保留扇区数为36个。那么就可以知道下面的FAT1区的开始的地址就是:0x24*200(每个扇区的字节数)=0x4800。

02(偏移地址10H,长度1):此卷中的FAT结构的份数为2,另外一个是备份的。

C6 03(偏移地址24H,长度2):每个FAT占用的扇区数,转换一下,为03C6。那么每个扇区占用的字节数就是0x03C6*200=78C00。根据启动区、FAT1、FAT2、根目录、数据区的次序,可以依次计算出它们的地址。

通过以上分析我们知道了启动区地址是0x00。FAT1表的起始地址的为0x4800,如图3-3所示。FAT2表的起始地址为0x4800+0x78C00=0x7D400,如图3-4所示。根目录区的起始地址为0x7D400+0x78C00=0xF6000,如图3-5所示。

图3-3 FAT1的起始地址

图3-4 FAT2的起始地址

图3-5 根目录的起始地址

从SD卡中读取数据需要给出数据的地址,而且每次读取都是一个整扇区,512个字节。找出这些地址后,可以很方便的找到数据。

由此可见读取0扇区的内容,我们就知道FAT文件系统的重要参数了,现在分析下根目录区的内容。根据前面得到的根目录地址0xF6000,通过软件查看它的内容如图3-6所示。这里使用的是FAT32短文件目录项,每32个字节表示一个文件(文件夹也是)。具体含义分别如下。

图3-6 根目录中的数据

5A 53 44 4C 20 20 20 20:驱动器的名称,8个字节。

54 45 53 54 20 20 20 20(偏移地址20H,长度8):文件名TEST(空缺部分是空格)。

54 58 54(偏移地址28H,长度3):文件类型,为ASCII字符表示。

20(偏移地址2BH,长度1):文件属性,00000000(读写);00000001(只读);00000010(隐藏);00000100(系统);00001000(卷标);00010000(子目录);00100000(归档)。

音乐播放器毕业设计

摘要 在信息,技术高速发展的今天,多媒体技术也越来越受到人们的重视。文章对目前使用较多的音乐播放器作出较详细的比较。通过阅读多张文献,分析了一些音乐播放器的功能并考虑了怎样能实现支持更多格式的音乐文件,怎样能满足使用者对播放器的需求。本文主要介绍了一个基于Java Applet来实现的音乐播放器的设计。并对系统开发中涉及到的关键技术作了探讨,简要分析介绍了Java技术和 Applet的工作原理,最后说明系统需要实现的功能。 音乐是一种声音符号,表达人的思想感情。是人们思想的载体之一。音乐是有目的和内涵的,其中隐含了作者的生活体验,思想情怀。一款好的pc音乐播放器不仅能够提供好的音乐播放效果,更能够为用户提供方便的操作。 本设计利用java语言和eclipse 编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对开发过程中遇到的问题和解决方法进行了详细的讨论,该音乐播放器集播放、暂停、停止、快进、快退、下一曲、上一曲、音量调节等功能与一体,性能良好。该播放器支持MP3、WAV、MP3和AIFF等音频格式。在开发的过程中采用瀑布模型。第一阶段首先对项目进行全面、仔细的需求分析,并准确做出项目进度安排,明确每个阶段的任务;第二阶段是进行项目分模块编码;第三阶段对项目进行全面的测试和系统集成测试。 关键词: JAVA;Eclipse;模块化; Applet;

Abstract In the information,the rapid development of technology today,the multimedia technology is becoming more and more attention.This paper makes comparison of the detail to the current use of more music player.By reading a plurality ofliterature,analysis of some function of music player and consider how to achieve the support more format music files,how to meet the needs of users of the player.This paper mainly introduces the design of a Java based Applet to achieve music player.And the key technologies involved in the system development are discussed and analyzed brieflyintroduces the work principle of Java technology and Applet,finally indicated that the system needs to realize the function. The music is a sound symbolic expressing the mood and thinking. It is the carrier of people's thinking. Music is the purpose and content, which implied the au thor's life experiences and feelings. A good pc music player can not only provide g ood music playing effect, but also provide users with convenient operation. The player is using java language and eclipse editing tools. Giving a detailed s ystem design process, part of the interface map and run flow chart of the main fun ction, this article discussed in detail on problems and solution method in the devel opment process. The music player set to play, pause, stop, fast forward, rewind, a nd the next one, on a volume adjustment functions with one good performance. Th e player supports MP3, WAV, MP3, AIFF, etc. audio formats. The model in the dev elopment process is Waterfall model. The first phase is the project of comprehensi ve and careful needs analysis, accurately making the project schedule and clearin g each stage of the task. The second phase of the project is sub-module coding. T he third stage, the project testing and system integration testing. key words:JAVA ;Eclipse;Modularization; Applet;

iOS 音乐播放器 毕业设计

1引言 1.1选题背景 随着智能手机的大众化,越来越多的人应用智能手机。相对的对手机软件的需求也就越来越多。当今时代手机不再只是用来打电话、发短信的工具,反而对手机的娱乐功能要求越来越高[1]。手机的一个重要的功能就是听音乐,一款好的手机音乐播放器可以更好的体现智能手机的强大。目前中国音乐播放器行业已经具备了相当的规模,并在国际市场上已有一定的竞争力。苹果手机作为当今中国智能手机市场上不可或缺的一个品牌,基于iOS的手机软件需求量也就相应的越来越强。市场上的音乐播放器品牌繁多,定位不一,基本满足了各层次消费者的需求,例如:酷我音乐、酷狗音乐、百度音乐、QQ音乐等等这些大家所熟知的音乐播放器已经在苹果软件中占据了一定的地位。智能手机的应用使现代人的生活更加的方便。 伴随着苹果手机进入中国市场,相应的iOS技术逐渐流行起来。而对于开发苹果应用的语言——Object-C,也成为当今社会最流行的开发语言,并且保持着强劲的上升趋势,隐隐有超过C语言的现象[2]。对于其他的开发语言,例如java、javascripe,Object-C以其强大的优势遥遥领先于这些其他的编程语言。本人根据当前的形式,决定引用这种这种技术来开发手机应用。 1.2设计目的及意义 听音乐已经成为当今社会,人们必不可少的一项娱乐活动。根据调查所得信息,本人发现最近智能手机用户对较大的音乐播放器应用的喜爱度明显下滑,而相对的那些小巧的音乐播放器反而被越来越多的用户下载使用。苹果系统的软件具有的特点就是美观、简洁、易操作。根据这些信息,设计一款小巧的基于iOS 的音乐播放器会很容易得到用户的青睐。同时本人从去年开始接触iOS,在学习了几个月后,对iOS开发有了一些理解,所以对于这次毕业设计,我就选择了基于iOS系统开发一款产品。希望通过这次毕业设计来进一步巩固自己的iOS开发水平。使自己在以后的社会竞争中更加具有优势。 1.3设计思想和目标 设计思想:自己的这款音乐播放器设计的过程是按照一般的应用开发流程进行的。自己首先调查了当今社会,人们对音乐播放器的需求,从中得出现阶段手机用户需要的是小巧、方便的音乐播放器。从而决定自己开发一款小巧的音乐播放器。在有了用户的需求后,本人开始开发属于自己的音乐播放器。在真正设计音乐播放器的过程中,本人先决定了音乐播放器的整体框架结构,应用的图片出

音乐播放器设计实习报告

《.net技术》实习报告带智能关机和查看日历功能的音乐播放器设计班级:指导老师: 姓名:学号: 设计时间:

正文开始 设计目的: 很多人在使用播放器的时候下载的播放器软件总是比较大,一般软件较大的打开就会比较慢,运行起来也没较小的软件运行的更“流畅“。而且当我们使用播放器的时候或是只用电脑的时候我们有时会忘记关掉电脑就离开或是睡着了!虽然电脑自带的操作系统也可以设置定时关机但比较麻烦,对电脑初学者更是不知道怎么使用操作系统设置定时关机啦!还有就是我们电脑桌面下的时钟一般只显示了几点钟,并没有显示今天是多少号,所以在影月播放器中添加一个可以查看日历的功能是很必要的! 实现的功能: 在这里我就为大家设计一款小巧的音乐播放器,同时还带有智能关机功能,所谓智能关机就是你想怎么时候关机就什么时候关机,你想立刻关机就立刻关机,想定时关机就可以自己设置关机时间,设置方法非常的简单啦。同时你只需要单击一下一个“三角图标键”(在下面还将结合图示提到)就可以看到日历表了,在日历表里你也可以选择查看你需要的那个月的日历表。同时我也在播放器中添加了显示现在时钟的功能。 下面介绍一下我设计的播放器的所有功能:首先你可以通过“添加文件夹”按钮添加你选择的文件夹内的所有音频文件,你也可以通过“添加文件”按钮单个添加你所要添加的音频文件,具体方法在下面我会给出截图加以说明,保证一看就懂,就会用。添加音乐文件后你就可以在你的播放列表里看到你添加的歌曲名了。你可以通过双击列表中的歌曲名进行播放你双击的歌曲或者单击选中列表中歌曲名后再单击播放按钮进行播放。在播放时你可也看到正在播放的歌曲名和播放进度,这里的播放进度使用显示正在播放的歌曲“已经播放了多长时间”和这首歌要播放的“总时间”,还有就是上一曲、暂停、下一曲、停止,除实现播放的基本功能外,还有一个功能那就是我在上面给大家提到的“智能关机” 物体规则震动发出的声音称为“音乐”,由有组织的乐音来表达人们思想感情、反映现实生活的一种艺术就是音乐,音乐是一种符号,声音符号,表达人的所思所想,音乐能表达一个人的内心世,界音乐能是人快乐,能使人放松心情。为了方便人们能够听到美丽的音乐,音乐播放器就成为我们的音乐大师了。 设计好的播放器运行时如下图:

音乐播放器的详细设计

音乐播放器详细设计 1.引言 随着社会的快速发展,现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,音乐成了我们生活工作中的一个重要的部分。而3G时代的到来,手机移动应用越来越普遍。此文档就是为了能更好地设计出一个基于android系统的音乐播放器而编写的。 1.1 编写目的 为软件的开发者能更好的理解和明确软件开发的详细过程,安排项目与进度、组织软件开发与测试,撰写本文档。本文档供项目组成员,软件开发人员参考。1.2项目背景 本项目由李雪梅、杨挺等人提出,由本组成员联合开发,实现播放现今流行的音乐MP3等文本格式。 该软件是基于Android系统的音乐播放软件,并能够与其他音乐播放软件兼容。 1.3 参考资料 [1] 重庆大学出版社《软件工程》“软件计划与可行性分析” [2] 靳岩、姚尚明人民邮电出版社《Android开发入门与实践》 [3] 可行性分析 [4] 《音乐播放器需求分析书》 [5] 《音乐播放器总体设计说明书》 1.4项目开发计划 实施计划:

阶段名称负责人 需求分析杨挺、李雪梅 总体设计李雪梅、杨挺 详细设计李雪梅、杨挺 软件测试李雪梅、杨挺 在技术方面,编程知识比较缺乏,对有些与项目相关的软件 不熟悉,需进行人员的技术培训(自学为主),技术难点是数据库的构架和软件功能的设计。 2. 总体设计 2.1 项目目的 本项目的目的是开发一个可以播放主流的音乐文本格式的播放器。设计的主要实现功能是播放MP3等格式的音乐文件,并且能控制播放,暂停,停止,音量控制,选择上一曲,选择下一曲,更改皮肤,歌曲列表文件的管理操作,在线播放,读取 存储卡播放等多种播放控制,界面简明,操作简单。 软件系统检测到错误行为时,报告错误,并提示处理操作。 2.2 软件运行环境 硬件:Android操作系统手机 系统软件:Android 2.2 -- 4.0版本 支撑软件:Eclipse 7.5 、ADT 1.5 2.3 需求概述

基于51单片机的音乐播放器设计

题目:音乐播放器 课程设计(论文)任务书

摘要 随着电子技术的发展和计算机越来越普遍的使用,单片机作为这两项技术的有机结合也得到了广泛的应用,在某些领域具有不可替代的作用。音乐播放功能随处都会用到,如,在开发儿童智力的玩具中,等等。目前,基于单片机实现音乐播放,其体积小、价格低、编程灵活等特点在这一领域独领风骚。 单片机的英文名称为single chip microcomputer,最早出现在20世纪70年代,国际上现在已逐渐被微控制器(Microcontroller Unit 或MCU)一词所取代。它体积小,集成度高,运算速度快,运行可靠,功耗低,价格廉,因此在数据采集、智能化仪表、通讯设备等方面得到了广泛应用。而8051单片机在小到中型应用场合很常见,已成为单片机领域的实际标准。随着硬件的发展,8051单片机系列的软件工具也有了C级编译器和实时多任务操作系统RTOS,为单片机编程使用C语言提供了便利的条件;并针对单片机常用的接口芯片编制通用的驱动函数,可针对常用的功能模块,算法等编制相应的函数;C语言模块化程序结构特点,可以使程序模块大家共享,不断丰富,这样就使得单片机的的程序设计更简单可靠,实时性强,效率高。作为测控技术与仪器的学生,掌握8051单片机硬件基础及其相关软件操作,将其应用于现代电子产品中是必要而且重要的,这次课程设计我们的题目是用单片机实验箱系统制作音乐播放器。 本次课程设计主要内容是通过单片机C51语言进行编程,以产生乐曲音符和节拍,把乐谱翻译成计算机语言(音符转换诚成相对应的方波频率即定时器装载初值,节拍转换成相对应的延长时间),并将其预先存储到单片机里,然后根据按键调用再由单片机进行信息处理,在经过信号放大,由喇叭放出乐曲声,实现音乐播放的功能。其主要表现在可以播放十首歌曲,可以用十个数字键控制播放的歌曲,并且能在LCD液晶屏显

音乐播放器的设计与实现毕业论文

音乐播放器的设计与实 现毕业论文 集团文件发布号:(9816-UATWW-MWUB-WUNN-INNUL-DQQTY-

毕业设计说明书 学生姓名学号 学院计算机科学与技术学院 专业计算机科学与技术(软件工程) 题目音乐播放器的设计与实现 指导教师 (姓名)(专业技术职称/ 学位) 年月 摘要:随着生活水平的提高,娱乐已成为非常主流的话题,人们不仅需要通过音乐陶冶情操,而且越来越多的人倾向于使用音乐、视频等娱乐和放松自己,这大大促进了媒体软件的发展.本文旨在介绍研究常用数字音频编码和解码的相关知识,并结合VS2008编写多功能音乐播放器,了解音乐播放器功能的实现,掌握开发音乐播放器所需的相关知识,采用了面向对象软件工程方法,其开发主要包括应用程序界面设计和后台代码运行两个方面,实现了多功能音乐播放器在计算机上的应用,可以在很大程度上满足用户的需求.该系统主要具备:音乐播放控制、音乐文件控制、音量控制、下载控制、歌词控制、进度控制、音乐剪辑等功能模块。 关键字:音乐播放器,音频编码格式,TechSmith Screen Capture Codec,FFmpeg ,C#,Visual Studio 2008 Abstract:With the improvement of standards of living, entertainment has become very mainstream topics, it is required not only by music, edifying, and as more and more people tend to use music, video and other entertainment and relax, which greatly promoted the development

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX年X月X日

一、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer():实现窗口的成员方法 publi c void run():实现改变歌曲的播放状态的成员方法 public AudioClip loadSound(String filename):实现对声音的加载public void mouseClicked(MouseEvent e):实现对按钮的监听public void itemStateChanged(ItemEvent arg0):返回一个AudioClip 对象

3、程序流程图 4、程序清单 import java.awt.*; import javax.swing.*; import java.applet.*; import java.awt.event.*; import https://www.sodocs.net/doc/435365853.html,.*; public class MyMusicPlayer extends Thread implements MouseListener,ItemListener{ JFrame MainFrame=new JFrame("MyMusicPlayer"); //定义主窗体 JLabel songname=new JLabel(); //用标签 显示状态 JButton last=new JButton(); JButton play=new JButton();

音乐播放器设计文档

生产实习报告 题目:音乐播放器 学生姓名:张凡 学号: 201220220123 班级: 1222201 专业:数字媒体技术 指导教师:张金 2015年08 月08日

目录 一、引言 (3) 1.1 项目背景 (3) 1.2 项目研究的目的 (4) 1.3 安卓简介 (4) 二.功能分析 (5) 2.1 功能需求分析 (5) 2.2 系统性能需求 (6) 2.3 运行环境需求 (6) 三.程序详细设计 (6) 3.1 主界面的设计 (6) 3.2 播放界面设计 (11) 3.3 其他功能 (14) 四.调试与运行 (18) 4.1 调试 (18) 4.2 运行结果 (19) 五.总结 (21)

一、引言 1.1 项目背景 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同各类,现在的市场上主要有三个手机操作系统,symbian,Windows mobile,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上拥有自己编写的个性音乐播放器呢?答案是:肯定的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的播放器。 随着计算机的广泛运用,手机市场的迅速发展,各种音频视频资源也在网上广为流传,这些资源看似平常,但已经渐渐成为人们生活中必不可少的一部分了。于是各种手机播放器也紧跟着发展起来,但是很多播放器一味追求外观花哨,功能庞大,对用户的手机造成了很多资源浪费,比如CPU,内存等的占用率过高,在用户需要多任务操作时,受到了不小的影响,带来了许多不便,而对于大多数普通用户,许多功能用不上,形同虚设。针对以上各种弊端,选择了开发多语种的音频视频播放器,将各种性能优化,继承播放器的常用功能,满足一般用户(如听歌,看电影)的需求,除了能播放常见格式的语音视频文件,高级功能:还能播放RMVB格式的视频文件。此外,还能支持中文、英文等语言界面。

(完整版)基于单片机的MP3播放器设计毕业设计论文

基于单片机的MP3播放器设计 音频信号数字化后所面临的一个不容忽视的问题是:巨大的数据量给存储和传输带来的压力。因此音频压缩技术在广播专业领域、网络传输及多媒体应用中受到广泛关注,成为音频信号处理的关键技术之一。MPEG(Moving Picture Experts Group)运动图像专家组,在1992年底制定了第一个世界范围的Hi-Fi(High-Fidelity)质量的音频编码标准MPEG-1。MPEG-1分为三种不同的方式,称为Layer1、Layer2和Layer3。序号越高,复杂性越大,但是可提供更好的编码效率,特别是在低比特率时。MP3就是MPEG-1 Layer3,是基于感知编码的算法,目前在CD 音质的声音压缩方面,是一种通用的方法。使用MP3标准对于音频数据编码既可以获得较大的音频数据压缩比,又可以得到较好的音乐回放质量。MP3的解码器结构复杂,涉及到大量的数学计算,对处理器与内存的要求相当高。目前,AT89C51处理器以其高性价比,丰富的外设资源,越来越受到各种嵌入式研发人员的青睐[5-7]。基于以上背景,我在此次设计中提出了AT89C51SND1C微处理器的软件解码方案,在降低硬件成本的基础上保证高质量的播放效果。 1.2.2 课题研究的意义 MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改本课题来源于生产实践

善MP3的音质是最关键的,也是亟待解决的问题。 MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。 另外一个原因是近年来,嵌入式系统与单片机开发的有机结合,已广泛被应用于网络通信、工业控制、机顶盒、PDA等诸多领域[8]。本文提出了一种基于单片机的MP3播放器的设计方案,这就进一步的体现了该设计的灵活性。目前该设计方案已经实现,实践证明,此播放器拥有市面MP3所有的全部功能并能够很好的运行。 MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、DA转换及音频输入。存储器可以是Flash 存储器或硬盘。通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。尽管MP3音乐是有损的,它在压缩过程中对功率谱较弱的信号有所丢失,但它同CD原声区别不大,不影响一般音乐爱好者对音乐的欣赏。MP3大大缩小了声音文件的长度,使音乐的存储和传输更方便。 2 MP3的编解码过程 2.1 MP3的工作原理 一个完整MP3播放器要分几个部分:中央处理器、解码器、存储设备、主机通讯端口、音频DA和功放、显示界面和控制键、其中中央处理器和解码器是整个系统地核心。这里的中央处理器我们通常成为MCU (单片微处理器),简称单片机。它运行MP3的整个控制程序,也称为fireware(或者固件程序)。控制MP3的各个部件的工作:从存储设备读

基于单片机音乐播放器课程设计报告书

目录 第一章绪论 (1) 第二章音乐播放器主要器件相关知识介绍 (2) 2.1 AT89C51 (2) 2.2 LCD 显示器 (4) 2.3 喇叭 (5) 2.4 键盘 (5) 第三章音乐播放器设计原理 (6) 3.1 单片机发声的基本原理 (6) 3.2 设计的相关音乐说明 (7) 3.3 音乐播放器设计功能说明 (7) 3.4 设计结构框图 (9) 3.5 主程序控制的工作流程图 (10) 3.6 播放音乐的主程序 (11) 设计心得 (15) 参考文献 (15)

第一章绪论 二十世纪九十年代以来,计算机、信息、电子、控制、通信等技术得到迅速发展,促使了社会生产力的提高,也使人们的生产方式和生活方式产生了日新月异的变化。随着人们生活水平的提高及对音乐的喜爱,对音乐播放器的品质,功能,品种等提出了越来越多的要求,表现在对控制系统性能、可靠性等要求越来越高。而品质的提高,功能的更新,可靠性的增强,品种的变化无不于产品的核心控制部分水平的提高密不可分。家用音乐播放器产品及其它有关消费电器产品都是一些开环或闭

环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。例如,就市场上的mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。但这些音乐播放器也或多或少的存在着一些问题,解决这些问题,还除智能化的单片机莫属。 设计指标: (1)设计一个(4×4)的键盘,并将16个键设计成16个音; (2)可弹奏想要表达的音乐; (3)该电子琴包含1首示例音乐,接通电源可播放示例音乐。 设计要求: (1)按设计指标进行电路设计; (2)列出音阶与单片机定时器输出频率关系表格; (3)制作符合设计指标的硬件电路。

设计文档 (AW音乐播放器)

2015年华北五省(市、自治区)及港澳台大学生计算机应用大赛移动终端应用创意与程序设计 (应用类样例) 【项目名称】AW音乐所在学校:天津商业大学宝德学院所在赛区:天津赛区 团队名称:三个臭皮匠 团队成员:安兴悦王璐瑶王鹤 提交日期:2015.10.12

目录 一、作品概述 (1) 二、作品可行性分析和目标群体错误!未定义书签。 (1)可行性分析 ...... 错误!未定义书签。(2)目标群体 .......... 错误!未定义书签。 三、作品功能与原型设计 (2) (1)功能概述: (2) (2)原型设计 (3) 四、作品实现、难点及特色分析 (5) (1)作品实现及难点 (5) (2)特色分析 (5) 五、团队介绍和人员分工 (5) 六、其他 (6) 七、致谢 (6)

一、作品概述 在这个互联网普及的时代,人们对于手机功能的应用除了打电话、发短信之外,更多的是以娱乐形式来放松自我。这便成为了我们决定设计这款手机音乐软件的主要原因。 我们开发的这款手机音乐软件以“私人订制”与“休闲娱乐”为主题设计,无论你是清纯学院风还是韩系欧美范,我们都会为您呈现一份独家定制只属于你的音乐体验,让用户在专属的界面中感受到我们这款音乐软件带来的恬静、放松。 当今社会的生活节奏越来越快,人们对手机的要求也越来越高,由于手机市场发展迅速,使得手机操作系统也出现了不同种类,现在市场上主要有三个手机操作系统——Windows Mobile,Symbian,以及谷歌的Android操作系统,其中占有开放源代码优势的Android系统有最大的发展前景。那么能否在手机上又有自己编写的个性音乐播放器呢?能的,谷歌Android系统就能做到。本文的音乐播放器就是基于谷歌Android手机平台的音乐播放器.现今社会生活紧张,而欣赏音乐是其中最好的舒缓压力的方式之一,本项目的目的是开发一个可以播放主流音乐文件格式的播放器,可以播放本地的MP3音乐,也可以播放在线的MP3音乐。本项目是一款基于Android手机平台的音乐播放器,使Android手机拥有个性的多媒体播放器,使手机显得更生动灵活化,与人们更为接近,让手机主人随时随地处于音乐视频的旋律之中。使人们的生活更加多样化。也使本人更加熟练Android的技术和它在市场上的特点。 Android是一个开源系统技术,它底层是基于Linux操作系统,本音乐播放器采用了Android开源系统技术,利用Java语言和Eclipse编辑工具对播放器进行编写。同时给出了详细的系统设计过程、部分界面截图以及主要功能运行流程图,还对开发过程中遇到的问题和解决方法进行了详细的讨论。该音乐播放器集播放、暂停、停止、上一首、下一首、音量调节、歌词显示、在线播放、音乐下载等功能于一体,性能良好,在Android系统中能独立运行。MP3的全名是MPEG Audio Layer-,是一种声音文件的压缩格式,由于本播放器只限于应用层的探讨,所以对具体的压缩算法不作深究。 二、作品可行性分析和目标群体 (1)可行性分析

基于STM32 MP3播放器设计分析

基于STM32 MP3播放器设计 学院:XXXXXXXXXXX 专业班机:XXXXXXXX 姓名XXXXX 学号:XXXXXXXX

1.1 本课题的提出及意义 MP3音频播放器的最合理工作速度为30Mips,而一个典型的视频媒体播放器的理想速度则为175Mips,所以提高MP3的工作速度,以及改善MP3的音质是最关键的,也是亟待解决的问题。 MP3是一种典型的嵌入式设备,而现在市场上比较常见的是闪存式MP3。由于闪存式MP3的容量限制,使它存储歌曲数目较少,在功能上也很难实现多样化[1]。而硬盘式MP3的多功能及大容量,也必将受到不少消费者的喜爱。 MP3播放器一般分成3个部分:CPU、MP3硬件解码器存储器。其中可以将前两部分集成在一起,即带MP3硬件解码器的CPU;或将后两部分集成在一起,即集成硬件解码、D/A转换及音频输入。存储器可以是Flash存储器或硬盘[2]。通过用MP3编码技术,可以得到大约12:1压缩的有损音乐信号。 1.2 研究现状 MP3全称是MPEG Layer 3,狭义的讲就是以MPEG Layer 3标准压缩编码的一种音频文件格式。自韩国世韩(Seahan)公司1998年推出世界上第一台MP3随身听以来, MP3播放器以其小巧的外形,不错的近乎于CD的音质,前卫的功能,越来越受到消费者的青睐,也就成为业界甚至大众媒体关注的一个热门话题[3]。在市场消费刺激下,各大公司纷纷推出了自己的mp3播放器产品,IC供应商提供了众多的MP3解码芯片及其解决方案。除了Micronas方案(MAS3507+DAC3550),还有台湾创品方案(T33510,T33520)、美国SigmaTel方案(STMP3400)和TI的DA-250解决方案。这使mp3播放器的研制与生产变得更加容易,成本也大大降低,市场更加广阔[4]。 2 硬件设计 2.1整体方案 综述

基于51单片机音乐播放器设计毕业设计

学生毕业设计报告 设计题目:基于51单片机音乐播放器设计

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:

毕业设计任务书 专业班级姓名 一、课题名称:基于51单片机的音乐播放器设计 二、主要技术指标:1、AT89c51的输入电压:DC+5V 2、4k字节在系统编程(ISP) Flash 闪速存储器 3、128*8字节内部RAM 4、32个可编程I/O口线 5、2个16位定时/计数器 三、工作内容和要求:1、播放时显示歌曲序号(或名称) 2、利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,演奏乐曲。 3、可通过功能键选择乐曲,暂停,播放 4、按顺序从头至尾自动循环播放全部设置的乐曲 5、按规范要求写出论文说明书 四、主要参考文献:[1]胡汉才. 单片机原理及其接口技术(第2版)[M]. 北京:清华大学出版社,2003 [2]孙涵芳.MCS-51系列单片机原理及应用[M].北京:北京航空航天大学出版社,1996.4 [3]阎石.数字电子技术基础(第三版)[M].北京:高等教育出版社,1989 [4]王晓君,安国臣.MCS-51及兼容单片机原理与选型[M] .北京:电子工业出版社,2003 [5]马家辰,孙玉德,张颖.MCS-51单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,2001 [6]林凌,李刚,丁茹,李小霞. 新型单片机接口器件与技术[M]. 西安:西安电子科技大学出版社,2005 学生(签名)年月日 指导教师(签名)年月日 教研室主任(签名)年月日 系主任(签名)年月日

单片机课程设计报告简易音乐播放器

第一章前言 伴随着科技的发展和时代的进步,人们对生活质量的要求也越来越高,由以前简单的追求温饱和物质财富转向更高层面的精神追求!而这一切催生了智能仪器的发展,音乐则是人们娱乐生活的重要组成部分,目前市场上出现了许许多多的音乐播放器,而人们对播放器的功能需求也越来越广泛,本文将设计一个基于单片机的音乐播放器,通过对其全面的介绍与分析,让大家了解音乐播放器的原理! 第二章: 简易音乐播放器的功能和原理说明 音乐播放器,可以通过单片机板子上的数字按键对音乐播放的曲目进行控制,并且通过LED灯将播放的音乐加以区分,在播放音乐的同时点亮LED灯,让人知道现在正在播放的音乐曲目,从而实现简单的音乐播放功能! 表1 需求分析 功能说明:这次设计是依据单片机技术原理,通过硬件电路设计以及软件的编译而设计的一个简单的音乐播放器,可以通过按键选择播放四首歌曲(歌曲自选,只要将想要播放的歌曲的乐谱写入程序中即可)同时点亮相应的LED灯,并用它来指示当前播放的歌曲序列,只能实现简单的音乐播放功能。 原理说明:这个音乐播放器主要有晶振电路,复位电路,LED电路,按键电路以及扬声器组成。它利用单片机产生乐曲音符,再把乐曲音符翻译成计算机音乐语言,接着用单片机进行信息处理,再通过蜂鸣器或喇叭放出音乐。音乐的产生主要是通过单片机的I/O口输出高低不同的脉冲信号来控制扬声器发音。通常利用单片机的内部定时器0,工作在方式1下,再改变计数初值TH0和TL0来产生不同频率。当控制歌曲按键按下时,按照预先存放在单片机中的程序,就

会自动判断键值,然后启动计数器,按照程序产生一定频率的脉冲,接着通过uln2003芯片驱动扬声器,播放出乐曲。该硬件电路中用P3.0,P3.1,P3.2,P3.3控制四个按键,“0”,“1”,“2”,“3”分别控制四首音乐。P1.0,P1.1,P1.2,P1.3控制四个LED灯,它们分别对应四个按键,用来显示正在播放的歌曲,并用P2.3 来控制扬声器,电路为12MHz晶振频率工作,起振电路中C1 和C2为22pf。 第三章:系统硬件电路设计 1:硬件体系结构设计 该简易音乐播放器主要有单片机核心芯片89C52,LED发光二极管,扬声器,晶振电路,按键电路,复位电路组成,通过芯片引脚输出定时器产生的各种固定频率的方波信号,然后在经由扬声器产生各种频率的声音。另外,该方案使用的是单片机板子的内部振荡电路,89C52芯片的X1,X2引脚外接石英晶体。它的系统组成如图所示。 (1)晶振电路部分晶振的作用是给电路提供工作信号脉冲的,其实就是单片机的工作速度。本次设计选用12M晶振,则单片机的工作速度就是每秒12M。与此同时,也要注意单片机的工作频率范围。 (2)复位电路部分当系统出现问题时可以重置系统,解决一些问题 (3)LED显示部分显示系统在各种不同条件下的状态 (4)89C52芯片整个设计的核心,接收和处理信号及程序 (5)按键电路部分作为系统的输入

音乐播放器的设计与实现

第一章绪论 1.1背景 随着电子技术的飞速发展,嵌入式设备在各领域的应用越来越广泛,复杂度也越来越高,对其他开发方法也提出了更多的要求和更大的挑战。在嵌入式设备系统开发过程中需要将软件应用与操作系统编译连接成一个整体,然后下载到目标机上运行,所以,嵌入式设备的开发过程是一个复杂的过程。 3作为高质量音乐压缩标准,给音频产业带来了具大的冲击。3技术使音乐数据压缩比率大,回放质量高。如格式的音乐数据压缩成3格式,音效相差无己,但大小至少可压缩12倍。由于3音乐的较小数据量和近乎完美的播放效果使其在网络上传输得以实现。1995年,3格式的音乐文件刚在网络上传播时,主要用等播放软件进行播放,使3音乐无法脱离计算机进行播放,给音乐欣赏带来了不便。近几年以来,随着3播放器的出现及其技术的发展,人们对3播放器的要求越来越高,制造商在3播放器的选型、设计、开发、附加功能和适用领域等方面做了很多努力,设计了多种方案。本设计主要是利用技术设计一款新型的3播放器。 9是公司的16/32位处理器,是适用于普通设备的一种高性价比的微控制器。本设计采用的是三星公司推出的9芯片S3C2440,具有低价格、低功耗、高性能、超小体积等特点主要适用于中高端场合,目前在嵌入式系统中正得到日益广泛的应用。S3C2440主频高达400M,片上集成了丰富的资源:如()总线与控制器,为与数模转换器()的连接提供了一种理想的解决方案。 3播放器的设计比较复杂且对处理器的要求较高,因而3播放器必须仔细设计以降低成本。本设计是在9平台上设计、实现一个3播放器。 第二章系统总体方案 2.1 系统功能 本设计提出了一种基于嵌入式处理器硬件平台的3播放器设计方法。此播放器采用体系结构中的9作为系统控制器,利用外围设备通用串行接口下载3歌曲,用存贮3文件。主要对3做了各个方面的功能分析,对硬件设计、软件设计、软件实现、系统编译等方面做了介绍。系统的主要部分是音频编码与解码,这是系统设计的核心。3播放器设计的突出问题就是硬件控制和软件控制,另外还有硬盘控制、键盘控制、液晶显示,这些控制都是基于一块芯片。基于9的3播放器设计的软件体系结构采用分层模式,它包括软件层、硬件层、驱动层、操作系统层、及3播放器应用层。主要实现歌曲的播放。 2.2 设计指标 1、3工作电压为具有3.3V左右,电流250,具有音频解码和播放功能。 2、通过接口与大容量外部存储设备进行数据传输,能实现网络播放与下载、触摸屏输入功能。

MP3音乐播放器软件课程设计报告(MFC)

课程设计说明书 课程设计名称:软件综合课程设计 课程设计题目:音频播放器程序的设计与实现学院名称:信息工程学院

电子信息工程专业课程设计任务书 正文: 目录 引言 (5) 一、设计程序的目的与要求 (6)

目的 (6) 要求 (6) 二、方案实现与调试 (6) 总体设计 (6) 1、实现功能 (6) 2、功能模块图 (7) 详细设计 (7) 1、界面布局 (7) 2、各模块功能设计 (8) 2.1处理“打开”按钮 (9) 2.2处理“播放”按钮 (9) 2.3处理“暂停”按钮 (9) 2.4处理“停止”按钮 (9) 2.5处理“音量”按钮 (10) 2.6处理“退出”按钮 (10) 3 操作步骤 (10) 三、课程设计分析与总结 (11) 分析 (11) 总结 (11) 附录 (13) 关键程序清单 (13)

参考文献 (20) 引言 MP3播放器的设计是利用MFC应用程序、媒体控制接口MIC 的基本知识而设计的。 1.1 MFC简介 MFC是Visual C++是核心。MFC类库将所有图形用户界面的元素如窗口、菜单和按钮等都以类的形式进行了封装,MFC AppWizard 向导根据继承性利用MFC派生出自己的类,并对Windows应用程序进行了分解,利用MFC派生类对应用程序重新进行组装,同时还规定了应用程序中各个MFC派生类对象之间的相互联系,实现了标准Windows应用程序的功能,这就是向导生成的所谓MFC应用程序框架。每个MFC类都包括了一些函数,函数放到类中,符合C++编程方法。这些函数,必须通过类定义对象才能使用[1]。 1.2 MCI简介 MCI(Media Control Interface)媒体控制接口是MircroSoft提供的一组多媒体设备和文件的标准接口,它的好处是可以方便地控制绝大多数多媒体设备包括音频、视频、影碟、录像等多媒体设备,而不

音乐播放器Java课程设计报告

课程设计报告课程设计题目:java 音乐播放器 学生姓名: 专业:XXXXXXXXXXXXX 班级: 指导教师: 20XX 年X 月X 日

、课程设计目的 1、编程设计音乐播放软件,使之实现音乐播放的功能。 2、培养学生用程序解决实际问题的能力和兴趣。 3、加深java 中对多媒体编程的应用。 二、课程设计的要求 利用学到的编程知识和编程技巧,要求学生: 1、系统设计要能完成题目所要求的功能,设计的软件可以进行简单的播放及其他基本功能。 2、编程简练,可用,尽可能的使系统的功能更加完善和全面 3、说明书、流程图要清楚。 三、课程设计内容 1、课程设计的题目及简介 音乐播放软件要求: 有图形界面,能播放MP3 歌曲,有播放列表,前一首、后一首等常用播放软件功能。 2、设计说明 主要运用多媒体编程、图形界面、数组及循环进行设计,从而实现简单的音乐播放。 public MyMusicPlayer() :实现窗口的成员方法 publi c void run() :实现改变歌曲的播放状态的成员方法 :实现对声音的加载 public AudioClip loadSound(String ) :实现对按钮的监听 public void mouseClicked(MouseEvent e) public void itemStateChanged(ItemEvent arg0) :返回一个AudioClip 对象

3、程序流程图 * 出现界面 * 选择播放歌 曲 4、程序清单 import java.awt.*; import javax.swi ng.*; import java.applet.*; import java.awt.eve nt.* import java .n et.*; public class MyMusicPIayer exte nds Thread impleme nts MouseListe ner,ltemListe ner{ JFrame Mai nF rame =new JFrame( "MyMusicPlayer" ); // 定义主窗体 JLabel songname =new JLabel(); //用标签显示状态 JButton last =new JButto n(); JButt on play =new JButt on();

相关主题