当前位置:文档之家› 嵌入式电子琴设计

嵌入式电子琴设计

嵌入式电子琴设计
嵌入式电子琴设计

前言

现代的流行音乐离不开电子琴,键盘手一般是现代电声乐队的中坚力量。(单排键)电子琴、电吉他、架子鼓是流行音乐的三项主流乐器。电子琴的发明使人们可以演奏出未曾拥有的音色,丰富了人们情感的表现;电子琴创造出了许多其他乐器无法演奏出的音色,甚至自然不存在的音色,这些音色帮助了人们通过音乐表现自己的情感,在很多电视节目或者音乐作品中都有运用。电子琴的发明推动了音乐的普及,它让音乐真正成为了大众的音乐,成为了人类社会不可缺少的东西。电子琴是目前用于音乐普及教育和音乐素质培养最多的乐器,它的经济性为他在普通家庭中的普及带来了可能。

本文主要介绍的是使用LM3S8962来实现基于Cortex-M3简易电子琴系统设计的方法,本设计由嵌入式芯片LM3S8962、音乐播放、单音节按键和数码管显示为核心,辅以必要的电路,构成了一个简易的电子琴。当程序开始执行后,播放梁祝音乐,按下功能键后,切换至单音节演奏。本设计的主要内容:了解嵌入式技术的发展现状,熟悉电子琴各模块的工作原理;选择适当的芯片和元器件,确定系统电路,绘制电路原理图,尤其是各接口电路;熟悉嵌入式使用方法和编程规则,编写出相应模块的应用程序;分别在各自的模块中调试出对应的功能,并使用真实器件播放音乐,实现功能切换,验证程序的正确性。

1.课题知识介绍

1.1 Cortex-M3概述

ARM Cortex-M3处理器结合了多种突破性技术,令芯片供应商提供超低费用的芯片,仅33000门的内核性能可达1.2DMIPS/MHz。该处理器还集成了许多紧耦合系统外设,令系统能满足下一代产品的控制需求。

Cortex-M3内核主要是应用于小管脚数、低成本和低功耗的场合,并且具有极高的运算能力和极强的中断响应能力。Cortex-M3采用了新型的单线调试(Single Wire)技术,专门拿出一个引脚来做调试,从而节约了大笔的调试工具费用。同时,Cortex-M3中还集成了大部分存储器控制器,这样工程师可以直接在MCU外连接Flash,降低了设计难度和应用障碍。

CM3是一个32位处理器内核,内部数据路径是32位,寄存器是32位,存储器接口也是32位。CM3采用哈佛结构,拥有独立的指令总线和数据总线,可以让取指与数据访问并行不悖。这样一来,数据访问不再占用指令总线,从而提升了性能。为了实现这个特性,CM3内部含有好几条总线接口,每条都为自己的应用场合优化过,并且可以并行工作。但是,指令总线和数据总线共享同一个存储器空间,一个统一的存储器系统。也就是说,不是因为有两条总线,可寻址空间就变成了8G。

1.2 LM3S8962概述

LM3S8962微控制器的优势还在于能够方便的运用多种微控制器的优势还在于能够方便的运用多种ARM的开发工具和片上系统(SoC)的底层IP应用方案,以及广大的用户群体。另外,该微控制器使用了兼容ARM Thumb?的Thumb2指令集来减少存储容量的需求,并以此达到降低成本的目的。最后,LM3S8962微控制器与tellaris?系列的所有成员是代码系列兼容的,这为用户提供了灵活性,能够适应各种精确的需求。

图1 LM3S8962

1.3 keil软件

Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

2009年2月发布Keil μVision4,Keil μVision4引入灵活的窗口管理系统,使开发人员能够使用多台监视器,并提供了视觉上的表面对窗口位置的完全控制的任何地方。新的用户界面可以更好地利用屏幕空间和更有效地组织多个窗口,提供一个整洁,高效的环境来发应用程序。新版本支持更多最新的ARM芯片,还添加了一些其他新功能。2011年3月ARM公司发布最新集成开发环境RealView MDK开发工具中集成了最新版本的Keil uVision4,其编译器、调试工具实现与ARM器件的最完美匹配。

最新的Keil μVision4 IDE旨在提高开发人员的生产力,实现更快,更有效的程序开发。Keil μVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。Keil uVision4在Keil μVision3 IDE的基础上,增加了更多大众化的功能。

2.总体设计方案

2.1 设计任务

本次课程设计的主要设计任务是设计一个简易的电子琴,其中设有功能切换键,一个功能是播放梁祝音乐,另一个功能是在做好的矩阵键盘上通过按键播放DO、RE、MI 等8个单音节。

2.2 总体方案设计

图2 电子琴总体设计框图

本次方案设计按照系统设计的要求和功能,将系统分为主控制器模块、显示模块、按键模块、蜂鸣器电路模块。系统框图如图2所示,主控制模块采用图1的芯片LM3S8962为控制中心,显示模块采用数码管显示,播放时使用蜂鸣器电路模块,设置功能切换键,实现对音乐播放和单音节演奏的功能切换。

3.硬件设计

3.1显示模块概述

3.1.1 数码管显示

数码管是一种半导体发光器件,其基本单元是发光二极管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二级管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极

(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。其图如图3所示。

图3 数码管引脚图

3.1.2 数码管引脚说明

动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。

3.1.3 数码管注意事项

使用数码管时应注意以下几点:

(1)检查时若发光暗淡,说明器件已老化,发光效率太低。假如显示的笔段残缺不全,说明数码管已局部损坏。(2)对于型号不明、又无管脚排列图的led数码管,用数字万用表的h距挡可完成下述测试工作:①判定数码管的结构形式(共阴或共阳);

②识别管脚;③检查全亮笔段。预先可假定某个电极为公共极,然后根据笔段发光或不发光加以验证。当笔段电极接反或公共极判定错误时,该笔段就不能发光。

3.2 复位电路

复位电路由电阻和极性电容组成,如图4所示,通过高电平时单片机复位,在时钟电路开始工作后,当高电平的时间超过大约5ms的时候,即可实现复位。此复位电路同时具备了上电自动复位和按键人工复位的功能,上电复位发生在开机加电时,由系统自动完成,按键人工复位通过一个按键来实现在程序运行时,若遇到死机或死循环等情况时,通过手动复位就可以实现重新启动的操作。按键人工复位需要认为在复位输入端RST 上加入高电平。

图4 复位电路

3.3 蜂鸣器电路

蜂鸣器电路由一个220欧的电阻,三极管及蜂鸣器组成,如图5所示。通过控制三极管的导通和截止来实现蜂鸣器的响与不响。

图5 蜂鸣器原理图

3.4 矩阵键盘

在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图6所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如P1口)就可以构成4*4=16个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。

矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,下图中,行线通过电阻接正电源,并将列线所接的单片机的I/O口作为输出端,而行线所接的I/O口则作为输入。这样,当按键没有按下时,所有的输出端都是高电平,代表无键按下。列线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就

可得知是否有键按下了。

图6 4×4矩阵键盘电路图

4.软件设计

4.1 流程图

图7 流程图

根据以上流程图设计的程序见附录3。

4.2 Keil详细过程

在图8界面下单“Project”中的“New uVision Project…”命令,弹出图9所示的创建新工程界面。这时要设定该工程的路径和名称,要将存储工程的文件夹名称与工程项目的名称设为同一名字。

图8 创建工程

图9 设置工程保存路径和名称

点击保存按钮,弹出图10 对话框。该对话框要求选择芯片型号,找到LM3S8962,并且点击选择。

图10 选择芯片

选择好芯片后,需要新建一个空白文件,用来放置程序代码。

图11新建文件

在Source Group上点右键,弹出快捷菜单。如图12所示。点击“Add Files to Group”选项,弹出添加源文件对话框,选择相应的需添加的文件即可。

图12 添加源文件快捷菜单

这里仅对基本选项进行设置,以满足工程可编译、仿真、下载的要求。在图13中,首先要设置晶振的频率。由于开发板上使用的是6MHz的晶振,因此,这里需要将晶振频率设置为6MHz。

图13 晶振及程序下载地址设置

完成相关设置后,即可进行编译,如图14所示。

图14 编译程序

点击debug按钮,即可进入到软件仿真界面,课通过看到的结果进行调试,若不对可返回原界面进行修改。

图15 仿真界面

5. 设计结果

根据以上设计过程和原理可设计得到一个简易的电子琴,该电子琴可以在两个功能之间进行切换,一个是播放音乐梁祝,另一个是通过按键进行单音节播放,并且显示对应的音节,任何时刻都能进行复位操作。

图16 开发板以及矩阵键盘实物

6. 设计总结

在这学期的课程设计中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

完成嵌入式课程设计后,我们发现我们还有许多不足,所学到的知识还远远不够,以

至于还有一些功能不能被动完成。但通过学习这一次实践,增强了我们的动手能力,提高和巩固了单片机方面的知识,特别是软件方面。从中增强了我们的团队合作精神,并让我们认识到把理论应用到实践中去是多么重要。

7. 参考文献

[1] 周立功.ARM嵌入式系统基础教程(第2版)[M].北京:北京航空航天大学出版社,

2008

[2] 姚文详.ARM Cortex-M3权威指南[M].北京:北京航空航天大学出版社,2009

[3] 魏洪兴.周亦敏.嵌入式系统设计与实例开发实验教材II[M].北京:清华大学出版

社,2007

[4] Luminary Micro公司.LM3S1138微控制器数据手册[M].2008/2010

[5] 武晔卿.嵌入式系统可靠性设计技术及案例解析[M].北京航空航天大学出版

社,2012

[6] 熊茂华.熊昕.嵌入式应用项目设计与开发典型案例详解[M] .北京:清华大学出版

社,2012

[7] 马维华.嵌入式系统原理及应用[M] .北京:北京邮电大学出版社有限公司

[8] 夏靖波.嵌入式系统原理与开发[M] .西安:西安电子科技大学出版社

附录

附录2:原理图

附录3:程序源代码

Main.c

#include "systemInit.h"

#include "buzzer.h"

#include "music.h"

unsigned char flag = 0;

unsigned char value = 0x00;

unsigned char flag1 = 0;

void key_scan(void)

{

unsigned char w1,w2;

// GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, 0X3F);

// GPIOPinWrite(GPIO_PORTD_BASE, 0X3F, 0x07);

// GPIOPinTypeGPIOInput(GPIO_PORTD_BASE, 0X3F);

w1 = GPIOPinRead(GPIO_PORTD_BASE, 0X3f) & 0x07;

if (w1 != 0x07)

{

SysCtlDelay(20*TheSysClock/3000);

if (w1 != 0x07)

{

GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, 0X3F);

GPIOPinWrite(GPIO_PORTD_BASE, 0X3F, 0x38);

GPIOPinTypeGPIOInput(GPIO_PORTD_BASE, 0X3F);

w2 = GPIOPinRead(GPIO_PORTD_BASE, 0X3f) & 0x38;

value = (w1 | w2);

flag = 1;

}

}

}

void key_scanInit(void)

{

GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, 0X3F);

GPIOPinWrite(GPIO_PORTD_BASE, 0X3F, 0x07);

GPIOPinTypeGPIOInput(GPIO_PORTD_BASE, 0X3F);

}

int main(void)

{

clockInit();

buzzerInit();

key_scanInit(); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);

GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, 0X3F);

for (;;)

{

key_scan();

if (flag == 1)

{

switch (value)

{

case 0x1e: if (flag1 == 0)buzzerSound(262); flag = 0;break;

case 0x1d: if (flag1 == 0)buzzerSound(294); flag = 0;break;

case 0x1b: if (flag1 == 0)buzzerSound(330); flag = 0;break;

case 0x2e: if (flag1 == 0)buzzerSound(349); flag = 0;break;

case 0x2d: if (flag1 == 0)buzzerSound(392); flag = 0;break;

case 0x2b: if (flag1 == 0)buzzerSound(440); flag = 0;break;

case 0x36: if (flag1 == 0)buzzerSound(494); flag = 0;break;

case 0x35: if (flag1 == 0)buzzerSound(976); flag = 0;break;

case 0x33: flag1 ++;if (flag1 == 2){flag1 = 0;} flag = 0;break;

default : flag = 0;break;

}

}

if (flag1 == 1)

{

musicPlay(huadie);

SysCtlDelay(4000 * (TheSysClock / 3000));

flag1 = 0;

}

}

}

Music.c

#include "music.h"

#include "buzzer.h"

#include "systemInit.h"

const tNote huadie[] =

