简易电子琴课程设计my.(共5篇)

时间:2019-05-13 02:25:42下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《简易电子琴课程设计my.》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《简易电子琴课程设计my.》。

第一篇:简易电子琴课程设计my.

武汉理工大学《模拟电子技术基础》课程设计说明书 课程设计任务书

学生姓名: 尹龙剑 专业班级: 电信1005班 指导教师: 王绪国 工作单位: 信息工程学院 题 目: 简易电子琴电路的设计仿真与实现 初始条件:

可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。

可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务:(1)设计任务

根据要求,完成对简易电子琴电路的仿真设计、装配与调试。(2)设计要求

①设计一简易电子琴电路,按下不同琴键即改变 RC值,能发出C调的八个基本音阶,采

用运算放大器构成振荡电路,用集成功放电路输出。已知八个基本音阶在C调时所对

② 选择电路方案,完成对确定方案电路的设计。

③ 利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原

理并仿真实现系统功能。

④ 安装调试并按规范要求格式完成课程设计报告书。⑤ 选做:利用仿真软件的PCB设计功能进行PCB设计。时间安排:

1、第18周前半周,完成仿真设计调试;并制作实物。

2、第18周后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。指导教师签名: 年 月 日

系主任(或责任教师)签名: 年 月 日

武汉理工大学《模拟电子技术基础》课程设计说明书 1模电课设概述 1.1 设计背景

介绍一种八音阶微型电子琴的设计方法,它采用模拟电路中的RC正弦振荡原理。设计出的电子琴音阶频率满足国际标准,La调频率满足国际标准音C调频率440 Hz。给出电路参数的选取方法和一组参考值。结果证明,用模拟电路方法制作电子琴结构简单,而且成本低廉。对于固定的简单功能的实现,模拟电路具有结构简单,实现方便,成本低廉的优点。在这方面,模拟电路得到广泛的应用。模拟电路中的RC正弦波振荡电路具有一定的选频特性,乐声中的各音阶频率也是以固定的声音频率为机理的。本文介绍基于RC正弦波振荡电路的简易电子琴设计方案。

1.2 设计目的及意义

A.培养学生正确的设计思想,理论联系实际的工作作风,严肃认真、实事求是的科学态

度和勇于探索的创新精神。

B.锻炼学生自学软件的能力及分析问题、解决问题的能力。

C.通过课程设计,使学生在理论计算、结构设计、工程绘图、查阅设计资料、标准与规

范的运用和计算机应用方面的能力得到训练和提高。

D.巩固、深化和扩展学生的理论知识与初步的专业技能。E.为今后从事电子技术领域的工程设计打好基础基本要求。1.3 开发环境multisim简介

Multisim是加拿大图像交互技术公司(Interactive Image Technoligics简称IIT公司)推出的以Windows为基础的仿真工具,适用于板级的模拟/数字电路板的设计工作。它包含了电路原理图的图形输入、电路硬件描述语言输入方式,具有丰富的仿真分析能力。

工程师们可以使用Multisim交互式地搭建电路原理图,并对电路行为进行仿真。Multisim提炼了SPICE仿真的复杂内容,这样工程师无需懂得深入的SPICE技术就可以很快地进行捕获、仿真和分析新的设计,这也使其更适合电子学教育。通过Multisim和虚拟仪器技术,PCB设计工程师和电子学教育工作者可以完成从理论到原理图捕获与仿真再到原型设计和测试这样一个完整的综合设计流程。武汉理工大学《模拟电子技术基础》课程设计说明书

目前在各高校教学中普遍使用Multisim2001,网上最为普遍的是Multisim 9,NI于2007年08月26日发行NI系列电子电路设计软件,NI Multisim v 10作为其中一个组成部分包含于其中。

EDA在发达国家的应用状况

EDA就是“Electronic Design Automation”的缩写技术已经在电子设计领域得到广泛应用。发达国家目前已经基本上不存在电子产品的手工设计。一台电子产品的设

计过程,从概念的确立,到包括电路原理、PCB版图、单片机程序、机内结构、FPGA的构建及仿真、外观界面、热稳定分析、电磁兼容分析在内的物理级设计,再到PCB钻孔图、自动贴片、焊膏漏印、元器件清单、总装配图等生产所需资料等等全部在计算机上完成。EDA技术借助计算机存储量大、运行速度快的特点,可对设计方案进行人工难以完成的模拟评估、设计检验、设计优化和数据处理等工作。EDA已经成为集成电路、印制电路板、电子整机系统设计的主要技术手段。美国NI公司(美国国家仪器公司)的Multisim 9软件就是这方面很好的一个工具。而且Multisim 9计算机仿真与虚拟仪器技术(LABVIEW 8)(也是美国NI公司的)可以很好的解决理论教学与实际动手实验相脱节的这一老大难问题。学员可以很好地、很方便地把刚刚学到的理论知识用计算机仿真真实的再现出来。并且可以用虚拟仪器技术创造出真正属于自己的仪表。极大地提高了学员的学习热情和积极性。真正的做到了变被动学习为主动学习。这些在教学活动中已经得到了很好的体现。还有很重要的一点就是:计算机仿真与虚拟仪器对教员的教学也是一个很好的提高和促进。

NI Multisim软件结合了直观的捕捉和功能强大的仿真,能够快速、轻松、高效地对电路进行设计和验证。凭借NI Multisim,您可以立即创建具有完整组件库的电路图,并利用工业标准SPICE模拟器模仿电路行为。借助专业的高级SPICE分析和虚拟仪器,您能在设计流程中提早对电路设计进行的迅速验证,从而缩短建模循环。与NI LabVIEW和SignalExpress软件的集成,完善了具有强大技术的设计流程,从而能够比较具有模拟数据的实现建模测量。2电路原理

2.1 基本乐理知识

音调主要由声音的频率决定,乐音(复音)的音调更复杂些,一般可认为主要由基音的频率来决定。也即一定频率的声音对应特定的乐音。在以C调为基准音的八度音阶中,所对应的频率如表1所示。如果能够通过某种电路结构产生特定频率的波形信号,再通过扬声器转换为声音信号,就能制作出简易的乐音发生器,再结合电子琴的一般结构,就可实现电子琴的制作了。2.2 RC桥式振荡电路及频率选择

武汉理工大学《模拟电子技术基础》课程设计说明书 RC桥式振荡电路可以选出特定频率的信号。具体实现过程的关键是RC串并联选频网络,其理论推导如下:

可得选频特性:

武汉理工大学《模拟电子技术基础》课程设计说明书

即当f0=11时,输出电压的幅值最大,并且输出电压是输入电压的,同时输出32πRC

电压与输出电压同相。通过该RC串并联选频网络,可以选出频率稳定的正弦波信号,也可以通过改变R、C的值,选出不同频率的信号。本实验通过改变电阻R的值来改变选频网络选出的频率,从而得到不同频率的信号,进而通过音频输出设备输出不同频率的声音。2.3 振荡条件

2.3.1 自激振荡条件

武汉理工大学《模拟电子技术基础》课程设计说明书

上图所示为含外加信号的正弦波振荡电路,其中A,F分别为放大器回路和反馈网络的放大系数。图中若去掉Xi,由于反馈信号的补偿作用,仍有信号输出。若Xf=Xi,可得自激振荡电路。自激振荡必须满足以下条件: 1. 振幅条件: A∙F=1

2.相位调节:ϕA+ϕF=2nπ,n∈Z 2.3.2 起振条件

自激振荡的初始信号一般较小,为了得到较大强度的稳定波形,起振条件需满足 |AF|>1。在输出稳定频率的波形前,信号经过了选频和放大两个阶段。具体来说,是对于选定的频率进行不断放大,非选定频率的信号进行不断衰减,结果就是得到特定频率的稳定波形。参数推导

则由式(8)及起振条件|A·F|>1,可得:

武汉理工大学《模拟电子技术基础》课程设计说明书

Z1=R1+1=R1+jWCjWC1 所以RF1,RF2和Rf的选取应满足式(9),但实际取值时,应让RF1略小于Rf。RF2的取值也应适当,以满足式(6),实现自激振荡。式中RF1,RF2和Rf依次对应于仿真图中的R11,R10和R9.2.4 当 R1与R2不相等时,其推导公式如下: 串联阻抗:

