具有自动乐曲演奏功能的电子琴设计说明
简易电子琴的设计说明
题目: 简易电子琴的设计初始条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)使用汇编语言设计一个能够用键盘运行的电子琴,(实现一个以上功能):1.弹奏:用户每按一个键盘琴键就弹奏相应的音符;2.演奏:按下键盘上某一个指定的建后自动弹奏预存琴谱功能;3.变调:按下键盘上某一指定键后,再弹奏和演奏时琴键相应的音符频率变高;按下另一指定键后,再弹奏和演奏时琴键相应的音符频率变低;4.严格按照课程设计说明书要求撰写课程设计说明书。
摘要随着电子技术的发展,电子琴很为常见,硬件的设计很费人力与物力,因此软件的应用得到了很好的应用,这个简易电子琴设计采用了软硬件结合的方法完成了任务要求。
应用了8255和8253的芯片,利用CPU,8086达到软硬件结合,从而实现电子琴的弹奏和演奏两种方式的应用。
可以随心所欲控制电子琴是弹奏还是自动演奏。
此电子琴程序实现了:1.弹奏:用户每按一个键盘琴键就弹奏相应的音符;2.演奏:按下键盘上某一个指定的建后自动弹奏预存琴谱功能。
k0为控制键:高电平时自动演奏。
打到低电平时停止演奏。
低电平时可弹奏,K1,K2,K3,K4,K5,K6,K7分别为1,2,3,4,5,6,7目录………………………………………………………………………………………………前言第一章电子琴的设计要求和使用器件1.1 初始条件1.2 电子琴要完成的主要任务1.3 电子琴课设的使用器件1.4 设计方案的确定第二章电子琴的硬件设计2.1 电子琴的硬件框图2.2 8255芯片的资料2.3 8253芯片的资料第三章电子琴的软件设计3.1 程序流程图3.2 发音程序3.3 延时程序3.4 停止发音程序3.5 整体的软件汇编程序第四章电子琴的调试和设计体会4.1 硬件调试4.2 软件调试4.3 设计体会第五章附录5.1 参考文献5.2 乐谱5.3 成绩评定表前言随着电子技术的发展,计算机在现代科学技术的发展中起着越来越重要的作用。
单片机应用课程设计--简易电子琴设计
delay(5);
if (key1 == 0)
{
key_in_flag = 0;
key_value = 4;
}
}
else
{
key_in_flag = 1;
}
key8 = 1;
key7 = 0;
if (key4 == 0)
{
delay(5);
if (key4 == 0)
{
key_in_flag = 0;
参考文献
[1] 赵鑫,蒋亮,齐兆群.数字电路设计[M].北京机械工业出版社,2005年6月第一版
[2] 苏家健,曹柏荣,汪志锋.单片机原理及应用技术[M].高等教育出版社
[3] 李朝青.单片机原理及接口技术[M].北京:北京航天航空大学出版色,2001
[4] 胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004
{
key_in_flag = 0;
key_value = 2;
}
}
else
{
key_in_flag = 1;
}
if (key2 == 0)
{
delay(5);
if (key2 == 0)
{
key_in_flag = 0;
key_value = 3;
}
}
else
{
key_in_flag = 1;
}
if (key1 == 0)
方案二: 采用AT89C51单片机进行控制,由于AT89C51不具备ISP功能, 因此Atmel公司已经停产在市面上已经不常见,况且其ROM只有4K在系统将来升级方面没有潜力。
方案三:采用AT89S52单片机进行控制,由于其性价比高,完全满足了本作品智能化的要求,它的内部程序存储空间达到8K,使软件设计有足够的内部使用空间并且方便日后系统升级,使用方便,抗干扰性能提高。
21按键简易电子琴可自动播放乐曲知识讲解
21按键简易电⼦琴可⾃动播放乐曲知识讲解21按键简易电⼦琴可⾃动播放乐曲课程设计报告课程名称:FPGA课程设计(EDA技术及应⽤)题⽬:基于FPGA的简易电⼦琴设计学院:物理与电⼦⼯程学院专业:电⼦信息⼯程班级:学号:学⽣姓名:指导教师:起讫⽇期:1 设计⽬的任务及要求 (5)设计要求(简易电⼦琴的功能) (5)1.1设计⽬的 (5)1.2设计要求 (4)2、设计内容(实现过程) (5)⼀)、设计思路 (2)⼆)、设计实现 (5)1)按键输⼊的判断 (5)A.代码 (6)B.波形仿真图 (6)2)按键去抖动 (6)A.代码 (6)B.波形仿真图 (7)3)⾳乐⾃动播放 (7)A.代码 (7)B.波形仿真图 (9)4)⼆选⼀选择器 (9)A.代码 (9)B.波形仿真图 (9)5)按键的输出 (10)A.代码 (10)B.波形仿真图 (11)6)分频预置数的产⽣ (11)A.代码 (12)B.波形仿真图 (14)7)分频器 (14)A.代码 (14)B.波形仿真图 (16)3、系统仿真与调试 (17)4、结束语(感想和⼼得等) (20)5、主要参考⽂献 (22)基于FPGA的简易电⼦琴设计物理与电⼦⼯程学院电⼦信息⼯程1 设计⽬的任务及要求1简易电⼦琴1)设计⼀个能发出7个⾳阶的系统并能多种模式播放歌曲(歌曲可⾃定,⾄少3⾸)2)利⽤⼀基准脉冲产⽣1,2,3,。
共7个⾳阶信号,进⾏弹奏;3)⽤指⽰灯显⽰节拍;4)*能对弹奏乐曲存储并回放。
1.1设计⽬的1、熟悉VHDL语⾔2、学习电⼦琴的设计,调试,仿真以及对仿真波形的调试1.2设计要求(简易电⼦琴的功能)1、设计⼀个能发出7个⾳阶的系统并能多种模式播放歌曲(歌曲可⾃定,⾄少⾸)2、利⽤⼀基准脉冲产⽣1,2,3,。
共7个⾳阶信号,进⾏弹奏;3、⽤指⽰灯显⽰节拍;4、*能对弹奏乐曲存储并回放。
2、设计内容⼀)、设计思路⼆)、设计实现本设计实现了能发出底、中、⾼三个节拍的7个⾳阶的系统,整个系统共有3⾸歌曲,这三⾸歌曲具有顺序播放和随机切换歌曲的播放功能。
用Quartus II设计电子琴
(音阶发生器仿真图)
3.数控分频模块程序与仿真
--文件名:speaker.vhd。 --功 能:实现数控分频。 --最后修改日期:20004.3.19。 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity speaker is Port ( clk1 : in std_logic; tone1 : in integer range 0 to 2047; spks : out std_logic); end speaker; architecture Behavioral of speaker is signal preclk,fullspks:std_logic; begin
(顶层文件仿真图)
2.音阶发生器程序与仿真
--文件名:tone.vhd。 --功能:音阶发生器程序。 --最后修改日期:2004.4.13。 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity tone is Port ( index : in std_logic_vector(7 downto 0); code : out std_logic_vector(6 downto 0); high : out std_logic; tone0 : out integer range 0 to 2047); end tone; architecture Behavioral of tone is begin
八音自动播放电子琴设计
八音自动播放电子琴设计首先,我们来介绍一下八音自动播放电子琴的设计原理。
该电子琴通过使用一个专门设计的芯片来控制音色的输出。
这个芯片包含了多个音源,每个音源都能够产生特定的音调。
通过控制这些音源的输出,可以实现不同的音调组合,从而产生各种曲调。
接下来,我们来看一下八音自动播放电子琴的硬件架构。
整个硬件架构通常包括音源模块、控制模块和音箱模块。
音源模块主要负责产生音调,并将其输出给控制模块。
控制模块则负责接收用户的输入指令,并根据指令控制音源模块的输出。
最后,音箱模块负责将产生的声音放大,从而使得音乐可以被听到。
在软件方面,八音自动播放电子琴的设计需要考虑到音调的控制以及音乐的编码。
音调的控制可以通过编程实现,将不同的音调对应到不同的控制指令上。
音乐的编码可以采用MIDI(Musical Instrument Digital Interface)标准,通过将音乐的各个元素进行编码,可以实现对音乐的控制和演奏。
实现八音自动播放电子琴的关键技术主要包括音源的设计和控制模块的编程。
在音源的设计方面,需要考虑到音色的产生和输出。
通常可以采用数字合成技术(Digital Sound Synthesis),通过数学算法模拟不同乐器的音色。
在控制模块的编程方面,需要设计一个用户友好的界面,方便用户选择和控制不同的音调和曲调。
接下来,我们来介绍一下八音自动播放电子琴的使用方法。
用户可以通过控制模块上的按钮选择不同的音调和曲调。
同时,用户也可以通过外部设备(如电脑或手机)将自己编写的音乐文件导入到电子琴中进行演奏。
通过简单的操作,用户就可以轻松地演奏出各种曲调。
总结一下,八音自动播放电子琴是一种能够自动演奏八种不同音调的电子琴。
它的设计原理是通过内置程序以及特殊的装置,实现对音调的控制和演奏。
在硬件方面,需要考虑到音源模块、控制模块和音箱模块的设计和连接。
在软件方面,需要考虑到音调的控制和音乐的编码。
实现八音自动播放电子琴的关键技术包括音源的设计和控制模块的编程。
具有自动乐曲演奏功能的电子琴设计方案
具有自动乐曲演奏功能的电子琴设计方案随着科技的不断发展和社会的进步,市场上的文艺创新产品也愈发多元化且逐渐走向智能化,生产和消费之间的互动因此得到了极大的加强。
在这个背景下,我们提出了一个关于具有自动乐曲演奏功能的电子琴设计方案。
希望今后的音乐爱好者可以通过我们的产品和服务体验到更加智能化、便捷化、高质量化的演奏乐趣。
一、需求分析1.市场需求市场上的电子琴产品品种繁多,大多数具有播放乐曲的功能。
但是有很多人想要自己去创作或演奏一些不常见的乐曲,这些人需要有一个便捷、高质量、多功能的电子琴来演奏他们想要弹奏的乐曲,而不仅仅是基础的乐曲播放功能。
同时,对于一些音乐爱好者来说,由于技术不够精湛或者时间不够充足,实现乐曲演奏的梦想也变得更加困难,因此需要一个能够自动演奏乐曲的电子琴来帮助他们实现自己的音乐梦想。
2.用户需求用户的需求主要包括乐曲库的丰富性、演奏效果的高质量、自动生成乐谱和自动演奏的功能、以及方便的使用操作界面。
尤其是针对一些音乐初学者和爱好者,这些需求更加强烈,他们需要一个可以在几分钟内完成流畅演奏的电子琴,这样就能够节省更多时间去探索音乐的魅力和美妙。
二、产品设计与研发1.硬件设计以STM32系列的芯片为核心,我们设计了一个采用全力敏键盘和G波声源模块的电子琴,相比市面上常见的电子琴硬件方案,我们的设计具有更高的稳定性和更多的扩展性。
采用合理的电路结构,确保整个系统硬件结构紧凑,稳定性好,能满足较高要求的应用场合。
2.软件开发考虑到用户需求,我们开发了自动演奏功能的应用程序,用户可以选择想要演奏的曲目,系统会自动生成该曲目的乐谱并在电子琴上自动演奏。
此外,我们还为用户提供个性化的调节、变调、增强音效等功能,让用户可以根据需求调整乐曲的细节。
3.外观设计我们希望这个电子琴不仅能够在功能上满足用户的需求,同时也能够在外观设计上给用户带来愉悦的体验。
因此我们采用了流线型的设计,外观彰显时尚和高端感,更加符合当代的审美趋势。
具有自动乐曲演奏功能的电子琴设计
具有自动乐曲演奏功能的电子琴设计随着科技的日新月异,电子琴也迎来了越来越多的创新,其中最令人惊叹的创新之一,就是具有自动乐曲演奏功能的电子琴。
这种琴能够自动演奏音符和声音,让人们在享受音乐的同时,也能够省去练习琴技的繁琐过程。
本文将介绍一款具有自动乐曲演奏功能的电子琴的设计。
1. 功能需求:在设计具有自动乐曲演奏功能的电子琴时,需要考虑一些功能需求。
首先,它必须有播放和演奏器件、音频处理器、节拍器和内存芯片等组件。
其次,需要内置大量的音源和音乐,可以存储不同种类和类型的乐曲,包括古典、流行、摇滚等等。
同时,还需要具备练琴和即兴演奏等功能,使得用户在学习和创作过程中能够得到更好的体验。
2. 技术实现:具有自动乐曲演奏功能的电子琴有许多复杂技术实现。
首先,需要使用MIDI(音乐器数字接口)技术,该技术可以将音符信息转换为数字信号。
这个数字信号可以将音符和强度信息传输到音频处理器,从而创建出逼真的声音效果。
其次,内置节拍器能够自动设置节拍、速度和拍子,从而在演奏乐曲时让音乐更加准确和自由漂流。
最后,与智能手机或平板电脑等移动设备进行通信,能够让用户选择所需的歌曲、音质、弹奏风格和速度等,从而实现更加灵活和人性化的交互体验。
3. 设计细节:在设计具有自动乐曲演奏功能的电子琴,需要考虑一些细节和特殊要求。
首先是外观设计,必须使其具有真正的乐器外观和质感,这样才能吸引更多的音乐爱好者。
其次,需要考虑外界噪声和干扰对音乐的影响。
没有了琴师的实时控制,噪音和干扰可能会影响到音乐的演奏。
因此,需要使用先进的降噪技术和其他方法,保证演奏的音乐质量。
最后,这种琴还必须具有大型彩色触摸屏以及易于使用的控制面板,让用户在实际使用时能够更加方便地使用功能和操作。
4. 使用场景:具有自动乐曲演奏功能的电子琴可以广泛应用于家庭、音乐培训、音乐演出、录音室等场景。
无论是爱好者还是专业人士,都能够通过这种琴来满足其音乐需求。
总之,具有自动乐曲演奏功能的电子琴,是一种令人惊叹的技术创新,它不仅能够方便使用者,缩短学习曲线,还能在音乐演奏过程中发掘个人创造力,实现与自我对话。
具有自动乐曲演奏功能的电子琴设计方案
具有自动乐曲演奏功能的电子琴设计方案汇报人:日期:•引言•电子琴硬件设计•电子琴软件设计目录•自动乐曲演奏功能实现•系统测试与优化•结论与展望引言01设计背景与意义设计背景随着现代音乐技术的不断发展,电子琴作为一种流行的乐器,其功能和性能也在不断升级和改进。
然而,目前市场上的电子琴大多只具备基本的音乐播放和弹奏功能,缺乏对自动乐曲演奏的支持,这使得用户在演奏时需要自己手动操作,降低了演奏的乐趣和体验。
设计意义设计一款具有自动乐曲演奏功能的电子琴,可以极大地丰富电子琴的功能和使用体验,使演奏者能够更加轻松、自由地享受演奏的乐趣,提高演奏的便捷性和效率。
同时,该设计还可以为电子琴产业带来新的发展机遇和经济效益。
设计目标:本设计方案旨在研发一款具有自动乐曲演奏功能的电子琴,通过内置的乐曲库和智能演奏系统,实现自动演奏和即兴演奏的智能化、便捷化。
设计内容:本设计主要包含以下内容1. 电子琴内置乐曲库的建设,包含各类风格和类型的乐曲;2. 智能演奏系统的研发,包括音乐识别、乐谱生成、演奏控制等模块;3. 电子琴硬件部分的优化和升级,包括音源、音色、键盘等部分的改进;4. 电子琴软件部分的研发和优化,包括操作系统、用户界面等部分的设计。
设计目标与内容电子琴硬件设计02根据市场需求和功能需求,确定电子琴的总体大小和形状。
琴体大小琴键布局音量调节设计合理的琴键布局,包括白键和黑键的排列和间距,以提供舒适的演奏体验。
设计音量调节按钮或滑块,以便用户可以根据需要调整音量。
030201选择适合的键盘类型,如力度感应键盘或电子键盘,以提供不同的演奏体验。
键盘类型优化键盘的触感,包括按键的行程、力度和反馈,以提供真实的演奏感觉。
键盘触感选择合适的音响系统,包括扬声器和音效芯片,以提供高质量的音频输出。
提供耳机接口,以便用户在不需要外放的情况下使用耳机进行演奏。
音频输出设备设计耳机接口音响系统建立包含各种风格和类型的音乐数据库,以便用户可以选择自己喜欢的音乐进行演奏。
具有自动乐曲演奏功能的电子琴设计方案
具有自动乐曲演奏功能的电子琴设计方案随着科技的发展,电子琴作为一种数字化、电子化的乐器,也越来越受到欢迎。
而具有自动乐曲演奏功能的电子琴更是一种新的趋势,为乐手们带来了更多的便捷和乐趣。
本文将为大家介绍一个具有自动乐曲演奏功能的电子琴的设计方案。
一、方案介绍本设计的电子琴将采用基于FPGA的设计方法,实现自动乐曲演奏的功能。
利用现代数字技术,将琴键的音高、节拍等信息处理成数字信号,以FPGA实现自动演奏功能,与琴键输入信号结合出现最终的演奏效果。
各个部分的实现如下:(一)键盘控制模块键盘控制模块主要负责对乐器键盘的键位的输入信息进行扫描,将信息传到音源控制模块。
具体实现采用的是键盘矩阵扫描的方法,通过多路复用器依次对各个键盘扫描,将扫描结果输出,供音源控制模块使用。
(二)音源控制模块音源控制模块负责将键盘控制模块输出的键位信息进行解码,以获得干净的音符信息。
该模块还负责产生不同的音色、节拍和音量等特殊音效,便于播放不同风格的音乐。
(三)FPGA控制器FPGA控制器主要负责控制整个电子琴的功能。
它包含了控制不同部分之间的数据交换和通信的逻辑,同时还负责执行自动演奏的算法。
FPGA控制器可以根据内部预先存储的midi乐曲信息,自动播放乐曲,实现自动演奏的功能。
(四)输出模块输出模块主要是通过声音放大器输出音乐。
具体实现方式包括选用AC或DC电源驱动,根据工作条件选择电容或者电阻等元件。
在实际设计中,还需辅助加入一些电容和阻值的计算和测试,保障输出音质的稳定和清晰。
二、核心技术本设计方案的核心技术是数字信号处理和自动演奏的算法。
通过数字信号处理,将琴键输入信息处理成数字信号,再通过FPGA控制器进行逻辑控制,最终输出音频信号,实现自动乐曲演奏的目的。
三、设计优势1、精确可靠本设计采用数字信号处理,减少了人工操作的失误,提高了演奏的准确性和可靠性。
同时,利用FPGA控制器,可以对音符和节拍等信息进行逻辑控制,确保演奏效果良好。
多功能简易电子琴综合设计报告
综合设计报告:多功能简易电子琴姓名:学号:时间:目录一、设计任务: (3)二、电路原理图: (3)1)主体部分: (4)2)控制数显部分: (4)3)自动连续发声部分: (4)4)流水灯部分: (4)三、工作原理及各部分设计: (5)1)主体部分: (5)2)控制数显部分: (6)3)自动连续发声部分: (7)4)流水灯部分: (8)四、各部分仿真: (9)1)主体部分和数显部分: (9)2)自动连续发声和流水灯部分: (10)五、仿真功能验证: (10)六、电路组装及功能调试: (13)1)主体部分: (13)2)控制数显部分: (14)3)整体电路: (16)七、故障检测: (17)八、总结及收获体会 (18)附表: (19)一、设计任务:基于555定时器设计一个多功能简易电子琴。
其基本要求是:1)产生八个音阶的振荡频率,通过扬声器实现发声功能;2)每产生一个音的同时对应简谱数字显示在七段数码管上;创新功能为:1)按秒脉冲实现音节自动连续演奏功能;2)在自动连续演奏的同时,对应琴键的LED灯将亮起。
二、电路原理图:图2.1 简易电子琴系统组成设计框图简易电子琴系统组成设计框图如图2.1,其中包括四个部分,各部分及其作用如下:1)主体部分:由开关及各琴键对应电阻和555定时器组成产生声音频率的部分,驱动扬声器发声;2)控制数显部分:由开关及74LS148编码器、74LS04非门及74LS47七段数码管译码器组成驱动数码管显示的部分;3)自动连续发声部分:由555振荡器产生秒脉冲,CD4017十进制计数器按时钟顺序产生高电平,两个CD4066虚拟开关在控制端高电平时接通至相应电阻,实现连续发声功能;4)流水灯部分:由CD4017和LED灯组成。
三、工作原理及各部分设计:1)主体部分:555定时器构成多谐振荡器原理图如图3.1,图3.1 555定时器构成多谐振荡器电路图通过555定时器产生振荡频率的计算公式:C RR f )(34.121+=。
电子钢琴产品说明书了解电子钢琴的按键和音效设置
电子钢琴产品说明书了解电子钢琴的按键和音效设置电子钢琴产品说明书一. 按键设置电子钢琴采用了全尺寸88键设计,每个键位都精确地模拟了传统钢琴的按键感受。
这意味着您可以享受到与传统钢琴相似的演奏体验。
每个音符都得到了准确的映射,使您能够以自如的方式演奏各种音符、音阶和和弦。
除了全尺寸按键设计,电子钢琴还提供了一些额外的功能键,以便更好地控制琴声和音效。
这些功能键位于键盘的两侧,便于您的双手操作。
1. 节奏/节拍键:此键可调节琴声的节奏或节拍。
您可以选择不同的节奏模式,例如华尔兹、民谣、古典等,以适应不同风格的音乐演奏。
2. 音调/音高键:此键可调节琴声的音调或音高。
您可以根据个人喜好将琴声变得更加明亮或柔和,从而满足不同音乐风格的需求。
3. 音量键:此键用于控制琴声的音量大小。
您可以根据需要调整音量,以适应不同场合的演奏需求。
4. 音效选择键:此键可让您选择不同的音效模式。
电子钢琴配备了多种音效,如钢琴、电子琴、管弦乐器等,以满足不同音乐风格的需求。
5. 自动伴奏键:此键可启动电子钢琴的自动伴奏功能。
您可以选择不同的伴奏模式,琴声将自动演奏出完整的和声,使您的演奏更加丰富多样。
二. 音效设置电子钢琴提供了丰富多样的音效设置,以满足不同音乐风格和个人喜好的需求。
您可以通过按键或屏幕面板上的操作来调整和控制音效设置。
1. 音色设置:电子钢琴内置了多种音色,如钢琴、电子琴、人声等。
您可以根据需要选择不同的音色,以满足不同曲目和演奏需求。
2. 混响效果:电子钢琴支持不同的混响效果设置。
您可以通过增加或减少混响效果来调整琴声的余音效果,使其更加宏大或清晰。
3. 和声效果:电子钢琴还可提供各种和声效果,如合奏、合唱等。
您可以选择不同的和声效果,以增加演奏的层次感和丰富性。
4. 音效调节:电子钢琴允许您调节琴声的亮度、音量、音色等参数。
您可以根据个人喜好和演奏需求,对琴声进行微调,以达到理想的效果。
总结:通过此电子钢琴产品说明书,您已经了解了电子钢琴的按键和音效设置。
多功能电子琴设计说明
多功能电子琴设计
设计要求:
1
2
3
设计进程:
1利用硬件逻辑实现整个电子琴自动播放的核心功能。
2加入NIOSII处理器,实现电子琴的更多功能,例如乐曲的弹奏,乐曲的录制,乐曲的静音控制,音高的设置,音色的修改等功能。
3加入上位PC机的控制,实现PC机对电子琴的各种控制,如播放,静音等。
系统设计参考说明:
1节奏发生器:实现预置数分频功能,用于控制乐曲演奏的节奏快慢。
2乐谱存储器:用于乐谱的存储,当固定播放音乐时,可以设计成一个ROM,当需要修改乐曲时,可以设计成一个双口的RAM。
3音阶到频率转换模块:实现从音阶到对应频率的转换,可以设计成一个ROM。
4频率发生器:根据音阶到频率转换模块产生的频率,产生用于读取正弦波存储器地址的时钟。
可以设计成一个分频模块。
5音高基准设置模块:产生相应音高的基准频率信号,送给频率发生
器以作为音高基准频率。
可以设计成一个分频模块。
6地址发生器:实际上是一个循环计数器,用以产生正弦波存储器的地址线。
7正弦波存储器:实际上是一个ROM。
8泛音存储单元:存储包络线量化值,实际上是一个RAM。
简易电子琴设计范文
简易电子琴设计范文一、引言电子琴是一种电子乐器,可以模拟出多种不同的乐器声音,并通过键盘来演奏音乐。
它的结构简单、便携性好,因此在很多场合都能看到电子琴的身影。
本文将对一个简易电子琴的设计进行介绍,并讨论其原理和实现方法。
二、设计原理1.声音生成电子琴的声音是通过电路来生成的,一般是通过振荡器和放大器来实现的。
振荡器根据不同的频率振荡出不同的声音,放大器将振荡器输出的信号放大后输出到扬声器上。
在设计简易电子琴时,可以采用基于数字信号处理的方法来实现声音的生成。
具体来说,可以使用单片机来生成不同的频率信号,并通过DAC芯片将数字信号转换成模拟信号,最终输出到扬声器上。
2.键盘输入电子琴的键盘是通过电路来实现的,一般是通过触发器和编码器来完成的。
触发器用于存储键盘按下的状态,编码器将键盘的状态编码输出给电路。
在设计简易电子琴时,可以使用按键开关和编码器芯片来实现键盘输入。
按键开关用于模拟键盘按下的动作,编码器芯片将按键开关的状态编码输出给单片机,由单片机来判断哪个键被按下。
3.控制逻辑电子琴的控制逻辑是由单片机来实现的,它负责接收键盘输入的信号,并根据信号来控制声音的生成。
在设计简易电子琴时,可以使用一块常见的单片机,如ATmega328P,它具有丰富的IO口和模拟输入输出功能,非常适合做电子琴控制器。
单片机可以通过按键开关的状态来判断键盘的输入,并通过DAC芯片生成相应的声音信号。
三、实现方法1.硬件设计简易电子琴的硬件设计主要包括键盘电路、声音生成电路和控制电路。
键盘电路包括按键开关和编码器芯片,用于将按键的状态编码输出给单片机。
声音生成电路包括振荡器、放大器和扬声器,用于产生并输出声音信号。
控制电路主要由单片机和DAC芯片组成,用于接收键盘输入信号,并生成相应的声音信号。
2.软件设计简易电子琴的软件设计主要包括按键扫描和声音生成两部分。
按键扫描用于检测键盘的输入,根据按下的键来生成相应的音符。
具有自动乐曲演奏功能的电子琴设计
具有自动乐曲演奏功能的电子琴设计电子琴是一种集乐器演奏、声音合成、录音等多种功能于一身的电子设备。
原本只有少数人懂得如何演奏琴键,但近年来随着电子琴的普及化,越来越多的人开始接触并学习。
然而,对于初学者来说,乐曲演奏可能并不容易,需要不断地练习琴键的按弹和拨弦,才能得到优美的音乐效果。
为了解决这一问题,一些电子琴制造商开始研发具有自动乐曲演奏功能的电子琴,从而为初学者提供更好的学习平台。
这篇文章将讨论这类电子琴的设计。
首先,为了实现自动乐曲演奏功能,电子琴需要利用内置的芯片和程序来记录和播放不同的音乐曲目。
设计师需要为琴键编写一个特定的程序,以便它可以自动演奏相应的音乐。
该程序必须实现对乐曲调式、节奏、音调和速度等要素的准确处理。
程序还应该包含特定的编码,以记录每个琴键的音调和时值。
其次,电子琴还需要配备高质量的音频输出芯片。
这些芯片可以将存储在琴键程序中的乐曲导出到扬声器或外部音频设备上。
这样,演奏过程中就可以保证音质的高保真性。
同时,该电子琴应该具有不同的播放选项,这样用户可以选择以单曲循环或顺序播放等多种方式播放乐曲。
为了实现自动乐曲演奏功能,电子琴还需要配备合适的感应器或触发器。
感应器可以通过监测用户的按键行为来确定何时应该自动演奏乐曲。
该设计应该确保感应器和电子琴之间的通信是无延迟和精确的,并且对用户输入的响应应该非常灵敏。
近年来,电子琴的体验也在不断地改进。
设计师正在研发具有多种输入设备和出色的人机界面的电子琴,以确保用户在操作电子琴时可以更加舒适和便捷。
这些设备包括高分辨率触摸屏、可编程按钮和旋钮、乐器输入等。
总的来说,具有自动乐曲演奏功能的电子琴是目前许多初学者和音乐爱好者的首选之一。
它们的设计需要充分考虑用户需求和技术要求,旨在提供最佳的演奏体验。
尽管自动乐曲演奏功能向初学者提供的帮助非常大,但这并不意味着他们可以忽略艰苦的练习,只有通过不断地练习才能使乐器演奏更加出色。
莫森电钢琴说明书
莫森电钢琴说明书一、产品简介莫森电钢琴是一款高品质的电子乐器,它融合了传统钢琴的音色和现代科技的特点。
它具有多种音色选择、节奏、和弦等功能,同时还可以连接外部音响设备和电脑进行录音和演奏。
二、外观和组成部分1. 外观:莫森电钢琴采用黑色或白色的经典设计,外壳采用高质量的材料制成,兼具美观和耐用性。
2. 键盘:莫森电钢琴的键盘采用标准88键的设计,触感舒适,灵敏度可调节。
3. 控制面板:莫森电钢琴的控制面板位于键盘上方,包含音色选择、节奏控制、和弦等功能按钮,并配备LCD显示屏,方便用户进行操作和设置。
4. 音箱:莫森电钢琴内置高品质音箱,音质优异,音量可调节。
三、功能和特点1. 音色选择:莫森电钢琴内置多种音色,包括钢琴、电子琴、管弦乐器等,用户可以根据需要自由切换,满足不同的演奏需求。
2. 节奏控制:莫森电钢琴内置多种节奏模式,可根据不同的音乐风格选择合适的节奏,使演奏更加生动有趣。
3. 和弦功能:莫森电钢琴具有和弦功能,可以自动伴奏,简化演奏过程,使初学者也能轻松弹奏出优美的音乐。
4. 录音和演奏:莫森电钢琴可以连接外部音响设备和电脑,实现录音和演奏功能,方便用户进行创作和分享。
5. 教学功能:莫森电钢琴内置教学功能,提供乐曲教学和练习指导,适合学习钢琴的初学者和进阶者使用。
四、使用说明1. 接通电源:将电钢琴的电源线插入电源插座,并打开电源开关。
2. 音色选择:通过控制面板上的音色按钮或旋钮,选择所需的音色。
3. 节奏控制:通过控制面板上的节奏按钮或旋钮,选择合适的节奏模式。
4. 和弦功能:按下和弦按钮,选择所需的和弦类型,即可自动伴奏。
5. 录音和演奏:通过连接外部音响设备或电脑,可以进行录音和演奏功能。
具体操作请参考附带的用户手册。
6. 教学功能:通过控制面板上的教学功能按钮,进入教学模式,按照提示进行学习和练习。
五、注意事项1. 使用环境:请将电钢琴放置在通风、干燥的室内环境中,避免阳光直射和潮湿。
8键电子琴的设计
简易电子琴设计说明一、方案选择1、任务要求1)、任务:设计并制作一个能完成电子琴基本功能的电路。
2)、技术要求:①发生器件为8Ω、0.25W动圈式扬声器;②设置至少八个音符的按键;③+5V稳压电源供电。
3)、发挥要求:①增加演奏三首固定乐曲的按键;②增加其他音乐效果;③固定乐曲演奏计时。
2、设计方案用AT89C51单片机为核心控制元件,设计一个简易的电子琴. 本方案以AT89C51单片机作为主控核心,并与键盘、扬声器等模块组成,设有16个按键和一个扬声器.根据使用者的操作随意弹奏想要表达的音乐。
一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,其中T0用来产生音频频率,T1用来产生音调。
,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。
通过对单片机系统的学习和认识,我们可以通过AT89C51可以完成此建议电子琴的任务,因为我们学过并且有很多的资料里,但是使用AT89C51单片机做此电子琴是我们的不二选择,因为我们的了解和接触最多的就是AT89C51,别的型号的芯片我们不熟,所以AT89C51是个很好的选择。
AT89C51单片机有128B的数据存储器RAM,对于一般的小型应用系统已经够用,对需要存放大量数据的系统,就需要扩展数据存储器。
作为数据存储器的使用有静态读/写存储器SRAM,动态读写存储器DRAM和E²PROM存储器等。
单片机一般用SRAM扩展数据存储器。
本次设计共有十六个键,由于在音阶中“0”不代表任何音阶,所以,没有使用“0”键。
其余15个键是发生键,按键时间长发生长,按键时间短发生短;按“唱歌键”后,再按“1”键或“2”建….“14”键,可播放14个键所代表的14首歌曲;按“1”到“F”键后,可发出低、中音哆、来、咪、发、梭、拉、西、哆。
简易电子琴设计
简易电子琴设计摘要:文章主要探讨利用单片机、8255A、8279等芯片设计一个简易电子琴系统,实现演奏和显示功能。
针对声音产生的规律,系统建立了播放不同音调的音符所需的音阶表、音长表,并规定了音符的编码格式。
由键盘控制,使电子琴系统具有自动演奏和手动弹奏功能。
关键词:电子琴;8255A;8279音乐是由一个个音符组成,而音符可通过对定时器送入不同的初值,调节定时器的溢出时间,输出频率可控的方波产生。
通常电子琴具备自动播放和手动弹奏的功能,本系统在此基础上增加显示功能,从而使其功能更加完备。
1系统的基本原理本设计主要利用单片机中的定时器中断、8279显示、8255A管理键盘以及喇叭实现了演奏和显示功能。
针对声音有音阶、音调和音长三种基本特性,通过对定时器T1送入不同的初值,调节T1的溢出时间,输出频率可控的方波,从而控制不同音阶的音调高低。
而对于音长的控制,则可以向定时器T0送入一个固定初值,通过控制定时器中断循环的次数,来实现对发音时间长短的控制。
对于音符和曲目的显示,主要通过读入键值,判断所选曲目或音符,输出到8279上显示。
无论是手动演奏还是自动演奏,都涉及到对键盘的扫描,本系统采用8255来管理键盘,实现相应的处理。
2系统硬件电路组成针对电子琴系统具有演奏和显示功能的要求,将整个系统的硬件电路主要分为显示电路、键盘输入电路和喇叭驱动电路三部分。
其中,由8279控制曲目和音符的显示,将其数据口地址设置为0FF80H,状态口地址设为0FF82H。
用8255来管理键盘,控制键值的读入,其片选端地址设置为8700H。
另外,用拨动开关K1连接到P3.2口控制手动和自动状态的选取,将P3.5作为信号输出端,接喇叭驱动电路。
3系统软件设计3.1程序流程图3.2程序设计说明3.2.1对声音的控制①对音调的控制:根据不同的按键,对定时器T1送入不同的初值,调节T1的溢出时间,这样就可以输出不同音调频率的方波。
具有自动乐曲演奏功能的电子琴设计方案
7
高音7
27
2.2.2音乐的存储
以十进制将音乐分别存储于note_rom和tick_rom两个模块中,前者为音符,后者为音符的长度,下面给出《世上只有妈妈好》的存储过程。在Quartus II主窗体中选择Tools—MegaWizard Pluge-In Manager…,弹出如下对话框,单击Next继续。
下面重点介绍组成音乐的两个最基本的要素:每个音符发音的频率及其持续的时间。
1.1音符和频率的关系
乐曲的十二平均律规定:每2个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。在2个八度音之间,又可分为12个半音,每2个半音的频率比为 。另外,简谱中的低音6的频率为440Hz,音符7到1之间、3到4之间为半音,其余为全音。由此可计算出简谱中从低音1至高音7之间每个音符的频率,如下表1所示:
表1简谱中音符与频率的关系
音名
频率(Hz)
音名
频率(Hz)
音名
频率(Hz)
低音1
261.6
中音1
523.3
高音1
1046.5
低音2
293.7
中音2
587.3
高音2
1174.7
低音3
329.6
中音3
659.3
高音3
1318.5
低音4
349.2
中音4
698.5
高音4
1396.9
低音5
392
中音5
784
高音5
本文应用VHDL硬件描述语言,以QuartusⅡ8.0为开发工具设计了一个具有自动演奏乐曲功能的电子琴系统,它能将预先存储在ROM中的多首乐曲自动播放出来,并同时显示音符,此外,还具有电子琴弹奏的功能。选题新颖、实用,趣味性、综合性较强。
具有自动乐曲演奏功能的电子琴设计说明
具有自动乐曲演奏功能的电子琴设计先给出设计结果视频: 具有自动乐曲演奏功能的电子琴-视频实录本文为本人于2012年下学期做的EDA数字系统设计,文章详细介绍了“具有自动乐曲演奏功能的电子琴”的FPGA设计原理与方法,使用了ROM存储音符和节拍,矩阵键盘控制整个系统。
一、选题目的电子设计自动化,简称EDA(Electronic Design Automation),发展迅速,应用围日益扩大。
它以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
本文应用VHDL硬件描述语言,以QuartusⅡ8.0为开发工具设计了一个具有自动演奏乐曲功能的电子琴系统,它能将预先存储在ROM中的多首乐曲自动播放出来,并同时显示音符,此外,还具有电子琴弹奏的功能。
选题新颖、实用,趣味性、综合性较强。
二、设计目标1. 采用44矩阵键盘作为:电子琴按键,高、中、低音选择键,自动播放和电子琴弹奏功能选择键,乐曲选择键。
2. 使用ROM存储乐曲,达到只要在其中存储乐曲音符节拍的信息即可自动播放的目的,对乐曲的编码要简单易用。
3. 可自动播放《世上只有妈妈好》、《长亭送别》、《十年》三首歌曲,带选歌和自动循环播放的功能。
4. 实时显示正在播放的音符。
5. 设计要具有模块化,层次化的特点。
6. 波形仿真时采用时序仿真,以更加贴近实际,使系统的实际效果达到最佳。
三、实现方案1. 原理框图具有自动乐曲演奏功能的电子琴系统的原理结构框图如下:图1 硬件系统结构框图图2 软件系统结构框图图3 乐曲自动播放模块结构框图图4 乐曲弹奏模块结构框图2. 设计流程图具有自动乐曲演奏功能的电子琴系统的VHDL程序设计流程图如下图5:图5 程序设计流程图四、设计过程1. 音乐基础知识简谱应该说是一种比较简单易学的音乐记谱法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
具有自动乐曲演奏功能的电子琴设计先给出设计结果视频: 具有自动乐曲演奏功能的电子琴-视频实录本文为本人于2012年下学期做的EDA数字系统设计,文章详细介绍了“具有自动乐曲演奏功能的电子琴”的FPGA设计原理与方法,使用了ROM存储音符和节拍,矩阵键盘控制整个系统。
一、选题目的电子设计自动化,简称EDA(Electronic Design Automation),发展迅速,应用围日益扩大。
它以计算机为工具,设计者在EDA软件平台上,用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。
EDA技术的出现,极提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。
本文应用VHDL硬件描述语言,以QuartusⅡ8.0为开发工具设计了一个具有自动演奏乐曲功能的电子琴系统,它能将预先存储在ROM中的多首乐曲自动播放出来,并同时显示音符,此外,还具有电子琴弹奏的功能。
选题新颖、实用,趣味性、综合性较强。
二、设计目标1. 采用44矩阵键盘作为:电子琴按键,高、中、低音选择键,自动播放和电子琴弹奏功能选择键,乐曲选择键。
2. 使用ROM存储乐曲,达到只要在其中存储乐曲音符节拍的信息即可自动播放的目的,对乐曲的编码要简单易用。
3. 可自动播放《世上只有妈妈好》、《长亭送别》、《十年》三首歌曲,带选歌和自动循环播放的功能。
4. 实时显示正在播放的音符。
5. 设计要具有模块化,层次化的特点。
6. 波形仿真时采用时序仿真,以更加贴近实际,使系统的实际效果达到最佳。
三、实现方案1. 原理框图具有自动乐曲演奏功能的电子琴系统的原理结构框图如下:图1 硬件系统结构框图图2 软件系统结构框图图3 乐曲自动播放模块结构框图图4 乐曲弹奏模块结构框图2. 设计流程图具有自动乐曲演奏功能的电子琴系统的VHDL程序设计流程图如下图5:图5 程序设计流程图四、设计过程1. 音乐基础知识简谱应该说是一种比较简单易学的音乐记谱法。
它的最大好处是仅用7个阿拉伯数字----1234567,就能将万千变化的音乐曲子记录并表示出来,并能使人很快记住而终身不忘;同时涉及其他的音乐元素也基本可以正确显示。
简谱虽然不是出现在中国,但是好像只有在中国得到非常广泛的传播。
乐音的特性:它由四个方面组成:音高、音值、音量、音色。
音高:由物体在一定的时间震动的次数决定,震动次数多,因则高,反之,则低。
音值:即音的长短,是由音的延续时间的不同而决定的,音的延续时间长,音则长,反之,则短。
音量:即音的强与弱,由震幅的大小决定,震幅大,音则强,反之,则弱。
音色:有发音体的性质决定,发音体的形状及泛音的多少决定音色的不同,例如,小提琴、钢琴等各种乐器的音色都是不同的,在合奏时,人们可清楚地辨认。
乐音体系:在音乐使用中有固定音高的音的总和叫乐音体系。
音级:乐音体系中的各音叫音级,音级有基本音级与变化音级两种。
基本音级:在音乐中经常使用的七个具有独立名称的音叫基本音级。
基本音级的名称用字母或唱名两种方式来标记。
音名:用C、D、E、F、G、A、B来标记基本音级的叫音名,它表示一定的音高,简谱中用1,2,3,4,5,6,7来标记。
唱名:用do、re、mi、fa、sol、la、si作为音级名称的叫唱名。
音符:用以记录音的长短高低的符号叫音符(以符头在谱表上的位置来表示音的高低,以形状表示音的长短,音符有符头、符干、符尾三部分或其中某些部分组成,而在简谱中以1 2 3 4 5 6 7或其上下加点来表示不同音高,以短下划线(_)或横(—)来表示音的长短)。
下面重点介绍组成音乐的两个最基本的要素:每个音符发音的频率及其持续的时间。
1.1 音符和频率的关系乐曲的十二平均律规定:每2 个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。
在2个八度音之间,又可分为12个半音,每2个半音的频率比为。
另外,简谱中的低音6的频率为440Hz,音符7到1之间、3到4之间为半音,其余为全音。
由此可计算出简谱中从低音1至高音7之间每个音符的频率,如下表1所示:表1 简谱中音符与频率的关系1.2表示音乐的长短需要有一个相对固定的时间概念。
简谱里将音符分为全音符、二分音符、四分音符、十六分音符、三十二分音符等,如下表2。
在这几个音符里面最重要的是四分音符,它是一个基本参照度量长度,即四分音符为一拍。
这里一拍的概念是一个相对时间度量单位。
一拍的长度没有限制,可以是1秒也可以是2秒或半秒。
假如一拍是一秒的长度,那么二拍就是两秒;一拍定为半秒的话,两拍就是一秒的长度。
一旦这个基础的一拍定下来,那么比一拍长或短的符号就相对容易了。
正如五线谱的附点一样,数字后方加一点会将音符长度增加一半。
表2 简谱中音符长度半拍四分之一拍三十二分音符八分之一拍2. VHDL程序设计2.1 顶层文件采用原理图输入法设计,其原理图如下:图6 music_player原理图各模块的设计如下。
2.2 音符的编码及音乐的存储2.2.1 音符的编码休止符的编码为:0;音符长度的编码见表2。
音名的编码如下表3所示:表3音名的编码2.2.2 音乐的存储以十进制将音乐分别存储于note_rom和tick_rom两个模块中,前者为音符,后者为音符的长度,下面给出《世上只有妈妈好》的存储过程。
在Quartus II 主窗体中选择Tools—MegaWizard Pluge-In Manager…,弹出如下对话框,单击Next继续。
图7 MegaWizard Pluge-In Manager第一页按下图选择并填入文件名,点击Next。
图8 MegaWizard Pluge-In Manager第二页由于音符编在16到32之间,所以q选为5位即可,容量选为1024个字如下图所示图9 数据和地址宽度的选择在下图中取消“q’output port”前面的勾,点击Next继续。
图10 寄存器信号的选择在下图中,按图示选择并填入note_rom.mif,点击Next继续。
图11 指明ROM初始化文件图12 完成ROM的定制2.2.3 建立ROM初始化文件初始化ROM的数据文件有.mif格式和.hex格式,这里采用.mif格式,可以用文本编辑器编辑,也可以用Quartus II自带的功能产生ROM数据文件。
定制一个512*8的ROM的初始化.mif文件可按下列步骤进行:选择菜单File | New,在对话框中选择Memory Initialization File,然后输入512和8,如下图13(a)所示,点击OK随即打开.mif文件,如下图13(b)所示,然后可在其中输入数据,默认为十进制。
(a)ROM的初始化设置(b)初始化的空的ROM文件图13 ROM初始化2.2.4 在ROM中存储音乐以《世上只有妈妈好》为例,其简谱如下图所示:图14 世上只有妈妈好简谱根据前述对音符的编码规则,可知第一个音为中音6,时值为拍,存储为6和6;再如第二个音符为中音5,时值拍,存储为5和2;又如第五个音符为高音5,时值1拍,存储为21和4。
依此类推,可将整首乐曲存储如下:(a)note_rom.mif文件(b)tick_rom.mif文件图15 世上只有妈妈好简谱在ROM中的存储其它两首乐曲的存储与此类似,且存储在同一个note_rom.mif和tick_rom.mif文件中即可。
3.键盘控制模块3.1扫描及编码矩阵式键盘是一种常见的输入装置,根据其电路连接有共阴极和共阳极两种连接方式,可以采用逐行或逐列扫描法获得按键值。
本文根据实验室提供的共阳极矩阵键盘设计,其示意图如图16所示,定义各功能键如下图17所示,其中1~7对应简谱的1~7音符,H、M、L分别为高、中、低音选择键,AP(Auto Play)为自动播放选择键,EO(Electronic Organ)为电子琴弹奏选择键,Song为自动播放时的歌曲选择键,三个短“-”代表休止符。
图16 共阳极矩阵式键盘示意图图17本系统矩阵键盘功能键示意下面介绍扫描原理,采取逐行扫描法,以0111、1011、1101、1110的顺序依次扫描,然后读取列引脚的电平信号即可判断哪个按键按下。
例如,当扫描信号为1011时,表示在扫描第二行,若列读出的电平信号为1101,则可知第3列的键被按下,即第二行第3列的键“7”被按下,其它按键依次类推,下表4中列出了4*4矩阵键盘扫描时的情况、从左至右的顺序编码,依次为:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 。
扫描时,选取的扫描频率为1KHz,由1MHz分频得到,具体见源程序。
3.2 消抖通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定地接通,在断开时也不会一下子断开。
因而在闭合及断开的瞬间均伴随有一连串的抖动,如右图。
抖动时间的长短由按键的机械特性决定,一般为5ms~10ms。
这是一个很重要的时间参数,在很多场合都要用到。
图18 按键抖动常见的消抖方法有采样型防抖微分电路、D型触发器、移位寄存器、计数器,结合各消抖法的特点,本文采用计数器法。
3.3键盘控制模块如右图9所示图19 键盘控制模块键盘控制模块(Key_Control.vhd)仿真波形如下图20所示:图20键盘控制模块仿真波形为方便仿真及观察仿真结果,仿真时采用周期为100ns的clk,且将Key_Control.vhd中的获得clk_kb信号的程序中的ift=499 then,(即具体见源程序中斜体注释部分)改为ift=10 then,再将延时近程中clk_kb改为clk,count改为3位,然后对KBCol[0..3]赋值(如图),即可得到上图所示结果。
注意观察图中圈圈的部分,可以看出,第一个圈,对应“AP”键,他不在音符围,故Key_Note为0,且play,sel均为1,表示选择自动播放;第二个圈,对应“5”键,在音符围,故Key_Note为5;第三个圈,对应“EO”键,他不在音符围,故Key_Note为0,且play,sel均为0,表示选择电子琴弹奏;第四个圈,对应“Song”键,产生一个脉冲,仔细分析还应当发现由于消抖,使输出迟了1个扫描时钟(0.001s),但对本系统无影响。
4. 乐曲自动播放模块此模块的框图如图3所示,元件符号如右图下21所示,包含以下模块:ROM数据读取控制、音符ROM、节拍ROM,如下图22所示:图21 乐曲自动播放模块符号图22 乐曲自动播放模块4.1 ROM数据读取控制该分模块从tick_rom中读取节拍,控制读取ROM数据的速度,从而实现音乐的节奏。