|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
引言! b7 l( M: ]6 K0 o# ?/ r% f
当前的很多用单片机实现音乐演奏的系统都是针对一
# m I' V9 x) k: C- \9 z4 q首曲子进行编码,然后查表播放,不能变调和变速。本文- ]( U @: ?' f4 n
提供一种方法可使音乐播放实现变调变速,电路简单,
5 e# s: [, H! O/ E0
1 i- Z4 z2 P: Y* `3 c# ^( q0 z2 q0 }8 o容易实现。.
( a" ]+ @+ u7 k, a6 J; R1基本原理
# i3 i% ?$ l3 H- W乐谱中每一个音符都与某-个特定的频率相对应。
* T+ D7 i5 t. \. V单片机音乐演奏控制通过控制内部定时器T0来产生不
4 {' ^+ v" n8 q0 O! `) O同频率的方波,从而驱动喇叭发出不同音符的声音。发
- {, \3 |, i8 M3 Y6 |9 C音的长短时间用定时器T1来控制。把谱中的音符对应
7 ?' E# H5 T0 j) l5 e% v( Y8 @# o的频率转换成定时器TO常数,相应的节拍变为T1常: P2 @( [. z( N5 S; d7 v5 Z& @5 w
数。通过对歌谱编码,来到不同的表里查出对应的调式、
/ l" y9 A9 K3 r4 Q速度、声音的频率及节拍,然后根据所查的结果到相对
: n" k& J/ S( u) j应的存储器中取出这些常数送入定时器。( W6 |% r2 h& A
因为C.D等各调之间是移位的关系,即C调的2. i) N7 x7 ]/ G+ t+ l; @, b
是D调的1,因此可以制成--个表,把C调各音符对应7 E' e, @% l! s3 V3 b0 o( V/ c
的频率常数值存到表中,再通过上面的移位关系计算偏
$ A/ y8 t: Y8 o; y! s# V; h移地址去提取所要的频率常数值。8 ~9 R4 w8 E8 e# ]# @3 k1 R
* d# E' \! i7 w
3 R2 L6 U- L2 L$ n! l9 O& H |
|