單片機(jī)課程設(shè)計(jì)報(bào)告電子琴_第1頁
單片機(jī)課程設(shè)計(jì)報(bào)告電子琴_第2頁
單片機(jī)課程設(shè)計(jì)報(bào)告電子琴_第3頁
單片機(jī)課程設(shè)計(jì)報(bào)告電子琴_第4頁
單片機(jī)課程設(shè)計(jì)報(bào)告電子琴_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、單片機(jī)課程設(shè)計(jì)基于ADuC848嵌入式系統(tǒng)的電子琴控制系統(tǒng)設(shè)計(jì)實(shí)驗(yàn)者:黃永州 電自8班學(xué)號:20080711108日期:2011年6月8日電子琴控制器功能描述:設(shè)計(jì)一簡易電子琴,要求能夠發(fā)出1,2,3,4,5,6,7等7個(gè)音符,具有一般演奏功能。主要功能如下:1)具有一般演奏功能,利用所給鍵盤的1,2,3,4,5,6,7,8八個(gè)鍵,能夠發(fā)出8個(gè)不同的音調(diào),并且要求按下按鍵發(fā)聲,松開延時(shí)一段時(shí)間停止,中間再按別的鍵則發(fā)另一個(gè)音調(diào)的聲音2)具有自動播放已存曲目功能3)顯示當(dāng)前正在播放的歌曲的名稱和歌詞4)顯示北京時(shí)間設(shè)計(jì)任務(wù):本設(shè)計(jì)以ADuC848單片機(jī)為核心,聲音的頻譜范圍約在幾十到幾千赫茲,若

2、能利用程序來控制單片機(jī)某個(gè)口線不斷的輸出“高”“低”電平,則在該口線上就能產(chǎn)生一定頻率的方波,將該方波接上喇叭就能發(fā)出一定頻率的聲音,若再利用程序控制“高”“低”電平的持續(xù)時(shí)間,就能改變輸出波形的頻率,從而改變音調(diào)。樂曲中,每一音符對應(yīng)著確定的頻率,如果單片機(jī)某個(gè)口線輸出“高”“低”電平的頻率和某個(gè)音符的頻率一樣,那么將此口線接上喇叭就可以發(fā)出此音符的聲音。本系統(tǒng)就是根據(jù)此原理設(shè)計(jì),對于ADuC848單片機(jī)來說要產(chǎn)生一定頻率的方波大致是先將某口線輸出高電平然后延時(shí)一段時(shí)間再輸出低電平,如此循環(huán)的輸出就會產(chǎn)生一定頻率的方波,通過改變延時(shí)的時(shí)間就可以改變輸出方波的頻率,而單片機(jī)延時(shí)主要有兩種方法:

3、第一種方法是使用循環(huán)語句來實(shí)現(xiàn)延時(shí),讓單片機(jī)循環(huán)的執(zhí)行某條指令然后根據(jù)單片機(jī)每條指令運(yùn)行的時(shí)間以及循環(huán)的次數(shù)來計(jì)算延時(shí)時(shí)間。第二種方法是使用單片機(jī)的定時(shí)計(jì)數(shù)器延時(shí)。ADuC848單片機(jī)內(nèi)部有兩個(gè)16位的定時(shí)計(jì)數(shù)器T0和T1,單片機(jī)的定時(shí)計(jì)數(shù)器實(shí)際上是個(gè)計(jì)數(shù)裝置它既可以對單片機(jī)的內(nèi)部晶振驅(qū)動時(shí)鐘計(jì)數(shù)也可以對外部輸入的脈沖計(jì)數(shù),對內(nèi)部晶振計(jì)數(shù)時(shí)稱為定時(shí)器,對外部時(shí)鐘計(jì)數(shù)時(shí)稱為計(jì)數(shù)器。當(dāng)對單片機(jī)的內(nèi)部晶振驅(qū)動時(shí)鐘計(jì)數(shù)時(shí),每個(gè)機(jī)器周期定時(shí)計(jì)數(shù)器的計(jì)數(shù)值就加1,當(dāng)計(jì)數(shù)值達(dá)到計(jì)數(shù)最大值時(shí)計(jì)數(shù)完畢并通知單片機(jī)的CPU;對外部輸入的時(shí)鐘信號計(jì)數(shù)時(shí),外部時(shí)鐘的每個(gè)時(shí)鐘上升沿定時(shí)計(jì)數(shù)器的計(jì)數(shù)值就加1,當(dāng)計(jì)數(shù)值達(dá)到