武汉理工大学《模拟电子技术基础》课程设计说明书 并联阻抗: 1 2πR1R2f0=

所以反馈系数为: 令

Z2=R2∙jWC2R2=1+jWCR2R2+jWC2 有

Z2F==Z1+Z2R1+=R+jWCR2+jWC+jWCR2R2SC(R1SC+1)(R2SC+1)+R2SC R2SC=R1R2S2C2+(2R2+R1)SC+1 1=2+R+j(R1SC+)2SSR2SC 1=R1W2++j(-)R2W1C W 1C=W W=1 CR1R2 得到

2.4.2起振条件推导如下:

武汉理工大学《模拟电子技术基础》课程设计说明书 当 有

在实际电路当中有R1<1,所以有 得到 f0=1 2πR1R2 R3≥R4

关于电路当中的几点说明: F=1 2+R2 1.所以在我设计的电路当中有

R3≥2R4

R10+R11>R9 A=1+ 我们选R10为8K,R11为5k,R9为9K.2.左边当中的电阻为串联,从上到下一次按下开关有阻值减小,而得到的音调增高。根据公式

有R0到R7依次为:14K,10K,7.2K,7.9K,5.7K,5K,2.3K,16.7K。

3.电路当中,U1A为集成运放RC串并联网络是选频网络,同时兼有正反馈网络功能,R9,R10,R11是负反馈网络,两个二极管是稳幅电路。f0=1 2πR1R2

武汉理工大学《模拟电子技术基础》课程设计说明书

3总体方案设计

3.1实验电路设计思路

简易电子琴由RC选频网络、集成运算放大器、节拍信号发生器组成。其框图如图下所示。3.2设计电路图

武汉理工大学《模拟电子技术基础》课程设计说明书

上图即为八音阶微型电子琴仿真电路图,8个开关对应着电子琴8个音阶琴键,使

用时闭合不同的开关可以发出不同的声音。电路中的运算放大器芯片LM324工作

电压要求是±5 V,其中引脚4接+5V,引脚11接-5V。本试验中LM324芯片的正 向输入端为引脚3,反向输入端为引脚2,1为输出端为引脚。3.3实验参数选择

1选频网络的频率推导公式为: f0=2πCR1R2

其中R1为图中的固定电阻,R2为图中需要调节阻值的8个电阻。表1 C调八音阶对应的基本频率,R6=600,R7=65400。

说明:实际仿真的结果所对应的电阻值有些误差。4 仿真曲线及结果分析 4.1仿真操作过程及曲线

根据要求用multisim进行了仿真,具体仿真曲线如下: 武汉理工大学《模拟电子技术基础》课程设计说明书

武汉理工大学《模拟电子技术基础》课程设计说明书

武汉理工大学《模拟电子技术基础》课程设计说明书

武汉理工大学《模拟电子技术基础》课程设计说明书

武汉理工大学《模拟电子技术基础》课程设计说明书

武汉理工大学《模拟电子技术基础》课程设计说明书

武汉理工大学《模拟电子技术基础》课程设计说明书

武汉理工大学《模拟电子技术基础》课程设计说明书

武汉理工大学《模拟电子技术基础》课程设计说明书 4.2仿真结果分析

本实验先是利用RC振荡电路起振,产生正弦波信号,然后通过RC选频网络进行选频,最后经过LM324放大后输出到音频设备及得到不同频率的声音。

本实验仿真得到的波形为方波(观察示波器输出波形可知),并且在零刻度线的上下部分是对称的。

当开关从R0到R7依次闭合时,串联进电路中的电阻依次减小,因此有公式: 1 f0=2πCR1R2

可得,振荡电路产生的信号的频率依次增大,选出的信号的频率也依次增大 5实物制作及仿真、实物的差异

5.1实物制作过程和调试过程

在做完了仿真之后,我们又制作了实物,具体见下列图片。

武汉理工大学《模拟电子技术基础》课程设计说明书

武汉理工大学《模拟电子技术基础》课程设计说明书 5.2仿真、实物的差异

本次课程设计所得的实物中用的原理图和仿真的是一样的,但是由于仿真中用到的一些电阻、电容实际买不到,并且仿真和实际都会存在误差,所以实物和仿真的元件参数并不一样,比如,仿真中用的电容是0.068uF的而实物中用的电容却是0.33uF,还有仿真和实物中用的电阻也不一样。6心得体会

这次课设在期末期间进行的,所以比较匆忙,但是我们小组也花了很多时间去准备。在知道小组题目之后,我们就进行了小组分工,我负责原理,另外2个同学分别负责仿真与焊接电路板,就这样我们开始了工作。

在拿到题目之后,我看到时简易电子琴的设计,而且题目当中也提示了用振荡电路,所以以这个为切入点我开始了原理的设计。在模电课程的第九章我们学过了正弦波信号产生电路,所以我就从书本当中寻找相关的知识点,看到RC正弦波振荡电路是一个很好的选择。接着我就开始归纳列写原理,并设计出了电路。之后我将电路给其他2个同学去仿真并焊接实物,最终我们做出了我们的实物。但当我们与其他做这个题目的同学讨论的时候发现我们做的不完整,我们只是做了振荡电路,并没有做后续电路,结果拿去测试的时候没有发出想要的音调。虽然我们没有得到最终的结果,但是在这个过程当中我们 把所学到的东西运用到了实际当中,在这个过程当中,我们加深了对知识点的理解。在这个过程当中我们也明白了合作的重要性,虽然原理大家都懂,但是在当今时代合作的优越性远远胜过个人的战斗。

在设计电路的过程当中,我发现很多平时不懂的地方渐渐地懂了。整个课设完成之后我明白了把理论运用于实际比单单学习理论知识更重要,因为在平时的学习过程当中我们只是把知识点一学,觉得懂了会做题了就一切无忧了,可是在这次设计的过程当中发现这是远远不够的。在设计的过程当中还是有很多不会的,而且就算会但是有很多地方还的注意到实际的应用性以及节省性。毕竟实际当中是需要利益的最大化,所以还是要学会很多的技巧。之所以这次设计不完整在于我的实际应用太少了,对于很多的东西还不懂,所以少做了功放,导致结果的不完整。这次课设我学会了很多,也发现有很多地方要改善,我想这对于以后的学习很有帮助。

武汉理工大学《模拟电子技术基础》课程设计说明书 7参考文献

[1] 吴友宇 《模拟电子技术基础》 北京:清华大学出版社,2009 [2] 康华光 《电子技术基础(模拟部分)》 北京:高等教育出版社,2006 [3] 周润景 《PROTEUS入门实用教程》 北京:机械工业出版社,2007 [4] 周灵彬 《基于Proteus的电路与PCB设计》 北京:电子工业出版社,2010 [5] 胡桃生 《模拟电子技术》 合肥:合肥工业大学出版社,2009 [6] 铃木亚臣 《晶体管电路设计》

[7] 蒋黎红 《模电数电基础实验及Multisim 7仿真》 浙江大学出版社,2007 武汉理工大学《模拟电子技术基础》课程设计说明书 本科生课程设计成绩评定表

指导教师签字: 年 月 日

第二篇:模电课程设计——简易电子琴的制作

课 程 设 计 报 告

题 目 : 简易电子琴电路的制作

课 程 名 称 : 模拟电子技术 院 部 名 称 : 专 业 : 班 级 : 学 生 姓 名 : 学 号 : 课程设计地点: 课程设计学时: 指 导 教 师 :

金陵科技学院教务处制 课程设计书写要求

课程设计报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。

课程设计报告书写说明

课程设计报告应包含一下七部分内容:

1、摘要

2、目录

3、前言/引言

4、正文

5、结论、6、参考文献

7、附录,每部分的书写要求参见具体条目要求。

填写注意事项

(1)准确说明,层次清晰。

(2)尽量采用专用术语来说明事物。

(3)外文、符号、公式要准确,应使用统一规定的名词和符号。(4)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

课程设计报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

课程设计题目:

简易电子琴的制作

一、摘要

本课程设计以制作一个简易电子琴为最终结果,主要以硬件测试为主。首先进行电路分析,设计电路图,其次考虑所有可能出现的问题,完善电路图,再选择合适的器件,最后按照电路图线路搭试,调试测试,直至达到理想的目标。

