实验六 乐曲播放器的设计.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

实验六乐曲播放器的设计

一.实验目的

学会分频器的使用。

使用层次化设计方法,实现乐曲发生器的设计。

二.实验要求

任选一段乐谱在实验箱上实现自动演奏。本实验以《梁祝》中化蝶部分的乐曲演奏为例,该乐曲为1/4节拍,乐曲简谱如图1所示。

拓展:《北京欢迎你》

三.实验设计:

乐曲都是由一连串的音符组成,乐曲中每个音符的发音频率及其持续的时间是乐曲能够连续演奏的两个关键因素。

频率的高低决定了音调的高低

简谱中的音名与频率的关系

音名

频率/Hz

音名

频率/Hz

音名

频率/Hz

低音1

261.6

中音1

523.3

高音1

1045.5

低音2

293.7

中音2

587.3

高音2

1174.7

低音3

329.6

中音3

659.3

高音3

1318.5

低音4

349.2

中音4

698.5

高音4

1396.9

低音5

392

中音5

784

高音5

1568

低音6

440

中音6

880

高音6

1760

低音7

493.9

中音7

987.8

高音7

1975.5

音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定。因此,在想控制音符的音长,就必须知道乐曲的速度和每个音符所对应的节拍数,在这个设计中所演奏的乐曲的最短的音符为四分音符,如果将全音符的持续时间设为1s的话,那么一拍所应该持续的时间为0.25秒,则只需要再提供一个4HZ的时钟频率即可产生四分音符的时长。要想让系统知道现在应该演奏哪个音符,而这个音符持续的时间应该是多少,就必须编写乐曲文件,在乐曲文件中音符是按地址存放的,当系统工作时就按4Hz的频率依次读取简谱,当系统读到某个音符的简谱时就对应发这个音符的音调,持续时间为0.25秒,例如只要将该音符连续书写三遍,这时系统读乐曲文件的时候就会连续读到三次,也就会发三个0.25秒的音长,这时我们听上去就会持续了三拍的时间,通过这样一个简单的操作就可以控制音乐的音长了。

4.(1)音符数据地址发生器模块 NOTETABS

NOTETABS中设置了一个8位二进制计数器(计数最大值138),作为音符数据的地址发生器。随着NOTETABS中的计数器按照4HZ的时钟速率作加法计数时,每读一个数据,音符持续时间为0.25秒,随着4HZ时钟速率读取地址递增,内部则通过一个counter进行,音符数据ROM中的音符数据将通过模块 NOTETABS中TONEINDEX[3..0]端口输向TONETABA模块。通过XUAN信号,来控制是播放第一首还是第二首歌。

(2) 预置数查表电路电路模块 TONETABA111

音符的持续时间须根据乐曲的速度及每个音符的节拍数来确定,模块TONETABA111的功能首先是为SPEAKERA提供决定音符发音的分频数。模块TONETABA是乐曲简谱码对应的分频数查表电路,其中设置了《梁祝》乐曲和《北京欢迎你》全部音符所对应的预置数,共10个,这10个值的输出由对应于TONETABA的4位输入值INDEX[3..0]确定,而INDEX[3..0]最多有16种选择。输向TONETABA中INDEX[3..0]的值TONEINDEX[3..0]

的输出值与持续的时间由模块NOTETABAS决定。

频率hz

分频系

频率hz

分频系

频率hz

分频系

1

262

11467

1

523

5733

1

1046

2867

2

294

10216

2

587

5108

2

1175

2554

3

330

9101

3

659

4551

3

1319

2275

4

349

8590

4

698

4295

4

1397

2148

5

392

7653

5

784

3827

5

1568

1913

6

440

6818

6

880

3409

6

1760

1705

7

494

6074

7

988

3037

7

1976

1519

因为在发声频率产生模块中,计数是从输入的TONE值开始一直记到共16383为止,因此

TONE=16383-分频数

(3) 发声频率产生模块 SPEAKERA

这是一个数控分频器,分频比由预置输入端TONE决定。为了有利于驱动扬声器发音,需要加一个D触发器以均衡占空比,但这样一来,此时频率变为原来的二分之一即3MHZ。输出为方波,其频率为3000000/(1+D[13…0])Hz。

四、实验器材

PC机,试验箱,quartus软件

五、实验程序

rom如下:梁祝的rom

北京欢迎你

分别将3个模块的代码输入如下:

1)音符数据地址发生器模块 NOT

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档