4、計(jì)數(shù)最大值時(shí)計(jì)數(shù)完畢并通知單片機(jī)的CPU。因此,如果知道單片機(jī)的機(jī)器周期或者外部輸入時(shí)鐘信號的周期,單片機(jī)就可以根據(jù)定時(shí)器的計(jì)數(shù)值計(jì)算出定時(shí)的時(shí)間。用此方法定時(shí)十分準(zhǔn)確,想得到多大的延時(shí)時(shí)間就可以給定時(shí)器賦一定的計(jì)數(shù)初值,定時(shí)器從預(yù)先設(shè)置的計(jì)數(shù)初值開始不斷增1當(dāng)增加到計(jì)數(shù)最大值時(shí)計(jì)數(shù)完畢,調(diào)整計(jì)數(shù)初值的大小就可以調(diào)整定時(shí)器定時(shí)的時(shí)間,從而達(dá)到準(zhǔn)確的延時(shí)。本系統(tǒng)中就采用第二種方法通過定時(shí)/計(jì)數(shù)器延時(shí)。電路連接圖:(一)定時(shí)計(jì)數(shù)器的工作方式及控制字特殊功能寄存器中TMOD和TCON是定時(shí)器的方式控制寄存器。圖2為TMOD寄存器的內(nèi)部結(jié)構(gòu),圖3為TCON寄存器的內(nèi)部結(jié)構(gòu)。TMOD和TCON是寄存器的

5、名稱,我們在寫程序時(shí)就可以直接用這個(gè)名稱來指定它們,當(dāng)然也可以直接用它們的地址89H和88H來指定它們。用于T1用于T0GATEC/TM1M0GATEC/TM1M0圖2 TMON用于定時(shí)/計(jì)數(shù)器用于中斷TF1TR1TF0TR0IE1IT1IE0IT0圖3 TCON單片機(jī)定時(shí)計(jì)數(shù)器有四種工作方式,方式0、方式1、方式2、方式3,除方式3外,T0和T1有完全相同的工作狀態(tài)1工作方式0定時(shí)器,計(jì)數(shù)器的工作方式O稱之為13位定時(shí)計(jì)數(shù)方式。它由TL(10)的低5位和TH(0/1)的8位構(gòu)成13位的計(jì)數(shù)器,此時(shí)TL(10)的高3位未用。對于定時(shí)器的工作模式可以根據(jù)定時(shí)器的寄存器TMOD來設(shè)置:M1M0:定

6、時(shí)計(jì)數(shù)器共有四種工作方式,就是用M1M0來控制的,2位正好是四種組合。CT:定時(shí)計(jì)數(shù)器即可作定時(shí)用也可用計(jì)數(shù)用,如果C/T為O就是用作定時(shí)器(開關(guān)往上打),如果CT為1就是用作計(jì)數(shù)器(開關(guān)往下打)。一個(gè)定時(shí)計(jì)數(shù)器同一時(shí)刻要么作定時(shí)用,要么作計(jì)數(shù)用,不能同時(shí)用的。GATE:當(dāng)我們選擇了定時(shí)或計(jì)數(shù)工作方式后,定時(shí)計(jì)數(shù)脈沖卻不一定能到達(dá)計(jì)數(shù)器端,中間還有一個(gè)開關(guān),顯然這個(gè)開關(guān)不合上,計(jì)數(shù)脈沖就沒法過去,那么開關(guān)什么時(shí)候過去呢?有兩種情況GATE=0,分析一下邏輯,GATE非后是1,進(jìn)入或門,或門總是輸出1,和或門的另一個(gè)輸入端INT1無關(guān),在這種情況下,開關(guān)的打開、合上只取決于TR1,只要TR1是1

7、,開關(guān)就合上,計(jì)數(shù)脈沖得以暢通無阻,而如果TR1等于0則開關(guān)打開,計(jì)數(shù)脈沖無法通過,因此定時(shí)計(jì)數(shù)是否工作,只取決于TR1。GATE=1,在此種情況下,計(jì)數(shù)脈沖通路上的開關(guān)不僅要由TR1來控制,而且還要受到INT1引腳的控制,只有TRl為1,且INT1引腳也是高電平,開關(guān)才合上,計(jì)數(shù)脈沖才得以通過。這個(gè)特性可以用來測量一個(gè)信號的高電平的寬度。2工作方式1工作方式1是16位的定時(shí)計(jì)數(shù)方式,將M1M0設(shè)為01即可,其它特性與工作方式0相同。3:工作方式28位自動裝入時(shí)間常數(shù)方式。由TL1構(gòu)成8位計(jì)數(shù)器,TH1僅用來存放時(shí)間常數(shù)??磮D5所示,每當(dāng)計(jì)數(shù)溢出,就會打開T(0/1)的高、低8位之間的開關(guān),計(jì)

