ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:220.19KB ,
资源ID:12934773      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12934773.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(EDA电子琴课程设计1Word文档格式.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

EDA电子琴课程设计1Word文档格式.docx

1、系统的整体组装设计原理图如图1-1所示。图1-1 系统的整体组装设计原理图由于设计分模块组成,每个单独的模块都是一个完整的源程序,分别实现不同性质的功能,但是每个模块又是紧密关联的,前一个模块的输出很可能是后一模块的输入。如AUTO模块的音符信号输出就是TONE模块的音符信号输入。另外,时钟脉冲信号在本课程设计中用的最多,用处也最大,一般情况下时钟信号处上升沿有效,判断和控制各个计数器计数多少。2 简易电子琴的设计过程根据系统设计要求,系统该系统基于计算机中时钟分频器的原理,设计采用自顶向下的设计方法,通过按键输入来控制音响或者自动演奏已存入的歌曲。它由乐曲自动演奏模块、音调发生模块和数控分频

2、模块三部分组成。2.1 乐曲自动演奏模块乐曲自动演奏模块的作用是产生8位发生控制输入信号。当进行自动演奏时,由存储在此模块的8位二进制数作为发声控制输入,从而自动演奏乐曲。该模块的VHDL源程序主要由3个工作进程组成,分别为PULSE0,MUSIC和COM1。PULSE0的作用是根据键盘输入(自动演奏)的值(0或1)来判断计数器COUNT以及脉冲CLK2的输出值。部分源程序如下:PULSE0:PROCESS(CLK,AUTO) -工作进程开始VARIABLE COUNT:INTEGER RANGE 0 TO 8; -定义计数器变量,值从0到8 IF AUTO=1THEN -键盘输入为1COUN

3、T:=0;CLK2INDEX000010000 -5该模块最主要的用途就是将输入二进制数转化为发声控制输入,是产生音符的重要步骤, AUTO模块的源程序符号编辑图如图3-1。图3-1 AUTO模块的符号编辑图2.1.1乐曲演奏模块文本程序:-程序名称:AUTO.VHD-程序功能:采用VHDL语言编程产生8位发声控制输入信号。-电子班 张目(12007243818)-LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY AUTO IS

4、PORT(CLK: IN STD_LOGIC; -系统时钟信号 AUTO: -键盘输入/自动演奏 CLK2: BUFFER STD_LOGIC; -时钟输出INDEX2: IN STD_LOGIC_VECTOR(7 DOWNTO 0); -键盘输入信号 INDEX0: OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -音符信号输出 END AUTO;ARCHITECTURE BEHAVIORAL OF AUTO ISSIGNAL COUNT0:INTEGER RANGE 0 TO 31; -定义信号计数器,有32个信号元素 BEGINPROCESS(CLK,AUTO) -P

5、ULSE0工作进程开始 -定义变量计数器,从0到8 BEGIN -计数器值为0,时钟信号2幅值为0 ELSIF(CLK)THEN -输入的时钟信号为其他值 COUNT: -计数器加1即为1IF COUNT=4 THENELSIF COUNT=8 THENEND IF;END PROCESS;MUSIC:PROCESS(CLK2) -MUSIC工作进程开始BEGINIF(CLK2EVENT AND CLK2=)THEN -时钟信号2为1IF(COUNT0=31)THEN -计数器值为31COUNT0WHEN 1=WHEN 2=WHEN 3=WHEN 5=WHEN 6=WHEN 7=0010000

6、0 -6WHEN 8=10000000 -8WHEN 9=WHEN 10=WHEN 11=WHEN 12=00000010 -2WHEN 13=WHEN 14=00000001 -1WHEN 15=WHEN 16=WHEN 17=WHEN 18=00001000 -4WHEN 19=WHEN 20=WHEN 21=WHEN 22=WHEN 23=WHEN 24=WHEN 25=WHEN 26=WHEN 27=WHEN 28=WHEN 29=WHEN 30=WHEN 31=WHEN OTHERS=NULL;END CASE;ELSE INDEX0TONE0=912;CODE0010010HIGH=2047;0000001显然,该模块最主要的作用就是给音符输入预设频率值,因为,电子琴最终实现乐曲演奏就是输出不同频率的正弦波,此模块就是将二进制发声信号转化为对应的频率。32 TONE模块的符号编辑图2.2.1音调发生模块文本程序:TONE.VHD采用VHDL语言编程产生音阶的分频预置值。ENTITY TONE I

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

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