{

{L3, T/4},

{L5, T/8+T/16},

{L6, T/16},

{M1, T/8+T/16},

{M2, T/16},

{L6, T/16},

{M1, T/16},

{L5, T/8},

{M5, T/8+T/16},

{H1, T/16},

{M3, T/16},

{M5, T/16},

{M2, T/2},

{M2, T/8},

{M2, T/16},

{M3, T/16},

{L7, T/8},

{L6, T/8},

{L5, T/8+T/16}, {L6, T/16},

{M1, T/8},

{M2, T/8},

{L3, T/8},

{M1, T/8},

{L6, T/16},

{L5, T/16},

{L6, T/16},

{M1, T/16},

{L5, T/2},

{M3, T/8+T/16}, {M5, T/16},

{L7, T/8},

{M2, T/8},

{L6, T/16},

{M1, T/16},

{L5, T/8},

{L5, T/4},

{L3, T/16},

{L5, T/16},

{L3, T/8},

{L5, T/16},

{L6, T/16},

{L7, T/16},

{M2, T/16},

{L6, T/4+T/8}, {L5, T/16},

{L6, T/16},

{M1, T/8+T/16}, {M2, T/16},

{M2, T/8},

{M3, T/16},

{M2, T/16},

{M1, T/8},

{L6, T/16},

{L5, T/16},

{L3, T/4},

{M1, T/4},

{L6, T/16},

{M1, T/16},

{L6, T/16},

{L5, T/16},

{L3, T/16},

{L5, T/16},

{L6, T/16},

{M1, T/16},

{L5, T/2},

{ 0, T/4},

{ 0, T/4},

{ 0, 0}

void musicPlay(const tNote *music)

{

short i = 0;

for (;;)

{

if (music[i].mTime == 0) break;

buzzerSound(music[i].mName);

SysCtlDelay(music[i].mTime * (TheSysClock / 3000));

i++;

buzzerQuiet();

SysCtlDelay(10 * (TheSysClock / 3000));

}

}

Buzzer.c

#include "buzzer.h"

#include

#include

#include

#include

#include

#define SysCtlPeriEnable SysCtlPeripheralEnable

#define GPIOPinTypeOut GPIOPinTypeGPIOOutput

extern unsigned long TheSysClock;

void buzzerInit(void)

{

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);

GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE,GPIO_PIN_0);

GPIOPinWrite(GPIO_PORTG_BASE,GPIO_PIN_0,0x01);

SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);

SysCtlPeripheralEnable(SYSCTL_PERIPH_PWM);

GPIOPinTypePWM(GPIO_PORTE_BASE,GPIO_PIN_1);

SysCtlPWMClockSet(SYSCTL_PWMDIV_1);

PWMGenConfigure(PWM_BASE,PWM_GEN_2,PWM_GEN_MODE_DOWN | PWM_GEN_MODE_NO_SYNC); PWMOutputState(PWM_BASE,PWM_OUT_5_BIT,true);

}

void buzzerSound(unsigned short usFreq)

{

unsigned long ulVal;

if ((usFreq <= TheSysClock / 65536UL) || (usFreq > 20000))

{

buzzerQuiet();

}

else

{

GPIOPinTypePWM(GPIO_PORTE_BASE,GPIO_PIN_1);

ulVal = TheSysClock / usFreq;

PWMGenPeriodSet(PWM_BASE,PWM_GEN_2,ulVal);

PWMPulseWidthSet(PWM_BASE,PWM_OUT_5,ulVal/2);

PWMGenEnable(PWM_BASE,PWM_GEN_2);

}

}

基于FPGA的多功能电子琴设计与实现

西南科技大学 电子专业综合设计报告 设计名称:基于FPGA的多功能电子琴的设计与实现 姓名: 学号: 班级: 指导教师: 起止日期: 2013年11月22日-2013年12月10 日 西南科技大学信息工程学院制

综合设计任务书 学生班级:电子1001 学生姓名:学号: 设计名称:基于FPGA的多功能电子琴的设计与实现 起止日期:2013.11.22-2013.12.10 指导教师:

综合设计学生日志

基于FPGA的多功能电子琴的设计与实现 摘要:随着科学技术的日新月异,人们的生活也在发生在变化,电子产品也随之增多,比如 现在流行的电子琴,已经逐渐代替了曾经的手动风琴了。文章中所介绍的多功能电子琴的设计在Quartus II平台上,采用Verilog HDL 语言和模块化的设计方法,设计出一个能够通过按键控制不同的音符,同时也可以通过按键进行演奏已经存储的曲子的多功能电子琴。本系统主要由五个个模块组成:顶层模块,曲目1模块,曲目2模块,按键模块,曲目循环播放模块。 关键词: FPGA;电子琴; Verilog HDL;音符

FPGA-based design and implementation of multi-organ Abstract:With the development of science and technology, also occurs in people's lives change, electronic products also increase, such as the now popular organ, has replaced the former manual organ. Multifunction keyboard design as described in the article on the Quartus II platform, using Verilog HDL language and modular design method, design a button control through different note, you can also play music already stored by keys multifunction keyboard. The system consists of five modules: the top-level module, a module tracks, track 2 modules, key module, track loop module. Key words: FPGA, Keyboard, Verilog HDL, Note

简易电子琴课程设计报告

摘要 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器,它在音奏中已成为不可缺少的一部分。本文主要介绍运用555定时器制作简易电子琴的设计方法。该方法利用555定时器构成多谐振荡器,通过按键控制不同的RC组合应用多谐振荡器产生不同频率八个基本音阶的脉冲信号波,然后连到扬声器上,即可发出八音阶的音乐。在该设计中,利用了555定时器构成的多谐振荡器产生各音阶不同频率的脉冲,不仅仅使其频率调节更加方便,而且发出的声音稳定、饱满。 前言 (1) 第一章设计内容及要求 (2) 1.1 设计的基本原理 (2) 1.2 设计要求 (2) 第二章系统组成及工作原理 (3) 2.1 系统组成 (3) 2.1.1 按键模块 (3) 2.1.2音调发生模块 (3) 2.1.3音响模块 (4) 2.2 工作原理 (4) 2.2.1 NE555多谐振荡器 (5) 2.2.2 LM386集成功率放大器 (7) 第三章方案比较 (8) 3.1 方案一 (8) 3.2 方案二 (9) 3.3方案三 (10) 3.4方案分析与比较 (11) 第四章参数计算、器件选择 (12) 4.1 参数计算 (12) 4.2 器件选择 (12) 第五章系统调试及测试结果分析 (14) 5.1 系统调试 (18) 关键词:简易电子琴,555定时器,多谐振荡器,八个基本音阶 目录

