音樂(lè)程序原理

上傳人:仙*** 文檔編號(hào):28799101 上傳時(shí)間:2021-09-13 格式:DOC 頁(yè)數(shù):5 大小:48KB
收藏 版權(quán)申訴 舉報(bào) 下載
音樂(lè)程序原理_第1頁(yè)
第1頁(yè) / 共5頁(yè)
音樂(lè)程序原理_第2頁(yè)
第2頁(yè) / 共5頁(yè)
音樂(lè)程序原理_第3頁(yè)
第3頁(yè) / 共5頁(yè)

下載文檔到電腦,查找使用更方便

15 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《音樂(lè)程序原理》由會(huì)員分享,可在線閱讀,更多相關(guān)《音樂(lè)程序原理(5頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、音樂(lè)程序的設(shè)計(jì)原理和程序如下:2 Z& P/ s# L! C; I! ^/ r7 p, ?6 V 設(shè)計(jì)原理7 l9 }8 R! ?! B3 T1 `- J! Z ⑴ 總體原理: - x9 L$ P* S3 c# P! {8 a 樂(lè)曲中不同的音符,實(shí)質(zhì)就是不同頻率的聲音。通過(guò)單片機(jī)產(chǎn)生不同的頻率的脈沖信號(hào),經(jīng)過(guò)放大電路,由蜂鳴器放出,就產(chǎn)生了美妙和諧的樂(lè)曲。# a& Q; m+ C. g# g2 C ⑵ 單片機(jī)產(chǎn)生不同頻率脈沖信號(hào)的原理: / G& p8 r p7 L V$ k t2 H0 T1)要產(chǎn)生音頻脈沖,只要算出某一音頻的脈沖(1/頻率),然后將此周期除以2,即為半周期的時(shí)間,

2、利用定時(shí)器計(jì)時(shí)這個(gè)半周期的時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期的時(shí)間再對(duì)I/O反相,就可以在I/O腳上得到此頻率的脈沖。 : o5 _* o" T5 {3 X) L2)利用8051的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式MODE1下,改變計(jì)數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法如下: + O& O! [0 M1 p0 u, Y2 ? 例如,頻率為523Hz,其周期天/523 S=1912uS,因此只要令計(jì)數(shù)器計(jì)時(shí)956uS/1us=956,在每計(jì)數(shù)956次時(shí)就將I/O反接,就可得到中音DO(532Hz)。 @1 G2 \5 e3 o7 V! B. M計(jì)數(shù)脈沖值與頻

3、率的關(guān)系公式如下:% \0 l+ }! f5 |5 |0 n+ @ N=Fi/2/Fr ) f1 Y9 |, ?7 ^) J(N:計(jì)數(shù)值,F(xiàn)i:內(nèi)部計(jì)時(shí)一次為1uS,故其頻率為1MHz,F(xiàn)r:要產(chǎn)生的頻率 ) 9 Kh8 l5 `/ b⑶ 其計(jì)數(shù)值的求法如下: / Q: \4 ^! a# W. L6 K" GT=65536-N=65536-Fi/2/Fr * N+ g1 y# d& l6 F; N7 L- T計(jì)算舉例: 9 w; W2 Q3 @7 X1 X4 T0 J設(shè)K=65536,F=1000000=Fi=1MHz,求低音DO(261Hz)、中音DO(523Hz)、高音DO(

4、1046Hz)的計(jì)數(shù)值。 6 kQ# o% a. _T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr 9 K& }) B0 w- ]- H- S d低音DO的T=65536-500000/262=63627 9 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調(diào)個(gè)音符頻率與計(jì)數(shù)值T的對(duì)照表如下表所示: - r* X# t! B

5、 D, r" Z, G4 u ( ^: X# H) x( W. ^1 H# y0 K3 W表9.1C調(diào)各音符頻率與計(jì)數(shù)值T的對(duì)照表 + X! w- }/ `5 d5 s音符 頻率(Hz) 簡(jiǎn)譜碼T值 音符 頻率(Hz) 簡(jiǎn)譜碼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 64923 7 z% W# L6 d

