音乐程序原理

上传人:re****.1 文档编号:429612944 上传时间:2022-11-21 格式:DOC 页数:5 大小:48.02KB
返回 下载 相关 举报
音乐程序原理_第1页
第1页 / 共5页
音乐程序原理_第2页
第2页 / 共5页
音乐程序原理_第3页
第3页 / 共5页
音乐程序原理_第4页
第4页 / 共5页
音乐程序原理_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《音乐程序原理》由会员分享,可在线阅读,更多相关《音乐程序原理(5页珍藏版)》请在金锄头文库上搜索。

1、音乐程序的设计原理和程序如下:2 Z& P/ s# L! C; I! / r7 p, ?6 V设计原理7 l9 8 R! ?! B3 T1 - J! Z 总体原理:- x9 L$ P* S3 c# P! 8 a 乐曲中不同的音符,实质就是不同频率的声音。通过单片机产生不同的频率的脉冲信号,经过放大电路,由蜂鸣器放出,就产生了美妙和谐的乐曲。# a& Q; m+ C. g# g2 C 单片机产生不同频率脉冲信号的原理:/ G& p8 r p7 L V$ k t2 H0 T1)要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期的时间,

2、每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。: o5 _* o T5 3 X) L2)利用8051的内部定时器使其工作在计数器模式MODE1下,改变计数值TH0及TL0以产生不同频率的方法如下:+ O& O! 0 M1 p0 u, Y2 ? 例如,频率为523Hz,其周期天/523 S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。 1 G2 5 e3 o7 V! B. M计数脉冲值与频率的关系公式如下:% 0 l+ ! f5 |5 |0 n

3、+ N=Fi/2/Fr ) f1 Y9 |, ?7 ) J(N:计数值,Fi:内部计时一次为1uS,故其频率为1MHz,Fr:要产生的频率 )9 Kh8 l5 / b 其计数值的求法如下:/ Q: 4 ! a# W. L6 K GT=65536-N=65536-Fi/2/Fr* N+ g1 y# d& l6 F; N7 L- T计算举例:9 w; W2 Q3 7 X1 X4 T0 J设K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(1046Hz)的计数值。6 kQ# o% a. _T=65536-N=65536-Fi/2/Fr=6

4、5536-1000000/2/Fr=65536-500000/Fr9 K& ) B0 w- - H- S d低音DO的T=65536-500000/262=636279 V4 f; % U5 e4 Z) K7 中音DO的T=65536-500000/523=64580; t9 g/ x c0 s, r高音DO的T=65536-500000/1047=65059! z Q3 H2 q; z9 e C调个音符频率与计数值T的对照表如下表所示:- r* X# t! B D, r Z, G4 u( : X# H) x( W. 1 H# y0 K3 W表9.1C调各音符频率与计数值T的对照表+ X! w

5、- / 5 d5 s音符 频率(Hz) 简谱码T值 音符 频率(Hz) 简谱码T值- c/ X; c+ w3 t& Z; x9 E低1DO 262 63628 #4FA# 740 64860f: Y2 y4 X3 K* i% 3 w4 L0 Z#1DO# 277 63731 中5SO 784 64898$ a. t0 W) |. _7 m& D低2RE 294 63835 #5SO# 831 649237 z% W# L6 d9 a1 Y/ a! D#2RE# 311 63928 中6LA 880 64968 u9 q5 L! # R8 4 l( h低3M 330 64103 #6 932 6

6、4994L4 d7 : 3 K! S: q, A低4FA 349 64103 中7SI 988 650301 B, ?& - 8 AC#4FA# 370 64260 高1DO 1046 65058* B& , . U3 x低5SO 392 64260 #1DO# 1109 65085) D/ D I5 W* Q J#5SO# 415 64331 高2RE 1175 65110; N; W2 G1 I, r+ h6 低6LA 440 64400 #2RE# 1245 65124. , r3 x! 6 z0 W#6 466 64463 高3M 1318 651576 R, c# k# i; x)

7、N低7SI 494 64524 高4FA 1397 65178; K/ jp- D4 W中1DO 523 64580 #4FA# 1480 651986 9 w; f h( _+ J7 J/ H: V# Z# F, h7 W! cD 每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,如下表为1/4和1/8节拍的时间设定。 1 G2 Y: 2 u# b表

8、9.2节拍码对照表# 1 L& z9 ?* e$ . Y; N1/4节拍 1/8节拍0 W9 s5 E5 Il8 g& _2 T9 V节拍码 节拍数 节拍码 节拍数: R8 % _0 T W; u! Z6 S, n) s1 1/4拍 1 1/8拍5 A. H: v, e( M1 s* U7 I2 2/4拍 2 1/4拍9 b( F- m5 O+ J/ x3 3/4拍 3 3/8拍* ( T$ p1 a6 W! D7 B! A B4 1拍 4 1/2拍- m# c) Y$ q4 O8 l5 1又1/4拍 5 5/8拍- i2 . 7 B8 0 N6 1又1/2拍 6 3/4拍9 t6 K4 p)