5.2 硬件调试···················································19 2 5.3 测试结果与分析 (19) 前言 随着当代科学设计的发展,电子产品在人们的日常生活中占据着越来越多重要的地位。电子琴作为其中的一个典型代表,引领着许多孩子进入音乐的殿堂。因此,我们选择了简易电子琴这个题目来制作,因为它不仅能过提高实际动手能力,还与实际生活有着紧密的联系。 模拟电子技术基本教程是一门实践性很强的课程,而此次课程设计依据的理论基础是模拟电子技术基本教程,其主要目的是通过本课程的培养,启发学生的创造性思维,进一步探究书本知识。本课程设计是设计出一个电子产品,先焊接好,再进行检验。 在电子课程设计的过程中,系统的概念十分重要,熟悉从系统的层次分析问题、解决问题的方式。基本方法除了实验课中要求掌握的功能测试、故障排除等各种一般方法以外、要特别注重使用“电路拼装”的方法。课程设计的一般步骤如下:(1)、选择一个课题;(2)、查阅有关资料;(3)、进行可行论证;(4)、通过设计方案的比较,定出最优的设计方案;(5)、分解为多个模块;(6)、分别设计各个功能模块电路,并完成调试;(7)、组装成完整的数字系统;(8)、编写设计、安装、调试报告。 1 第一章设计原理及要求 1.1 设计的原理 555定时器是一种中规模集成电路,外形为双列直插8脚结构,体积小,使用起来方便。只要在外部配上几个适当的阻容元件,就可以构成施密特触发器、单稳态触发器及多谐振荡器等脉冲信号产生与变换电路。它在波形的产生与变换、测量与控制、定时电路、家用电器、电子玩具、电子乐器等方面有广泛的应用。 5.4 误差分析 (19) 实验小结及心得体会 (20) 结论······························································21 参考 文献·························································22 附录一····························································23 附录二···························································· 24 3

基于单片机的简易电子琴设计课程设计

基于单片机的简易电子琴设计课程设计

湖南文理学院 课程设计报告 课程名称:单片机课程设计 专业班级:自动化10102班17号学生姓名:肖葵 指导教师:王南兰 完成时间:2013年 6 月13 日报告成绩: 湖南文理学院制

摘要 随着社会的发展进步,音乐逐渐成为人们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。人们对于电子琴如何实现其功能,如音色选择、声音强弱控制、节拍器、自动放音功能等等也很好奇。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:AT89S51;音色节拍器;电子琴

ABSTRACT With the development of our society, music has become an important part of life. There’s a saying goes that people who likes music cannot be an evil. During our life, we often enjoy all kinds of music in the world to baptize our spirits. This thesis has designed a simple microcontroller-based electronic key board. We are curious about the foundation of electronic keyboard, such as the choice of timber, the control of volume, the metrononme and automatic playback. The keyboard is a product of modern electronic technology combined with music, it is a new type of keyboard instruments. And it plays an important role in modern music. Single chip has a powerful control functions and flexible programming characteristics. It has converged with modern people's lives, become an irreplaceable part. The main content is AT89S51 control of the core components, Design of an electronic organ, single chip as a host to the core, with the keyboard, speakers and other core modules main control module, in the main control module has 16 keys and speakers. Stability of the system, its advantages are simple hardware circuits, software functions, control system reliability, high cost performance and have certain practical and reference value. Key words : single chip MCU keyboard speaker electronic organ

基于的电子琴设计

综合设计任务书 学生班级:学生姓名:学号: 设计名称:电子琴的设计与实现 起止日期:—指导教师: 综合设计学生日志

电子琴的设计与实现 摘要:本次设计是xx专业专业方向设计,利用单片机设计简易电子琴。其主要功能为:按下不同按键,发出不同 1 、2 、3、4 、5 、6 、7 七个音符并且用LED 或LCD显示当前按键。选用stm32f103C8T6,它有8个定时器,部分定时器有多达4个用于输入捕获/输出比较/PWM或脉冲计数的通道和增量编码器输入。利用芯片内部相关定时器来输出PWM,从而来驱动蜂鸣器。通过读取外部按键输入的值来相应改变定时器相关寄存器的值,从而来改变PWM的输出频率来达到发出不同音调。 关键词:STM32f103C8T6;PWM;定时器 The Design of the Keyboard Abstract:This design is the professional direction of biomedical engineering design. Using Single Chip Microcomputer to achieve a simple Keyboard. Its main function is: While a user press the different keys, it will make different sounds from the and display different numbers which corresponded to the sounds. Using stm32f103- -C8T6 as control chip. It has16-bit timers. Some of them with up to 4 IC/OC/PWM or pulse counter. Making use of the Timers to generate driving signal .By reading the state of the external key to change the . Different frequency of the PWM will buzzer makes different sounds. Key words: STM32f103C8T6; PWM; Timer 一、设计目的和意义 本综合设计是为xx专业高年级本科生开设的必修课,是对学生运用所学知识的一次综合训练。其目的是让学生得到一次进行独立设计的工程实践锻炼,不仅培养严谨的科学态度和扎实的实践技能、良好的工程意识,并在设计中学会如何发现、分析和解决工程实践问题的技能和方法,将所学知识综合应用于工程实践中,为后续的毕业设计做好准备。 二、控制要求 利用单片机设计简易电子琴。 功能要求: (1) 按下不同按键,发出不同1 、2 、3、4 、5 、6 、7 七个音符; (2) 用LED 或LCD显示当前按键。

基于FPGA的简易电子琴设计

课程设计任务书

开题报告

皖西学院本科毕业论文(设计)中期检查表

简易电子琴的设计 学生姓名:王春指导老师:郑大腾 摘要 本系统是采用EDA技术设计的一个简易的八音符电子琴,该系统基于计算机中时钟分频器的原理,采用自顶向下的设计方法来实现,它可以通过按键输入来控制音响。多功能电子琴的设计是在原有普通电子琴的基础上进行扩充的一个设计。该电子琴的设计大体可以由三个模块构成,分别是电子琴发声模块、存储器模块和选择控制模块。用超高速硬件描述语言VHDL编程可以实现各个模块的功能。不仅能实现弹琴和演奏的功能,它还能实现“复读”的功能,就是可以存储任意一段音乐,并且可以即时的播放出来。系统实现是用硬件描述语言VHDL 按照模块化方式进行设计,然后进行编程、时序仿真、总体整合。本系统的功能比较齐全,有一定的现实使用的价值。本文中介绍了电子琴系统的整体的设计,并基于超高速硬件描述语言VHDL在相关的芯片上编程实现的。 关键字 电子琴;EDA;VHDL;音调发生;现场可编程逻辑器件FPGA;超高速硬件描述语言VHDL;电子琴系统; Abstract This system is designed using EDA technology a simple eight-note keyboard, the system clock divider based on the principle of the computer, using top-down design methodology to implement, it can be controlled through the key input audio. Multi-function keyboard is designed to be an ordinary keyboard in the original expansion on the basis of a design. The design of the keyboard in general consists of three modules, namely the keyboard sound