8、預(yù)置數(shù)進(jìn)入低8位。這是由硬件自動完成的,不需要由人工干預(yù)。通常這種式作方式用于波特率發(fā)生器,用于這種用途時(shí),定時(shí)器就是為了提供一個(gè)時(shí)間基準(zhǔn)。計(jì)數(shù)溢出后不需要做事情,要做的僅僅只有一件,就是重新裝入預(yù)置數(shù),再開始計(jì)數(shù),而且中間不要任何延遲,可見這個(gè)任務(wù)用工作方式2來完成是最妙不過了。4工作方式32個(gè)8位的計(jì)數(shù)器,只適合于定時(shí)器0。這種式作方式之下,定時(shí)計(jì)數(shù)器0被拆成2個(gè)獨(dú)立的定時(shí)計(jì)數(shù)器來用。其中,TL0可以構(gòu)成8位的定時(shí)器或計(jì)數(shù)器的工作方式,而THO則只能作為定時(shí)器來用。我們知道作定時(shí)、計(jì)數(shù)器來用需要控制位TR0,計(jì)滿后溢出需要有溢出標(biāo)記TF0。T0被分成兩個(gè)來用,那就要兩套控制及溢出標(biāo)記,TL

9、O還是用原來的T0的標(biāo)記,而TH0則借用T1的標(biāo)記。如此T1就無標(biāo)記、控制可用因此一般只有在T1以工作方式2運(yùn)行(當(dāng)波特率發(fā)生器用)時(shí),才讓T0工作于方式3的。音符和音拍與單片機(jī)定時(shí)器/計(jì)數(shù)器T0的對應(yīng)關(guān)系:音樂的音符:利用單片機(jī)的定時(shí)器/計(jì)數(shù)器T0產(chǎn)生不同頻率的方波信號,設(shè)單片機(jī)的晶振頻率為12MHz,則高、中、低音符于單片機(jī)定時(shí)器/計(jì)數(shù)器T0的數(shù)值對應(yīng)關(guān)系如下表所示:音符頻率(Hz)數(shù)值音符頻率(Hz)數(shù)值音符頻率(Hz)數(shù)值低1DO26263628中1DO52364580高1DO104665058#1DO#27763731#1DO#55464663#1DO#110965085低2RE29

10、463835中2ER58764684高2RE117565110#2RE#31163928#2ER#62264732#2RE#124565134低3M33064021中3M65964777高3M131865157低4FA34964103中4FA69864820高4FA139765178#4FA#37064185#4FA#74064860#4FA#148065198低5SO39264260中5SO78464898高5SO156865217#5SO#41564331#5SO#83164934#5SO#166165235低6LA44064400低6LA88064968高6LA176065252#6LA

11、#46664463#6LA#93264994#6LA#186565268低7SI49464524中7SI98865030高7SI196765283音樂的節(jié)拍利用單片機(jī)的定時(shí)器/計(jì)數(shù)器T1的延時(shí)功能還可以產(chǎn)生音樂不同的節(jié)拍,以C調(diào)為例,音拍與延時(shí)的對應(yīng)關(guān)系如下表:音拍延時(shí)時(shí)間調(diào)4/4125調(diào)3/4187調(diào)2/4250系統(tǒng)軟件流程圖:系統(tǒng)設(shè)計(jì)輸入:本實(shí)驗(yàn)采用c語言,其主程序如下#include <aduc848.h> #include <intrins.h> #include"test.h"#include"musicode.h"#d

12、efine uint unsigned int #define uchar unsigned charsbit Beep = P26; /P2.6外接揚(yáng)聲器uchar key,n;unsigned char c7,b7;unsigned char a7=55,53,16; /秒分時(shí)uchar code SegTable11=0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff;uchar code fretab=0x00,0x30,0x2b,0x26,0x24,0x20,0x1c,0x19,0x18; /頻率表 void keydelay

