|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
引言
# y% x! j3 v0 t& D6 A当前的很多用单片机实现音乐演奏的系统都是针对一& I: ?: f7 @3 O8 D
首曲子进行编码,然后查表播放,不能变调和变速。本文
8 E; c/ K' r- \: X% ?# I3 I' S提供一种方法可使音乐播放实现变调变速,电路简单,8 q: C. z1 A% n) _+ U2 c
0
3 m3 U6 ^9 e" G) Q0 J% s+ Z/ m容易实现。.
$ `/ P9 \ M. u9 j# \' g0 X* M4 y1基本原理4 p8 p; E6 ?. i n% G z* V
乐谱中每一个音符都与某-个特定的频率相对应。# w& b* Z- t# h; s
单片机音乐演奏控制通过控制内部定时器T0来产生不5 S* Y- E6 w- ]4 J* r3 `
同频率的方波,从而驱动喇叭发出不同音符的声音。发
8 ?8 D7 _0 s+ e" Q音的长短时间用定时器T1来控制。把谱中的音符对应! K! k' f/ W, S) G- _0 v* g, e
的频率转换成定时器TO常数,相应的节拍变为T1常' S$ Q( m# y% G& D4 O
数。通过对歌谱编码,来到不同的表里查出对应的调式、
# ]% Y* f1 z! J( \: V5 {* g% i6 M: u, u速度、声音的频率及节拍,然后根据所查的结果到相对; T* S0 ^' y2 E3 A# V( s
应的存储器中取出这些常数送入定时器。
^+ [4 U/ v3 e4 C因为C.D等各调之间是移位的关系,即C调的29 S4 Z3 p7 ~- @, ^
是D调的1,因此可以制成--个表,把C调各音符对应
: M) u1 D9 K( y5 m的频率常数值存到表中,再通过上面的移位关系计算偏1 ~; x! f5 ^2 }9 }7 ~ s2 e, X
移地址去提取所要的频率常数值。
; _) i5 M k" d' K5 ?9 Q! p
_6 F! w9 `6 N. S+ M2 x! i& y: x
* b: [* o: x% ^8 A7 f |
|