




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精品文檔/51單片機播放音樂庫文件SOUND PLAY FOR 51MCUCOPYRIGHT (c)2005 BY JJJ-ALL RIGHTS RESERVED -File Name: Author: Created: Modified: Revision:SoundPlay.h Jiaiig Jiaii Jun 2005/5/16NO1.0*/*說明*曲譜存貯格式unsigned char code MusicNaine音高,音長,音高,音長,0,0;末尾:0,0表 示結(jié)束(Important)音高由三位數(shù)字組成:個位是表示17這七個音符十位是表示音符所在的音區(qū):1-低音,2-中音,3-高
2、音;百位表示這個音符是否要升半音:0-不升,1-升半音。音長最多由三位數(shù)字組成:個位表示音符的時值,其對應(yīng)關(guān)系是:| 數(shù)值(n):|0|1 |2|3|4|5|6|幾分音符:|1 |2 |4 |8 |16 |32 |64音符=2九十位表示音符的演奏效呆(0-2): 0-普通,1-連音,2-頓音百位是符點位:0 無符點,1 有符點調(diào)用演奏子程序的格式Play(樂曲名,調(diào)號,升降八度,演奏速度);1樂曲名| 調(diào) 9(0-11)|升降八度(13):要播放的樂曲指針,結(jié)尾以(0,0)結(jié)束; :是指樂曲升多少個半音演奏; :上降八度,2:不升不降,3:升八度;|演奏速度(1-12000):值越人速度越快;
3、*/#ifhdef _SOUNDPLAY_H_RE VISION_FIRST_#define _SOUNDPLAY_H_REVISION_FIRST_#include define SYSTEM.OSC frdefine SOUND_SPACE 隔*11059200/12000000 /定義晶振頻率 12000000HZ4/5定義普通音符演奏的長度分率,每4分音符間#define uchai unsigned char#define umt unsigned mtsbit BeepIO =P2A4;sbit kev3=P3z 4;sbit kevl=P3z 2;/按 kevl nJ切換花樣sb
4、it key2=P3T;/按kev2可切換歌曲/定義輸出管腳uchai count!;unsigned int code FreTab12 = 262,277,294,311,330,349,369,392,415,440,466、494 ; 原 始頻率表0,2,4,5,7,9,11;unsigned chai code SignTab717在頻率表中的位置unsigned char code LengthTab7= 1,2,4,8,1632,64 ;unsigned char Sound_Temp_TH0,Sound_Temp_TL0;音符定時器初值暫存unsigned char Sound
5、_Temp_TH 1 ,Sound_Temp_TL 1;音長定時器初值暫存*void InitialSound(void)BeepIO = 1;Sound_Temp_THl = (65535(l/1200)*SYSTEM_OSC)/256;/ 計算 TL1 應(yīng)裝入的初值(lOnis的初裝值)Sound_Temp_TLl = (65535(1/1200)*SYSTEM_OSC)%256;/ 計算 TH1 應(yīng)裝入的初值TH1 = Sound_Temp_TH 1;TL1 = Sound_Temp_TL 1;TMOD |= 0x11;ET0= 1;ET1=0;TRO= 0;TRI= 0;EA= 1;v
6、oid BeepTiineiO(void) iiitemipt 1音符發(fā)生中斷BeepIO = !BeepIO;THO= Sound_Temp_THO;TLO= S ound_Temp_TLO;*void Play(unsigned char *Sound.unsigned char Signatuie,unsigned OctachordAinsigned mt Speed)unsigned mt NewFieTab12;新的頻率表unsigned char ij;unsigned mt Pouit,LDivLDixO.LDivl .LDiv2,LDiv4,CuiTentFie5Temp_T
7、,SouiidLength;unsigned char Tone,Lengtli,SL.SH,SM.SLen,XGFD;for(i=0;i11)J=J2;NewFreTabi = FreTabj*2;elseNewFreTabi = FreTabfj;if(Octachoid = 1) NewFreTabi=2;else if(Octachord = 3) NewFreTabi =2;SoundLengtli = 0; while(SouiidSouiidLength != 0x00)計算歌曲長度SoundLengtli+=2; Pomt = 0;Tone = Sound Pomt;Lengt
8、h = Sound Pomt+1;/讀出第一個音符和它時時值LDivO = 12000/Speed;LDiv4 = LDivO/4;/算出1分音符的長度(幾個lOnis)/算出4分音符的長度LDiv4 = LDiv4-LDiv4*SOUND_SPACE; / 普通音最長間隔標(biāo)準(zhǔn)TRO = 0;TRI= 1;wliile(Point SoundLengtli)SL=Tone% 10;計算出音符SM=Tone/l 0% 10;/計算出高低音SH=Tone/100;計算出是否升半CunentFre = NewFreTabSignTabSL-l+SH;/查出對應(yīng)音符的頻率if(SL!=0)if (SM
9、=1) CunentFre = 2;低音if (SM=3) CunentFre = 2;高音Temp_T = 65536-(50000/CiHntFe)* 10/(12000000/SYSTEM_OSC); 計算計數(shù)器初值Sound_Temp_TH0 = Temp_T/256;Sound_Temp_TL0 = Temp_T%256;THO = Soimd_Temp_THO;TLO = Soimd_Temp_TLO + 12; 加12是對中斷延時的補償SLen=LengthTab Length% 10;XG=Lengtlvl0%10;FD=LengtlvlOO;LDiv=LDivO/SLen;i
10、f(FD=l)LDi v=LDiv+LDiv/2;if(XG!=l) if(XG=O)if (SLen0;i-)/算出頓音的演奏長度算岀不發(fā)音的長度發(fā)規(guī)定長度的音wlule(TFl=O);TH1 = Sound_Temp_TH 1;TL1 = Sound_Temp_TL 1; TF1=O;if 0; i)/音符間的間隔wlule(TFl=O);TH1 = Sound_Temp_TH 1;TL1 = Sound_Temp_TL 1; TF1=O;Pomt+=2;Tone=Sound Pomt;Length=Sound Point+1 ;BeepIO = 1;*#endif揮著翅膀的女孩unsig
11、ned char code Music_Girl= 0x17,0x02, 0x17.0x03, 0x18,0x03, 0x19,0x02, 0x15.0x03,0x16,0x03,0x17,0x03,0x17.0x03,0x17,0x03,0x18,0x03,0x19,0x02,0x16.0x03,0x17.0x03,0x18,0x02,0x18,0x03,0x17.0x03,0x15.0x02,0x1 & 0x03,0x17,0x03,0x18,0x02,0x10,0x03,0x15.0x03,0x16,0x02,0x15,0x03,0x16,0x03,0x17.0x02,0x17,0x03
12、,0x1 & 0x03,0x19,0x02,0xlA,0x03,0xlB.0x03,Ox IF,0x03,0xlF.0x03,0x17,0x03,0x18,0x03,0x19,0x02,0x16.0x03,0x17.0x03,0x18,0x03,0x17,0x03,0x18.0x03,Ox IF,0x03,0xlE0x02,0x16,0x03,0x17,0x03,0x18.0x03,0x17,0x03,0x1 & 0x03,0x20,0x03,0x20,0x02,0xlE0x03,0xlE,0x03,0xlF.0x66,0x20,0x03,0x21,0x03,0x20,0x03,0x1 F,O
13、xO3,0xlE.0x03,0xlE0x66,0xlE0x03,0xlB.0x03,0x19.0x03,0x19.0x03,0x15,0x03,0xlA.0x66,0xlA.0x03.0x19,0x03,0x15.0x03,0x15,0x03,0x17,0x03,0x16,0x66。0x17.0x04、0x18,0x04,0x18,0x03,0x19,0x03,0xlE0x03,0xlE,0x03,0xlE0x66,0x20,0x03,0x21,0x03,0x20,0x03,0x1 F,OxO3,0xlE.0x03,0xlE0x66,Ox IF,0x03,0xlB.0x03,0x19.0x03
14、,0x19.0x03,0x15,0x03,0xlA.0x66,0xlA.0x03.0x19,0x03,0x19,0x03,Ox IF,0x03,0xlB,0x03,OxlEOxOO.0xlA,0x03,0x1 A, 0x03,0xlA,0x03,0xlB,0x03,0xlB.0x03,0xlA,0x03,0x19.0x03,0x19,0x02,0x17,0x03,0x15,0x17,0x15.0x03、0x16,0x03,0x17,0x03,0x18,0x03,0x17,0x04.0x18, OxOE,0x18,0x03,0x17,0x04,Oxl&OxOE,0x18,0x66.0x17.0x
15、03、0x18,0x03,0x17,0x03,0x18,0x03,0x20,0x03,0x20.0x02,Ox IF, 0x03,Ox IE,0x03,0xlE0x66.0x20,0x03,0x21.0x03,0x20,0x03,Ox IF,0x03,0xlB,0x03,Ox IF,0x66.Ox IF,0x04、OxlB.OxOE,Ox IE,0x03,0x19,0x03,0x19,0x03,0x15,0x03,0x1 A,0x66,0xlA,0x03,0x19,0x03,0x15.0x03,0x15.0x03、0x17,0x03,0x16,0x66,0x17,0x04,0x18,0x04.
16、0x18.0x03,0x19.0x03,Ox IF,0x03,0xlB,0x03,Ox IF,0x66.0x20,0x03,0x21,0x03,0x20,0x03,Ox IF,0x03,0xlB.0x03,Ox IF,0x66,0xlE0x03,0xlE,0x03,0x19,0x03,0x19,0x03,0x15,0x03,0xlA,0x66,0xlA,0x03,0x19,0x03,0x19,0x03、Ox IF,0x03,0xlE、0x03,OxlEOxOO.0x18,0x02,0x18.0x03,0xlA.0x03,0xl9,0x0D,0x15.0x03,0x15,0x02,0x18.0x
17、66.0x16.0x02,0x17,0x02,0x15.0x00,0x00,0x00;同一首歌unsigned char code Music_Same= OxOF.OxOl, 0x15,0x02, 0x16.0x02, 0x17,0x66. 0x18.0x03,0x17.0x02,0x15,0x02、0x16,0x01,0x15,0x02,0x10,0x02,0x15.0x00.0x0F,0x01,0x15.0x02,0x16,0x02,0x17,0x02,0x17.0x03,Oxl& 0x03、0x19.0x02,0x15,0x02,0x18,0x66,0x17.0x03,0x19,0x0
18、2,0x16,0x03,0x17,0x03,0x16,0x00,0x17.0x01,0x19,0x02,0xlE,0x02,0xlB,0x70,0xlA.0x03,OxlA.OxOl.0x120x02,0x19,0x03,0xlA,0x03,0x1 B,0x02,OxlA.OxOD,0x19.0x03,0x17.0x00,0x18,0x66、0x18,0x03,0x19,0x02 ?0xlA,0x02,0xl9,0x0C,0x1 & OxOD,0x17,0x03,0x16,0x01,0x11,0x02,0x11,0x03,0x10,0x03,OxOEOxOC,0x10,0x02 ?0x15,0
19、x00.OxlEOxOl,0x1 A,0x01,0x18,0x66,0x19,0x03,OxlA.OxOl,0xlB.0x02?0xlE,0x03,0xlB,0x03,OxlB.OxOC,OxlA.OxOD,0x19,0x03,0x17,0x00,OxlEOxOl,OxlA.OxOl.Oxl& 0x66.0x19,0x03,OxlAQxOl,0x10,0x02,0x10,0x03,0x10,0x03,OxlAQxOC,0x1 & OxOD,0x17,0x03,0x16,0x00.0x0F,0x01,0x15.0x02,0x16,0x02,0x17,0x70,0x18.0x03,0x17,0x0
20、2、0x15.0x03,0x15,0x03,0x16,0x66,0x16,0x03,0x16.0x02,0x16,0x03,0x15,0x03,0x10,0x02,0x10,0x01,0x11,0x01,0x11,0x66,0x10,0x03,OxOEOxOC,0xlA,0x02,0x19,0x02,0x16,0x03,0x16,0x03,0x18,0x66,0x18.0x03,0x18.0x02,0x17.0x03,0x16,0x03,0x19,0x00,0x00.0x00 ;兩只蝴蝶unsigned char code Music_Tvo = 0x17,0x03, 0x16,0x03, 0
21、x17.0x01. 0x16,0x03, 0x17,0x03,0x16,0x03,0x15,0x01、0x10.0x03,0x15,0x03,0x16,0x02,0x10,0x03,0xl6,0x0D、0x17,0x03,0x16.0x03,0x15,0x03,0x16,0x03,OxlO.OxOE,0x15,0x04,OxOEOxOl,0x17,0x03,0x15,0x01,0x17.0x01,0x16.0x03、0x17.0x03,0x16,0x03,0x17,0x03,0x10,0x03、0x15,0x03,0x16,0x02,0xl6,0x0D,0x16,0x01,0x16,0x03,
22、0x15,0x03、0x10.0x03,0x15,0x03,0x17,0x03,0x17.0x03,0x16.0x03、0x17.0x01,0x16,0x03,0x16,0x02,0x16,0x03,0x15,0x01、0x10.0x03,0x15,0x03,0x10,0x03,0xl6,0x0D、0x17,0x03,0x16.0x03,0x15,0x03,0x19,0x03,OxlO.OxOE,0x15,0x04,OxOEOxOl,0x17,0x03,0x17.0x01,0x19,0x01,0x19,0x03,0xlA.0x03,0x19,0x03,0x17,0x03,0x16,0x03,0
23、x16,0x03,0x16,0x02,0xl6,0x0D,0x15,0x00,0x16,0x03,0x15,0x03,0x10,0x03、0xl0,0x0D,0xlB,0x03,0x19,0x03、0x19.0x03,0xlA.0x03,0xlF.0x03,0x16,0x03,0xlB.0x03,0x1 A.0x03,0xl7,0x0D,0x16,0x03,0x19,0x03,0xl6,0x0D、0x17,0x01,0x17.0x03,0x17,0x03,0x16,0x03,0xlA.0x02,0x1 A,0x02,0x10.0x03,0xl7,0x0D,0x17,0x03,0x16,0x01
24、,0x17,0x03、0x19.0x03,0x19,0x03,0x19.0x02,Ox 1 E0x02,Ox 1E .0x03,Ox 1 A, 0x03、OxlA.OxOE,0xlB.0x04.0x17,0x02,0x1 A,0x03,0xlA,0x03,OxlA.OxOE,0xlB.0x04.0x1 A,0x03,0x19.0x03,0x17,0x03,0x16,0x03,0x17.0x0D50x16,0x03,0x17.0x03,0x19,0x01,0x19,0x03,0x19,0x03,0xlA,0x03,Ox IF,0x03,Ox IE,0x03,0xlB,0x03,0xlA,0x03,0xl7,0x0D,0x16.0x03,0x16,0x03,0x16,0x03,0x17,0x01,0x17.0x03、0x17,0x03,0x19,0x03,0x1 A,0x02,0xlA,0x02,0x10.0x03,0xl7,0x0D,0x1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度商業(yè)秘密合作轉(zhuǎn)讓合同協(xié)議
- 二零二五年度豬肉市場風(fēng)險預(yù)警與應(yīng)對合同
- 二零二五年度社區(qū)服務(wù)兼職志愿者服務(wù)協(xié)議
- 二零二五年度成人外語培訓(xùn)機構(gòu)報名服務(wù)協(xié)議
- 二零二五年度手貨車車輛轉(zhuǎn)讓與汽車金融服務(wù)及市場推廣合同
- 2025年度游學(xué)旅游線路研發(fā)與推廣協(xié)議
- 2025年度珠寶首飾返傭金代理合同
- 2025年度混凝土班組勞務(wù)合作施工進度合同
- 二零二五年度精裝修房屋買賣合同違約賠償標(biāo)準(zhǔn)
- 二零二五年度房產(chǎn)交易全程服務(wù)協(xié)議范本
- 尺寸鏈的計算表格
- 夏玉米套種辣椒技術(shù)
- 學(xué)術(shù)規(guī)范與寫作課件
- 絕緣電阻測試儀安全操作規(guī)程
- DB6101T 197-2022 藤蔓類尾菜堆肥技術(shù)規(guī)程
- 西藏房屋建筑工程竣工材料全套表格
- 量子力學(xué)英文課件格里菲斯Chapter4
- 鍋爐節(jié)能管理制度
- 2023年道路交通安全法實施條例
- 鹽城市殘疾人康復(fù)機構(gòu)認定暫行辦法
- 護理不良事件管理、上報制度及流程
評論
0/150
提交評論