13、ms(uint t)uint i,j;for(i=0;i<t;i+)for(j=0;j<110;j+);unsigned char GetKey() /行掃描信號為P1.0P1.3,列掃描信號為P2.02.3unsigned char temp;P1&=0xf0; /P1的低四位置零P2&=0xf0; temp=P1&0x0f;/temp的高四位為零,低四位與P1相同if(temp!=0x0f)/temp的低四位置1,即P1的低四位全為1時(shí)開始執(zhí)行下面程序keydelayms(10); /延時(shí)消抖if(temp=(P1&0x0f) /再次確認(rèn)是否有鍵

14、按P2|=0x0e; /位或,之后值賦予P2,此時(shí)P2.0有效即掃描第一列的鍵盤switch(P1&0x0f) /位與case 0x0e:return 1;/P1=0000 1110,即P1.0=0,為低電平有效,case 0x0d:return 2;/P1=0000 1101,即P1.1=0case 0x0b:return 3;case 0x07:return 4;case 0x0f:break;default:return 0x80;P2&=0xf0;/P2的低四位置零P2|=0x0d; /P2.1有效,即掃描第二列的鍵盤switch(P1&0x0f) /P1的高四

15、位置0,低四位不變case 0x0e:return 5;/P1=0000 1110,case 0x0d:return 6;case 0x0b:return 7;case 0x07:return 8;case 0x0f:break;default:return 0x80;P2&=0xf0;P2|=0x0b; /P2.2有效,即掃描第三列的鍵盤switch(P1&0x0f)case 0x0e:return 9;case 0x0d:return 10;case 0x0b:return 11;case 0x07:return 12;case 0x0f:break;default:ret

16、urn 0x80;P2&=0xf0;P2|=0x07; /P2.3有效,即掃描第四列的鍵盤switch(P1&0x0f)case 0x0e:return 13;case 0x0d:return 14;case 0x0b:return 15;case 0x07:return 0;case 0x0f:break;default:return 0x80; return 0x55;void fredelay(uchar t)uchar i=3*t;while(-i);void delayms(unsigned char a) /豪秒延時(shí)子程序 while(-a); void main(

17、)unsigned char p,m; unsigned int i=0;unsigned char *sound; TMOD&=0x0f; TMOD|=0x01; /模式控制寄存器 tmod=0000 0001 16位定時(shí)器工作在方式1 TH0=0xd0;TL0=0xef; IE=0x82; /IE=1000 0010開定時(shí)器0中斷while(1) start: n=0x40; /發(fā)聲的時(shí)間,大概600多msBeep=0; /關(guān)蜂鳴器(Beep是一個(gè)產(chǎn)生方波頻率的信號)key=GetKey();P0=SegTablekey;if(key<9)m=fretabkey;key=10

18、; /防止重復(fù)發(fā)聲TR0=1; /啟動定時(shí)器0while(n!=0)Beep=Beep; /Beep=1,開啟蜂鳴器fredelay(m); /延時(shí)程序,產(chǎn)生方波TR0=0;goto start; Beep=0;switch(key) case 9:sound=oldboy;break;case 10:sound=songbie;break;case 11:sound=bygh;break;case 13:goto clock;break;default:goto start;break;while(1) a: p=soundi;if(p=0x00) /如果碰到結(jié)束符,延時(shí)1秒,回到開始再來一

19、遍i=0;delayms(1000);goto start;else if(p=0xff) /若碰到休止符,延時(shí)100ms,繼續(xù)取下一音符 i=i+1;delayms(100),TR0=0;goto a; else m=soundi+,n=soundi+; /取頻率常數(shù) 和 節(jié)拍常數(shù) TR0=1;while(n!=0) Beep=!Beep,fredelay(m); /等待節(jié)拍完成, 通過P2口輸出音頻TR0=0; clock:PLLCON&=0xf8; /設(shè)置頻率為12.58MHz CFG848|=0x01; /使用片內(nèi)xram I2CCON=0xE8;SetTime(a);Swit

20、chRTC(1); while(1) ReadTime(b); c0=b0%10; c1=b0/10; c2=22; c3=b1%10; c4=b1/10; c5=22; c6=b2%10; c7=b2/10; saomiao(10,c0,c1,c2,c3,c4,c5,c6,c7); void t0() interrupt 1 /采用中斷0 控制節(jié)拍 TH0=0xd0; TL0=0xef; n-; 樂曲程序musicode:unsigned char code oldboy = /*1*/0x20,0x20,0x20,0x10,0x20,0x10,0x20,0x20,0x20,0x20,0x2

21、0,0x20,0x1c,0x20,0x20,0x20,0x24,0x20,0x26,0x20,0x1c,0x20,0x19,0x20,0x18,0x10,0x19,0x10,0x20,0x30,0x01,0x20,0x20,0x10,0x20,0x10,0x1c,0x20,0x30,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x01,0x20,0x20,0x20,0x24,0x20,0x20,0x20,0x26,0x10,0x2b,0x20,0x30,0x10,0x2b,0x60,/*2*/0x20,0x20,0x20,0x10,0x20,0x1

22、0,0x20,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x20,0x24,0x20,0x26,0x20,0x1c,0x20,0x19,0x20,0x18,0x10,0x19,0x10,0x20,0x30,0x01,0x20,0x20,0x10,0x20,0x10,0x1c,0x20,0x30,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x01,0x20,0x20,0x20,0x24,0x20,0x20,0x20,0x26,0x10,0x2b,0x20,0x30,0x10,0x2b,0x60,/1176711

23、2377550x30,0x40,0x18,0x20,0x19,0x20,0x1c,0x20,0x19,0x10,0x18,0x10,0x18,0x20,0x2b,0x20,0x13,0x20,0x19,0x20,0x19,0x20,0x20,0x10,0x20,0x10,/632211170x1c,0x20,0x13,0x10,0x15,0x10,0x15,0x20,0x18,0x20,0x18,0x40,0x18,0x20,0x19,0x20,/67112377550x1c,0x20,0x19,0x10,0x18,0x10,0x18,0x20,0x15,0x20,0x13,0x20,0x19

24、,0x20,0x19,0x20,0x20,0x10,0x20,0x10,/6322110x1c,0x20,0x13,0x10,0x15,0x10,0x15,0x20,0x18,0x20,0x18,0x60,/000000x01,0x40,0x01,0x40,0x01,0x40,0x01,0x40,0x01,0x60,/1155555 5777550x18,0x10,0x18,0x10,0x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x20,0x10,0x20,0x19,0x10,0x19,0x10,0x19,0x20,0x20,0x10,0x20,0

25、x10,/555565111120x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x0e,0x20,0x10,0x20,0x18,0x10,0x18,0x10,0x18,0x20,0x18,0x10,0x15,0x10, /32443324430x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,0x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,/324430x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,/55110

26、x10,0x40,0x10,0x20,0x18,0x10,0x18,0x10,/555555777550x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x20,0x10,0x20,0x19,0x10,0x19,0x10,0x19,0x20,0x20,0x10,0x20,0x10,/555565111120x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x0e,0x20,0x10,0x20,0x18,0x10,0x18,0x10,0x18,0x20,0x18,0x10,0x15,0x10,/32443321710x13,0

27、x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,0x13,0x20,0x15,0x10,0x18,0x10,0x18,0x20,0x19,0x10,0x18,0x60,0x01,0x40,0x01,0x40,/第二次 /*3*/0x20,0x20,0x20,0x10,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x20,0x24,0x20,0x26,0x20,0x1c,0x20,0x19,0x20,0x18,0x10,0x19,0x10,0x20,0x30,0x01,0x20,0x20,0

28、x10,0x20,0x10,0x1c,0x20,0x30,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x01,0x20,0x20,0x20,0x24,0x20,0x20,0x20,0x26,0x10,0x2b,0x20,0x30,0x10,0x2b,0x60,/*4*/0x20,0x20,0x20,0x10,0x20,0x10,0x20,0x20,0x20,0x20,0x20,0x20,0x1c,0x20,0x20,0x20,0x24,0x20,0x26,0x20,0x1c,0x20,0x19,0x20,0x18,0x10,0x19,0x10,0

29、x20,0x30,0x01,0x20,0x20,0x10,0x20,0x10,0x1c,0x20,0x30,0x20,0x30,0x20,0x2b,0x20,0x26,0x20,0x20,0x20,0x01,0x20,0x20,0x20,0x24,0x20,0x20,0x20,0x26,0x10,0x2b,0x20,0x30,0x10,0x2b,0x60,/11767112377550x30,0x40,0x18,0x20,0x19,0x20,0x1c,0x20,0x19,0x10,0x18,0x10,0x18,0x20,0x2b,0x20,0x13,0x20,0x19,0x20,0x19,0x

30、20,0x20,0x10,0x20,0x10,/632211170x1c,0x20,0x13,0x10,0x15,0x10,0x15,0x20,0x18,0x20,0x18,0x40,0x18,0x20,0x19,0x20,/67112377550x1c,0x20,0x19,0x10,0x18,0x10,0x18,0x20,0x15,0x20,0x13,0x20,0x19,0x20,0x19,0x20,0x20,0x10,0x20,0x10,/6322110x1c,0x20,0x13,0x10,0x15,0x10,0x15,0x20,0x18,0x20,0x18,0x60,/335350x01

31、,0x40,0x01,0x40,0x01,0x40,0x01,0x40,0x01,0x60,/1155555 5777550x18,0x10,0x18,0x10,0x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x20,0x10,0x20,0x19,0x10,0x19,0x10,0x19,0x20,0x20,0x10,0x20,0x10,/555565111120x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x0e,0x20,0x10,0x20,0x18,0x10,0x18,0x10,0x18,0x20,0x18,0x

32、10,0x15,0x10, /32443324430x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,0x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,/324430x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,/55110x10,0x40,0x10,0x20,0x18,0x10,0x18,0x10,/555555777550x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x10,0x20,0x10,0x20,0x

33、19,0x10,0x19,0x10,0x19,0x20,0x20,0x10,0x20,0x10,/555565111120x10,0x20,0x10,0x10,0x10,0x10,0x10,0x20,0x0e,0x20,0x10,0x20,0x18,0x10,0x18,0x10,0x18,0x20,0x18,0x10,0x15,0x10,/32443321710x13,0x20,0x15,0x10,0x12,0x10,0x12,0x20,0x13,0x20,0x13,0x20,0x15,0x10,0x18,0x10,0x18,0x20,0x19,0x10,0x18,0x60,0x01,0x40

34、,0x01,0x40,/結(jié)尾/3217121334233420x13,0x20,0x15,0x20,0x18,0x30,0x19,0x10,0x18,0x10,0x15,0x10,0x18,0x40,0x13,0x40,0x13,0x40,0x12,0x40,0x15,0x40, 0x01,0x40,0x01,0x40,0x01,0x40,0x01,0x40,0x01,0x60,0x00 ; unsigned char code songbie=0x20,0x40,0x26,0x20,0x20,0x20,0x60,0x60, /3231長亭外0x1c,0x40,0x60,0x40,0x20,0

35、x60, /615 古道邊0x20,0x40,0x30,0x20,0x2b,0x20,0x26,0x40,0x2b,0x20,0x30,0x20,0x2b,0x60,/芳草碧連天0x20,0x40,0x26,0x20,0x20,0x20,0x60,0x40,0x19,0x20,0x1c,0x40,0x60,0x40,0x20,0x60,0x20,0x40,0x2b,0x20,0x26,0x20,0x24,0x40,0x0d,0x20,0x30,0x40,0x00 ;unsigned char code bygh = /*1*/0x18, 0x30,/*6*/ 0x1C , 0x10, /格式為

36、: 頻率常數(shù), 節(jié)拍常數(shù), 頻率常數(shù), 節(jié)拍常數(shù), /*5*/0x20, 0x40,/*6*/ 0x1C , 0x10, /*1*/0x18, 0x10,/*5*/ 0x20 , 0x10, /*6*/0x1C, 0x10,/*1*/0x18 , 0x40, /*6*/0x1C, 0x20,/*5*/ 0x20 , 0x20, /*6*/0x1C, 0x20,/*1*/ 0x18 , 0x20, /*5*/0x20, 0x80, 0xFF , /*5*/0x20,0x30,/*6*/ 0x1C, 0x10 , /*1*/0x18,0x20,/*2*/ 0x15, 0x20 ,/*6*/0x1C

37、,0x20,/*5*/ 0x20, 0x20 ,/*3*/0x26,0x40,/*5*/0x20, 0x20 , /*2*/0x2B,0x20,/*3*/ 0x26, 0x20 ,/*5*/0x20,0x20,/*1*/ 0x30, 0x80 , 0xFF, /*5*/0x20, 0x20, /*6*/0x1C , 0x10, /*1*/0x18, 0x10,/*5*/ 0x20 , 0x20, /*3*/0x26, 0x20,/*2*/ 0x2B , 0x20, /*1*/0x30, 0x20,/*1*/0x2B , 0x40, /*5*/0x20, 0x20,/*6*/ 0x1C , 0x10

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論