简单音乐播放器数电实验Word格式.docx

上传人:b****3 文档编号:13708508 上传时间:2022-10-13 格式:DOCX 页数:32 大小:847.09KB
下载 相关 举报
简单音乐播放器数电实验Word格式.docx_第1页
第1页 / 共32页
简单音乐播放器数电实验Word格式.docx_第2页
第2页 / 共32页
简单音乐播放器数电实验Word格式.docx_第3页
第3页 / 共32页
简单音乐播放器数电实验Word格式.docx_第4页
第4页 / 共32页
简单音乐播放器数电实验Word格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

简单音乐播放器数电实验Word格式.docx

《简单音乐播放器数电实验Word格式.docx》由会员分享,可在线阅读,更多相关《简单音乐播放器数电实验Word格式.docx(32页珍藏版)》请在冰豆网上搜索。

简单音乐播放器数电实验Word格式.docx

首先音乐有音高和节拍两个因素。

音高可以通过对时钟信号不同的分频得到不同频率的信号进而发出不同的音,节拍可以定义一个音符计数器,计数器的每_个值对应一个音高。

对播放的控制包括播放/暂停、复位、上一首、下一首、本首重放、顺序播放/随机播放,用一个状态机,共播放和暂停两个状态,另外歌曲的切换以及暂停都是利用音符计数器赋不同的值或保持不变来实现。

音高的显示是通过不同的音符对应不同的点阵row和col的值来实现的。

歌曲号是通过音符计数器的值来得出并送到数码管显示的。

播放、暂停、顺序、随机这些的显示是通过对状态和模式变量的判别进而送到LED显示的。

2)总体框图

3)分块设计

共分为9个模块。

Divl,div2,div3都是用来分频的,分别是将50mhz变为lmhz,将lmhz变为4h乙将lmhz变为2hz。

Rand模块用来产生随机数,用于随机播放模式。

Keycontrol是核心模块,用来实现顺序播放、随机播放、播放/暂停、上一首、下一首、本首重放、复位、显示顺序或随机播放状态、显示播放/暂停态。

Melody模块是将音符计数器的每一个值与一个音高相对应,即记录曲谱。

Index模块是用melody模块传来的音高信号通过查表得到它所对应的音高的分频数,然后将这个分频数送给speaker模块,以发出不同的音,另外对应不同的音它还对点阵进行不同的输出,进而显示出音高。

Speaker模块接收index模块送来的分频数利用分频数对时钟信号进行分频,进而发出不同的音,另外它还接收keycontrol模块送来的暂停态的标志,以保证在暂停态的时候不发出声音。

Shownumber模块通过对音符计数器值的判断确定现在播放的是哪首歌,进而输出不同的歌曲号。

三.仿真波形及波形分析

1)divl模块

由仿真结果可看出,它将50mhz的时钟信号变换为ImhZoDiv2和div3模块分别是将lmhz变为4h乙将lmhz变为2hzz原理相同,因而不再列出仿真结果。

2)Rand模块

 

由仿真结果可以看出在每一个时钟周期内zrandnumber改变一次,randnumber可作为随机数的产生信号。

>顺序播放:

可以看出,在mode=0,即顺序播放模式下,在没有按田可键时,音符计数器counter随时钟自动加1从而进入下一个音。

Sequential表示顺序播放,random表示随机播放z由图可见此时sequential为高电平,random为低电平,可知此时为顺序播放状态。

>

counter由144自动变到145是第一首播完自动到第二首

下—首:

当按一下一首键时,即nextone变为高电平,音符计数器counter由第一

首歌的14变到了第二首歌开始音符所对应的数145,实现了切换到下一首的功

能。

>本首重放:

当播放到第二首歌的152时,按下了本首重放键,即previous变为高电平,这时counter变为第二首歌起始音对应的数145,进而实现了本首重放的功能。

上一首:

当播放到第二首对应counter为151时f按下了上一首键z即lastone变为高电平,counter变为第一首歌起始音符所对应的值1.从而实现了切换到上—首的功能。

$

24.5m<

>

|Pc<

te[481Kf«

Inter/at45813^StatErrf

A

(M.Ois戦』ns500.0ns520.0ns540.0ns550.0is5S).flnsWO.Ots620.0as&

U.0os560.0is

11111Illi11

111

dHb:

i—ii—i_j_i-1_

3ccoita

l—iiT―:

i—闯—):

—雨—i曲.051―均—1:

―J:

—2―\—3—1q\―5―\

了12

last亦

^13

ic>

h

T

)14

回亦

QD.

了15

PP

ppspkl

了18

pr^riras

於19

3refiirmber

refill

了24

reset

seitatid

>暂停:

当按下暂停键后,即pp变为高电平,暂停状态的标志ppsymbol就变为高电平,用于送给LED显示播放/暂停态的ppout变为周期信号,实际中周期为Is,即LED会在Is内一亮一灭进行闪烁,表示进入了暂停状态。

|>

Poriw.719C7傅Infeed:

K61了傅Sat

End

CSOpTs6(0,00$SMpns^.,0nsm/)K120pisos砌“5剧p(w

aopreeeopis

20

dElx

11

r

ML

cMii

I--1i-1i_ir

1

J

2:

(3:

gqI5*j6

1*1?

Ustint

閃3

rod:

tiae

an.

1>

L5

19

1=

ao-

八、

01S

H诚

01T

18

fce^ccis

声19

023

r4T/1ji

g

seguatiil

>暂停后再按"

播放/暂停”键:

在暂停态再按一次播放/暂停键后,即PP再次变为高电平,ppout变为低电平,对应的LED会熄灭表示进入了播放状态,ppsymbol也变为低电平。

>暂停后按下一首:

按了暂停键之后,即pp变为高电平之后,又按了下一首键,即nextone变为高电平,这时进入播放状态,同时counter变成了下一首歌的第一个音符对应的值,实现了通过按下一首退出暂停状态,同时进行歌曲的切换。

>暂停后按上一首:

暂停后按上一首,即pp变为高电平后lastone也变为高电平,则进入播放状态,并且开始播上一首。

(信号counter中158对应的是第二首的音符,1对应的是第一首的音符)

M^Tirefef:

2%

[jPoH*1.73的In^vat1.71u:

Sial:

[

1.21us

Errf121必

\.63os

16^is16?

tsIts17|vs1TJtr1T^tr117tr

1X

1.8]町1.8Jos1.呻仍

Eue

一0

dkzii

dlrth

1_

1_11_1_1_1—1_11_11_1—1_

—i_i—1_1_r

0wim©

155

lH,~2_\―—

UHZ

l^ltoe

!

i!

i

□H3

ic4e

-4

oz^tiae

8,

0H5

°

C

?

|•

pput

1!

1!

■!

1

€>

IT

DPSjlMl

prericns

(3

1^23

r^Ldn

吹1

025

se|ueatid

>暂停后按本首重放:

暂停后按本首重放,即pp变为高电平后previous也变为高电平,这时进

入播放状态;

另外counter变为本首歌第一个音对应的数,实现了本首重放。

>复位:

复位所要实现的是不管是在顺序播放还是随机播放状态下,只要一按下复位

键,就从第一首歌开始播放。

如图,counter等于272时reset变为高电平,

counter变为1。

>随机播放:

在随机播放状态,即mode=l时,在第一首歌的最后一个音(counter为144时月寸程序会检测随机数randnumber的值直到是3于是下一次counter就变为第三首歌第一个音对应的数213,从而实现了随机播放。

此时random为高电平,sequential为低电平,表示此时为随机播放状态。

bhteleiTneBj.24.5iwjjPortci53.85^1帕泌5i£

0wStatEnd

53.Kis

S3.Wus

S3.69us

53.71也

53.73is

53.7,5us

53.His

53.”is

S3."

53.K5as

53.85us

53.67us

»

dk2t:

_lIIII!

I厂

IIIIIIIIILII丨I厂

1111111

&

2

0wwlir

is〉;

213X

2W〉;

215*

216X

2门X

218

219

12

last<

04

1*13

Md?

\\

W

时.

016

017

1*16

Kwires

®

ig

日robdxm^cr

3

iaokt

24

rasal

>随机播放状态下按上一首:

按了上一首(lastone变为高电平)后,据随机数randnumber的值3,于

是转入播放第三首。

>按下一首:

和按上一首是一样的z也是根据当前randnumber值来确走下一首要播的是哪一首。

Randnumber等于1、2、3、4分别对应第一、二、三、四首歌。

>按本首重放:

随机播放模式下按本首重放,即previous变为高电平,实现的功能与在顺

序播放模式是一样的。

由图可见,播放到第一首的10时,counter变为:

[,即回到第一首的第一个音开

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

当前位置:首页 > 小学教育 > 小升初

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

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