杭州电子科技大学数电大作业实验报告电子琴

合集下载

电子琴的实验报告

电子琴的实验报告

电子琴的实验报告 WTD standardization office【WTD 5AB- WTDK 08- WTD 2C】单片机课程设计设计题目电子琴指导老师:苏参与实验者: moxiaoxiao专业:统本电信0801地点:3#楼北楼605电子琴一.设计目的:(1).培养综合运用知识的能力(2).朋友查阅资料,使用工程设计标准及编写设计文档的能力.(3).掌握单片机应用系统的设计方法.(4).提高计算机绘图能力二.设计任务:利用DP51PROC实验系统上的定时器/计数器,按键和蜂鸣器单元。

用单片机I/O口线控制蜂鸣器发出不同的音调,程序检测按键状态,7个按键中某一键按下时,蜂鸣器对应标称音阶.三.设计与调试环境KEIL uVision2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的 MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM ,汇编和 C 语言的程序设计,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。

1:按下面的步骤建立一个项目:图 1-4 选取芯片图 1-5 新建程序文件(1)点击图1-5 中的 3 保存新建的程序,也可以用菜单 File-Save 或快捷键 Ctrl+S 进行保存。

因是新文件所以保存时会弹出类似图1-3 的文件操作窗口,我们把第一个程序命名为,保存在项目所在的目录中,这时程序单词有了不同的颜色,说明 KEIL 的 C 语法检查生效了。

如图1-6 鼠标在屏幕左边的 Source Group1 文件夹图标上右击弹出菜单,在这里可以做项目中增加减少文件等操作。

我们选“Add File to Group‘SourceGroup 1’”弹出文件窗口,选择刚刚保存的文件,按 ADD 按钮,关闭文件窗,程序文件已加到项目中了。

这时在 Source Group1 文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。

数字电子技术综合实验报告——简易电子琴

数字电子技术综合实验报告——简易电子琴