关键字:电子琴 振荡电路 放大器

二、目录

三、前言

本次课程设计主要是通过对电子琴主体部分的电路进行模仿设计,按下不同琴键改变 RC值,发出C调的八个基本音阶,采用运算放大器构成振荡电路,用集成功放电路输出音调,从而达到电子琴固有的基本功能。

四、正文

1、目的

2、设计任务与要求

3、基本原理

3.1音乐产生原理

由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了。

如果能够通过某种电路结构产生特定频率的波形信号,再通过扬声器转换为声音信号,就能制作出简易的乐音发生器,再结合电子琴的一般结构,就可实现电子琴的制作了。

3.2 设计原理 3.2.1振荡电路原理

由于RC振荡电路,一般用来产生1HZ~1MHZ范围内的低频信号;而LC振荡电路一般用来产生1MHZ以上的高频信号,由上表我们可以知道选择RC振荡电路。其基本电路为RC文氏电桥振荡电路。

3.2.1.1 RC桥式振荡电路图

3.2.1.2 RC串并联选频网络

RC桥式振荡电路可以选出特定频率的信号。具体实现过程的关键是RC串并联选频网络,其理论推导如下:

可得选频特性:

即当f0=1/(2πRC)时,输出电压的幅值最大,并且输出电压是输入电压的1/3,同时输出电压与输出电压同相。通过该RC串并联选频网络,可以选出频率稳定的正弦波信号,也可通过改变R,C的取值,选出不同频率的信号。

3.2.1.3 振荡条件 1)自激振荡条件 图2所示为含外加信号的正弦波振荡电路,其中A,F分别为放大器回路和反馈网络的放大系数。图2中若去掉Xi,由于反馈信号的补偿作用,仍有信号输出,如图3所示Xf=Xi,可得自激振荡电路。自激振荡必须满足以下条件:

2)起振条件

自激振荡的初始信号一般较小,为了得到较大强度的稳定波形,起振条件需满足|AF|>1。在输出稳定频率的波形前,信号经过了选频和放大两个阶段。具体来说,是对于选定的频率进行不断放大,非选定频率的信号进行不断衰减,结果就是得到特定频率的稳定波形。3.2.1.4器件选择

知道了电容值通过公式 f=f0=1/2πRC 结合表一,即可计算出八个音阶对应的电阻值,分别为R21=36.3KΩ,R22=28.65 KΩ,R23=23.23 KΩ,R24=20.4KΩ,R25=16.13 KΩ,R26= 13.06KΩ,R27=10.32 KΩ,R28=9.07 KΩ,通过值选择电阻器件(就近原则)。3.2.1.5震荡电路总原理图

3.2.2功率放大电路

DG4100 系列低频集成功率放大电路时单片式集成电路,如下图所示,特别适合在低压下工作。DG4100 型集成功放输出功率是1.0W。推荐电源电压为6V,负载电阻为4Ω;DG4101 型集成功放输出功率是1.5W,推荐电源电压为7.5V,负载电阻为4Ω;DG4102 型集成功放输出功率是2.1W,推荐电源电压为9V,负载电阻为8Ω。本实验采用了DG4102 型单片式集成功率放大电路,此集成电路是带散热片的14 脚双列直插式塑料封装结构,其结构外形如图2所示。

1——输出端 6——反相输出端 9——输出端 4、5——补偿电容 10、12——旁路电容 13——自举电容 2、7、8、11——空脚 3——接地 14——电源电压(+VCC)功率放大电路图

4、简易电子琴制作工艺 4.1、元件布局及布线 4.2、手工焊接技术

焊接技术在电子工业中的应用非常广泛,在电子产品制造过程中,几乎各种焊接方法都要用到,但使用最普遍、最有代表性的是锡焊。锡焊是焊接的一种,它是将焊件和熔点比焊件低的焊料共同加热到锡焊温度,在焊件不熔化的情况下,焊料熔化并浸润焊接面,依靠二者原子的扩散形成焊件的连接。其主要特征 有以下三点:

(1)焊料熔点低于焊件;

(2)焊接时将焊料与焊件共同加热到锡焊温度,焊料熔化二焊件不熔化;

(3)焊接的形成依靠熔化状态浸润焊接面,有毛细作用使焊料进入焊件的间

隙,形成一个合金,从而实现焊件的结合。进行锡焊,必须具备的条件有以下几点:

(1)焊件必须具有良好的可焊性:所谓可焊性是指在适当温度下,被焊金属材料与锡焊能形成良好结合的合金的性能。

(2)焊件表面必须保持清洁:为了使锡焊和焊件达到良好的结合,焊接表面一定要保持清洁。

(3)要使用合适的助焊剂:助焊剂的作用是清除焊件表面的氧化膜,通常采用以松香为主的助焊剂,一般式用酒精将松香溶解成松香水使用。

(4)焊件要加热到适当的温度:焊接时,热能的作用是熔化焊锡和加热焊接对象,使锡、铅原子获得足够 的能量渗透到被焊金属表面的晶格中而形成合金。(5)合适的焊接时间:焊接时间是指在焊接全过程中,进行物理和化学所需要的时间,一般,每个焊点焊接一次的时间最长不超过5s。4.3、元件制作工艺

电子产品的电气连接,是通过对元器件、零部件的装配与焊接来实现的。安装与连接,是按照设计要求制造电子产品的主要生产环节。

4.3.1 元器件引线的弯曲成形 为使元件在印制板上的装配排列整齐便于焊接,在安装前通常采用手工或专用机械把元器件引线弯曲成一定得形状——整形,如图 所示。图(a)比较简单,适合于手工装配;图(b)适合于机械整形和自动装焊,特别是可以避免元器件在机械焊接过程中从印制板上脱落;图(c)虽然对某些怕热的元器件在焊接时散热有利,但因为加工比较麻烦,现在已经少用了。

(a)

(b)

(c)

各种元件的安装,尽量使它们的标记(用色码或字符标注的数值、精度等)朝上或者朝着易于辨认的方向,并注意标记的读数方向一致(从左到右或者从上到下),这样有利于检查人员的直观检查;卧式安装的元器件,尽量使两端引线的长度相等对称,把元器件放在两孔中央,排列要整齐;立式安装的色环电阻应该高度一致,最好让起始色环向上以便检查安装错误,上端的引线不要留得太长以免与其他元器件短路,如图4 所示。有极性的元器件,插装时要保证方向正确。

4.4、电子琴制作效果

5、电路检测与结果分析 5.1、芯片测试

首先进行741芯片的测试,将芯片插在模拟实验包里面的芯片座上,将缺口朝左,用导线连接成反相比例电路,电路图如图所示。

接好之后将输入端接地,然后用万用表打在直流电压档,测试输出端是否为零,如果不是则调零,如果能进行调零则说明芯片是好的。同理DG4102也是如此。5.2、振荡电路测试

将芯片插在事先焊接好的 741 底座上面,然后根据引脚的功能在模拟实验箱上面用导线连接,将六脚连接在示波器的输入端,7 脚接模拟实验箱上面的+12V,4 脚接-12V,打开开关,按住电路板上的开关,调节电位器,直到出现了稳定的波形,即可,最后在示波器上面算出各自的频率和幅值,计算误差,如下表:

误差分析:出现的误差可能的原因是选择的电阻值没有很接近所计算的值,从而导致产生的频率不是所给的频率;还有一种可能就是示波器的问题,这就是仪器硬件问题了。5.2.1、产生波形

5.3、电子琴的测试 再接好功放电路,进行最后的测试。将模拟实验箱上面的+5V 接到14 脚上的+VCC 上,741 芯片步骤二的接法,依次按住电路板上面的开关,看是否能通过扬声器发出八种声音,如果能则说明成功了,否则要耐心地检查电路那边接错了或少接了,或者芯片在测试过程中由于接的不恰当被烧坏了,这些都是需要考虑的问题。

五、结论

本次的电子琴课程设计让我们初次接触到了模拟电子电路的课程设计,此次设计中我们通过了相关的设计计算和电路的焊接调试让我们深层次的了解了我们之前所学的基础知识,不仅提高了我们自主学习的能力,更重要的是锻炼了我们动手和自主分析解决问题的能力。