电子琴课程设计

摘要 随着电子技术的发展,电子技术正在逐渐改善着人们的学习、生活、工作,电子技术与音乐的结合正在不断加深。因此开发本系统希望能够给人们多带来一点生活上的乐趣。电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 关键词:AT89C51,矩阵键盘,LED显示管,扬声器。

目录 摘要..............................................................................................................................I 目录.............................................................................................................................II 1 引言. (1) 1.1 研究背景及意义 (1) 1.2 研究现状和发展趋势 (1) 2 硬件设计 (2) 2.1 总体设计方案 (2) 2.2 电子琴组成原件的概述 (2) 3 软件设计 (4) 3.1 keil软件的任务 (4) 3.2 proteus的界面实现 (6) 4 系统调试与实验 (7) 4.1 程序调试 (7) 4.2 硬件调试 (7) 5 总结 (8) 参考文献 (9)

简易电子琴课程设计

课程设计任务书学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。 可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务: (1)设计任务 根据要求,完成对简易电子琴电路的仿真设计、装配与调试,鼓励自制稳压电源。 (2)设计要求 ①设计一简易电子琴电路,按下不同琴键即改变RC值,能发出C调的八个基本音阶,采用运算放大 ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原理并仿真实现系 统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、前半周,完成仿真设计调试;并制作实物。 2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1.模电课设概述 (1) 1.1设计背景 (1) 1.2设计目的及意义 (1) 1.3开发环境proteus简介 (1) 2.电路原理 (3) 2.1 RC桥式振荡电路及频率选择 (3) 2.2振荡条件 (4) 3.总体方案设计 (5) 3.1实验电路设计思路 (5) 3.2设计电路图 (6) 3.3实验参数选择 (6) 4.仿真曲线及结果分析 (7) 4.1仿真操作过程及曲线 (7) 4.2仿真结果分析 (14) 5.实物制作及仿真、实物的差异 (15) 5.1实物制作过程和调试过程 (15) 5.2 仿真、实物的差异 (16) 6.心得体会 (17) 7.元件清单 (18) 8.参考文献 (19)

学习电子琴的好处

学习电子琴的好处 众所周知,电子琴,独具特有的魅力:简单易奏,音色丰富,节奏变幻,电声效果,既可模仿大提琴、小提琴、电吉它、小号、长笛、单簧管等管弦乐器,又可模仿大自然中、人类生活中的音色变化、动物声响、宇宙音响、幻想的、电声的各种特殊的音响效果等等,是其他任何乐器无法比拟的!它可以对孩子们产生强烈的吸引力,激发他们探索的好奇心,引起他们的兴趣和爱好。让身、手、脑和口并用,能够陶冶情操、美化心灵、促进记忆、开发智力、增进身心健康,致使"电子琴热"长久不衰。 一、利用电子琴进行乐理教育 利用电子琴键盘功能,可对学生乐理教学方面进行形象的、直观的教学,让学生达到形象生动而又牢固的掌握所学知识的目的。 二、利用电子琴进行节奏训练 节奏是音乐的生命。对学生进行音乐教育,十分强调从节奏入手。在以往的节奏训练中,只能依赖在嘴里念"哒哒"声,或手打"啪啪"声来练习,这种枯燥、机械的节奏拍打训练,往往脱离音乐,忽略了对音乐节奏的整体感受。 然而,电子琴是多功能的乐器,它储备了几十种甚至上百种节奏音型,通过调节速度的快、慢,运用高、中、低音区的变化和丰富的音色变化等,这种融概念、视觉、触觉与听觉为一体的方式,可使同学们的训练兴致提高,成为培养学生节奏感的最好的辅助工具,让学生所记住的不仅是语言,更有声音的形象。这种节奏训练是扎根在听、说、唱、动的音乐实践中,使学生获得整体的、清晰的、敏锐的节奏感。 三、利用电子琴进行音准训练 音准是音乐的灵魂,"五音不全"就失去了音乐的表现力。此种人可以称为"音盲"。在以往的音准训练中,总是听琴声跟老师学唱,形式较为单一、老套、缺乏趣味性,效果也甚微。尤其是音准差的同学,难免受到别的同学们的嘲笑。 通过电子琴的教学,他们便可利用固定的音高,优美的音色,来进行模唱和弹奏,校正音准,使老走调的同学树立起自信心。同时,通过多种唱、弹形式,如:男生弹、女生唱;第一二组唱、三四组弹;一人弹、其他同学唱等等方式,让学生处于主导的地位,而老师有时候也可当听众、观众,提出听后的评估。这时候,每个学生都愿意来当"小先生"、"小明星"。 四、利用电子琴的音色、音区、节奏和速度的变化,感受音乐 电子琴有上百种可变化的独奏、合奏音色,上百种自动伴奏音型,多种模拟大自然的音响和打击乐,可以利用这些特殊的模仿大自然中、人类生活中的音色变化,来设计一些特定的场景或小故事等。也可以配合欣赏一些音乐作品。在学生对这些作品有所了解之后,让他们自行设计,运用所理解的音色、音区、节奏和速度等的变化来表达他们想要表达的某个事件或情感内容,增强学生丰富的想象力和创造能力。 五、利用电子琴培养学生的集体主义精神和礼貌待人的良好风尚学生们在电子琴集体课中,要求做到整齐、协条、一致;在上台表演时又学会了仪容整洁与尊重听众等文明习惯;并在与大家一起学习的交往过程中,获得了欢乐的情绪,从而摒弃某些独生子女孤僻的性格,树立集体主义精神和团结协作的观念。一、学习电子琴的好处

数电课程设计--简易电子琴

目录 1 设计任务 (1) 1.1 基本任务 (1) 1.2 扩展任务 (1) 2 设计方案原理 (1) 3 单元电路的设计 (2) 3.1 多谐振荡器 (2) 3.2 琴键开关 (3) 3.3 扩音器(喇叭) (4) 3.4 器件选择 (4) 4 电路图的绘制 (5) 5 电路的仿真及调试 (6) 6 体会 (6) 参考文献 (8)