6、9 a1 Y/ a! D#2RE# 311 63928 中6LA 880 64968 u9 q5 L! ^# R8 `4 l( h 低3M 330 64103 #6 932 64994L4 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;

7、 W2 G1 I, r+ h6 \低6LA 440 64400 #2RE# 1245 65124. ~, r3 x! @6 z0 W #6 466 64463 高3M 1318 65157 6 R, c# k# i; x) 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 ⑸ 每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,下表為節(jié)拍碼的對(duì)照。但如果1拍為0.4秒,1/4

8、拍是0.1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4節(jié)拍為1DELAY,則1拍應(yīng)為4DELAY,以此類推。所以只要求得1/4拍的DELAY時(shí)間,其余的節(jié)拍就是它的倍數(shù),如下表為1/4和1/8節(jié)拍的時(shí)間設(shè)定。 1 G2 Y: ~2 u# b 表9.2節(jié)拍碼對(duì)照表# ^1 L& z9 ?* e$ ]. Y; N 1/4節(jié)拍 1/8節(jié)拍 0 W9 s5 E5 Il8 g& _2 T9 V節(jié)拍碼 節(jié)拍數(shù) 節(jié)拍碼 節(jié)拍數(shù): R8 ~% _0 T" W; u! Z6 S, n) s 1 1/4拍 1 1/8拍 5 A. H: v, e( M1 s* U7 I2 2/4拍 2 1/4拍

9、 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) 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)

10、 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" K F 3又3/4拍 F 1又7/8拍) c1 U; V`0 p& m6 D9 Kq 表9.3 各調(diào)節(jié)拍的時(shí)間設(shè)定表$ [+ `6 R. t6 E9 ]0 q 1/4節(jié)拍 1/8節(jié)拍 + o/ Yn5 Q4 eU& |$ k5 m曲調(diào)值 DELAY 曲調(diào)值

11、 DELAY8 }* U! M W# J5 p8 S+ c 調(diào)4/4 125毫秒 調(diào)4/4 62毫秒4 c9 @- n O! y: TF& IC# a 調(diào)3/4 187毫秒 調(diào)3/4 94毫秒 & S8 e9 r# n$ f* Q/ K9 Y. b8 @調(diào)2/4 250毫秒 調(diào)2/4 125毫秒 $ v7 Q8 e. z5 W! y) {6 b* I⑹ 建立音樂(lè)的步驟:! K t5 C% Z1 n0 G0 v- R7 W 1)先把吧樂(lè)譜的音符找出,然后由上表建立T值表的順序。+ N e; K) @* |4 W; |+ F 2)把T值表建立在TABLE1,構(gòu)成發(fā)音符的計(jì)數(shù)值放

