(数字信号发生器+电子琴)实验报告

合集下载

电子琴的实验报告

电子琴的实验报告

电子琴的实验报告 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 文件夹图标左边出现了一个小+号说明,文件组中有了文件,点击它可以展开查看。

北邮大三数电实验电子琴

北邮大三数电实验电子琴

数字电路与逻辑设计实验报告实验名称: 基于VHDL的电子琴演奏器实现学院: 信息与通信工程学院班级:姓名:学号:任课老师:日期:2012年11月目录一.任务要求 (2)1、基本要求 (2)2、提高要求 (2)二、原理概述 (2)三、系统设计 (3)1、基础功能 (3)2、拓展功能1——自动播放 (6)3、拓展功能2——储存音符并可自动播放所存字符 (8)4、全部功能实现 (8)四、波形仿真及波形分析 (11)五、源程序 (15)1、FENPINXISHU (15)2、FENPIN (16)3、BEEP (16)4、OUTPUT (17)5、YINFUFENPIN (21)6、JISHU (21)7、JIANPU (22)8、MIAOFENPIN (24)9、JILU (25)10、SHUJUXUANZEQI (26)11、TP (27)六、功能说明 (30)七、元器件清单及资源利用情况 (30)八、故障及问题分析 (31)九、总结和结论 (31)一.任务要求设计制作一个简易电子琴演奏器。

1、基本要求(1) 用8×8点阵显示“1 2 3 4 5 6 7”七个音符构成的电子琴键盘。

其中点阵的第一列用一个LED点亮表示音符“1”,第二列用二个LED点亮表示音符“2”,依此类推,如下图所示。

1 2 3 4 5 6 7图1 点阵显示的电子琴键盘(2) 用BTN1~BTN7七个按键模拟电子琴手动演奏时的“1 2 3 4 5 6 7”七个音符。

当某个按键按下时,数码管显示相应的音符,点阵上与之对应的音符显示列全灭,同时蜂鸣器演奏相应的声音;当按键弹开时数码管显示的音符灭掉,点阵显示恢复,蜂鸣器停止声音的输出。

下图所示为按下BTN3按键时点阵的显示情况。

1 2 3 4 5 6 7图2 按键按下后的点阵显示a、由拨码开关切换选择高、中、低音,并用数码管进行相应的显示。

b、通过按键BTN0进行复位,控制点阵显示图1的初始状态。

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

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