六、参考文献

七、附录

第三篇:EDA课程设计 电子琴

简易电子琴的设计和实现

----结题报告

学号:110342241

姓名:章译文

一.设计要求

1.能发出1234567基本音。

2.能自动播放《偶像万万岁》和《梁祝》。3.能在数码管上显示弹奏时的音名。

二.设计原理分析

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Ⅱ中的宏模块,用来实现多位的“多选一”,它的数据位数可以以及数据的数量可以任意设定。

电路中使用了与非门,实现发音与现实同时实现,在此要注意的是,因为使用了与非门,静态字符现实数码管管脚的设定值应该与原值相反。

三.设计原理图

简易电子琴原理图

根据以上分析,将三个模块组合,便得到了简易电子琴的整体设计。在整体设计的过程中,要注意三个模块之间的关系,使其能够相互作用,正常发音和显示。

四.实验总结 在这三天的实验过程中,通过对于实验目的的分析,有目标的查找资料,研读教材,在分清楚模块的基础上,写下了实验计划,规划好时间,确定每天要做的事。在实验的第一天,实现了按键发音,同时,也基本弄清楚了自动播放的原理,有了设计思路,第二天上午,完成了自动循环播放的功能,下午在同学的帮助下,确定了数码管显示的基本思路,通过对于以前知识的复习和查找,成功实现了数码管的显示功能。

在实验的过程中,也遇到很多的困难。在自动播放的时候,由于没有修改hebing.mif的进制,音乐总不能正常播放。还有就是在数码管显示的时候,一开始没有弄清与非门的作用,显示的数字总是反着的。后来经过冷静的分析,在老师和同学的帮助下,成功完成了电子琴的设计,实现了所有的功能。当然,设计也还有很多可以完善和改进的地方,在以后的学习过程中,我会更加用心,多做,多思考。

这次课程设计,我受益匪浅,这种认真研读,查找资料,动手操作的学习方式,应该贯彻到每一门课程的学习,也应该贯彻到我们的生活中。一直保持这样的方式,不管做什么事,都会取得很好的结果。

第四篇:EDA_电子琴课程设计

基于VHDL原理图及文本输入法 的简单电子琴电路的设计

1.1 课程设计目的

本课程设计主要是基于VHDL文本输入法设计乐曲演奏电路,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,通过按键输入来控制音响或者自动演奏已存入的歌曲。系统由乐曲自动演奏模块、音调发生模块和数控分频模块三个部分组成。系统实现是用硬件描述语言VHDL按模块化方式进行设计,然后进行编程、时序仿真、电路功能验证,奏出美妙的乐曲(当然由于条件限制,暂不进行功能验证,只进行编程和时序仿真)。该设计最重要的一点就是通过按键控制不同的音调发生,每一个音调对应不同的频率,从而输出对应频率的声音。

1.2 课程设计内容

(1)设计一个简易的八音符电子琴,它可通过按键输入来控制音响。

(2)系统演奏时可以选择是手动演奏(由键盘输入)还是自动演奏已存入的乐曲。(3)能够自动演奏多首乐曲,且乐曲可重复演奏。

1.3 课程设计原理

本课程设计目的在于灵活运用EDA技术编程实现一个简易电子琴的乐曲演奏,它要求在实验箱上构造一个电子琴电路,不同的音阶对应不同频率的正弦波。按下每个代表不同音阶的按键时,能够发出对应频率的声音。故系统可分为乐曲自动演奏模块(AUTO)、音调发生模块(TONE)和数控分频模块(FENPIN)三部分。系统的整体组装设计原理图如图1-1所示。

图1-1 系统的整体组装设计原理图

由于设计分模块组成,每个单独的模块都是一个完整的源程序,分别实现不同性质的功能,但是每个模块又是紧密关联的,前一个模块的输出很可能是后一模块的输入。如AUTO模块的音符信号输出就是TONE模块的音符信号输入。另外,时钟脉冲信号在本课程设计中用的最多,用处也最大,一般情况下时钟信号处上升沿有效,判断和控制各个计数器计数多少。简易电子琴的设计过程

根据系统设计要求,系统该系统基于计算机中时钟分频器的原理,设计采用自顶向下的设计方法,通过按键输入来控制音响或者自动演奏已存入的歌曲。它由乐曲自动演奏模块、音调发生模块和数控分频模块三部分组成。

2.1 乐曲自动演奏模块

乐曲自动演奏模块的作用是产生8位发生控制输入信号。当进行自动演奏时,由存储在此模块的8位二进制数作为发声控制输入,从而自动演奏乐曲。

该模块的VHDL源程序主要由3个工作进程组成,分别为PULSE0,MUSIC和COM1。PULSE0的作用是根据键盘输入(自动演奏)的值(0或1)来判断计数器COUNT以及脉冲CLK2的输出值。部分源程序如下:

PULSE0:PROCESS(CLK,AUTO)

--工作进程开始

VARIABLE COUNT:INTEGER RANGE 0 TO 8;

--定义计数器变量,值从0到8

IF AUTO='1'THEN

--键盘输入为1

COUNT:=0;CLK2<='0';--计数器值指0,时钟信号为0

ELSIF(CLK'EVENT AND CLK='1')THEN--时钟输入信号为1

COUNT:=COUNT+1;--计数器加1

当确定了时钟信号输出的值后,在第二个PROCESS中就可以由它控制8位发声控制输入信号了。即CLK2的值为0时,COUNT0为1。最后的COM1便是由前两个PROCESS所确定的COUNT0、AUTO和键盘输入信号值INDEX2将8位的二进制数转化为音符信号的输出,达到自动演奏的目的。部分源程序如下:

IF AUTO='0'THEN CASE COUNT0 IS WHEN 0=>INDEX0<=“00000100”;--3

WHEN 4=>INDEX0<=“00010000”;--5 该模块最主要的用途就是将输入二进制数转化为发声控制输入,是产生音符的重要步

骤,AUTO模块的源程序符号编辑图如图3-1。

图3-1 AUTO模块的符号编辑图

2.1.1乐曲演奏模块文本程序:--程序名称:AUTO.VHD--程序功能:采用VHDL语言编程产生8位发声控制输入信号。

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY AUTO IS

PORT(CLK:

IN STD_LOGIC;

--系统时钟信号

AUTO:

IN STD_LOGIC;

--键盘输入/自动演奏

CLK2: BUFFER STD_LOGIC;

--时钟输出

INDEX2: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

--键盘输入信号

INDEX0: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));--音符信号输出 END AUTO;ARCHITECTURE BEHAVIORAL OF AUTO IS SIGNAL COUNT0:INTEGER RANGE 0 TO 31;--定义信号计数器,有32个信号元素 BEGIN PULSE0:PROCESS(CLK,AUTO)

--PULSE0工作进程开始

VARIABLE COUNT:INTEGER RANGE 0 TO 8;

--定义变量计数器,从0到8 BEGIN

IF AUTO='1'THEN

--键盘输入为1

COUNT:=0;CLK2<='0';

--计数器值为0,时钟信号2幅值为0