12、在“TABLE”。! w, D+ @! p5 k- p. N 3)簡(jiǎn)譜碼(音符)為高位,節(jié)拍為(節(jié)拍數(shù))為低4位,音符節(jié)拍碼放在程序的“TABLE”處。 + o) a! ~0 F) f; o/ G4 _! b6 u~1 B5 X 表9.4簡(jiǎn)譜對(duì)應(yīng)的簡(jiǎn)譜碼、T值、節(jié)拍數(shù)- C5 |5 @) C6 K3 L0 Z! X 簡(jiǎn)譜 發(fā)音 簡(jiǎn)譜碼 T值 節(jié)拍碼 節(jié)拍數(shù): F$ o+ B8 f J2 u, e: [% f 5 低5SO 1 64260 1 1/4拍0 O; k5 x. U0 K+ V! y 6 低6LA 2 64400 2 2/4拍 5 T0 G% v: g; J[" nY+

13、Z7 低7SI 3 64524 3 3/4拍- r* S7 q" E, Z" U9 ]( z7 I 1 中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 2拍 : y4 J/ m, {2 _& Q: u6 中6LA 9 64968 9

14、 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 高5SO F 65217 F

15、 3又3/4拍8 b$ }6 ?% {- } 不發(fā)音 0 5 G6 K; E; |1 q7 n* f % J, y" T0 Y* A1/4拍的延遲時(shí)間=187毫秒8 t: e, v4 f) g- W n DELAY: MOVR7,#2. n^v8 {0 Q; g; d) f D2: MOVR4,#1874 ?1 ?! ^0 S: l% e2 E5 V0 G0 T9 u D3: MOVR3,#2480 E# Y" g# N7 j; l DJNZR3,$ 0 t! j$ T. W6 B! p/ oDJNZR4,D3 8 a5 r3 k4 M5 H9 y5 ^) q$

16、KDJNZR7,D2# _/ G* T, d1 P( {) J/ H. Z& G RET 5 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! B ORG 000BH ;TIMER0中斷起 始地址i1 o7 X, V% @7 ^1 g LJMP TIM0 ;跳至TIMER0中斷子程序 9 ]9 ?s. n5 v8 D" b3 lST

17、ART:MOV TMOD,#01H ;設(shè)T0在M1" C @- d/ x$ d]q MOV IE,#82H ;中斷使能 % z; o9 q" K, K" I. SSTART0:MOV 30H,#00 ;取簡(jiǎn)譜碼指針 ! u; f" S& k+ bNEXT: MOV A,30H ;簡(jiǎn)譜碼指針載入A2 e. F ^! `- v# W) N% ] MOV DPTR,#TAB ;至TAB取簡(jiǎn)譜碼! D! X! ~( r9 e, s`0 }. L MOVC A,@A+DPTR ;* {4 g V. W2 r5 y& ?* I* d0 c& n MOV R2,A

18、;渠道的簡(jiǎn)譜碼暫存于R2- O" w3 `, d* b" {% G0 U JZEND0 ;是否渠道00(結(jié)束碼) % r h o+ y1 ^9 c ANLA,#0FH ;不是,則取低4位(節(jié)拍碼) 2 g" R& G m( w* ^T MOV R5,A;將節(jié)拍碼存入R5 . E7 R2 c! ]1 o8 Y2 y+ F U MOV A,R2;將取到的簡(jiǎn)譜碼再載入A + ]. ~+ y7 T0 l0 k1 A; F5 ^ SWAP A ;高低4位交換m: u; I! ~+ u5 m" lW ANLA,#0FH;取低4位(音符碼) % M6

19、 H; J e6 m9 [e JNZSING;取到的音符碼是否為0? x. A- k% C% Z1 t2 e v! r9 P1 o* D, z CLR TR0 ;開(kāi)始,則不發(fā)音! L- T5 [, P2 k F; n SJMP D1 ;跳至D1# U" }9 `) A: [3 ^/ j SING: DEC A ;取到的音符碼減1(不含0) 5 e( g/ a+ C& h2 Z- l, b MOV 22H,A;存入(22H) 5 {2 _% K% O" Z1 [ RLA ;乘23 l- t7 l5 u: O+ p MOV DPTR,#TAB1

20、;至TABLE1取相對(duì)的高位字節(jié)計(jì)數(shù)值. n8 e0 [, Q0 t6 E" W |$ u: J MOVC A,@A+DPTR ; 5 _O; }* d* ]0 cH7 ^MOV TH0,A;取到的高位字節(jié)存入TH0 + r9 k/ T# [* C: ?) sMOV 21H,A;取到的高位字節(jié)存入(21H)1 T7 ?0 j; Y h" F6 a MOV A,22H;在載入取到的音符碼& ^6 u# z( {0 EZ- M/ e& O RLA ;乘2 Te) X6 r g8 C% _0 XINCA ;加14 C. b) a: D5 ? MOVC A,@A+DPTR ;至T

21、ABLE1取相對(duì)的低位字節(jié)計(jì)數(shù)值& G4 y+ N$ I/ n; g7 U) o MOV TL0,A;取到的低位字節(jié)存入TL01 n4 k& ?0 n8 @, C+ ~% Z MOV 20H,A;取到的低位字節(jié)存入(20H)0 a1 w% S& \. Q6 l: d SETB TR0 ;啟動(dòng)TIMER0 $ {0 ? ?/ U9 W2 G. z/ o: b0 PD1:LCALL DELAY;其本單位時(shí)間1/4拍187毫秒 1 g: G7 [3 x1 e INC30H ;取簡(jiǎn)譜碼指針加1 * z" z$ l: o5 \m2 U JMP NEXT;取下一個(gè)簡(jiǎn)譜碼 3 D1 S!

22、N" E/ e# D1 yEND0: CLR TR0 ;停止TIMER0) q% {: Q6 {7 _: M5 v JMP START0;重復(fù)循環(huán) I0 r) m( W; i2 FTIM0: PUSH ACC;將A的值暫存于堆棧 ! r! p) K1 f. _6 m1 Q6 d l, he PUSH PSW;將PSW的值暫存于堆棧: V& L% f9 a% x MOV TL0,20H ;重設(shè)計(jì)數(shù)值 4 U/ n6 a3 ^6 w* z. U" ?1 b( W5 r2 P MOV TH0,21H ;: yd8 `0 M8 S CPLP3.0;將P3.0位反相,控制蜂

23、鳴器發(fā)聲 ( ]* e0 m4 v. F5 e( [: j- g POP PSW;至堆棧取回PSW的值 6 h( E$ H; S" K- @( o) K POP ACC;至堆棧取回A的值* x8 g$ Y9 a+ D- ]/ K2 S6 \ RETI : s" z* O: w6 Y% k/ B/ U) ^. ?) IDELAY:MOV R7,#02 ) P& @# w# e& }1 g0 q; e" Z* F D2: MOV R4,#187 $ |. E! D9 V3 W$ K. \! T D3: MOV R3,#248 4 m4 h3 u! O! d* l:

24、 uS DJNZ R3,$ # Z" K, `+ K I7 M% \: Z DJNZ R4,D3 4 G7 U- R/ ^) a$ Q. v6 q. H DJNZ R7,D2 " _7 O$ g+ U& ^$ L$ C RET " g2 a+ }9 O) [- l6 y. @TAB1: ;決定節(jié)拍, U( G$ s9 O7 \6 y+ W6 H n0 Q5 D DW64260,64400,64521,64580 N9 j" j, D9 ~# B: C DW64684,64777,64820,64898 . r1 Q. R# ~4 g n# {* k#

25、A N5 ~ DW64968,65030,65058,651100 U, p6 X9 E( k0 k; W4 I) l6 I DW65157,65178,65217 6 bR$ e, X, G, H/ l9 }" i( X TAB: ;樂(lè)曲名稱《梁祝》 4 WK" ]1 W% w/ s$ M DB02H,82H,62H,52H,48H,02H,52H,32H,22H,18H4 N+ h: S0 n) d1 ^5 y& }" _& \, F: U DB83H,91H,72H,62H,51H,61H,71H,61H,83H,61H . t# B" G% l2 O# ~8

26、L DB81H,51H,61H,71H,61H,51H,46H,82H,32H,52H 9 K4 Y) x+ C: _2 Y. i" J DB22H,42H,16H,21H,41H,18H,0E4H,13H,21H,43H/ Z; d) P( F% c! s: v DB51H,21H,41H,12H,83H,81H,61H,81H,58H,53H# ?& ^7 s* I/ | w DB61H,31H,22H,13H,21H,42H,52H,0E2H,42H,21H0 M: `+ m& d ?1 B- ? DB11H,91H,41H,18H,63H,81H,32H,52H,2

27、1H,41H,$ h* B5 K5 ^, A0 i5 t DB16H,0E4H,11H,21H,31H,51H,26H,11H,21H,43H. T- h1 V4 v5 `: ` T DB51H,82H,62H,52H,61H,51H,42H,21H,11H,0E4H " A( j$ w( Y4 p5 x1 c* H DB44H,21H,41H,21H,11H,0E1H,11H,21H,41H,18H . k7 x. O0 Z8 i8 K) G DB61H,81H,51H,61H,51H,41H,32H,21H,41H,18H 5 n2 s! b9 \! \ DB08H,0H,04H ;曲子最后靜音5拍長(zhǎng)的時(shí)間 # c) r9 O6 r5 o DB00H ;樂(lè)曲結(jié)束*

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!