数字电子技术综合实验报告——简易电子琴(总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、项目概况选题目的,为了进一步巩固之前学到的知识,将课本的知识结合趣味性,让自己得到更好的提高。

项目构思,模型要做一个能成功实现的简易电子琴,包括按键按下后蜂鸣器会根据相应的频率准确发出相应音阶的声音,7段数码管会显示出按键的简谱,输出端H可以表示音的高低。

要用到计数器,触发器分频器,7段数码显示器等元件。

2、方案设计系统框图为:系统简介如下:1、系统框图2、系统端口(2个输入口3个输出口)(1) CLK,频率1MHz。

用于提供时钟脉冲信号。

(2) DIN[7、、0]。

琴键输入的8个音符,8位中只有一位是低电平即每次只能按一个键。

(3) SPK。

用于驱动蜂鸣器,输出频率fB与蜂鸣器发出的音调与电子琴各音阶基频有对应关系。

(4) LED。

接数码管,用于显示对应的简谱码,H显示音调高低。

3、工作原理(1)编码器CODE3。

将输入的8位琴键信号进行编码,输出一个4位码,最多能对应16个音符(若有16个键)。

按下的琴键的电平为低。

例:8’b :KEY<=4’b0001 输入第一位琴键“哆”此时编译成4位二进制数2^0=1 传入译码器INX2CODE。

(2)译码器INX2CODE。

将键盘输入的编码信号译码成数控分频器SPK0输出信号的频率控制字。

例:1 :F_CODE <=11’H305 刚才编码器编码传入的琴键“哆”的1此时被译码为数控分频器SPK0的输出信号的频率控制字305H。

(3) SPK0。

计数器CNT11B是一个LPM宏模块,利用同步加载控制sload避免来自进位信号cout中可能的毛刺影响,反相器和D 触发器使得进位信号延迟半个时钟周期,过滤掉可能的毛刺,使得加载更加可靠。

例:经过编译的305H被置入模块SPK0的11位可预置计数器中计数器不断以此值为计数起始值,直至全为1。

以305H计数起始,计数器成为一个模为1270(7FFH-305H=4F6H=1270)的计数器。

信号发生器实验报告

信号发生器实验报告

信号发生器实验报告信号发生器实验报告引言信号发生器是电子实验室中常见的一种仪器,用于产生各种类型的电信号。

本次实验旨在探究信号发生器的原理和应用,以及对其进行一系列的测试和测量。

一、信号发生器的原理信号发生器是一种能够产生不同频率、幅度和波形的电信号的设备。

其主要由振荡电路、放大电路和输出电路组成。

振荡电路负责产生稳定的基准信号,放大电路将基准信号放大到合适的幅度,输出电路将信号输出到外部设备。

二、信号发生器的应用1. 电子器件测试:信号发生器可以用于测试电子器件的频率响应、幅度响应等特性。

通过改变信号发生器的频率和幅度,可以模拟不同工作条件下的电子器件性能。

2. 通信系统调试:在通信系统的调试过程中,信号发生器可以用于模拟各种信号,如语音信号、数据信号等。

通过调整信号发生器的参数,可以测试通信系统的传输质量和容量。

3. 音频设备测试:信号发生器可以用于测试音频设备的频率响应、失真等特性。

通过产生不同频率和幅度的信号,可以对音频设备进行全面的测试和评估。

三、实验过程1. 测试频率响应:将信号发生器连接到待测设备的输入端,逐渐改变信号发生器的频率,并记录待测设备的输出结果。

通过绘制频率响应曲线,可以了解待测设备在不同频率下的响应情况。

2. 测试幅度响应:将信号发生器连接到待测设备的输入端,逐渐改变信号发生器的输出幅度,并记录待测设备的输出结果。

通过绘制幅度响应曲线,可以了解待测设备对不同幅度信号的响应情况。

3. 测试波形输出:将信号发生器连接到示波器,通过改变信号发生器的波形设置,观察示波器上的波形变化。

通过比较不同波形的特征,可以了解信号发生器的波形生成能力。

四、实验结果与分析1. 频率响应:根据实验数据绘制的频率响应曲线显示,待测设备在低频段具有较好的响应能力,而在高频段则逐渐衰减。

这可能是由于待测设备的电路结构和元件特性导致的。

2. 幅度响应:根据实验数据绘制的幅度响应曲线显示,待测设备对于低幅度信号的响应较差,而对于高幅度信号的响应较好。

(数字信号发生器+电子琴)实验报告

(数字信号发生器+电子琴)实验报告

实验一数字信号发生器和电子琴制作一、实验目的1.熟悉matlab的软件环境,掌握信号处理的方法,能在matlab的环境下完成对信号的基本处理;2.学会使用matlab的GUI控件编辑图形用户界面;3.了解matlab中一些常用函数的使用及常用运算符,并能使用函数完成基本的信号处理;二、实验仪器计算机一台,matlab R2009b软件。

三、实验原理1.数字信号发生器MATLAB是矩阵实验室(Matrix Laboratory)的简称,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB 和Simulink两大部分。

已知的常用正弦波、方波及三角波,可以通过matlab自带的函数实现,通过改变函数的幅值、相位和频率可以得到不同的信号。

正弦信号:y=A*sin(2*pi*f*t);方波信号:y=A*square(2*f*pi*x+c);三角波信号:y=A*sawtooth(2*pi*f*x+c);2. 电子琴电子琴的每个音阶均对应一个特定频率的信号,通过调用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能。

界面中包含1、2、…、7共 7 个琴键,鼠标按下时即发声,松开时发声停止。

同时能够产生正弦波、方波、三角波等常见的波形的数字信号,然后将数字信号写入声卡的缓冲区,最后由声卡播放出相应的声音。

已知音乐的七个音阶的主频率分别是131Hz、147Hz、165Hz、175Hz、196Hz、220Hz和247Hz,分别构造正弦波、方波和三角波,可以组成简单的电子琴。

四、实验内容1.数字信号发生器的制作(1)搭建GUI界面图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。

Matlab环境下的图形用户界面(GUI)是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。

信号发生器实验总结(一)

信号发生器实验总结(一)

信号发生器实验总结(一)信号发生器实验总结前言在本次的信号发生器实验中,我尝试了不同的方法和技术,以生成不同类型和频率的信号。

这个实验对于深入理解信号发生器的功能和原理,以及对信号的特性进行分析具有重要意义。

正文本次实验的主要内容如下: - 实验目标:掌握信号发生器的基本功能和使用方法,了解信号的特性。

- 实验步骤: 1. 选择合适的信号源,并将其连接至示波器。

2. 设置信号的类型(如正弦波、方波或三角波)和频率。

3. 调节示波器的各项参数,如幅度、相位和偏移量,以观察信号的变化。

4. 测量和记录信号的频率、周期和幅度等参数。

5. 尝试改变信号的属性,如调整频率或改变信号类型,观察信号的变化。

- 实验结果: - 成功生成了不同类型(频率和波形)的信号。

- 观察到信号在示波器上的波形变化,了解了信号的周期、频率和幅度等特性。

- 通过改变信号的属性,发现了不同信号参数对波形的影响。

- 实验收获: - 对信号发生器的基本功能和使用方法有了更深入的了解。

- 掌握了信号的周期、频率和幅度等特性的测量方法。

- 通过实验验证了信号属性对波形的影响,对信号的分析和应用有了更深入的认识。

通过本次信号发生器实验,我对信号的生成、调节和分析有了更深入的理解。

实验过程中,我通过不断尝试和观察,成功生成了不同类型的信号,并且对信号的特性进行了测量和记录。

这次实验为我的学习和实践提供了有价值的经验,我相信这对于我的创作和研究工作都将有所裨益。

前言在本次信号发生器实验中,我总结了以下几点关键要点:1.实验目标–熟练掌握信号发生器的基本功能和使用方法。

–了解信号的特性,包括周期、频率和幅度等参数。

2.实验步骤–选择合适的信号源,并将其连接至示波器。

–设置信号的类型和频率。

–调节示波器的各项参数,观察信号的变化。

–测量和记录信号的频率、周期和幅度等参数。

–尝试改变信号的属性,观察信号的变化。

在实验中,我按照上述步骤顺利完成了信号发生器实验,并取得了一些有价值的结果。

信号发生器实验报告

信号发生器实验报告

线性电子电路实验信号发生器专业:班级:姓名:学号:实验原理:一、方案比较网上方案:参考电路:方案比较:与网上方案相比,提供的参考电路有如下几个优点:①比较简单方便,比较两张电路图,可以明显看出参考电路比较简洁,所用的原件比较少,不容易出错,便于检查,而且比较便宜。

②网上方案所用的是ua747和ua741是通用的运放器,精度不高,性能不是很好。

而参考电路用的是TL084精度高,输入电阻很大,并且运行速度很快。

③网上方案用到了选择开关来选择接入的电路,使实验变得不方便。

而参考电路属于全自动,并不需要更多操作。

④网上方案在三角波——正弦波转换电路利用了场效应管3DJ13A而参考电路只用了TL084和电阻、电容,是一种技术上的进步。

二、电路图:参数设计:R1=10K R2=22K R3=1K R4=2K R5=1K R6=1K R7=10K R8=2K R9=10K R P1=10K R P2=10K C1=10nF C2=10nF 稳压管三、电路仿真结果方波:三角波及正弦波:四、硬件实物图五、调试结果:频率大约在500Hz~5KHz六、实验总结本次实验,参考了老师给的参考资料和网上资料,使用了Multisim仿真软件进行仿真,仿真出来的结果非常符合要求,非常理想。

但是在实物焊接后,因元器件和人工的原因,出现了误差,比较容易出现失真,误差比较大。

七、体会和建议1、要熟练掌握仿真软件的使用和对电路图的理解,这样才能比较容易的理解这个实验,不容易出现失误。

2、仿真结果没有出现理想的波形图,要检查电路,对电路的节点也要检测。

要有耐心。

3、电路排线要尽可能的少,这样对于后续的电路检测有很大的帮助。

实验六 电 子 琴 实 验

实验六   电 子 琴 实 验

实验六电子琴实验一、实验目的:了解发出不同音调声音的编程方法。

二、实验内容:利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。

用P1.0口发出音频脉冲,驱动喇叭.。

三、实验原理:我们知道,声音是由振动产生的,每个音符都对应了一个频率如下表所示。

利用定时/计数器T0工作在16位定时方式,通过改变TH0和TL0的值,就可以产生不同频率的脉冲,例如想产生523Hz(音符1的发音)的脉冲,其周期为1/523=1912μS,因此只要让T0定时956μS后,使P1.0取反,就可以在P1.0引脚上输出一个频率为523Hz的脉冲。

若晶振的频率为6MHz,则计数值为956/2=478,而计数器的初值为65536-478=65058=OFF22H,即THO=OFFH,TLO=22H。

这样每个音符都对应了一个T值,6M晶振时各音符的T值如下表:音符频率以及6M晶体时对应的T值表另一方面是每个音符的发音长度,各调节拍与时间的设定如下表所示:调值与节拍延时时间关系表四、实验器材:1、实验仪 1 台2、KEIL仿真器 1 台3、连线若干根4、计算机 1 台五、接线图案:六、实验步骤:把P1.0用连线连至“音响与合成”框LM386的VIN1插孔上。

七、实验程序:;连线P1.0---VIN1OUTBIT equ 0e101hIN equ 0e103hPulse equ 0PulseCNT equ 50hToneHigh equ 51hToneLow equ 52hLJMP STAR;==================================================================== ======MIAN: DB 00H, 00H, 00H, 00H, 00H, 00H, 00H, 00H ;........ MIAN1: DB 02H, 00H,0D0H ;...;==================================================================== ======INTS1: MOV DPTR,#0E100HMOV A,#03HMOVX @DPTR,AMOV TMOD,#01HMOV IE,#82HINTS2: MOV A,#0FFHJZ INTS2LCALL KEY1MOV R4,07HMOV A,R4CLR CSUBB A,#01HJC INTS2MOV A,R4SETB CJNC INTS2 MOV A,R4 ADD A,ACC ADD A,#0C0H MOV DPL,A CLR A ADDC A,#00H MOV DPH,A CLR A MOVC A,@A+DPTR MOV R2,A MOV A,#01H MOVC A,@A+DPTR MOV R3,A MOV A,R2 MOV 09H,A MOV 08H,#00H MOV 0AH,#00H MOV 0BH,R3 MOV TH0,A MOV TL0,0BH SETB TR0 MOV 0CH,#0C8H KEY: MOV A,0CH JNZ KEYCLR TR0 SJMP INTS2 KEY1: MOV R7,#06H MOV R6,#20H KEY2: MOV A,R6 CPL A MOV DPTR,#0E101H MOVX @DPTR,A MOV A,R6 CLR C RRC A MOV R6,A MOV DPTR,#0E103H MOVX A,@DPTR CPL A ANL A,#0FH MOV R5,A DEC R7 MOV A,R7 JZ KEY3JZ KEY2KEY3: MOV A,R5JZ TONE3MOV A,R7ADD A,ACCADD A,ACCMOV R7,AMOV A,R5JNB ACC.1,TONEINC R7SJMP TONE2;==========================TONE: MOV A,R5JNB ACC.2,TONE1INC R7INC R7SJMP TONE2TONE1: MOV A,R5JNB ACC.3,TONE2INC R7INC R7INC R7TONE2: MOV DPTR,#0E101HCLR AMOVX @DPTR,AMOV A,R7MOV DPTR,#00AAHMOVC A,@A+DPTRMOV R7,ARET;==================================================================== ======TONE3: MOV R7,#0FFHRET;==================================================================== ======Q00AA: DB 00H, 01H, 04H, 07H, 0FH, 02H, 05H, 08HQ00B2: DB 0EH, 03H, 06H, 09H, 0DH, 0CH, 0BH, 0AHQ00BA: DB 10H, 10H, 10H, 10H, 10H, 10H, 10H, 10HQ00C2: DB 0FCH, 42H,0FCH,0AEH,0FDH, 0AH,0FDH, 35HQ00CA: DB 0FDH, 82H,0FDH,0C8H,0FEH, 05H,0C0H,0D0HQ00D2: DB 0C2H, 8CH, 85H, 09H, 8CH, 85H, 0BH, 8AHQ00DA: DB 0D2H, 8CH,0A2H, 00H, 92H, 90H,0B2H, 00HQ00E2: DB 15H, 0CH,0D0H,0D0H, 32H, 90H,0E1H, 01HQ00EA: DB 0E4H,0F0H, 90H,0E1H, 03H,0E0H,0F4H, 54HQ00F2: DB 0FH,0FFH, 22H ;..";==================================================================== ======STAR: MOV R0,#7FHCLR ASTAR1: MOV @R0,ADJNZ R0,STAR1MOV SP,#20HLJMP INTS1;==================================================================== ======END。

SOPC课程设计实验报告--电子琴

SOPC课程设计实验报告--电子琴

FPGA-CPLD原理及应用课程设计报告题目:电子琴学院: 信息与电子工程学院专业: 电子科学与技术学号:姓名:指导老师:时间:2013-7-15~2013-7-20一、摘要电子琴是数字电路中的一个典型应用。

在实际的硬件设计中用到的器件非常多,连线比较复杂,同时会产生比较大的延时,从而造成测量误差较大,可靠性不好。

以EDA工具作为开发手段,运用VHDL硬件描述语言将使整个系统大大简化,提高了电子琴整体的性能和可靠性。

关键词:电子琴 SOPC SOPC Builder Nios II DE2 音符二、设计要求方案一:采用数字逻辑电路制作,用IC拼凑焊接实现。

其特点是直接用现成的IC组合而成,简单方便,但本系统需用到许多分频器,这就使得需要用到相当多的IC,从而造成了体积过于庞大,而且连线也会比较复杂。

方案二:采用单片机实现,通过软件编程,仿真后将程序用编程器写入到单片机芯片上,该方案成本低,稳定度也比较好,但外围电路多,特别是播放音乐时需要用到大容量的外部存储器,这样就增加了编程难度,调试不够直观,也不够灵活方便。

方案三:采用可编程逻辑器件(FPGA)制作,将所有器件集成在一块芯片上,大大减小了电子琴的体积,用VHDL编程实现时更加方便,而且易于进行功能扩展,并可调试仿真,制作时间大大缩短,因此选用了方案三进行设计。

电子琴设计原理乐曲都是由一连串的音符组成,按照乐曲的乐谱依次输出这些音符所对应的频率,就可以在扬声器上连续地发出各个音符的音调。

为了准确地演奏出一首乐曲,仅仅让扬声器能够发出声音是远远不够的,还必须准确地控制乐曲的节奏,即每个音符的持续时间。

由此可见,乐曲中每个音符的发音频率以及音符持续的时间是乐曲能够连续演奏的两个关键因素。

乐曲的12平均率规定:每2个八度音之间的频率要相差1倍,比如简谱中的中音2与高音2。

在2个八度音之间,又可分为12个半音。

另外,音符A(简谱中的低音5)的频率为392Hz,音符E到F之间、B到C之间为半音,其余为全音。

数码钢琴实验报告

数码钢琴实验报告

一、实验目的1. 了解数码钢琴的基本构造和工作原理;2. 掌握数码钢琴的使用方法和操作技巧;3. 比较数码钢琴与传统钢琴的优缺点;4. 通过实验,提高音乐素养和演奏水平。

二、实验器材1. 数码钢琴一台;2. 传统钢琴一台;3. 音频设备(如音响、耳机等);4. 音乐作品若干。

三、实验内容1. 数码钢琴的基本构造和工作原理(1)数码钢琴的基本构造数码钢琴主要由以下几个部分组成:1)键盘:数码钢琴的键盘与传统钢琴的键盘类似,分为88个键,包括7个白键和5个黑键;2)音源模块:负责产生各种音色和音调;3)扩音系统:将钢琴演奏的声音放大;4)控制面板:用于调节音量、音色、节奏等功能;5)存储系统:用于存储音乐作品和演奏数据。