ELSIF(CLK'EVENT AND CLK='1')THEN

--输入的时钟信号为其他值

COUNT:=COUNT+1;

--计数器加1即为1

IF COUNT=4 THEN

CLK2<='1';

ELSIF COUNT=8 THEN

CLK2<='0';COUNT:=0;END IF;END IF;END PROCESS;MUSIC:PROCESS(CLK2)

--MUSIC工作进程开始 BEGIN

IF(CLK2'EVENT AND CLK2='1')THEN

--时钟信号2为1

IF(COUNT0=31)THEN

--计数器值为31

COUNT0<=0;

--计数器清0 ELSE

COUNT0<=COUNT0+1;

END IF;END IF;END PROCESS;COM1:PROCESS(COUNT0,AUTO,INDEX2)BEGIN IF AUTO='0'THEN

--键盘输入为0 CASE COUNT0 IS

--由计数器从0到31的取值判断音符信号的8位二进制数

WHEN 0=>INDEX0<=“00000100”;

--3 WHEN 1=>INDEX0<=“00000100”;

--3 WHEN 2=>INDEX0<=“00000100”;

--3 WHEN 3=>INDEX0<=“00000100”;

WHEN 4=>INDEX0<=“00010000”;

WHEN 5=>INDEX0<=“00010000”;

WHEN 6=>INDEX0<=“00010000”;

WHEN 7=>INDEX0<=“00100000”;

WHEN 8=>INDEX0<=“10000000”;

WHEN 9=>INDEX0<=“10000000”;

WHEN 10=>INDEX0<=“10000000”;WHEN 11=>INDEX0<=“00000100”;WHEN 12=>INDEX0<=“00000010”;WHEN 13=>INDEX0<=“00000010”;WHEN 14=>INDEX0<=“00000001”;WHEN 15=>INDEX0<=“00000001”;WHEN 16=>INDEX0<=“00010000”;WHEN 17=>INDEX0<=“00010000”;WHEN 18=>INDEX0<=“00001000”;WHEN 19=>INDEX0<=“00001000”;WHEN 20=>INDEX0<=“00001000”;WHEN 21=>INDEX0<=“00000100”;WHEN 22=>INDEX0<=“00000010”;WHEN 23=>INDEX0<=“00000010”;WHEN 24=>INDEX0<=“00010000”;WHEN 25=>INDEX0<=“00010000”;WHEN 26=>INDEX0<=“00001000”;WHEN 27=>INDEX0<=“00001000”;WHEN 28=>INDEX0<=“00000100”;WHEN 29=>INDEX0<=“00000100”;WHEN 30=>INDEX0<=“00000010”;WHEN 31=>INDEX0<=“00000010”;WHEN OTHERS=>NULL;END CASE;ELSE INDEX0<=INDEX2;

END IF;END PROCESS;END BEHAVIORAL;

2.2 音调发生模块

--3--5--5--5--6--8--8--8--3--2--2--1--1--5--5--4--4--4--3--2--2--5--5--4--4--3--3--2--2

--将音符信号0的值赋给音符信号2

音调发生模块的作用是产生音阶的分频预置值。当8位发声控制输入信号中的某一位为高电平时,则对应某一音阶的数值将输出,该数值即为该音阶的分频预置值,分频预置值控制数控分频模块进行分频,由此得到每个音阶对应的频率。

该模块的唯一输入信号INDEX对应就是自动模块中最后的输出INDEX0,音符显示信号CODE,高低音显示信号HIGH和音符分频系数都是根据音符输入确定的。比如我们自定义INDEX第8位为高电平时,它的分频系数则为773Hz,音符显示信号为1001111,即是773的二进制表示,此时高低音显示1表示高音。部分源程序如下: CASE INDEX IS WHEN“00000010”=>TONE0<=912;CODE<=“0010010”;HIGH<='1';--音符第7位为1,分频数912Hz,音符显示为0010010,属高音 WHEN“01000000”=>TONE0<=1372;CODE<=“0001111”;HIGH<='0';WHEN OTHERS =>TONE0<=2047;CODE<=“0000001”;HIGH<='0';显然,该模块最主要的作用就是给音符输入预设频率值,因为,电子琴最终实现乐曲演奏就是输出不同频率的正弦波,此模块就是将二进制发声信号转化为对应的频率。

3—2 TONE模块的符号编辑图

2.2.1音调发生模块文本程序:--程序名称:TONE.VHD--程序功能:采用VHDL语言编程产生音阶的分频预置值。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 ART OF TONE IS BEGIN SEARCH:PROCESS(INDEX)

BEGIN CASE INDEX IS WHEN“00000001”=>TONE0<=773;CODE<=“1001111”;HIGH<='1';

--分频系数773Hz,音符显示1001111,显示低音

WHEN“00000010”=>TONE0<=912;CODE<=“0010010”;HIGH<='1';WHEN“00000100”=>TONE0<=1036;CODE<=“0000110”;HIGH<='1';WHEN“00001000”=>TONE0<=1116;CODE<=“1001100”;HIGH<='1';WHEN“00010000”=>TONE0<=1197;CODE<=“0100100”;HIGH<='1';WHEN“00100000”=>TONE0<=1290;CODE<=“0100000”;HIGH<='0';WHEN“01000000”=>TONE0<=1372;CODE<=“0001111”;HIGH<='0';WHEN“10000000”=>TONE0<=1410;CODE<=“0000000”;HIGH<='0';WHEN OTHERS =>TONE0<=2047;CODE<=“0000001”;HIGH<='0';END CASE;END PROCESS;END ART;2.3 数控分频模块

数控分频模块是对时基脉冲进行分频,得到与0、1、2、3、4、5、6、7八个音符相对应的频率。FENPIN模块的源程序符号编辑图如图3-3。

3—3 FENPIN模块符号编辑图

该模块主要由4个工作进程组成。首先,根据系统时钟信号的输入得到时基脉冲以及计数器的值,而时钟信号在AUTO模块中便已给出,两者之间的设置关系类似于AUTO模块中第一个工作进程的设置。第二个PROCESS是此模块的核心,即由时基脉冲值转化为音符的频率。部分源程序如下:

VARIABLE COUNT11:INTEGER RANGE 0 TO 2047;--定义频率计数器,从0到2047Hz

IF(PRECLK'EVENT AND PRECLK='1')THEN--时基脉冲为1时

IF COUNT11

--频率计数器小于音符分频系数

COUNT11:=COUNT11+1;FULLSPKS<='1';--计数加1,扬声器音频为1 ELSE

COUNT11:=0;FULLSPKS<='0';最后一个PROCESS则是用来设置扬声器输出信号的,扬声器信号由0和1控制,当且仅当前一个PROCESS中的FULLSPKS输出为1时,扬声器才有输出,再根据计数器取值来确定输出是1还是0。部分源程序如下:

IF(FULLSPKS'EVENT AND FULLSPKS='1')THEN--扬声器音频信号为1

COUNT2:=NOT COUNT2;

IF COUNT2='1'THEN SPKS<='1';

--扬声器输出为1 ELSE SPK<=’0’;

.2.3.1数控分频模块文本程序:

LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY FENPIN IS PORT(CLK1: IN STD_LOGIC;

--系统时钟信号

TONE1: IN INTEGER RANGE 0 TO 2047;--音符分频系?

SPKS: OUT STD_LOGIC);

--驱动扬声器的音频信? END ENTITY FENPIN;

ARCHITECTURE ART OF FENPIN IS

SIGNAL PRECLK:STD_LOGIC;

--定义时基脉冲信号

SIGNAL FULLSPKS:STD_LOGIC;BEGIN PROCESS(CLK1)VARIABLE COUNT:INTEGER RANGE 0 TO 8 :=0;

--定义变量计数器,从0到8 BEGIN IF(CLK1'EVENT AND CLK1='1')THEN

--据时钟信号为1时

COUNT:=COUNT+1;

--判断计数器取值为1

IF COUNT=2 THEN

PRECLK<='1';ELSIF COUNT=4 THEN

--若计数器计4

PRECLK<='0';

COUNT:=0;--时基脉冲为0,计数器清零

ELSE

END IF;END IF;END PROCESS;PROCESS(PRECLK,TONE1)VARIABLE COUNT11:INTEGER RANGE 0 TO 2047;--定义变量频率计数器11,从0到2047Hz BEGIN

IF(PRECLK'EVENT AND PRECLK='1')THEN

--PRECLK脉冲上升沿触发

IF COUNT11

--若计数器11值小于音符信号1

COUNT11:=COUNT11+1;

FULLSPKS<='1';

--计数器加1,音频信号为1

ELSE

COUNT11:=0;

FULLSPKS<='0';

END IF;END IF;

END PROCESS;PROCESS(FULLSPKS)

--音频信号输出进程开始--VARIABLE count2:integer range 0 to 1 :=0;

--定义变量计数器2,初值为0--BEGIN IF(FULLSPKS'EVENT AND FULLSPKS='1')THEN

if count2=1 then count2:= 0;

else

count2:=1;

end if;

IF COUNT2=1 THEN

SPKS<='1';

ELSE

SPKS<='0';

END IF;END IF;END PROCESS;END ART;2.4 顶层设计

该DIANZIQIN模块是整个电子琴设计的核心,也是VHDL程序的主程序,前面3个源程序都是作为子程序分别实现电子琴的某一功能,而DIANZIQIN模块则通过调用子程序最终实现乐曲演奏的目的,奏出美妙的乐曲。利用VHDL语言COMPONENT将三个模块组合起来,其中3个模块和DIANZIQIN模块的输入输出是一一对应的,比如AUTO对应HANDTOAUTO,TONE0对应TONE2,SPKS对应SPKOUT等,该模块的符号编辑图如图3-4。

图3-4 DIANZIQIN系统模块的符号编辑图

该图描述的是DIANZIQIN模块输入输出的变量表示,整个系统的整体组装设计原理图就是这4幅编辑图按输入输出关系顺序连接而成的。2..4.1顶层模块文本程序:--程序名称:DIANZIQIN.VHD--程序功能:采用VHDL语言编写主程序调用3个子程序,实现乐曲演奏的功能。LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY DIANZIQIN IS PORT(CLK32MHZ: IN STD_LOGIC;

--系统时钟信号

HANDTOAUTO: IN STD_LOGIC;

--键盘输入/自动演奏信号

CODE1: OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--音符显示信号

INDEX1: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

--键盘输入信号

HIGH1: OUT STD_LOGIC;

--高低音节信号

SPKOUT: OUT STD_LOGIC);

--音频信号 END;ARCHITECTURE ART OF DIANZIQIN IS COMPONENT AUTO

--引用 AUTO元件 PORT(CLK: IN STD_LOGIC;

AUTO: IN STD_LOGIC;

--输入自动演奏信号

INDEX2: IN STD_LOGIC_VECTOR(7 DOWNTO 0);

--输入8位控制信号

INDEX0: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

--输出8位的音符 END COMPONENT;COMPONENT TONE

--引用TONE元件 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 COMPONENT;COMPONENT FENPIN

--引用FENPIN元件 PORT(CLK1: IN STD_LOGIC;

TONE1: IN INTEGER RANGE 0 TO 2047;

SPKS: OUT STD_LOGIC);END COMPONENT;SIGNAL TONE2:INTEGER RANGE 0 TO 2047;

--定义主程序音调频率信号 SIGNAL INDX:STD_LOGIC_VECTOR(7 DOWNTO 0);

--定义8位的音符信号 BEGIN U0:AUTO PORT MAP(CLK=>CLK32MHZ,INDEX2=>INDEX1,INDEX0=>INDX,AUTO=>HANDTOAUTO);

--调用自动演奏模块 U1:TONE PORT MAP(INDEX=>INDX,TONE0=>TONE2,CODE=>CODE1,HIGH=>HIGH1);--调用音调发

生模块

U2:FENPIN PORT MAP(CLK1=>CLK32MHZ,TONE1=>TONE2,SPKS=>SPKOUT);END ART;

--调用数控分频模块 系统仿真

系统仿真是在实际系统上进行实验研究比较困难时适用的必不可少的工具,它是指通过系统模型实验去研究一个已经存在或正在设计的系统的过程,通俗地讲,就是进行模型实验。因而,系统仿真的结果决定整个课程设计任务完成的到位程度。

3.1 时序仿真

编译完成后,可以对所进行的设计进行仿真,下面介绍一下仿真的步骤。(1)在file下拉菜单中选择new,再在其弹出的对话框中点选,点击OK确定,则进入了文本编辑器,在编辑区输入程序,然后保存为.vhd文件(注意保存时实体名要与文件名一致,否则编译时会出错);接下来在file下来菜单选择project,在其下拉菜单中选Assign,在其下拉菜单中选device,最后选择,建立工程文件。第三步,在菜单栏里选择,再选,确定即可;第四步,在菜单栏中点击MAX+plusII再用下拉菜单中选compiler进行编译。

(2)打开波形编辑器,在Node菜单中选择Enter Nodes from SNF项,列出所有的信号,选择所需要的信号,然后画出输入信号的波形,最后将该文件以.scf的扩展名 存盘。

(3)在MAX+plusⅡ菜单中打开仿真器窗口,单击Start按钮,当仿真器结束工作时,单击Open SCF按钮,就可以看到仿真的结果。

本课程设计的仿真平台是MAX+plusⅡ,通过对VHDL源程序进行编译检错,然后创建波形文件(后缀名为.scf),加入输入输出变量,选择适用的芯片(EPF10K10LC84-3)以及设定仿真结束时间(100us),设置好输入初值进行仿真,得到仿真波形图。由于电子琴4个模块都是独立的程序,可分别对各个程序仿真,验证输入输出的正确性,但在最终能演奏出乐曲的则是顶层设计模块。

3.1.1乐曲自动演奏模块的仿真如图3-1所示。

图3-1 乐曲自动演奏模块的仿真图

该图输入系统时钟信号CLK初值设为0,自动演奏AUTO设为1,键盘输入信号INDEX2为00,INDEX0为音符信号输出,是8位的二进制代码它根据COUNT0的值改变而改变。

3.1.2音调发生模块的仿真如图3-2所示。

图3-2 音调发生模块的仿真图

该图输入音符信号INDEX初值为00,输出是音符显示信号CODE为01,高低音显示信号为0,音符的分频系数为11111111即2047Hz。

3.1.3数控分频模块的仿真如图3-3所示。

图3-

3数控分频模块的仿真图

该图输入系统时钟信号CLK1初值为0(各输出值都是在时钟信号的下降沿有效),音符分频系数TONE1为00100000即1290Hz,驱动扬声器的音频信号SPKS输出为1。

3.1.4简易电子琴整个系统的仿真如图3-4所示。

图3-4 简易电子琴整个系统的仿真图

该图输入系统时钟信号CLK32MHZ初值为0,自动演奏信号HANDTOAUTO初值为0,键盘输入信号INDEX1为00000000;输出音符信号CODE1则为0110000,高低音节信号HIGH1变为1,即高音,音频信号SPKOUT即输出0,输出为1时CODE1变为0110100,这时出现10ns的延时。在仿真时由于系统各方面原因影响,出现延时属于正常现象。

3.2原理图综合时序仿真

步骤:

1、在file下拉菜单里面选择new,再在其弹出的对话框中点选,即可进入原理图编辑界面,右击鼠标选择(enter symbol..)则会弹出如右图的对话框,然后左键分别双击对话框中Symbol File栏中的 AUTO、FENPIN和TONE则会调入相应模块的原理图,然后按照电子琴设计要求将各个模块连接起来,组成完整的电子琴演奏系统,如图3-5所示。

3-5 系统的整体组装设计原理图

将绘制好的原理图保存,确保无误后运行进行仿真。

2、时序仿真:(1)建立波形文件。(2)输入信号近点。(3)设置波形参数。(4)设置仿真时间宽度。(5)加上输入信号。(6)波形文件存盘。(7)运行仿真器。(8)观察分析波形。之后得到的仿真时序图如图3-6所示。

图3-6系统原理图仿真时序图

3.3 问题分析

在此次课程理论设计中,不可避免地遇到许多棘手的问题,一是对EDA技术的不太了解,二是对理论知识的学习不够扎实,初涉VHDL语言以致很多语法和语言基本结构、算法生疏,运用不灵活。因此,在编写源程序上遇到极大的难题,而且在编译运行程序时对出错的语句理解不到位,导致难于下手修正错误语句、语法,这使得在设计程序时遇到更大的很大的麻烦。还有就是VHDL语言的数据类型和语法结构都很容易造成混淆,比如IN STD_LOGIC_VECTOR(7 DOWNTO 0)语句,它有时既可以认为是从7下降到0,也可认为是从0上升到7,当输入有多位时,这就容易造成在读懂仿真波形图时读位数倒置,使仿真现象与理论结果相出入。

在分频模块程序设计时遇到了编译不出来,图形错误等编译时总是出现非法的错误,经过老师修改和指正,最后终于编译成功,完成了该系统的文本设计。设计小结

通过这本的HDL课程设计,既锻炼了我的动手能力,也让我加深了对课堂上所学到的理论知识的理解,这给我提供了一个在学习生活中很难得的理论联系实际的机会,让了深刻体验到在对于设计时遇到的不同问题时,首先应该理解问题关键所在,因为用语言编写程序需要仔细认真的态度,一点点错误漏洞将导致整个源程序无法编译运行,阻碍下一步工作完成进度。

还有我也发现了在平时学习过程中难于发现的许多缺点不足。比如实践的机会过少,所学的理论知识不能够灵活运用,因此在遇到实际的问题时无法正确处理;再者在课堂上获得的专业知识过于浅显,很多的有关基本操作原理、操作方法都理解不了;课外知识了解的也过少,导致在课程设计初期,面对完全陌生的设计课题无从下手,不知所措。这就

提醒我在注重学好理论的同时,更要加强动手的能力,不要一味的照搬课本上的知识,要创新,才能在当今竞争激烈的社会中立足,记住,命运掌握在自己手里,一切都只能靠我们自己。

课程设计

1.1 课程设计目的……………………………………………………1 1.2 课程设计内容……………………………………………………………1 1.3 课程设计原理……………………………………………………………1 简易电子琴的设计过程

2.1 乐曲自动演奏模块………………………………………………………2 2.1.1乐曲演奏模块文本程序……………………………………………………………3

2.2 音调发生模块……………………………………………………………4 2.2.1音调发生模块文本程序………………………………………………………………5

2.3 数控分频模块……………………………………………………………6.2.3.1数控分频模块文本程序

…………………………………………………………7

2.4 顶层设计…………………………………………………………………8 2..4.1顶层模块文本程序 ………………………………………………………………9 系统仿真

3.1 时序仿真…………………………………………………………………10 3.1.1乐曲自动演奏模块的仿真…………………………………………………………11 3.1.2音调发生模块的仿真………………………………………………………………11 3.1.3数控分频模块的仿真………………………………………………………………11 3.1.4简易电子琴整个系统的仿真………………………………………………………11

3.2原理图综合时序仿真……………………………………………………12 3.3 问题分析…………………………………………………………………13 4 设计小结…………………………………………………………14

第五篇:电子琴 课程设计报告

单片机课程设计报告

题目:

电子琴

设计者1:

蓝 琴

负责任务:

硬件制作

专业班级/学号:

应用电子技术0906010136

设计者2:

罗炎华

负责任务:

软件编程

专业班级/学号:

应用电子技术0906010423

指导教师1:

陈玉琼

答辩时间:

2011-6-23

目录

一、选题的背景.......................................................................................................................3

选题的来源、意义和目的:...................................................................................................3 课题承担人员及分工说明:...................................................................................................3

二、课题总体设计说明...........................................................................................................3

1、总体开发计划和课题所达到的功能目标和技术指标:.................................................3

2、划课题总体设计方案,比较几个备选方案,确定最终方案.........................................3 系统功能框图...........................................................................................................................4

三、硬件设计说明...................................................................................................................4

1、硬件总体设计方案.............................................................................................................4

四、软件设计说明...................................................................................................................6

1、软件总体设计方案.............................................................................................................6

五、软硬件调试说明...............................................................................................................6

1、硬件性能测试.....................................................................................................................6

2、软件性能测试.....................................................................................................................7

六、课题开发总结...................................................................................................................7

1、课题的任务完成情况.........................................................................................................7

2、硬件宏观上的设计要点.....................................................................................................7

3、软件宏观上的设计要点.....................................................................................................7

七、用户操作说.......................................................................................................................7

八、参考资料...........................................................................................................................7

九、附件...................................................................................................................................8

1、硬件设计的总电路原理图、PCB版图............................................................................8

2、元器件清单(器件名称、型号、在原理图中的编号)...............................................10

3、硬件电路板外观图片、PROTEUS仿真效果图............................................................11 源程序代码.............................................................................................................................12

一、选题的背景

选题的来源、意义和目的:

选题来源:对定时器资源的使用——音乐盒的控制小组成员均对音乐盒有兴趣。选题意义:自学矩阵式按键。

选题目的:实现各按键对应音阶音频输出,数码管显示相应的音阶。

课题承担人员及分工说明:

罗炎华具有较强的逻辑能力,熟悉汇编语言。蓝琴据有较强的动手能力,熟悉电子元件

二、课题总体设计说明

1、总体开发计划和课题所达到的功能目标和技术指标:

5X5矩阵式按键,其中21个键控制21个音阶,4个按键控制点阵的显示,每个音阶音频输出通过功放放大,同时数码管显示音阶。

2、划课题总体设计方案,比较几个备选方案,确定最终方案

硬件:

方案一 :将包含单片机控制,数码管显示,点阵显示,矩阵式按键,功 放模块的电路制作在一块PCB图上。

方案二:将单片机控制,数码管显示,点阵显示,矩阵式按键,功放各模 块分开制作,用杜邦先连接。

方案三:单片机控制模块采用单片机学习板,分有源模块和无源模块制作。因制PCB材料缺乏最终确定方案三

软件:

方案一:通过单片机控制,矩阵按键,来产生不同的音阶,后通过数码显示不同的音阶,还四个按键,来播放不同的音乐。

方案二:通过单片机控制,矩阵按键,来产生不同的音阶,后通过数码管显示不同的音阶,还四个按键,控制点阵,显示我们需要的信 最后确定工作方案二

系统功能框图

三、硬件设计说明

1、硬件总体设计方案

(1)硬件设计目标

单片机控制部分由51单片机学习板代替。数码管点阵显示,音频功放PCB板制作,按键面包板制作,为了资源的重复使用各模块分开制作。(2)硬件功能模块划分单片机控制

 数码管显示

查询相关资料了解4X数码管,74LS04的各引脚功能,按要求连接。本设计中用到的是共阳数码管,74LS04也可以用9012三极管代替。

 点阵显示

用数字或模拟万用表测量点阵,红表笔接一端,黑表笔接一端,有点亮的红表笔接的是行用数字表示,黑表笔接的是列用字母表示,测得结果如图示。按要求连接。

 矩阵按键

用数字或模拟万用表测量按键,红表笔接一端,黑表笔接一端,按下按键观察是否导通,选择能导通的两引脚按一定的规律连接。

 音频功放

这部分也可以用其他的功放电路代替,如TDA2030A。

3)主控芯片和关键元器件的选型、接口和连接方式定义 主控芯片:STC89C51RC 关键元件的选型:共阳4X数码管,74LS245,74LS04,8X8红色点阵GYXM-1538ASR 接口:P0.0-P0.4矩阵按键列口,P0.5音频输出P2.0-P2.4矩阵式按键行口,P2.5-P2.7数码管位选,P3口点阵列口,P1口数码管段选,点阵行口。

四、软件设计说明

1、软件总体设计方案

通过单片机控制,矩阵按键,来产生不同的音阶,后通过数码管显示不同的音阶,还四个按键,控制点阵,显示我们需要的信(1)软件设计目标 产生21个音阶

(2)软件功能模块划分

按键一个模块,产生音阶一个模块,数码管显示一个模块,点阵一个模块

2、软件设计

开始否判断有无键按下是判断是否为音阶按键否汉字显示按键是数码管显示其音阶号,并放出音阶点阵显示相应的按键是结束

五、软硬件调试说明

1、硬件性能测试

按下相应的按键蜂鸣器或功放放出相应的音阶,同时数码管显示相应的音阶数或点阵显示相应的汉字。

2、软件性能测试

按下按键,看是否发出相应的音阶的声音,同时看一下,数码管,显示的是否正确,按下22.23.24.25键看是否点阵有显示

六、课题开发总结

1、课题的任务完成情况:课题任务基本完成,与预期的大体符合。但作品性能有待提高,存在着噪音较大,反应时间较长,接线复杂,外观不完美的缺点。其优点是操作简单,形象直观。

2、硬件宏观上的设计要点: 设计要点在数码管显示,点阵显示,及音频功放,注意音频功放的散热问题,性能基本达到,但线路布局有待完善,点阵的移引脚有被烧坏导致不正常显示。

3、软件宏观上的设计要点:

按键扫描,同时要确定是那个按键按下,后发出相应的音阶,同时在数码管显示也要同步。编译工具:用Protues,仿真,来调试程序,必要时调用Debug存在:反映比较慢的问题

七、用户操作说

各模块上电后以上左面接线为标准,从右到左第一排按键分别为低音:1,2,3,4,5; 从右到左第二排按键分别为低音6,7中音:1,2,3;从右到左第三排按键分别为中音:4,5,6,7,高音:1;从右到左第四排各按键分别为高音:2,3,4,5,6;从左到右第四排各按键分别为高音:7,“大”字显示,“中”字显示,“小”字显示,“大,中,小”轮流显示。

八、参考资料

单片机初级教程 张迎新 等编著

百度图片:http://image.baidu.com

九、附件

1、硬件设计的总电路原理图、PCB版图

数码管显示

单片机控制

点阵显示

功放

按键

2、元器件清单(器件名称、型号、在原理图中的编号)

STC8951RC 单片机

1个 单片机插槽

1个 4X共阳数码管

1个 8X8红色点阵GYXM-1538ASR 1个 74LS245

1个 74LS04

1个 按键

50个 14脚插槽

1个 20脚插槽

1个 470欧姆点阵

8个 TDA2030A

1个 100UF电解电容

2个 0.1UF电容

2个 22 UF电解电容

1个 22K电阻

2个 N4001

2个 喇叭

1个

3、硬件电路板外观图片、PROTEUS仿真效果图

源程序代码

row equ 30h dot equ 31h org 00h ljmp key org 30h key: mov r0,#01h mov r2,#0feh mov r1,#00h mov r5,#60 start0: mov r7,#255 mov a,r2 mov p2,a jnb p0.0,start1 inc r0 jnb p0.1,start1 inc r0 jnb p0.2,start1 inc r0 jnb p0.3,start1 inc r0 jnb p0.4,start1 inc r0 rl a mov r2,a inc r1

cjne r1,#5,start0 sjmp key start1: jnb p0.0,$;在p0口时候对端口的判断

jnb p0.1,$ jnb p0.2,$ jnb p0.3,$ jnb p0.4,$ cjne r0,#16h,lp5 ljmp start5 lp5: cjne r0,#17h,lp6 ljmp start6 lp6: cjne r0,#18h,lp7 ljmp start7 lp7: cjne r0,#19h,lp4 ljmp start8 lp4: mov dptr,#tab mov a,r0 movc a,@a+dptr mov r3,a setb p0.5 acall del20 mov r3,a clr p0.5 mov r3,#5fh acall del20 djnz r7,start1 setb p0.5 mov a,r0;判断是否是低位

anl a,#0f8h cjne a,#0,lp1 ljmp start2 lp1: cjne r0,#0fh,lp3 ljmp start4 lp3: mov a,r0;判断是否是中位

anl a,#0f0h cjne a,#0,lp2 ljmp start3

lp2: mov a,r0;判断是否是高位

anl a,#0a0h cjne a,#0,start0 ljmp start4 start2: mov dptr,#table;低音的数码管显示

mov p1,#0bfh clr p2.6 clr p2.7 acall del20 mov p2,#0ffh mov a,r0 movc a,@a+dptr mov p1,a clr p2.5 acall del20 mov p2,#0ffh djnz r5,start2 ljmp key start3: mov dptr,#table mov p1,#0bfh clr p2.5 clr p2.7 acall del20 mov p2,#0ffh mov a,r0 subb a,#7 movc a,@a+dptr mov p1,a clr p2.6 acall del20 mov p2,#0ffh djnz r5,start3 ljmp key start4: mov dptr,#table mov p1,#0bfh clr p2.5 clr p2.6 acall del20 mov p2,#0ffh mov a,r0 subb a,#14 movc a,@a+dptr mov p1,a clr p2.7 acall del20 mov p2,#0ffh djnz r5,start4 ljmp key

start5: setb p0.5

;中音的数码管显示;高音的数码管显示14

mov r6,#050h m2: mov dptr,#mm mov row,#01h mov dot,#00h mov r7,#08h m1: mov r3,#050h mov a,row mov p1,a rl a mov row,a mov a,dot movc a,@a+dptr mov p3,a lcall del20 inc dot djnz r7,m1 djnz r6,m2 ljmp key start6: setb p0.5 mov r6,#050h q1: mov dptr,#qq mov row,#01h mov dot,#00h mov r7,#08h q2: mov r3,#050h mov a,row mov p1,a rl a mov row,a mov a,dot movc a,@a+dptr mov p3,a lcall del20 inc dot djnz r7,q2 djnz r6,q1 ljmp key start7: setb p0.5 mov r6,#050h ww1: mov dptr,#ww mov row,#01h mov dot,#00h mov r7,#08h ww2: mov r3,#050h

mov a,row mov p1,a rl a mov row,a mov a,dot movc a,@a+dptr mov p3,a lcall del20 inc dot djnz r7,ww2 djnz r6,ww1 ljmp key start8: setb p0.5 mov dptr,#ff mov r5,#3 hh: mov r6,#050h ff1:

mov row,#01h mov dot,#00h mov r7,#08h ff2: mov r3,#050h mov a,row mov p1,a rl a mov row,a mov a,dot movc a,@a+dptr mov p3,a lcall del20 inc dot djnz r7,ff2 djnz r6,ff1 mov a,dpl

add a,#8 mov dpl,a mov a,dph addc a,#0 mov dph,a djnz r5,hh ljmp key tab: db 5fh,55h,4ch,48h,40h,39h,33h,30h,2bh,26h,24h,20h,1ch,19h,18h,15h,13h,12h,10h,0eh,0dh db 0ffh,0ffh,0ffh,0ffh table: db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h

mm: db 0f7h,0f7h,80h,0f7h,0ebh,0ddh,0beh,0ffh qq: db 0ffh,0efh,0efh,1h,6dh,1h,0efh,0efh ww: db 0efh,0efh,0c7h,0abh,06dh,0efh,0e7h,0efh ff: db 0f7h,0f7h,80h,0f7h,0ebh,0ddh,0beh,0ffh db 0ffh,0efh,0efh,1h,6dh,1h,0efh,0efh db 0efh,0efh,0c7h,0abh,06dh,0efh,0e7h,0efh del20: mov r4,#05h del4:nop

djnz r4,del4 djnz r3,del20 ret end 17

下载简易电子琴课程设计my.(共5篇)word格式文档
下载简易电子琴课程设计my.(共5篇).doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    EDA_电子琴课程设计 2

    《EDA技术实用教程》课程设计 课程设计报告 课 题:EDA电子琴 课程名称: EDA技术实用教程学院名称:物理电气信息学院班 级: 2011级通信工程(1)班 学生姓名: 安 昱 学 号: 120112......

    微机原理课程设计-电子琴设计

    简单的电子琴设计 前言 本实验是利用微机原理试验箱、8255芯片、8254芯片、键盘、扬声器等硬件设备,设计简易电子琴。 首先利用了编程程序,编辑了8255芯片控制字, 对其进行初......

    微机原理及应用 电子琴课程设计

    科技学院 微机原理及应用 课 程 设 计 设计名称: 设计模拟电子琴 模拟 指导老师: 指导老师: ----- 设计者姓名: ----- 专业班级:自动化 学 号:---------- 设计时间: 2012.6 摘 要:......

    单片机课程设计——电子琴[小编推荐]

    单片机课程设计————电子琴 可演奏的电子琴 摘要:随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为......

    简易电子琴的设计[优秀范文五篇]

    毕-1 毕 业 设 计 任 务 书专业:班级:学生签名: 一、 设计题目 简易电子琴的设计二、 设计内容要求和技术参数 要求能够发出1、2、3、4、5、6、7等七个音符。 使用元......

    简易留言板课程设计报告

    武汉软件工程职业学院 课程设计报告 2016-2017学年度第 二 学期 题目: 简易留言板设计姓名:肖志超班级:网络1502 系部: 计算机学院指导教师: 梁晓雅日期:2017年6月13日 [摘要]......

    简易数字频率计(数字电路课程设计)

    数字电路课程设计报告1)设计题目简易数字频率计2)设计任务和要求要求设计一个简易的数字频率计,测量给定信号的频率,并用十进制数字显示,具体指标为:1)测量范围:1HZ—9.999KHZ,闸......

    AVA简易计算器课程设计-

    JAVA课程设计 简易计算器的设计 学号: 姓名: 班级: 指导教师:完成日期:第1页(共11页) 2016-12-31JAVA课程设计 目 录 简易计算器课程设计 ............................................