数字电子技术综合实验报告——简易电子琴(总42页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--数字电子技术综合实验报告2012--2013学年第二学期姓名:学号:班级:实验时间:实验指导老师:目录一、设计任务 (2)二、设计方案 (2)三、系统框图 (3)四、方案实现 (3)1.乐曲演奏的原理 (3)2.总体方案 (4)五、实验结果 (6)六、方案优化 (7)七、心得体会 (7)附录 (7)1.VHDL源程序 (7)2.各层次原理图 (35)3.编译报告 (40)题目: 简易电子琴设计摘要电子琴的设计大规模可编程逻辑器件(FPGA)作为系统的核心控制部分通过软件的设计编写然后进行软硬件的调试运行最终达到设计电路的乐器演奏、选歌及显示功能。

设计中采用计数原理控制演奏器发声,对音乐发生所必须确定的音符和节拍分别用程序语言实现。

可以用它来弹奏和播放乐曲。

特点是设计思路简单、清晰。

关键字:电子琴 CPLD一、设计任务1.基本要求(1)具有一般弹奏功能;(2)自动播放功能;(3)数码显示音符功能。

2.发挥部分(1)能通过选择键在多首歌曲中选择播放;(2)输出增加功率放大电路,增加歌曲容量;(3)增加音效或节拍可调;(4)无线弹奏。

二、设计方案采用大规模可编程逻辑器件(FPGA),利用quartusII,通过verilog代码实现简易电子琴演奏电路。

三、系统框图四、方案实现1.乐曲演奏的原理:乐曲演奏的原理:组成乐曲的每个音符的频率值(音调)以及持续时间(音长)是乐曲能持续演奏所需的两个基本数据,因此只要控制输出到扬声器的激励信号的频率的高低和持续的时间,就可以使扬声器发出持续的乐曲声。

音调的控制频率的高低决定了音调的高低。

音乐的十二平均率规定:每两个八度音(如简谱中的中音1与高音1)之间的频率相差一倍。

在两个八度音之间,又可分为十二个半音,每半个音的频率比为。

电子琴实训报告

电子琴实训报告

电子琴实训报告
一、实训内容
本次实训内容为电子琴基础实践,包括基础音乐理论学习、琴键按键技巧训练、曲目弹奏等内容。

二、实训过程
1. 音乐理论学习
在实训开始前,老师首先给我们讲解了音乐基础知识,包括音符、节奏、调式等内容。

通过这些知识的学习,我们更好地理解了音乐作品。

2. 琴键按键技巧训练
接下来,老师让我们开始琴键按键技巧的训练。

我们从最基础的音阶开始,一步步地学习了琴键的按法和演奏技巧。

经过反复练习和指导,我们逐渐掌握了正确的按键技巧。

3. 曲目弹奏
在学习了基础的音乐理论和琴键技巧后,我们开始学习一些曲
目的弹奏。

老师为我们精心挑选了一些适合初学者的曲目,包括
流行歌曲、古典音乐等。

我们通过练习这些曲目,更好地掌握了
琴键技巧和演奏技巧。

三、实训成果
通过两周的实践学习,我们在电子琴方面取得了很多进步。


们可以更加熟练地掌握琴键按键技巧,能够演奏一些简单的曲目。

同时,我们对音乐理论有了更深入的了解,能够更好地欣赏音乐
作品。

四、实训收获
通过这次实训,我们不仅学到了电子琴方面的知识和技巧,更
重要的是培养了我们的音乐素养和音乐爱好。

我们在实训中感受
到了音乐的美妙,也更深切地体会到了学习音乐的重要性。

五、总结
此次电子琴实践是一次非常有意义的学习经历。

我们在实践中不断地探索、学习、进步,让自己更加熟练地掌握电子琴技巧、完善音乐素养。

我们相信,这次实践将为我们未来的音乐之路奠定坚实的基础。

VHDL电子琴实验报告

VHDL电子琴实验报告

VHDL电子琴实验报告
实验目的:
本实验的目的是设计一个VHDL电子琴,通过FPGA实现,实现按键发出不同的音调,并通过扬声器输出对应的音频信号,达到模拟真实电子琴的效果。

实验原理:
VHDL(Very High Speed Integrated Circuit Hardware Description Language)是一种硬件描述语言,用于描述数字电路的行为和结构。

在本实验中,我们将使用VHDL语言描述电子琴的按键和音调的对应关系,通过FPGA实现电子琴的功能。

电子琴实验主要包含两个部分:输入部分和输出部分。

输入部分是按键,按下不同的按键会发出不同的音调。

输出部分是扬声器,通过扬声器输出对应的音频信号。

实验步骤:
1.确定电子琴的按键数量和对应的音调。

2.使用VHDL语言描述电子琴的按键和音调的对应关系。

3.将VHDL代码综合成逻辑电路网表。

4.将逻辑电路网表烧录到FPGA中。

5.连接扬声器到FPGA输出引脚。

6.按下不同的按键,测试扬声器输出的音频信号是否正确。

实验结果:
经过实验测试,我们成功实现了一个简单的VHDL电子琴。

按下不同的按键,扬声器输出对应的音调。

通过调整VHDL代码中的音频频率,可以改变电子琴的音调高低。

实验总结:
通过本实验,我们深入理解了VHDL语言的应用和FPGA的原理。

电子琴作为一个实际应用案例,充分展示了数字电路设计的魅力。

在今后的学习和工作中,我们将能更加熟练地应用VHDL语言和FPGA技术,设计更加复杂的数字电路系统。

简易电子琴实验报告

简易电子琴实验报告

简易电子琴实验报告引言:本实验旨在设计和制作一台基于微控制器的简易电子琴,通过按下不同键盘上的按键产生不同音调,从而实现音乐的演奏。

电子琴采用的主要器件为微控制器、音频发声模块以及按键电路。

一、实验目的1.学习和理解数字音乐技术的基本原理;2.掌握微控制器的编程方法和音频发声的实现技术;3.熟悉电子琴的工作原理和设计过程。

二、实验器材1. 单片机:Arduino Uno;2.音频发声模块;3.面包板;4.按键;5.电阻、电容等元件;6.连线和连接器。

三、实验步骤1. 将Arduino Uno连接至音频发声模块,确保连接正确并稳定。

2.在面包板上连接按键电路,将按键与单片机的引脚相连。

3. 编写Arduino Uno的程序,实现按键按下时的音调发声。

4.上电,并测试按键是否能够产生正确的音调。

四、实验结果经过实验得到的结果如下:1.按下不同按键,电子琴会产生不同的音调。

2.通过改变程序中相应按键的频率值,可以调整音调的高低。

五、实验分析1.通过对单片机的编程,实现了按键按下时的音调发声,成功地实现了电子琴的基本功能。

2.实验中使用了音频发声模块,利用其内置的DAC(数字模拟转换器)实现了数字音频信号的模拟输出。

六、实验总结和心得体会通过本次实验,我对电子琴的工作原理和设计过程有了更深入的了解。

学习和掌握了单片机的编程方法和音频发声的实现技术,提高了我的实验能力和动手能力。

同时,也对数字音乐技术有了初步的认识。

在今后的学习和工作中,我将继续深入研究和应用这些知识,为电子音乐的发展做出自己的贡献。

电子琴的实验报告

电子琴的实验报告

单片机课程设计设计题目电子琴指导老师:苏参与实验者:moxiaoxiao 专业:统本电信0801 地点:3#楼北楼605一.设计目的:(1).培养综合运用知识的能力(2).朋友查阅资料,使用工程设计标准及编写设计文档的能力.(3).掌握单片机应用系统的设计方法.(4).提高计算机绘图能力二.设计任务:利用DP51PROC 实验系统上的定时器/计数器,按键和蜂鸣器单元。

用单片机I/O 口线控制蜂鸣器发出不同的音调,程序检测按键状态,7 个按键中某一键按下时,蜂鸣器对应标称音阶.三.设计与调试环境KEIL uVision2 是众多单片机应用开发软件中优秀的软件之一,它支持众多不同公司的MCS51 架构的芯片,它集编辑,编译,仿真等于一体,同时还支持,PLM ,汇编和 C 语言的程序设计,它的界面和常用的微软VC++ 的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。

1:按下面的步骤建立一个项目:图1- 4 选取芯片图1- 5 新建程序文件(1)点击图1-5 中的 3 保存新建的程序,也可以用菜单File -Save 或快捷键Ctrl+S 进行保存。

因是新文件所以保存时会弹出类似图1- 3 的文件操作窗口,我们把第一个程序命名为,保存在项目所在的目录中,这时程序单词有了不同的颜色,说明KEIL 的 C 语法检查生效了。

如图1- 6 鼠标在屏幕左边的Source Group1 文件夹图标上右击弹出菜单,在这里可以做项目中增加减少文件等操作。

我们选“ Add File t o Group ‘ SourceGroup 1”'弹出文件窗口,选择刚刚保存的文件,按ADD 按钮,关闭文件窗,程序文件已加到项目中了。

这时在Source Group1 文件夹图标左边出现了一个小+ 号说明,文件组中有了文件,点击它可以展开查看。

图1- 6 把文件加入到项目文件组中编译程序(2)进入调试模式,软件窗口样式大致如图1-8 所示。

单片机电子琴实训报告

单片机电子琴实训报告

一、实训目的1. 熟悉单片机的基本原理和编程方法。

2. 学习电子琴的原理和结构。

3. 掌握基于单片机的电子琴设计方法。

4. 培养动手实践能力和创新意识。

二、实训内容1. 单片机原理与编程2. 电子琴原理与结构3. 单片机电子琴设计4. 单片机电子琴制作与调试三、实训过程1. 单片机原理与编程在实训初期,我们学习了单片机的基本原理和编程方法。

单片机是一种集成了CPU、存储器、输入/输出接口等功能的微型计算机,具有体积小、功耗低、成本低等特点。

我们学习了51系列单片机的结构、指令系统、程序设计方法等。

2. 电子琴原理与结构电子琴是一种通过电子电路发出不同音阶声音的乐器。

我们学习了电子琴的原理和结构,包括音源模块、键盘模块、音量控制模块等。

3. 单片机电子琴设计在设计阶段,我们根据所学知识,设计了基于单片机的电子琴。

具体如下:(1)硬件设计电子琴的硬件主要由单片机、键盘、蜂鸣器、音量控制模块等组成。

我们选择了STC89C51单片机作为核心控制单元,键盘采用矩阵键盘,蜂鸣器用于发出声音,音量控制模块用于调节音量。

(2)软件设计软件设计主要包括以下几个部分:1)初始化:设置单片机的工作模式、初始化定时器、初始化键盘扫描等。