(2)数码钢琴的工作原理数码钢琴通过采样技术,将传统钢琴的音色和音调进行数字化处理,存储在音源模块中。

当按下键盘时,相应的按键信号被传输到音源模块,触发相应的音色和音调,通过扩音系统放大后,输出到音响设备或耳机中。

2. 数码钢琴的使用方法和操作技巧(1)使用方法1)连接音响设备或耳机;2)打开数码钢琴电源,调整音量和音色;3)开始演奏,注意手指力度和节奏;4)使用控制面板进行其他功能调节。

(2)操作技巧1)正确使用手指:使用指尖按压键盘,避免使用手指关节;2)保持手腕放松:手腕不要用力,尽量保持自然状态;3)注意节奏:遵循音乐作品的节奏,保持稳定;4)运用音色:根据音乐作品的需要,选择合适的音色。

3. 数码钢琴与传统钢琴的优缺点比较(1)优点1)数码钢琴体积小,便于携带和存放;2)音色丰富,可根据需要调整;3)具有录音、播放等功能,方便学习和练习;4)价格相对较低。

(2)缺点1)手感不如传统钢琴;2)长时间使用可能对听力产生一定影响;3)音质受到音响设备的影响。

四、实验结果与分析1. 实验结果通过实验,我们了解到数码钢琴的基本构造、工作原理和使用方法,掌握了操作技巧。