1设计任务 电子琴是一种很简单的电子产品,目前市场上所售的电子琴多为基于单片机所设计的。本次课设要求利用数电知识,设计一个能奏出八个音阶的电子琴。虽然没有基于单片机的电子琴那么多的功能,但是电子琴的基本功能是可以满足的。 本次设计的主要内容为:根据数电课程所学内容,结合其他相关课程知识,设计一个简易电子琴,以加深对单片机知识的理解,锻炼实践动手能力。 本次设计的任务为: 1.1基本任务 ①具备8个按键,能够分别较准确地弹奏出1?1八个音符。 ②选择电路方案,完成对确定方案电路的设计。计算电路元件参 数与元件选择、并画出总体电路原理图,阐述基本原理。用 Proteus或MULTISIM软件完成仿真,并按规定格式写出课程设计 报告书。 1.2扩展任务 ①能够弹奏出至少21个音符(三个音阶)。 ②能够较便捷地完成音阶的升降。(按一个开关实现升8度,按另一个开关实现降 8度) 2设计方案原理 本方案为利用555多谐振荡器能输出脉冲信号的特性,通过改变振荡器外接电阻的阻值来改变振荡器输出脉冲的频率,驱动喇叭发出各种音阶。电子琴所用琴键即为改变电阻阻值的开关,通过改变阻值使输出与琴键音阶相对应。

原理框图如下: 图1原理框图 3单元电路的设计 3.1多谐振荡器 利用多谐振荡器产生周期脉冲电路图如下图所示 图2 多谐振荡器电路实现 图中引脚功能: 1脚:GND或Vss)外接电源负端VSS或接地,一般情况下接地。 2脚:TR低触发端。 3脚:OUT(或Vo)输出端。 4脚:Rd是直接清零端。当R端接低电平,则时基电路不工作,此时不论TR、TH 处于何电平,时基电路输出为“ o”,该端不用时应接高电平。 5脚:CO或VC)为控制电压端。若此端外接电压,则可改变内部两个比较器的

简易电子琴的设计与仿真.

proteus 7的使用及调试 定时器、中断、键盘接口数字电路、模拟电路的相关知识2、实现及编程 2.1程序框图 ) 2.2电路原理图

2.3程序内容 7个音调的产生方法 按k2让音调逆向输出 如何按k8+k2放出音乐和如何 让音乐停止 2.4汇编源程序 BUZZ EQU P2 BUZZ1 EQU P1.7 ORG OOOOH LJMP MAIN ORG 000BH LJMP INT_T0 ORG 001BH LJMP TIME1 ORG 8000H MAIN: MOV SP,#90H MOV BUZZ,#0FFH MOV TMOD,#11H SETB ET0 SETB ET1 SETB EA CLR TR0 START: MOV R0, BUZZ CJNE R0,#0FFH,KEY1 CLR TR0 SJMP START KEY1: CJNE R0,#0FEH,KEY2 MOV 30H,#0FBH MOV 31H,#0E9H LJMP SET_TIMER KEY2: CJNE R0,#0FDH,KEY3 MOV 30H,#0FCH MOV 31H,#5CH LJMP SET_TIMER KEY3: CJNE R0,#0FBH,KEY4 MOV 30H,#0FCH MOV 31H,#0C1H LJMP SET_TIMER KEY4: CJNE R0,#0F7H,KEY5 MOV 30H,#0FCH MOV 31H,#0EFH LJMP SET_TIMER KEY5: CJNE R0,#0EFH,KEY6 MOV 30H,#0FDH MOV 31H,#045H LJMP SET_TIMER KEY6: 囉* 祖 1IU ■□■1l ? ■CkUJUfiia ▼"■VZ AfiJkAAl ■E * F Wi -54 ■U A JM "bn iunTb —- P XF

课程设计简易电子琴

课程设计 课程名称 题目名称 专业班级 学生姓名 学号 指导教师 二○--年月日

目录 1 设计任务书 (1) 2 电路总体设计 (2) 3 各部分电路设计 (3) 3.1 R、C选频网络电路的设计 (3) 3.2 波形产生电路 (4) 4 Multisim仿真与数据分析 (7) 5总结 (9) 6致谢 (10) 参考文献 (11) 附录A 总原理图 (12) 附录B 系统元器件清单 (13)

1 设计任务书 设计目的 (1)熟悉数字电子技术课程设计的方法和思想 (2)熟悉仿真软件Multisim使用 (3)进一步理解555多谐振荡器在设计过程中的使用 (4)熟悉555多谐振荡器的应用 (5)熟悉简易电子琴的设计方法和过程 设计思路 (1)先查询简易电子琴的七个音(各包括低、中、高三个音)的频率 (2)再设置充电电阻和固定电容,根据公式算出每个音阶对应电阻的阻值,从而确定R C选频网络电路。 (3)用多谐振荡器产生矩形脉冲驱动蜂鸣器发出不同声音 (4)用仿真软件中的虚拟仪器示波器和频率计测量每一个音阶的波形和频率。

2 电路总体设计 本电路主要是由RC选频网络电路和555定时器构成的多谐振荡器组成。因为设计要实现电子琴dou、ruai、mi、fa、suo、la、si七个音的发声。而每一个音都对应一个频率和电阻,所以通过设计不同的电阻和电容组成R、C选频电路。每一个频率经过多谐振荡器都会产生一个矩形脉冲。因为是在仿真软件中无法实现电子琴发声,采用示波器测量矩形波形和用频率计测量每一个选频网络中对应的每一个频率,再和实际数据相比较来判定发出的声音是否准确。该电路实现了dou、ruai、mi、fa、suo、la、si(各包括低、中、高三个音)的发声仿真。实现了简易电子琴的设计。电路整体框图如下: 图2.1 基本方框图 该电路具有原理简单、容易制作、调试方便等特点。能实现二十一种频率的方波且能驱动喇叭C调的二十一个音阶。其中,稳压电源可以由电脑提供。

