电子琴课程设计
电子信息专业暑假课程设计,电子琴
EDA课程设计
设计题目:
专 业: 电子信息工程
班 级:姓 名:学 号:
2014 年 6 月 20 日
电子信息专业暑假课程设计,电子琴
基于VHDL原理图及文本输入法
的简单电子琴电路的设计
一.课程设计
1.1 课程设计目的
本课程设计主要是基于VHDL文本输入法设计乐曲演奏电路,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,通过按键输入来控制音响或者自动演奏已存入的歌曲。系统由乐曲自动演奏模块、音调发生模块和数控分频模块三个部分组成。系统实现是用硬件描述语言VHDL按模块化方式进行设计,然后进行编程、时序仿真、电路功能验证,奏出美妙的乐曲(当然由于条件限制,暂不进行功能验证,只进行编程和时序仿真)。该设计最重要的一点就是通过按键控制不同的音调发生,每一个音调对应不同的频率,从而输出对应频率的声音。
1.2 课程设计内容
(1)设计一个简易的二十四音符电子琴,它可通过按键输入来控制音响。
(2)系统演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲。
(3)能够自动演奏乐曲,且乐曲可重复演奏。
1.3 课程设计原理
本课程设计目的在于灵活运用EDA技术编程实现一个简易电子琴的乐曲演奏,它要求在实验箱上构造一个电子琴电路,不同的音阶对应不同频率的正弦波。按下每个代表不同音阶的按键时,能够发出对应频率的声音。故系统可分为乐曲自动演奏模块(AUTO)、音调发生模块(TONE)和数控分频模块(FENPIN)三部分。
每一个模块由一个或者多个PROCESS组成,最后形成一个完整的程序。上一个模块的输出传送到下一个模块作为输入,并行结构形成一个完整的系统。另外,时钟脉冲信号在本课程设计中用的最多,用处也最大,一般情况下时钟信号处上升沿有效,判断和控制各个计数器计数多少。
1.4 设计框图
电子信息专业暑假课程设计,电子琴
二. 简易电子琴的设计过程
根据系统设计要求,系统该系统基于计算机中时钟分频器的原理,设计采用自顶向下的设计方法,通过按键输入来控制音响或者自动演奏已存入的歌曲。它由乐曲自动演奏模块、音调发生模块和数控分频模块三部分组成。
2.1 乐曲自动演奏模块
乐曲自动演奏模块的作用是产生8位发生控制输入信号以及选择高低中三个八度的音。当进行自动演奏时,由存储在此模块的三个拨码开关的数据选择高低中音和8位二进制数作为发声控制输入,从而自动演奏乐曲。
该模块的VHDL源程序主要由3个工作进程组成,分别为FP,JISHU和COM1。PULSE0的作用是根据键盘输入(自动演奏)的值(0或1)来判断计数器COUNT以及脉冲CLK2的输出值。部分源程序如下:
FP:process(clk,auto)
begin
if(auto='1') then --键盘输入为1
count<="0000000000000000000000000"; --计数器值指0,时钟信号为0 elsif(clk'event and clk='1') then --时钟信号到来
count<=count+1; --计数器+1
if(count="111111111111111111111111") then
clk2<='1'; --计数次数到 分频 分为1s左右时钟
count<="0000000000000000000000000";
else
clk2<='0';
end if;
end if;
end process; --结束分频
当确定了时钟信号输出的值后,在第二个PROCESS用于计数中,可以由它控制8位发声控制输入信号,对所要进行演奏的音符进行顺序发声。
JISHU:process(clk2) --开始进程
begin
if(clk2'event and clk2='1') then --1S的分频信号到来
if(count0="100100") then
count0<="000000"; --计数到达最后一个音符,从头开始
电子信息专业暑假课程设计,电子琴
else
count0<=count0+1;
end if;
end if;
end process; --每一个信号进行一次计数和输出 --结束
最后的MUSIC便是由前两个PROCESS所确定的count0、auto和键盘输入信号值index0将8位的二进制数转化为音符信号的输出,同时使用一排LED灯进行演示 有音符过来就循环移动,达到自动演奏的目的。部分源程序如下:
MUSIC:process(count0,auto,index0)
begin
if(auto='0') then
case count0 is
when"000000"=>index0<="00000001";LCD<="00000001"; --1 音符1的编码 when"000001"=>index0<="00000001";LCD<="00000001"; --1
when"000010"=>index0<="00010000";LCD<="00000100"; --5
when"000011"=>index0<="00010000";LCD<="00001000"; --5
--------------
end case;
else
index0<=index;
end if;
end process; --如果auto为1 这是选择手动演奏,跳过自动演奏模块
该模块最主要的用途就是将输入二进制数转化为发声控制输入和led管示意是否正常工作,是产生音符的重要步骤
2.2音调发生模块:
首先把前一个模块的设定的高中低音符选择的二进制数传过来,以及index0 的数据,为音符的正确发声做准备。
mid2<=mid;
low2<=low;
hig2<=hig; --选择高低中音符的数的传输
index1<=index0; --音符编码的传输
yd<=hig2&mid2&low2; --高中低三个数进行合并判断
SH:process(index1,yd)
begin
if(yd="001") then --选择为低音部
case index1 is
when "00000001"=>tone0<="0000010111001";code<="11111001";--音符1 when "00000010"=>tone0<="0010000100010";code<="10100100";
when "00000100"=>tone0<="0011100101100";code<="10110000";
when "00001000"=>tone0<="0100010010001";code<="10011001";
when "00010000"=>tone0<="0101100011111";code<="10010010";
电子信息专业暑假课程设计,电子琴
when "00100000"=>tone0<="0110101100111";code<="10000010";
when "01000000"=>tone0<="0111101101110";code<="11111000";
when "10000000"=>tone0<="1000001011100";code<="10000000";
when others=>tone0<="1111111111111";code<="00000000";--选择音符的不同的频率,为下一步的发声做准备,以及在数码管上显示出当前选择的音符。
elsif(yd="010") then --选择为中音部
case index1 is
when "00000001"=>to …… 此处隐藏:10119字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [法律文档]苏教版七年级语文下册第五单元教学设计
- [法律文档]向市委巡视组进点汇报材料
- [法律文档]绵阳市2018年高三物理上学期第二次月考
- [法律文档]浅析如何解决当代中国“新三座大山”的
- [法律文档]延安北过境线大桥工程防洪评价报告 -
- [法律文档]激活生成元素让数学课堂充满生机
- [法律文档]2014年春学期九年级5月教学质量检测语
- [法律文档]放射科标准及各项计1
- [法律文档]2012年广州化学中考试题和答案(原版)
- [法律文档]地球物理勘查规范
- [法律文档]《12系列建筑标准设计图集》目录
- [法律文档]2018年宁波市专技人员继续教育公需课-
- [法律文档]工会委员会工作职责
- [法律文档]2014新版外研社九年级英语上册课文(完
- [法律文档]《阅微草堂笔记》部分篇目赏析
- [法律文档]尔雅军事理论2018课后答案(南开版)
- [法律文档]储竣-13827 黑娃山沟大开挖穿越说明书
- [法律文档]《产品设计》教学大纲及课程简介
- [法律文档]电动吊篮专项施工方案 - 图文
- [法律文档]实木地板和复合地板的比较
- 探析如何提高电力系统中PLC的可靠性
- 用Excel函数快速实现体能测试成绩统计
- 教师招聘考试重点分析:班主任工作常识
- 高三历史选修一《历史上重大改革回眸》
- 2013年中山市部分职位(工种)人力资源视
- 2015年中国水溶性蛋白市场年度调研报告
- 原地踏步走与立定教学设计
- 何家弘法律英语课件_第十二课
- 海信冰箱经销商大会——齐俊强副总经理
- 犯罪心理学讲座
- 初中英语作文病句和错句修改范例
- 虚拟化群集部署计划及操作流程
- 焊接板式塔顶冷凝器设计
- 浅析语文教学中
- 结构力学——6位移法
- 天正建筑CAD制图技巧
- 中华人民共和国财政部令第57号——注册
- 赢在企业文化展厅设计的起跑线上
- 2013版物理一轮精品复习学案:实验6
- 直隶总督署简介