同时,我们比较了数码钢琴与传统钢琴的优缺点,发现数码钢琴在便携性、音色丰富性、功能多样性和价格方面具有明显优势。

信号发生器实验报告

信号发生器实验报告

信号发生器实验报告摘要:本实验旨在通过使用信号发生器,对不同频率和幅度的信号进行产生和测量,探索信号发生器的基本原理和应用。

通过实验可以进一步理解信号发生器的工作原理以及频率和幅度的关系,并掌握信号发生器的操作方法。

1.引言2.原理3.实验步骤3.1准备工作:将信号发生器连接到电源,打开电源开关,并等待设备启动。

3.2选择频率:根据需要选择一个特定的频率,调整频率控制旋钮,并观察频率显示器上的数值变化。

3.3设置幅度:根据需要选择一个特定的幅度,调整幅度控制旋钮,并观察幅度显示器上的数值变化。

3.4选择波形:根据需要选择合适的波形,如正弦波、方波、三角波等,调整波形控制旋钮,并观察波形。

3.5连接测量仪器:将信号输出端口连接到示波器或其他测量仪器上。

根据需要选择不同的接口和线缆。

3.6测量信号参数:根据需要使用示波器或其他测量仪器,测量并记录信号的频率、幅度等参数。

4.实验结果通过实验,我们成功地产生了不同频率和幅度的信号,并使用示波器对其进行了测量。