简易电子琴课程设计

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位:信息工程学院 题目: 简易电子琴电路的设计仿真与实现 初始条件: 可选元件:集成运算放大器LM324、电阻、电位器、电容若干,直流电源,或自备元器件。 可用仪器:示波器,万用表,直流稳压源,函数发生器 要求完成的主要任务: (1)设计任务 根据要求,完成对简易电子琴电路的仿真设计、装配与调试,鼓励自制稳压电源。 (2)设计要求 ①设计一简易电子琴电路,按下不同琴键即改变RC值,能发出C调的八个基本音阶,采 用运算放大器构成振荡电路,用集成功放电路输出。已知八个基本音阶在C调时所对 ②选择电路方案,完成对确定方案电路的设计。 ③利用Proteus或Multisim仿真设计电路原理图,确定电路元件参数、掌握电路工作原 理并仿真实现系统功能。 ④安装调试并按规范要求格式完成课程设计报告书。 ⑤选做:利用仿真软件的PCB设计功能进行PCB设计。 时间安排: 1、前半周,完成仿真设计调试;并制作实物。 2、后半周,硬件调试,撰写、提交课程设计报告,进行验收和答辩。 指导教师签名:年月日 系主任(或责任教师)签名:年月日

目录 1.模电课设概述 (1) 1.1设计背景 (1) 1.2设计目的及意义 (1) 1.3开发环境proteus简介 (1) 2.电路原理 (3) 2.1 RC桥式振荡电路及频率选择 (3) 2.2振荡条件 (4) 3.总体方案设计 (5) 3.1实验电路设计思路 (5) 3.2设计电路图 (6) 3.3实验参数选择 (6) 4.仿真曲线及结果分析 (7) 4.1仿真操作过程及曲线 (7) 4.2仿真结果分析 (14) 5.实物制作及仿真、实物的差异 (15) 5.1实物制作过程和调试过程 (15) 5.2 仿真、实物的差异 (16) 6.心得体会 (17) 7.元件清单 (18) 8.参考文献 (19)

(完整版)基于51单片机简易电子琴的设计

电子琴的设计 1 课题背景 单片微型计算机室大规模集成电路技术发展的产物,属于第四代电子计算机它具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛的特点。他的应用必定导致传统的控制技术从根本上发生变革。因此,单片机的开发应用已成为高科技和工程领域的一项重大课题。 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89S52单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘扬声器等模块组成核心主控制模块,在主控模块上设有8个按键,和一个复位按键。 主要对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴硬件的组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏要表达的音符。并且分别从原理图,主要芯片,个模块原理及各莫奎的程序的调试来详细阐述。 一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,构成我们想演奏的那首曲目。当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样的方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系编写正确就可以达到我们想要的曲目。一. 任务要求与总体设计方案 1.1 设计任务与要求 利用所给键盘的1,2,3,4,5,6,7,8八个键,能够发出7个不同的音调,而且有一个按键可以自动播放歌曲,要求按键按下时发声,松开延时一小段时间,中间再按别的键则发另外一音调的声音,当系统扫描到键盘按下,则快速检测出是哪一个按键被按下,然后单片机的定时器启动,发出一定频率的脉冲,该频率的脉冲经喇叭驱动电路放大滤波后,就会发出相应的音调。如果在前一个按下的键发声的同时有另一个按键被按下,则启动中断系统。前面的发音停止,转到后按的键的发音程序。发出后按的键的音调。 1.2 设计方案 1.2.1 播放模块 播放模块是由喇叭构成,它几乎不存在噪声,音响效果较好,而且由于所需驱动功率

基于单片机的电子琴

基于51单片机的多功能电子琴的设计 摘要 电子琴是现代电子科技与音乐结合的产物,是一种新型的键盘乐器。它在现代音乐扮演着重要的角色,单片机具有强大的控制功能和灵活的编程实现特性,它已经溶入现代人们的生活中,成为不可替代的一部分。本文的主要内容是用AT89C51单片机为核心控制元件,设计一个电子琴。以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有16个按键、一排LED灯和扬声器。本系统运行稳定,其优点是硬件电路简单,软件功能完善,控制系统可靠,性价比较高等,具有一定的实用和参考价值。 一、总体方案设计 1、系统设计要求 本系统分为三个部分,一个是音乐播放,一个是电子琴弹奏,和一个流水灯演示。具体指标如下: 1)要求达到电子琴的基本功能,可以用弹奏出简单的乐曲。 2.)用键盘作出电子琴的按键,每键代表一个音符。 3)各音符按一定的顺序排列,必须符合电子琴的按键排列顺序。 //4)固定音乐播放有按键控制:“播放”、“弹奏/停止”。 5)弹奏电子琴时能播放出准确的声音,不弹奏时可以播放内置音乐。 6)弹奏电子琴时,流水灯会不停的亮灭。 2、系统设计组成 本系统分为两个部分,一个是音乐另一个就是电子琴。音乐播放部分:乐音实际上是有固定周期的信号。本文介绍用AT89C51的两个定时器(如T0,T1)控制,在P3.7脚上输出方波周期信号,产生乐音,通过矩阵键盘按键产生不同的音符,由此操作人员可以随心所欲的弹奏自己所喜爱的乐曲,同时,那排流水灯会不停的闪烁,当不想弹奏时通过按放歌键可以演奏事先存放在单片机中的几首动听的曲子供消遣。当歌曲演奏完时,通过按复位键便可回到初始状态,这样就做出了一台微型电子琴。由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。乐曲中,每一音符对应着确定的频率,我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。电子琴弹奏部分:实际上就是把每个按键所对应的值经过处理后发给单片机,再在单片机内把数字当作指针指向所对应的音符。 3、系统框图 该系统通过电子琴按键随意键入所要表达的音符,作为电平送给主体电路,中央处理器通过识别,解码输出音符,在扬声器中发出有效的声音。通过这样可以不断的弹奏音乐。嵌入式电路,按键电路,LED显示电路和两个功能键组成,通过功能键可以选择播放音乐。其主要模块由五个部分组成,具体关系如图

单片机电子琴音乐盒课程设计

课程设计报告 设计题目:单片机多功能音乐盒设计 【摘要】本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用来暂停歌曲,另一个用来切换歌曲本音乐盒共有四首歌曲,还有4*4矩阵键盘电子琴弹奏功能,播放歌曲时,蜂鸣器发出音调,矩阵键盘无扫描信号,不动作。当按下暂停歌曲键时,可继续弹奏电子琴。本设计利用KEIL编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试,节约了设计时间。 设计作者:吴文豪 专业班级/学号:10应电三班 1006020144 合作者1:专业班级/学号: 合作者2:专业班级/学号: 指导教师:王明文 设计时间:2012年5月12日———2012年6月3日