2)键盘扫描:检测键盘是否被按下,并读取按键值。

3)音阶生成:根据按键值计算对应的频率,通过定时器产生PWM信号,驱动蜂鸣器发出声音。

4)音量控制:根据音量控制模块的输入,调节PWM信号的占空比,实现音量控制。

5)音乐播放:存储一首或多首歌曲,通过键盘控制播放、暂停、停止等操作。

4. 单片机电子琴制作与调试在制作阶段,我们根据设计方案,搭建了电子琴的硬件电路,并编写了相应的程序。

在调试过程中,我们遇到了以下问题:(1)键盘扫描不稳定:经过分析,发现是由于按键抖动引起的。

我们通过软件去抖动的方法解决了这个问题。

(2)音阶不准确:经过分析,发现是由于定时器设置不当引起的。

我们调整了定时器的计数值,使音阶更加准确。

实验一 多功能电子琴实验报告

实验一 多功能电子琴实验报告

题目: 多功能电子琴设计课程: 复杂电子线路综合设计专业: 电子信息科学与技术班级: 电子信息学号:姓名:指导老师:完成日期:目录1.引言************************************************************************12.设计要求*************************************************************1 2.1基本功能******************************************************12.2扩展功能******************************************************13.设计方案********************************** *************************13.1多功能电子琴的功能介绍*********************1 3.2 电子琴的主要硬件电路*************************13.2.1 矩阵键盘***********************************************13.2.2复位电路*************************************************23.2.3功放电路**************************************************23.2.3.1 386概述***************************************23.2.3.2 386特性*************************************** 23.3 软件系统设计**********************************************34.设计成本**************************************************************45.方案样品测试***************************************************45.1技术参数*********************************************************46.使用说明**************************************************************47.设计的最终结果***********************************************51.引言由于单片机有丰富的I/O口资源, 每个I/O口除了可以做普通的输出/输入功能外, 还具有第二功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数电大作业实验报告如图是CODE3的case语句程序,该模块是一个编码器,即将输入的8位琴键信号进行编码,输出一个4位码,最多能对应16个音符(若有16个键)。