根据测量数据,我们制作了频率-幅度图和波形图,对信号的特性进行了分析和比较。

5.讨论与分析在实验中,我们观察到信号发生器能够准确地产生所需的信号,并且改变频率和幅度时,输出信号的特性也相应改变。

通过对信号的测量,我们验证了信号发生器的性能和准确性。

6.实验总结通过本次实验,我们学习和掌握了信号发生器的基本原理和应用。

实验中我们成功地产生了不同频率和幅度的信号,并对其进行了测量和分析。

通过这些实验,我们进一步加深了对信号发生器的理解和应用能力。

微机实验9(电子琴)

微机实验9(电子琴)

《综合设计性实验》预习报告实验项目:电子琴一引言:利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。

用8255的PA.0 口发出音频脉冲,驱动喇叭。

二实验目的:1. 了解计算机发声原理。

2. 进一步熟悉定时器编程方法.3. 进一步熟悉键盘扫描电路工作原理及编程方法三实验原理:输出端口的方波经放大滤波后,驱动扬声器发声。

声音的频率由端口输出延时控制。

键盘电路无需连线,原理图可参考实验五。

连线连接孔1 连接孔21 8255_CS CS02 KEY/LED_CS CS13 PA0 喇叭脉冲输入四、实验说明利用定时器,可以发出不同频率的脉冲,不同频率的脉冲经喇叭驱动电路放大滤波后,就会发出不同的音调.定时器按设置的定时参数产生中断,这一次中断发出脉冲低电平,下一次反转发出脉冲高电平。

