COLD音乐播放器综合项目实践报告资料.docVIP

COLD音乐播放器综合项目实践报告资料.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
常州信息职业技术学院 可编程逻辑器件开发应用 综合项目设计报告 2015 — 2016 学年 第 二 学期 项目: 音乐播放器的设计与实现 班级: 计 应 142 学号: 1408143209 姓名: 顾 杉 授课教师: 聂章龙 制定日期: 2015 年 06 月 24 日 一、总体设计(项目总体分析) 1、基本功能 基于Verilog HDL的音乐播放器系统是以ALTERA公司的MAXⅡ系列芯片 EPM1270T144C5为主控单元,根据音乐发生的原理,将复杂可编程逻辑器件作为发生音乐的核心器件,用高速集成电路硬件描述语言Verilog HDL编程控制音乐发生的乐谱,配合周边硬件电路,由蜂鸣器发声器件发出音乐声,实验表明,采用该方法设计的音乐发生器成本低、修改方便。 基于Verilog HDL的音乐播放器实现的功能主要有在4位动态数码管上显示音乐播放的时间,在8*8点阵屏上显示相应歌曲的名字(汉语拼音或英文字母),在1位静态数码管上显示高(H)、中(Z)、低(L)音调,并且利用8个小灯的亮灭来标识相应的音符(音符是几就亮第几盏小灯),通过开始/暂停按键控制音乐的开始、暂停,通过乐曲选择按键控制音乐的选择,选择时单个数码管上显示歌曲编号,如选择“兰花草”时,显示0。 交流蜂鸣器为了增加I/O口的驱动能力采用了NPN型晶体管,这样只要在基极BUZZ上输入一定频率的脉冲,蜂鸣器BUZZ就会发出悦耳的音乐。乐曲演奏的原理是这样的:组成乐曲的每个音符的频率值(音调)及其持续时间(音长)是乐曲演奏的两个基本数据。 所以只要控制输出到扬声器信号的频率高低和该频率信号持续的时间就可以演奏出不同的音乐,频率的高低决定了音调的高低,而乐曲的简谱与各个音名有各自的对应关系,所有不同频率的信号都是从同一个基准频率分频得到的,由于音阶频率多为非整数,而分频系数又不能为小数,所以必须将计算得到的分频进行四舍五入取整,基准频率和分频系数应综合考虑加以选择从而保证音乐不会走调。 由于蜂鸣器具有控制简单及声响悦耳的特点,在工程项目中,常用作人机接口的重要输出设备,用以发出语音提示信息,使系统更加完善和使用。蜂鸣器有交流和直流两种,直流蜂鸣器驱动简单,只要在二号引脚上加上直流电源它就会发出一定频率的声音,此时声音的音调和音量是固定的,而交流蜂鸣器在这方面则显得比较灵活,输入的声音信号的频率和音长可以由用户控制,因此输出的声响可以是多样的。 简谱中的音名与频率是一一对应的,因此要发出某一声乐,只需要输出该声乐所对应的频率信号就可以了,在实验板上已经为我们准备了键盘K1~K8和一个蜂鸣器BUZZ,所以完全可以用它们来实现一个简单的电子琴,为了产生一定的频率信号,我们还需要用到有源时钟clock,并且把它作为乐曲的基准频率,而所有不同的频率信号都是从这一基频分频而来的,比如在24MHz的时钟下,中音1(对应的频率值为523.3Hz)的分频系数应该是:24*10的六次方/(523.3*2)=0x5993。 通过对有关蜂鸣器的设计案例的学习,基本上对分频和控制交流蜂鸣器发声有了一定的了解,所以在此基础上,设计音乐片段是对分频和蜂鸣器发声的综合应用,需要处理好各种简谱的播放顺序及音长。程序设计时应该注意按键去抖动计数,注意分模块去设计每个模块并且注意模块与模块之间的关系。 在这个项目中我们还用到了汉字的显示,通过以前学习的点亮显示屏的例子,我们队LED点阵显示屏的内部结构、工作原理、驱动和编程方法有了一定的了解,同样,LED点阵显示屏可以显示汉字或字符,只是此时的汉字或字符应该以点阵的形式来表示,取点越多,汉字或字符也将越逼真,通常8*8的点阵显示屏可以用来显示一些简单的汉字。首先把要显示的(8*8)汉字用二进制代码来表示,这一过程称之为取字模。这样,在程序中才用逐行扫描的方法扫描整个点阵,当然在扫描对应行的同时在段码线输出对应的字模数据,于是该行的相应点被点亮。虽然汉字是被逐行显示的,但是由于人眼的视觉差,且只要扫描速度足够快,所以看到的将还是一个完整的汉字。 由于音阶频率多为非整数,而分频系数又不能为小数,故必须将得到的分频数四舍五入取整。由于最大的分频系数为5102,故采用13位二进制计数器已能满足分频要求。在表中可以看到不同音阶对应的不同初始值。对于不同的分频系数,只要加载不同的初始值即可。采用加载初始值而不将分频输出译码反馈,可以有效地减少设计占用可编程逻辑器件的资源。“0”表 示 休 止 符,在 很 多 音 乐 中,休 止 符也 是 一 个重要的音符。对于休止符,只要

文档评论(0)

cc880559 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档