如图所示是INX2CODE的case语句程序,该模块是一个译码器,它将来自键盘输入的编码信号译码成数控分频器SPK0输出信号的频率控制字。

另外两个模块是M_CODE和DCD7SG,它们的case语句程序如上图所示。

前者的功能是将来自CODE3的键盘编码译成简谱码和对应的音调高低值H,后者是一个数码管7段显示译码器,负责将简谱码译成数码管的显示信号。

如图所示是SPK0模块的内部结构。

其中的计数器CNT11B是一个LPM宏模块,这是一个11位二进制加法计数器。

在设置其结构参数时,应该选择同步加载控制,即sload(Synchronous Load),这样能较好地避免来自进位信号cout中可能的毛刺影响。

异步加载aload极易受到随机窄脉冲的误触发,在此类电路中不宜采用。

图中D触发器和反相器的功能是将用于控制加载的进位信号延迟半个时钟周期,一来也是为了滤除可能的毛刺,以免对加载更为可靠,因为这时,时钟上升沿正好处于加载脉冲的中点。

模块CODE3,INX2CODE和SPK0的主要工作过程是这样的:
当按琴键后,产生的数据经编码器获得一个编码(例如,当按下第二个键,对应0010,即2),它对应模块INX2CODE中的一个值(2对应390H)。

当这个值(如390H)被置入模块SPK0中的11位可预置计数器中后。

由于计数器的进位端与预置数加载段端相连,导致此计数器将不断以此值作为计数起始值,直至全1。

以下以预置值为390H为例,来计算SPK0输出信号的频率值。

当以390H为计数器起始值后,此计数器成为一个模(7FFH-390H=46FH=1135)的计数器。

即每从CLK端输入1135个脉冲,BEEP端输出一个进位脉冲。

由于输入的时钟频率是1MHz (周期是1us),于是BEEP输出的信号频率是1/(1135us)=841Hz。

由下面电子琴的顶层电路可见,SPK0的输出信号经过一个由D触发器接成的T’触发器后才输出给蜂鸣器。

这时信号被作了二分频,于是,预置值390H对应的与蜂鸣器发音的基频F
约等于440Hz。

B
电子琴顶层电路中T’触发器有两个功能,一个作用是作二分频器;另一个作用是作为占空比均衡电路。

这是因为由SPK0模块输出信号的脉宽极窄,功率极低,无法驱动蜂鸣器,但信号通过T’脉宽就均匀了(F
的占空比为50%)。

B
如图所示是电子琴顶层设计电路,含2个输入口和3个输出口。

1.工作时钟CLK,频率:1MHz。

用于在主控模块中产生与琴键对应的振荡频率,以驱动蜂
鸣器发出相应的声音。

2.琴键输入DIN[7..0].8个音符,8位中只能有一位为0,即8个琴键中每一时刻只能按
一个键。

3.输出端口SPK0用于驱动蜂鸣器。

4.输出信号LED接数码管,用于显示对应的简码谱。

H显示音高低。

相关文档
最新文档