由于定时参数不同,就发出了不同频率的脉冲。

本实验中按键一次,会发50个脉冲。

发完后继续检测键盘,如果键还按下,继续发音。

四实验内容:利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。

用8255的PA.0 口发出音频脉冲,驱动喇叭。

五重点问题:程序编写、电路调试六参考文献:广州大学《微机原理实验指导书(10-11-1)》林土胜《单片机技术及工程实践》北京:机械工业出版社《综合设计性实验》实验报告实验名称:电子琴一引言:使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。

二实验要求:利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。

用8255的PA.0 口发出音频脉冲,驱动喇叭。

三实验仪器:1、电脑2、伟福编译器3、伟福实验箱四实验步骤:(1) 制作外扩电路板。

(2) 输入程序并检查,保存程序。

(3) “编译”程序。

(4) “全速执行”程序。

(5) 记录实验结果及分析。

五数据处理及实验结果表示:数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调六实验结果分析:本实验按照预期的效果,实现了利用实验仪上提供的键盘,使数字键1、2、3、4、5、6、7作为电子琴按键,按下即发出相应的音调。

简易电子琴设计实验报告

简易电子琴设计实验报告

简易电子琴设计实验报告
本次实验是针对简易电子琴的设计,主要使用以下几种器件完成:
ADC(数模转换器):
ADC是将模拟量转换成数值的重要器件,它的输入具有模拟量,而输出是一组数字量。

在本次实验中,用ADC读取我们设计的电路上的按键电压,以便得到正确的音符。

示波器:
示波器有助于直观地观察器件输出的数字和模拟信号,以诊断出电路中可能存在的故障,也能方便排除效果中的干扰信号。

本次实验主要实现电子琴的播放,首先通过电阻组等元器件来设计一组ADC电路,可
以正确测量到不同键盘上按键时的电压和电流值,读取到的电压值将被转换成十六进制数值,然后根据不同的数值,带入不同的DAC电路,电路会产生不同的模拟信号电压,最后
通过功放芯片,放大成足以听到的电子琴音乐。

在实验制作过程中,使用示波器可以实时地可视化观察我们的设计,检查出是否有任
何可能的故障,以便根据电路图维修,再次检查组装的电路输出是否正常,排除是否有任
何问题电路没有检查出来。

通过综合以上器件,一台不用太多复杂器件,而只要合理连接,即可以让简易电子琴
发出优美的音乐。

由于组装过程及晶体振荡器及ADC,DAC在电路设计上的影响,使得电子
琴的播放声音非常流畅,而且没有太多的驱动电路。

电子琴实验报告

电子琴实验报告

电子琴实验报告电子琴实验报告引言电子琴是一种现代化的乐器,它通过电子技术实现了声音的发声和控制。

本次实验旨在了解电子琴的工作原理和基本结构,并通过实际操作来感受电子琴的魅力。

一、电子琴的工作原理电子琴的工作原理主要有两个方面:发声和控制。

1.1 发声原理电子琴的发声原理是通过电子振荡器产生声音信号,然后经过放大和音色处理等步骤输出。

电子振荡器是电子琴的核心部件,它能够产生不同频率的电信号,通过音箱转化为声音。

1.2 控制原理电子琴的控制原理是通过按键和旋钮等操作控制电子琴的发声和音色。

按下琴键时,电子琴会接收到相应的信号,并通过电路控制发声模块的工作,从而产生不同音高的声音。

旋钮则用于调节音量、音色和音效等参数。

二、电子琴的基本结构电子琴的基本结构包括键盘、音源、音箱和控制面板等部分。

2.1 键盘电子琴的键盘通常采用标准的88键设计,分为黑键和白键。

黑键和白键分别代表了不同的音调,通过按下不同的键可以演奏出不同的音符。

2.2 音源电子琴的音源是指发声模块,它包括电子振荡器和音色处理电路等部分。

电子振荡器能够产生各种不同频率的电信号,而音色处理电路则可以对电信号进行加工,使得发出的声音更加丰富多样。

2.3 音箱音箱是电子琴的输出设备,它能够将电信号转化为声音。

音箱通常包括两个或多个扬声器,通过放大电信号的振幅来产生音量较大的声音。

2.4 控制面板控制面板是电子琴的操作界面,它包括按键、旋钮和显示屏等部分。

按键用于演奏音符,旋钮用于调节音量和音色等参数,显示屏则用于显示当前的操作状态和设置信息。

三、实际操作体验在实验中,我们使用了一台普通的电子琴进行操作体验。

首先,我们按下键盘上的不同键,发现每个键都对应着不同的音符,通过连续按下不同的键,我们能够弹奏出不同的乐曲。

然后,我们尝试调节音量和音色等参数,发现电子琴的音效可以根据我们的喜好进行调整。

