乐曲自动演奏器及简易电子琴的设计.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
乐曲自动演奏器及简易电子琴的设计

乐曲自动演奏器及简易电子琴的设计 所做的作品 2007-01-28 21:23:49 阅读245 评论1 字号:大中小 设计制作者:毛传林,张红,胡根水,聂剑飞,王塞中,钱明刚 制作时间:2006年12月20日—31日 一、设计要求: 1.?????? 设计并实现简易电子琴和音乐发生器。 2.?????? 理解音名与频率关系,可变分频器原理。 3.?????? 画出原理框图,设计并实现简易电子琴和音乐发生器。 4.?????? 能用简易电子琴弹奏一首乐曲,自动播放一首歌曲。 二、方案论证与比较 方案一. 使用用现有的EDA实验箱所提供的矩阵键盘,扬声器,EPF10K10TC144-4,脉源等硬件资源,程序设计使用VHDL语言来编制。VHDL语言有如下优点: 1.设计技术齐全、方法灵活、支持广泛 VHDL语言可以支持自上至下和基于库的设计方法,而且还支持同步电路、异步电路、FPGA 以及其它随机电路的设计。 2.系统硬件描述能力强 VHDL语言具有多层次描述系统硬件功能的能力,可以从系统的数学模型直到门级电路。另外,高层次的行为描述可以与低层次的RTL描述和结构描述混合使用。VHDL语言能进行系统级的硬件描述,这是它的最突出优点。还可以自定义数据类型,给编程人员带来较大的自由和方便。 3.VHDL语言可以与工艺无关编程 在用VHDL语言设计系统硬件时,没有嵌入与工艺有关的信息。当门级或门级以上层次的描述通过仿真检验之后,再用相应的工具将设计映射成不同的工艺(如MOS、CMOS)。在工艺更新时,就无须修改原设计程序,只要改变相应的映射工具就行了。无论修改电路还是修改工艺相互之间不会产生不良影响。 4.VHDL语言标准、规范、易于共享和复用 VHDL语言已作为一种IEEE的工业标准,便于复用和交流。 方案二. 使用单片机制作需要使用汇编语言或是用C语言来编制程序,无法像VHDL语言一很好的支持层次化设计,这就加大了程序的编制难度。无法像VHDL语言一样在EDA工具中进行逻辑综合和优化。给调试也带来了一定的困难。 由于本设计所用到的模块比较多,为了使分开编制程序方便。我们选择方案一实现本设计的全部功能。 三、设计原理和程序实现 本次设计一共有六个模块组成,分别为键盘模块,乐曲节拍发生器模块,琴/乐选择器模块,编码器模块,可编程分频器模块,二分频器模块。原理框图如下: 程序的编制也是按模块编写完成后再进行整,通过一个主程序的调用实现这个功能。 各个功能模块的分析说明如下: (1)键盘key0模块 我们使用的是EDA实验箱上的键盘显示模组。它是一组2X8的按键,键值从0~F。键盘扫描和数码管选通信号是用同一个3—8译码器送出的,扫描键盘时也选通了数码管。在程序编制时我们没有给数码管送信号,所以在使用键盘时不会点亮数码管。 (2)25分频器模块 因为音乐节拍发生器需要4HZ的时钟脉冲,但是,在EDA实验箱上没有4HZ的脉冲源,于是,把100HZ的脉冲引入25分频器,进过25分频后使它输出4HZ的脉冲再供给乐曲节拍发生器使用。在此处我们使用了一个数码分频器,它可以根据所给的初始值来分成任何频率。这于下面提到的二分频器原理是有所区别的。下面为25分频器的仿真波形: 图一 25分频器的仿真波形 从图中我们可以看到仿真图与我们设想的一样。 (3)乐曲节拍发生器 DOU-RAI-MI 模块 在音乐发生器档位,可自动循环播放如下乐曲旋律: ||:1? 2 |3? 1|3 1|3 —|2? 3|44 32|4 —|4—| 演奏的乐曲旋律存放在这个模块里,最小的节拍为1/2拍。将一拍的时间长定位为0.5s,则1/2拍时长为0.25s。所以需要4HZ的时钟频率。演奏的时间控制通过记谱来实现,对于占用时间较长的节拍(一定是1/2拍的整数倍,如1拍),只需要将该音名连续(两次)即可。音名持续时间的长短由一个时长计数器控制,其时钟为4HZ。该计数器还可以实现乐曲的循环播放。其仿真波形图如下: 图二 音乐节拍发生器DOU-RAI-MI模块仿真波形 我们可以对照程序中记的乐谱发现仿真完全正确。 (3)琴/乐选择器 BMUX 模块 系统工作在简易电子琴状态还是音乐发生器状态由此模块的按键CS控制。琴键按下的状态是由键盘模块判断出来然后传到琴/乐选择器,再有此模块输出到下一个模块(即编码器CODER)。其仿真波形为: 图三 模块BMUX的仿真波形 从图中我们可以看到当CS被置为0时按键值才能被输出,且不同的按键对应着不同的输出。完全的符合设计的要求。 (4)编码器 CODER 模块 编码器从上一模块(琴/乐选择器)接受到不同的键值,再经转换

文档评论(0)

小教资源库 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档