9、 V/ O, P5 lM, _7 1又3/4拍 7 7/8拍6 3 2 9 n+ c8 2拍 8 1拍) a2 U2 C, C- D# 9 2又1/4拍 9 1又1/8拍8 - Y; / q X+ yA 2又1/2拍 A 1又1/4拍 Q( 2 |# v) h* N1 a8 S( aB 2又3/4拍 B 1又3/8拍3 b( ! u( g$ R+ p0 g: B6 hC 3拍 C 1又1/2拍2 j9 b( I; k1 K! cD 3又1/4拍 D 1又5/8拍- ( g( c! - R3 A; gE 3又1/2拍 E 1又3/4拍; D. 5 e! b; J KF 3又3/4拍 F 1又7/

10、8拍) c1 U; V0 p& m6 D9 Kq表9.3 各调节拍的时间设定表$ + 6 R. t6 E9 0 q1/4节拍 1/8节拍+ o/ Yn5 Q4 eU& |$ k5 m曲调值 DELAY 曲调值 DELAY8 * U! M W# J5 p8 S+ c调4/4 125毫秒 调4/4 62毫秒4 c9 - n O! y: TF& IC# a调3/4 187毫秒 调3/4 94毫秒& S8 e9 r# n$ f* Q/ K9 Y. b8 调2/4 250毫秒 调2/4 125毫秒$ v7 Q8 e. z5 W! y) 6 b* I 建立音乐的步骤:! K t5 C% Z1 n0 G0

11、v- R7 W 1)先把吧乐谱的音符找出,然后由上表建立T值表的顺序。+ N e; K) * |4 W; |+ F 2)把T值表建立在TABLE1,构成发音符的计数值放在“TABLE”。! w, D+ ! p5 k- p. N3)简谱码(音符)为高位,节拍为(节拍数)为低4位,音符节拍码放在程序的“TABLE”处。+ o) a! 0 F) f; o/ G4 _! b6 u1 B5 X表9.4简谱对应的简谱码、T值、节拍数- C5 |5 ) C6 K3 L0 Z! X简谱 发音 简谱码 T值 节拍码 节拍数: F$ o+ B8 f J2 u, e: % f5 低5SO 1 64260 1 1/4

12、拍0 O; k5 x. U0 K+ V! y6 低6LA 2 64400 2 2/4拍5 T0 G% v: g; J nY+ Z7 低7SI 3 64524 3 3/4拍- r* S7 q E, Z U9 ( z7 I1 中1DO 4 64580 4 1拍! l- |. v0 P. m2 N/ - ! q; E, 2 中2RE 5 64684 5 1又1/4拍! G+ f5 k4 ( Z/ X7 K) * 3 中3M 6 64777 6 1又2/4拍. E p H) es4 中4FA 7 64820 7 1又3/4拍q p& I4 yh5 4 * t9 Z. 5 中5SO 8 64898 8

13、2拍: y4 J/ m, 2 _& Q: u6 中6LA 9 64968 9 2又1/4拍( _6 Y6 G5 e2 K7 中7SI A 65030 A 2又2/4拍/ y: o% ! n8 p9 0 F9 y1 e9 T1 高1DO B 65058 B 2又3/4拍) H) & b 4 P 2 A7 U1 F B2 高2RE C 65110 C 3拍* n, Z# P( W3 J5 F) q, * C J3 高3M D 65157 D 3又1/4拍2 z$ p3 W3 j6 EW- 5 _5 y4 高4FA E 65178 E 3又2/4拍1 e2 c5 x5 Z+ O0 D$ o- c5

14、高5SO F 65217 F 3又3/4拍8 b$ 6 ?% - 不发音 0 5 G6 K; E; |1 q7 n* f% J, y T0 Y* A1/4拍的延迟时间=187毫秒8 t: e, v4 f) g- W nDELAY: MOVR7,#2. nv8 0 Q; g; d) fD2: MOVR4,#1874 ?1 ?! 0 S: l% e2 E5 V0 G0 T9 uD3: MOVR3,#2480 E# Y g# N7 j; lDJNZR3,$0 t! j$ T. W6 B! p/ oDJNZR4,D38 a5 r3 k4 M5 H9 y5 ) q$ KDJNZR7,D2# _/ G* T, d1 P( ) J/ H. Z& GRET5 A7 m3 z) H0 R) T9 h9 d( V4程序范例3 N. O& BU1 k: j7 ORG 0000H ;主程序起始地址% |, d x7 j% l% L, R( T7 oSJMP START ;跳至主程序, x. ?6 f, C- Q% z0 Z* v( T! BORG 000BH ;TIMER0中断起 始地址i1 o7 X, V% 7 1 g LJMP TIM0 ;跳至TIMER0中断子程序9 9 ?s. n5 v8 D b3 lSTART:MOV TMOD,#01H ;设T0在M1 C - d/ x$ dq

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号