最后,我们还尝试了连接外部音源和电脑等设备,发现电子琴不仅可以作为独立乐器使用,还可以与其他设备进行联动,扩展其功能。

基于MATLAB的数字信号发生器及简易电子琴设计

基于MATLAB的数字信号发生器及简易电子琴设计

基于MATLAB的数字信号发生器及简易电子琴设计摘要数字信号发生器是一种基于软硬件结合实现的函数波形产生仪器。

在工程实践中需要检测和分析的各种复杂信号均可分解成各种简单信号之和,而这些简单信号皆可由数字信号发生器模拟产生,因此它在工程分析和实验教学中有着广泛的应用。

MATLAB是一个数据分析和处理功能十分强大的工程实用软件,它的数据采集工具箱为实现数据的输入和输出提供了十分方便的函数和命令,在数字信号处理方面方便实用。

本文介绍了一种使用MATLAB建立一个简单数字信号发生器的基本流程,并详细叙述了简单波形(正弦波、方波、三角波、锯齿波、白噪声、脉冲、阶跃、斜坡)信号的具体实现方法。

最后,利用简单的正弦波信号和PC的声卡设计了一个简易电子琴。

关键字:MATLAB,数字信号发生器,简易电子琴1概述随着计算机技术和测试技术的不断发展,传统的测试仪器正向虚拟化方向发展,特别是在试验教学领域。

虚拟仪器作为现代仪器技术和计算机技术深层次结合的产物,更是得到了广泛应用。

信号发生器原本是模拟电子技术发展的产物,但本文设计出的数字信号发生器是基于计算机软硬件实现的数字信号发生器,是一种虚拟仪器。

2 设计原理常用的数字信号发生器一般可产生正弦信号、方波信号、三角波信号、锯齿波信号、白噪声信号、脉冲信号、阶跃信号、斜坡信号等。

此时的数字信号又可称为离散信号,即时间为离散变量的信号。

它只在离散时间上给出函数值,是时间上不连续的“序列”。

离散时间的间隔是均匀的,以t ∆表示。

t ∆的值由信号的采样频率fs 决定。

为保证采样后信号能真实地保留原始模拟信号信息,信号采样频率必须至少为原信号中最高频率成分的2倍。

这是采样的基本法则,称为采样定理。

本文为了使产生的数字信号更接近原始的模拟信号,采用的采样频率为原始信号频率的30倍。

MATLAB 程序提供了常用的各种基本信号的生成函数。

本设计需模拟的八种信号大部分都直接使用了MATLAB 提供的函数,只有少数几个信号没有调用函数,直接编写的。

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

实验一数字信号发生器和电子琴制作一、实验目的1.熟悉matlab的软件环境,掌握信号处理的方法,能在matlab的环境下完成对信号的基本处理;2.学会使用matlab的GUI控件编辑图形用户界面;3.了解matlab中一些常用函数的使用及常用运算符,并能使用函数完成基本的信号处理;二、实验仪器计算机一台,matlab R2009b软件。

三、实验原理1.数字信号发生器MATLAB是矩阵实验室(Matrix Laboratory)的简称,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB 和Simulink两大部分。

已知的常用正弦波、方波及三角波,可以通过matlab自带的函数实现,通过改变函数的幅值、相位和频率可以得到不同的信号。

正弦信号:y=A*sin(2*pi*f*t);方波信号:y=A*square(2*f*pi*x+c);三角波信号:y=A*sawtooth(2*pi*f*x+c);2. 电子琴电子琴的每个音阶均对应一个特定频率的信号,通过调用数字信号发生器产生一系列指定的频率的声音,从而达到虚拟的电子琴的功能。

界面中包含1、2、…、7共 7 个琴键,鼠标按下时即发声,松开时发声停止。

同时能够产生正弦波、方波、三角波等常见的波形的数字信号,然后将数字信号写入声卡的缓冲区,最后由声卡播放出相应的声音。

已知音乐的七个音阶的主频率分别是131Hz、147Hz、165Hz、175Hz、196Hz、220Hz和247Hz,分别构造正弦波、方波和三角波,可以组成简单的电子琴。

