简易电子琴的设计和实现结题报告 本文关键词:电子琴,简易,结题,报告,设计
简易电子琴的设计和实现结题报告 本文简介:简易电子琴的设计和实现----结题报告学号:110342241姓名:章译文1.设计要求1.能发出1234567基本音。2.能自动播放《偶像万万岁》和《梁祝》。3.能在数码管上显示弹奏时的音名。2.设计原理分析1.音阶的获得系统要求要求用7个按键控制发声,我们用7个键盘来控制产生低音(或中音)段的7个
简易电子琴的设计和实现结题报告 本文内容:
简易电子琴的设计和实现
----结题报告
学号:110342241
姓名:章译文
1.
设计要求
1.
能发出1234567基本音。
2.
能自动播放《偶像万万岁》和《梁祝》。
3.
能在数码管上显示弹奏时的音名。
2.
设计原理分析
1.音阶的获得
系统要求要求用7个按键控制发声,我们用7个键盘来控制产生低音(或中音)段的7个音阶频率。所有的音名频率都是通过一个基准频率经过分频得到的。但部分分频过大的音频直接输出给扬声器,频率信号脉冲的占空比会非常窄,不能驱动扬声器工作。于是,我们设计了一个“带有预置数的计数器”来简化整个设计过程。将原频率分频成期望值的2倍频率信号。再通过二分频,驱动扬声器工作。
简易电子琴控制流程图
2.
MUSICAL_NOTE内部电路
MUSICAL_NOTE内部电路
使用MUSICAL_NOTE电路,实现初值可变的计数器,并对音阶实现二分频,使电子琴实现正常发音。
按键播放部分电路
3.
自动播放功能的实现
自动播放部分电路
Hebing.mif文件(偶像万万岁&梁祝)
歌曲长度为352位,利用三个74261设计0~352的计数器,自动寻址,将音频导入lpm_rom,与MUSICAL_NOTE相互作用,实现自动播放。
按键除颤电路原理图
作为机械开关的键盘,在按键操作时,机械触点的弹性及电压跳动等原因,再触点闭合或者开启的瞬间会出现电压的抖动,如果不进行处理就会造成误操作。按键去抖动的关键在于提取稳定的低电平状态,滤去前沿后沿的抖动毛刺。
4.
在数码管上显示弹奏时的音名
显示部分电路图
Display内部电路
电路中的74161是16进制的计数器,它的低三位接到3—8译码器模块74138的地址输入端,这样就可以实现74138的8个输出端轮流输出低电平,恰好用来控制“位码”DIG7~DIG0。LPM_MUX是QuartusⅡ中的宏模块,用来实现多位的“多选一”,它的数据位数可以以及数据的数量可以任意设定。
电路中使用了与非门,实现发音与现实同时实现,在此要注意的是,因为使用了与非门,静态字符现实数码管管脚的设定值应该与原值相反。
三.设计原理图
简易电子琴原理图
根据以上分析,将三个模块组合,便得到了简易电子琴的整体设计。在整体设计的过程中,要注意三个模块之间的关系,使其能够相互作用,正常发音和显示。
4.
实验总结
在这三天的实验过程中,通过对于实验目的的分析,有目标的查找资料,研读教材,在分清楚模块的基础上,写下了实验计划,规划好时间,确定每天要做的事。在实验的第一天,实现了按键发音,同时,也基本弄清楚了自动播放的原理,有了设计思路,第二天上午,完成了自动循环播放的功能,下午在同学的帮助下,确定了数码管显示的基本思路,通过对于以前知识的复习和查找,成功实现了数码管的显示功能。
在实验的过程中,也遇到很多的困难。在自动播放的时候,由于没有修改hebing.mif的进制,音乐总不能正常播放。还有就是在数码管显示的时候,一开始没有弄清与非门的作用,显示的数字总是反着的。后来经过冷静的分析,在老师和同学的帮助下,成功完成了电子琴的设计,实现了所有的功能。当然,设计也还有很多可以完善和改进的地方,在以后的学习过程中,我会更加用心,多做,多思考。
这次课程设计,我受益匪浅,这种认真研读,查找资料,动手操作的学习方式,应该贯彻到每一门课程的学习,也应该贯彻到我们的生活中。一直保持这样的方式,不管做什么事,都会取得很好的结果。