目录 引言 (1) 1.设计任务及要求 (2) 1.1设计任务 (2) 1.2设计要求 (2) 1. 3研究内容 (2) 2.系统总体设计 (3) 2.1系统结构框图设计及说明 (3) 3.软、硬件设计…………………………………………………………….. 3.1 系统硬件设计………………………………………………………… 3.1.1系统硬件原理图及工作原理说明………………………… 3.1.2单元电路设计原理与元件参数选择……………………… 3. 2系统软件设计…………………………………………………….. 3. 2. 1软件系统总流程图及设计思路说明…………………... 3. 2. 2软件各功能模块的流程图设计及思路说明…………... 4.安装与调试………………………………………………………………. 4.1安装调试过程……………………………………………………… 4.2调试中遇到的问题…………………………………………………5.结论………………………………………………………………………. 6.使用仪器设备清单………………………………………………………. 7.收获、体会和建议………………………………………………………. 8.参考文献…………………………………………………………………. 9.附录………………………………………………………………………

模电课程设计简易电子琴的设计

1. 模电课设概述 现在的电子琴一般使用PCM或AWM采样音源。所谓采样就是录制乐器的声音,将其数字化后存入ROM里,然后按下键时CPU回放该音。甚至有一些高级编曲键盘可以使用外置采样(比如Tyros 3的硬盘音色)。现代电子琴并非“模仿”乐器音色。它使用的就是真实乐器音色。当然,现在力度触感在电子琴里是必备的。而且现代电子琴还加上了老式电子琴的滤波器,振荡器,包络线控制来制造和编辑音色。甚至也带上了老式电子琴的FM 合成机构。 本次课程设计主要是通过对电子琴主体部分的电路进行模仿设计,按下不同琴键改变RC值,发出C调的八个基本音阶,采用运算放大器构成振荡电路,用集成功放电路输出音调,从而达到电子琴固有的基本功能。 2. Proteus软件简介 Proteus软件是由英国LabCenter Electronics公司开发的EDA工具软件,由ISIS和ARES两个软件构成,其中ISIS是一款便捷的电子系统仿真平台软件,ARES是一款高级的布线编辑器,它集成了高级原理布线图、混合模式SPICE电路仿真、PCB设计以及自动布线来实现一个完整的电子设计。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus软件的模拟仿真直接兼容厂商的SPICE模型,采用了扩充的SPICE3F5电路仿真模型,能够记录基于图表的频率特性、直流电的传输特性、参数的扫描、噪声的分析、傅里叶分析等,具有超过8000种的电路仿真模型。 Proteus软件支持许多通用的微控制器,如PIC、AVR、HC11以及8051;包含强大的调试工具,可对寄存器、存储器实时监测;具有断点调试功能及单步调试功能;具有对显示器、按钮、键盘等外设进行交互可视化仿真的功能。此外,Proteus可对IAR C-SPY、KEIL 等开发工具的源程序进行调试。 此外,在Proteus中配置了各种虚拟仪器,如示波器、逻辑分析仪、频率计,便于测量和记录仿真的波形、数据。 3. 简易电子琴基本原理 3.1 音乐产生原理 由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我

EDA课程设计硬件电子琴及自动演奏要点

郑州航空工业管理学院 《EDA技术及应用》 课程设计报告 届通信工程专业班级 题目:电子琴与自动演奏学号: 姓名: 同组人: 指导老师: 2013年07月07日

1 课程设计要求 硬件电子琴设计 设计要求: (1)按下KEY1~KEY7 分别表示中音的DO、 RE 、 ME、 FA、 SOL、 LA、 SI.(2)按住KEY8同时按KEY1~KEY7 分别表示高音的DO、 RE 、 ME、 FA、SOL、 LA、 SI; (3)按下相应的键有对应LED灯指示; 其他要求: (1)晶振为12 MHz.,采用CPLD 器件为ALTERA 的EPM7064AEL144-7N。 乐曲自动演奏机 设计要求: (1)可以在电路上能自动演奏乐曲,在这里我们采用的是贝多芬的《欢乐颂》; (2)有相应的LED灯指示高低音; 其他要求: (1)晶振为12 MHz; (2)采用CPLD 器件,为ALTERA 的EPM7064AEL144-7N。 硬件电子琴设计+乐曲自动演奏机 最初我们选择的设计是电子琴,但是由于电子琴的设计较为基础,因此我们对电子琴的设计进行了改进,将其与乐曲自动演奏相结合,要求如下:设计要求: (1)按下KEY1—KEY7 分别表示中音的DO、 RE 、 ME、 FA、 SOL、 LA、SI; (2)对于电子琴,按下相应的键有对应LED灯指示; (3)可以在电路上能自动演奏乐曲,在这里我们采用的是贝多芬的《欢乐颂》,且有相应的LED灯指示高低音; (4)能实现电子琴和乐曲自动演奏功能的切换。 其他要求:

(1)晶振为12 MHz; (2)采用CPLD 器件为ALTERA 的EPM7064AEL144-7N。 2 整体规划 设计分析 根据设计要求,由于乐曲自动演奏机和硬件电子琴的设计已经存在,我们对已有的设计进行修改,形成两个不同功能的模块,然后采用元件例化,拼接两个模块,同时附加一个选择功能模块,以实现乐曲自动演机和硬件电子琴两个功能。 硬件电子琴分析 对于硬件电子琴,参考了实验时使用的程序,已经达到的要求有: (1)按下key1~key7 分别表示中音的DO、 RE 、 ME、 FA、 SOL、 LA、 S;(2)按下相应的键有对应LED灯指示。 乐曲自动演奏机分析 对于乐曲自动演奏机,参考了实验时使用的程序,已经达到的要求有:(1)可以在电路上能自动演奏乐曲,在这里我们采用的是贝多芬的《欢乐颂》(2)有相应的LED灯指示高低音。 而对于其他要求: (1)晶振为12 MHz.; (2)采用CPLD 器件为ALTERA 的EPM7064SL-44。 我们在实验箱验证时,先按照实验箱芯片和晶振进行就修改,在实验箱上确认实验相应功能之后,我们在对应模块的频率数值进行修改,并在对管脚重新锁定即可。 整体设计分析 整体设计要求:用key8实现两个功能切换。添加一个选择器,以实现两个功能切换。当key8键没有按下时,电路实现硬件电子琴功能,当key8键按下之后,电路实现乐曲自动演奏机。由于不存在现成可以借鉴的,于是,课程设计任务重心就放在了选择器模块的编写以及整体电路的合成上。 顶层模块输入输出

相关主题
文本预览
相关文档 最新文档