四、实验内容1.数字信号发生器的制作(1)搭建GUI界面图形用户界面(Graphical User Interface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。

与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上更易于接受。

Matlab环境下的图形用户界面(GUI)是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。

用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。

MATLAB的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可产生丰富的内容。

利用GUI控件中自带的按钮,根据需要组成如下图1所示的数字信号发生器的Gui界面。

图1 数字信号发生器的GUI界面(2)编写M文件搭建好GUI界面后,点击“保存”按钮,系统将自动生成M文件与Fig文件各一个,并且M文件内部已经按照GUI界面中组件的类别,分别自动生成了相应的模块调用函数。

根据需需要,我们对生成的各个函数进行补充,完成函数功能的实现及各个函数的调用关系。

本次实验主要对控件的回调函数(callback)下写入相应的程序,该程序相当于一个将前后面板连接起来的纽带,在数字信号生成中作用很大。

下面这段程序(仅重要部分)实现了函数根据用户的输入生成不同的正弦波、三角波及方波,最终将波形显示在坐标轴1上。

其中,在本例中slider1是改变幅值的滑移按钮,当用户在输入一个新的幅值时,A为对应幅值变量,发生相应改变,并判断选择的是何种波型,然后对相应的波型的幅值进行修改,最终通过绘图函数的调用将新波显示在图上。

同理,当我们逐渐改变频率和相位时,波形也会对应发生变化,在此不再赘述。

function slider1_Callback(hObject, eventdata, handles) ................................global a AstrA=get(handles.edit1,'string');A=str2double(strA);switch acase'正弦波'x=0:0.001:1;y1=A*sin(2*f*pi*x+c);plot(x,y1);case'三角波’x=0:0.001:1;y2=A*sawtooth(2*pi*f*x+c);plot(x,y2);case'方波'x=0:0.001:1;y3=A*square(2*f*pi*x+c);plot(x,y3);case'Ëæ»úÐźÅ'x=0:0.001:1;y4=rand(size(2*pi*f*x+c));plot(x,y4);end..............同时为了精确到达某一幅值,本实验搭建了文本编辑框实现对幅值,频率和相位的精确输入,所以在编辑框显示具体数值的基础上可以加入滚动条来调节幅值,频率和相位,这样会使界面更加人性化也更加好操作。

设计思路是在滚动条回调函数下将滚动条与文本编辑框联系连接起来,以实现通过滚动条就能调节幅值,频率和相位的目的。

在滚动条的回调函数slider1下将二者联系起来的程序如下所示:global a A f c x y1 y2 y3;strA=get(handles.edit1,'string');strf=get(handles.edit2,'string');strc=get(handles.edit3,'string');A=str2double(strA);f=str2double(strf);c=str2double(strc);axes(handles.axes1);str=get(hObject,'Value');set(handles.edit1,'string',str);......继续完善其他函数的填写,可以完成数字信号发生器的M文件编写,详细的M文件见附件。

(3)实验结果展示图2. 正弦波01图3 正弦波02图4. 正弦波03图5 正弦波04图6 方波图7 三角波图8 随机信号2. 电子琴的制作(1)搭建GUI界面Matlab的数据采集工具箱(DAT)提供了一系列的函数和命令来实现实时模拟信号的输出, 通过调用这些函数和命令可以直接控制声卡输出虚拟信号。

只需要一台带有普通多媒体声卡并安装了Matlab 软件的计算机就可以满足要求实现虚拟信号的输出, 系统结构简单方便。

为了基于matlab的GUI实现七音符电子琴并附加音量调节功能,可以搭建GUI面板如图所示:图9 电子琴的GUI界面(2)编写M文件根据网上资料,可以方便地查询得到七个音阶的发音频率,分别是131Hz,147Hz,165Hz,175Hz,196Hz,220Hz,247Hz。

所以,只要在7个pushbutton的callback下按频率分别写入这七种正弦波,并通过声卡进行播放即可。

Pushbutton下的回调函数程序(这里以pushbutton1为例):global a;axes(handles.axes1);a=get(handles. popupmenu1,'value')if a==1Fs = 44100;strA=get(handles.edit1,'string'); A=str2double(strA);str=get(handles.slider1,'Value'); set(handles.edit1,'string',str); dt = 1.0/Fs;t = 0:dt:0.1;y = A*sin(2*pi*131*t);plot(t,y);wavplay(y,Fs);axis([0 0.1 -100 100]);endif a==2Fs = 44100;strA=get(handles.edit1,'string'); A=str2double(strA);str=get(handles.slider1,'Value'); set(handles.edit1,'string',str); dt = 1.0/Fs;t = 0:dt:0.1;y = A*sawtooth(2*pi*131*t);plot(t,y);wavplay(y,Fs);axis([0 0.1 -100 100]);endif aa==3Fs = 44100;strA=get(handles.edit1,'string'); A=str2double(strA);str=get(handles.slider1,'Value'); set(handles.edit1,'string',str);dt = 1.0/Fs;t = 0:dt:0.5;y = A*square(2*pi*131*t);plot(t,y);wavplay(y,Fs);axis([0 0.1 -100 100]);end(3)实验结果展示由于电子琴的实验结果是声音,难以用文字表达,在下面仅用几张图片展示一下结果,详见附件。

图10电子琴演奏时的效果01图11 电子琴演奏时的效果05图12 电子琴演示效果五、试验体会心得通过本次实验,掌握了GUI界面的搭建,对matlab中常见的函数有了深刻的认识。

在学习中发现matlab是个很强大的软件,可惜自己对它的认识太少,以后还得自己学习。

同时发现自己做的电子琴没有人家网上做的好,音质较为粗糙,还亟待改进,也为自己的学习增加了新鲜感,但是对数字信号的处理有了实践性的认识,比仅从考试中学到的知识要深刻很多。

相关文档
最新文档