|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
. |" G, u4 {; h0 \* i) i- g
摘要:本文设计了一种具有48个按键的MIDI电子琴,该电子琴的键盘弹奏信息以及通道、音色信息经CPU处理( h4 v: O- ]8 R; }' y U8 l# S
后产生相应的MIDI数据流,由串口发送给通用MIDI音源模块,经功率放大后推动扬声器发声。该电子琴支持单音1 E2 h$ ]$ j, U- u" e& J
和复音弹奏,最多支持复音数为16个,有128种音色可供选择,结构简单,具有可靠的功能和优美的音色。6 e: V) R2 g6 T3 I
关键词:电子琴; MIDI;单片机2 m/ c1 w# L( `1 q5 \
0引言( m, k @% x _$ ~. |% g; Z
在电子音乐领域,自从20世纪末期MIDI(乐器数字
- u2 C8 x& b; q' V2 v$ P# {4 Q% s2 b+ M化接口)推出和逐步规范化后,各种乐器及众多数码音视8 s3 x/ `: @+ O+ u8 ?# Z# U8 m
频产品中采用MIDI技术已逐渐成为一种潮流。但是当前
3 D; T2 D% u$ i1 a) D各厂商的电子琴产品通常使用自己设计的专用音源,并且+ O+ R3 I1 d2 T
软硬件均不对外公开,阻碍了MIDI技术的交流。作者在
7 B# l9 H& l$ Z9 j开发基于MIDI模块的音乐发生器的过程中,进行了用单 I& }( T9 I0 S% n9 G) g
片机控制通用MIDI音源模块的相关功能制作电子琴的实8 r v3 C+ D' P% h" U) ?& \6 t
践,制作出具有48个按键的MIDI 电子琴,该琴支持单音: ?( P. j( K5 Q9 N
和复音弹奏,单片机以标准的MIDI波特率传送信息,通过" z- |* V- p' {8 ~3 ]1 f
串口连接MIDI音源,从而获得优美的乐音。8 L: |6 J c5 Q; P" v1 e0 P* R S
1电子琴的硬件设计方案1 i. e* E5 @5 c2 @0 x6 ?
本电子琴包含48个按键键盘,即具有4个8度的音域,
$ {" A" ^* |0 }# n G单片机AT89C51通过对所弹按键的识别,产生相应的MIDI3 X6 R$ G1 D0 e7 _ A Q6 B
消息。它支持单音弹奏和最多16个复音弹奏。电子琴结构& S3 j, B4 C$ Q3 h2 k5 L
示意图和电路原理图分别如图1和图2所示。AT89C51 作
7 ^* h8 \" |% j为主控芯片,它使得键盘矩阵模块、通道和音色选择以及串
! V& {7 c0 g1 g$ a; {" S6 R: A口发送等各功能模块协调工作。48 按键行列式键盘矩阵构3 M2 V1 {- ]1 ?0 Y
成MIDI电子琴的键盘扫描输人端,由于89C51的P0口内4 a- V1 R1 n& T# i- [! B
部没有上拉电阻,故这里采用电阻Rμ~Re将列线拉至高电% ?( s/ Z. D. d6 m4 H. R* ?% C
1 q+ h/ \# q/ v N5 m3 V" g平,与6条行线组合完成48个琴键的扫描识别,在图1中,9 N* L( n! V4 Q- d
单片机与键盘矩阵间的双箭头线表示单片机在扫描键盘矩$ U X6 [4 i/ x8 ^9 r M& a" w& @, q
阵时,P0口和P2口分别作为输入/输出口使用。人机接口9 |- `" E, J' D5 `. f
电路则利用了单片机P1口的大部分口线,并通过或门向
- p$ Q0 f: e B. @2 U( k& MINT0发出中断请求,该部分电路主要完成MIDI电子琴的# ^6 n G4 L* @& V9 [
通道设置和音色选择等人机交互功能。键盘的弹奏信息以
?' _* B" D( V1 u) Y及通道、音色信息经CPU处理后,由串口将标准的MIDI数
/ p& A$ v$ V3 X( ]3 _9 b5 h- u据发送给MIDI音源及放大器,推动扬声器发声。
8 m9 ~3 K7 t( ]1 X" j+ y! H音源模块采用MD2064套板,如图3所示。它是一种模块. [. [3 t! G3 x# i! V
化的MIDI音源产品,由得理电子公司开发,具有标准MD接+ D( j) R3 D1 L f( T4 ^
口,该板能接受标准GM MIDI命令进行音乐播放,自带3D,
2 F, z3 E0 i, h) Q2 qREVERB, CHORUS等效果处理。由于该套板的MIDI接口采
( z4 A! K z% E0 L- X( g+ [6 ^0 V用了光耦合器,电流驱动,故设计了由Q Q等器件组成的驱动# V& k! O5 ~/ g$ r, C5 Z
电路,使单片机串口数据得以正常传输。在模块的耳机输出端
2 J( P9 P4 A9 T9 Q$ i取得信号后经小功率放大即可推动扬声器发声。
$ ?; J8 o4 C% e1 r8 Z$ n2 H
+ ^( S3 j$ W( p5 T" `) K& Q/ o4 p, x& M
- E& m& H! h7 |# l8 M5 U
附件下载:- o1 l7 l! _ g# g, Q
, `: }* |% t6 S1 w1 w |
|