音樂(lè)流水燈產(chǎn)品設(shè)計(jì)報(bào)告.docx_第1頁(yè)
音樂(lè)流水燈產(chǎn)品設(shè)計(jì)報(bào)告.docx_第2頁(yè)
音樂(lè)流水燈產(chǎn)品設(shè)計(jì)報(bào)告.docx_第3頁(yè)
音樂(lè)流水燈產(chǎn)品設(shè)計(jì)報(bào)告.docx_第4頁(yè)
音樂(lè)流水燈產(chǎn)品設(shè)計(jì)報(bào)告.docx_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

音樂(lè)流水燈產(chǎn)品設(shè)計(jì)報(bào)告項(xiàng)目名稱: 音樂(lè)流水燈 院 校: 石家莊鐵路職業(yè)學(xué)院 系 別: 機(jī)電工程系 班 級(jí): 71281 小組成員: 日 期: 2014.6.10 摘 要本作品是一種基于at89s52單片機(jī)音樂(lè)播放并控制彩燈的設(shè)計(jì)。它實(shí)現(xiàn)單片機(jī)演奏音樂(lè),并且使led彩燈隨音符頻率的不同而閃爍發(fā)光。本作品以at89s52單片機(jī)作為主控核心,通過(guò)利用三極管來(lái)放大電流,單片機(jī)控制蜂鳴器播放音樂(lè)。利用編程實(shí)現(xiàn)在有4塊led 8x8點(diǎn)陣屏上實(shí)現(xiàn)閃爍,根據(jù)用戶需求可以編寫(xiě)若干種亮燈模式.例如左右閃爍,隔幾個(gè)亮滅,蜂鳴器可以根據(jù)用戶需求改寫(xiě)編程播放各種音樂(lè)。該設(shè)計(jì)方案設(shè)計(jì)及其簡(jiǎn)單,典型的89s52單片機(jī),燈光花樣多,播放各種類型的音樂(lè),具有體積小、價(jià)格低、低能耗等優(yōu)點(diǎn)。在美麗的都市夜晚,彩燈的循環(huán)亮滅,播放動(dòng)人的音樂(lè),襯托出美麗的氛圍,音樂(lè)流水燈具有更廣闊的發(fā)展天地。關(guān)鍵字:at89s52單片機(jī); 8x8 led點(diǎn)陣屏 ; 音樂(lè)目錄目錄摘 要- 1 -第一章 緒論- 3 -1.1引言- 3 -1.2設(shè)計(jì)方案- 3 -第二章 系統(tǒng)總體方案介紹- 4 -2.1 系統(tǒng)組成框圖- 4 -2.2 音樂(lè)流水燈的功能結(jié)構(gòu)圖- 4 -第三章 硬件設(shè)計(jì)- 5 -3.1 總體設(shè)計(jì)框圖- 5 -3.2 led顯示電路設(shè)計(jì)與原理- 5 -3.3 硬件電路圖及功能- 5 -第四章 軟件設(shè)計(jì)- 6 -4.1音調(diào)、節(jié)拍以及編碼的確定方法- 6 -4.1.1 音調(diào)的確定- 6 -4.1.2 節(jié)拍的確定- 8 -4.1.3 編碼- 8 -4.2 軟件程序設(shè)計(jì)- 9 -4.2.1 程序流程圖及相應(yīng)代碼塊- 9 -第五章 測(cè)試結(jié)果- 16 -5.1總體運(yùn)行圖- 16 -附錄 程序源代碼及注釋- 17 -第一章 緒論1.1引言 現(xiàn)當(dāng)今單片機(jī)的應(yīng)用無(wú)處不在.利用單片機(jī)控制音樂(lè)播放也多不勝舉.音樂(lè)芯片也相當(dāng)之多,而利用單片機(jī)存儲(chǔ)音樂(lè),控制播放最為廣泛.它有功能多價(jià)格優(yōu)外圍電路簡(jiǎn)單的特點(diǎn),備受音樂(lè)愛(ài)好者及音樂(lè)芯片制造商的青昧.用89s52單片機(jī)及少數(shù)外圍電路控制music播放,就可以產(chǎn)生美妙的音樂(lè),又有流水燈設(shè)計(jì)即顯得美觀大方又經(jīng)濟(jì)實(shí)惠。隨著社會(huì)經(jīng)濟(jì)的飛速發(fā)展,人們?cè)谧非笪镔|(zhì)文明的同時(shí),更加注重精神文明的追求。音樂(lè)給人帶來(lái)的意義就是追求完美,用完美帶給所有人無(wú)上的快樂(lè)和享受。現(xiàn)代人的生活離不開(kāi)音樂(lè),音樂(lè)已成為人類日常文化生活中不可或缺的部分。研究表明,音樂(lè)可以開(kāi)發(fā)兒童的智力,甚至植物在優(yōu)美的音樂(lè)環(huán)境中也會(huì)生長(zhǎng)得更好。雖說(shuō)現(xiàn)在有各式各樣的音樂(lè)播放器,而且隨著科學(xué)技術(shù)的發(fā)展功能已經(jīng)很全面了的,體積更加小巧,攜帶更加方便,設(shè)計(jì)更加人性化,但任何的設(shè)計(jì)都是在不斷地研究中得到改進(jìn)的,因此有必要對(duì)音樂(lè)的播放控制進(jìn)行研究和學(xué)習(xí),而且對(duì)于以后電子設(shè)計(jì)有極大的裨益。1.2設(shè)計(jì)方案本設(shè)計(jì)基于at89s52系列單片機(jī)的音樂(lè)流水燈,利用按鍵切換演奏出不同的樂(lè)曲。蜂鳴器發(fā)出某個(gè)音調(diào),與之相對(duì)應(yīng)的led亮起。使用兩個(gè)按鍵,一個(gè)用來(lái)切換歌曲,另一個(gè)切換8x8 led點(diǎn)陣屏的變化花樣。1)電路有兩種工作模式:演奏音樂(lè)模式和花樣燈模式。演奏音樂(lè)模式:演奏完整的一首的歌曲,8x8 led點(diǎn)陣屏隨著音樂(lè)變化。花樣燈模式:8x8 led點(diǎn)陣屏變化出各種花樣。2)按下按鍵1進(jìn)入演奏音樂(lè)模式,再按切換歌曲,共兩首歌曲。3)按下按鍵2進(jìn)入花樣燈模式,再按切換led花樣,共五種花樣。第二章 系統(tǒng)總體方案介紹 2.1 系統(tǒng)組成框圖音樂(lè)流水燈的系統(tǒng)結(jié)構(gòu)以at89s52單片機(jī)位控制核心,加上2個(gè)按鍵、時(shí)鐘復(fù)位電路、蜂鳴器、led模塊組成。單片機(jī)負(fù)責(zé)接收按鍵的輸入,根據(jù)輸入控制音樂(lè)播放曲目和音樂(lè)花樣燈的顯示樣式以及蜂鳴器發(fā)音。系統(tǒng)組成框圖如圖2.1所示。圖2.1 系統(tǒng)組成框圖2.2 音樂(lè)流水燈的功能結(jié)構(gòu)圖音樂(lè)流水燈的功能結(jié)構(gòu)如圖2.2所示。key1負(fù)責(zé)切換播放歌曲,播放歌曲共2首,分別是千年之戀和寂寞沙洲冷。key2負(fù)責(zé)切換led顯示花樣,顯示花樣共五種。圖2.2 音樂(lè)流水燈功能結(jié)構(gòu)圖第三章 硬件設(shè)計(jì)3.1 總體設(shè)計(jì)框圖3.2 led顯示電路設(shè)計(jì)與原理led顯示電路是由4個(gè)8x8 led點(diǎn)陣屏組成,led接到單片機(jī)的p1口,并通過(guò)74ls154芯片譯碼從而控制32條led線路且用uln2003芯片取反,使其形成通路達(dá)到發(fā)光的效果。3.3 硬件電路圖及功能總體硬件電路實(shí)現(xiàn)功能如下,如圖3.4所示電路中用p3.2、p3.3控制按鍵。p1.0p1.7控制led。p3.7控制蜂鳴器。電路為11.0952mhz晶振頻率工作。圖3.4 硬件電路圖第四章 軟件設(shè)計(jì)在本程序中設(shè)置了兩個(gè)標(biāo)志count1和count2,分別初始化為1和0。按鍵1使得count1在1和2之間切換,按鍵2使得count2在14之間切換。程序檢測(cè)count1的值,count1等于1時(shí)播放第一首歌曲,等于2時(shí)播放第二首。另一方面根據(jù)count2的值來(lái)切換led的花樣。count1和count2的值是互斥的,設(shè)置count1等于1、2時(shí),count2同時(shí)設(shè)置為0;設(shè)置count2等于14時(shí),count1也同時(shí)設(shè)置為0。4.1音調(diào)、節(jié)拍以及編碼的確定方法一般說(shuō)來(lái),單片機(jī)演奏音樂(lè)基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說(shuō)不能像電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂(lè)只需弄清楚兩個(gè)概念即可,也就是“音調(diào)”和節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。4.1.1 音調(diào)的確定不同音高的樂(lè)音是用c、d、e、f、g、a、b來(lái)表示,這7個(gè)字母就是音樂(lè)的音名,它們一般依次唱成do、re、mi、fa、so、la、si,即唱成簡(jiǎn)譜的1、2、3、4、5、6、7,相當(dāng)于漢字“多來(lái)米發(fā)梭拉西”的讀音,這是唱曲時(shí)樂(lè)音的發(fā)音,所以叫“音調(diào)”,即tone。把c、d、e、f、g、a、b這一組音的距離分成12個(gè)等份,每一個(gè)等份叫一個(gè)“半音”。兩個(gè)音之間的距離有兩個(gè)“半音”,就叫“全音”。在鋼琴等鍵盤(pán)樂(lè)器上,cd、de、fg、ga、ab兩音之間隔著一個(gè)黑鍵,他們之間的距離就是全音;ef、bc兩音之間沒(méi)有黑鍵相隔,它們之間的距離就是半音。通常唱成1、2、3、4、5、6、7的音叫自然音,那些在它們的左上角加上號(hào)或者b號(hào)的叫變化音。叫升記號(hào),表示把音在原來(lái)的基礎(chǔ)上升高半音,b叫降記音,表示在原來(lái)的基礎(chǔ)上降低半音。例如高音do的頻率(1046hz)剛好是中音do的頻率(523hz)的一倍,中音do的頻率(523hz)剛好是低音do頻率(266 hz)的一倍;同樣的,高音re的頻率(1175hz)剛好是中音re的頻率(587hz)的一倍,中音re的頻率(587hz)剛好是低音re頻率(294 hz)的一倍。1)要產(chǎn)生音頻脈沖,只要算出某一音頻的周期(1/頻率),然后將此周期除以2,即為半周期的時(shí)間。利用定時(shí)器計(jì)時(shí)這半個(gè)周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的i/o反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)i/o反相,就可在i/o腳上得到此頻率的脈沖。2)利用at89c51的內(nèi)部定時(shí)器使其工作在計(jì)數(shù)器模式mode1下,改變計(jì)數(shù)值th0及tl0以產(chǎn)生不同頻率的方法。此外結(jié)束符和休止符可以分別用代碼00h和ffh來(lái)表示,若查表結(jié)果為00h,則表示曲子終了;若查表結(jié)果為ffh,則產(chǎn)生相應(yīng)的停頓效果。3)例如頻率為523hz,其周期t=1/523=1912us,因此只要令計(jì)數(shù)器計(jì)時(shí)956us/1us=956,在每次技術(shù)956次時(shí)將i/o反相,就可得到中音do(523hz)。計(jì)數(shù)脈沖值與頻率的關(guān)系公式如下:n=fi2frn:計(jì)算值;fi:內(nèi)部計(jì)時(shí)一次為1us,故其頻率為1mhz;4) 其計(jì)數(shù)值的求法如下:t=65536-n=65536-fi2fr例如:設(shè)k=65536,f=1000000=fi=1mhz,球低音do(261hz)。中音do(523hz)。高音的do(1046hz)的計(jì)算值t=65536-n=65536-fi2fr=65536-10000002fr=65536-500000/fr低音do的t=65536-500000/262=63627低音do的t=65536-500000/523=64580低音do的t=65536-500000/1047=650595) c調(diào)各音符頻率與計(jì)數(shù)值t的對(duì)照表如表4.1所示。表4.1 c調(diào)各音符頻率與計(jì)數(shù)值t的對(duì)照表低音頻率t參數(shù)中音頻率t參數(shù)高音頻率t參數(shù)do2621908229do523956115do10465757do2771805217do554903108do11095454re2941701204re587852102re11755151re3111608193re62280497re12454848mi3301515182mi65975991mi13184545fa3491433172fa69871686fa13974343fa3701351162fa74067681fa14804141so3921276153so78463877so15683838so4151205145so83160272so16613636la4401136136la88056868la17603434la4641078129la93253664la18653232si4941012121si98850661si197630304.1.2 節(jié)拍的確定若要構(gòu)成音樂(lè),光有音調(diào)是不夠的,還需要節(jié)拍,讓音樂(lè)具有旋律(固定的律動(dòng)),而且可以調(diào)節(jié)各個(gè)音的快滿度。“節(jié)拍”,即beat,簡(jiǎn)單說(shuō)就是打拍子,就像我們聽(tīng)音樂(lè)不自主的隨之拍手或跺腳。若1拍實(shí)0.5s,則1/4 拍為0.125s。至于1拍多少s,并沒(méi)有嚴(yán)格規(guī)定,就像人的心跳一樣,大部分人的心跳是每分鐘72下,有些人快一點(diǎn),有些人慢一點(diǎn),只要聽(tīng)的悅耳就好。音持續(xù)時(shí)間的長(zhǎng)短即時(shí)值,一般用拍數(shù)表示。休止符表示暫停發(fā)音。一首音樂(lè)是由許多不同的音符組成的,而每個(gè)音符對(duì)應(yīng)著不同頻率,這樣就可以利用不同的頻率的組合,加以與拍數(shù)對(duì)應(yīng)的延時(shí),構(gòu)成音樂(lè)。了解音樂(lè)的一些基礎(chǔ)知識(shí),我們可知產(chǎn)生不同頻率的音頻脈沖即能產(chǎn)生音樂(lè)。對(duì)于單片機(jī)來(lái)說(shuō),產(chǎn)生不同頻率的脈沖是非常方便的,利用單片機(jī)的定時(shí)/計(jì)數(shù)器來(lái)產(chǎn)生這樣的方波頻率信號(hào)。因此,需要弄清楚音樂(lè)中的音符和對(duì)應(yīng)的頻率,以及單片機(jī)定時(shí)計(jì)數(shù)的關(guān)系。表4.2節(jié)拍與節(jié)拍碼對(duì)照節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍42/1拍51又1/4拍55/8拍61又1/2拍63/4拍82拍81拍a2又1/2拍a1又1/4拍c3拍c1又1/2拍f3又3/4拍每個(gè)音符使用1個(gè)字節(jié),字節(jié)的高4位代表音符的高低,低4位代表音符的節(jié)拍,圖5.2為節(jié)拍碼的對(duì)照。如果1拍為0.4秒,1/4拍實(shí)0.1秒,只要設(shè)定延遲時(shí)間就可求得節(jié)拍的時(shí)間。假設(shè)1/4拍為1delay,則1拍應(yīng)為4delay,以此類推。所以只要求得1/4拍的delay時(shí)間,其余的節(jié)拍就是它的倍數(shù),如圖5.3為1/4和1/8節(jié)拍的時(shí)間設(shè)定。表4.3 1/4和1/8節(jié)拍的時(shí)間設(shè)定曲調(diào)值delay曲調(diào)值delay調(diào)4/4125毫秒調(diào)4/462毫秒調(diào)3/4187毫秒調(diào)3/494毫秒調(diào)2/4250毫秒調(diào)2/4125毫秒4.1.3 編碼do re mi fa so la si分別編碼為17,重音do編為8,重音re編為9,停頓編為0。播放長(zhǎng)度以十六分音符為單位(在本程序中為165ms),一拍即四分音符等于4個(gè)十六分音符,編為4,其它的播放時(shí)間以此類推。音調(diào)作為編碼的高4位,而播放時(shí)間作為低4位,如此音調(diào)和節(jié)拍就構(gòu)成了一個(gè)編碼。以0xff作為曲譜的結(jié)束標(biāo)志。舉例1:音調(diào)do,發(fā)音長(zhǎng)度為兩拍,即二分音符,將其編碼為0x18。舉例2:音調(diào)re,發(fā)音長(zhǎng)度為半拍,即八分音符,將其編碼為0x22歌曲播放的設(shè)計(jì)。先將歌曲的簡(jiǎn)譜進(jìn)行編碼,儲(chǔ)存在一個(gè)數(shù)據(jù)類型為unsigned char 的數(shù)組中。程序從數(shù)組中取出一個(gè)數(shù),然后分離出高4位得到音調(diào),接著找出相應(yīng)的值賦給定時(shí)器0,使之定時(shí)操作蜂鳴器,得出相應(yīng)的音調(diào);接著分離出該數(shù)的低4位,得到延時(shí)時(shí)間,接著調(diào)用軟件延時(shí)。表4.4 簡(jiǎn)譜對(duì)應(yīng)的簡(jiǎn)譜碼、t值、節(jié)拍數(shù)簡(jiǎn)譜發(fā)音簡(jiǎn)譜碼t值節(jié)拍碼節(jié)拍數(shù)5低音so16426011/4拍6低音la26440022/4拍7低音ti36452433/4拍1中音do46458041拍2中音re56468451又1/4拍3中音mi66477761又1/2拍4中音fa76482082拍5中音so864898a2又1/2拍6中音la964968c3拍7中音tia65030f3又3/4拍1高音dob650582高音rec651103高音mid651574高音fae651785高音sof652174.2 軟件程序設(shè)計(jì)4.2.1 程序流程圖及相應(yīng)代碼塊主程序流程圖圖4.1 主程序流程圖主程序代碼:main()uchar x,w,timeled,ad=0; /,count1=0;/流水燈無(wú)花樣count2=1;/唱第一首歌/p34=0;/選取矩陣鍵盤(pán)的一列ea=1;/開(kāi)總中斷ex0=1;/開(kāi)外部中斷0it0=1;/外部中斷0下降沿觸發(fā)方式ex1=1;/開(kāi)外部中斷1it1=1;/外部中斷1下降沿觸發(fā)方式tmod=0x01;/定時(shí)器0工作在方式1th0=0;tl0=0;et0=1;while(1)if(count1!=0)switch(count1)case 1:for(w=0;w23;w+)for(timeled=0;timeled100;timeled+)for(x=0;x=ad;x+)/duan=1;p1=huayang1wx;/duan=0;if(count1!=1)break;if(w14)ad-;if(w=22)ad=0;ad=0;break;case 2:for(w=0;w23;w+)for(x=0;x=ad;x+)/duan=1;p1=huayang1wx;/duan=0;delay1(300);if(count1!=2)break;if(w14)ad-;if(w=22)ad=0;ad=0;break;case 3:for(w=22;w=0;w-)for(timeled=0;timeled100;timeled+)for(x=0;x=ad;x+)/duan=1;p1=huayang1wx;/duan=0;if(count1!=3)break;if(w15)ad+;if(w=0)ad=0;ad=0;break;case 4:for(x=0;x0;x-) for(y=19000/18;y0;y-)if(temp/16=0x00)p1=p1+0x10;p1=(p1/0x10)*0x10+0x01;if(temp/16=0x01)p1=p1+0x10;p1=(p1/0x10)*0x10+0x0f;if(temp/16=0x02)p1=p1+0x10;p1=(p1/0x10)*0x10+0x0e;if(temp/16=0x03)p1=p1+0x10;p1=(p1/0x10)*0x10+0x0d;if(temp/16=0x04)p1=p1+0x10;p1=(p1/0x10)*0x10+0x0c;if(temp/16=0x05)p1=p1+0x10;p1=(p1/0x10)*0x10+0x0b;if(temp/16=0x06)p1=p1+0x10;p1=(p1/0x10)*0x10+0x0a;if(temp/16=0x07)p1=p1+0x10;p1=(p1/0x10)*0x10+0x09;if(temp/16=0x08)p1=p1+0x10;p1=(p1/0x10)*0x10+0x08;if(temp/16=0x09)p1=p1+0x10;p1=(p1/0x10)*0x10+0x7;if(temp/16=0x0a)p1=p1+0x10;p1=(p1/0x10)*0x10+0x06;void delay(uint z)/延時(shí)165ms,即十六分音符uint x,y;for(x=z;x0;x-) for(y=19000;y0;y-);void delay1(uint z)/延時(shí)1msuint x,y;for(x=z;x0;x-) for(y=112;y0;y-);第五章 測(cè)試結(jié)果5.1總體運(yùn)行圖圖5.1 系統(tǒng)總體運(yùn)行圖 附錄 程序源代碼及注釋#include #define uchar unsigned char#define uint unsigned int/sbit duan=p26;sbit key1=p32;/按key1可切換花樣sbit key2=p33;/按key2可切換歌曲sbit fm=p21;/蜂鳴器連續(xù)的io口sbit p34=p34;/矩陣鍵盤(pán)的一列uchar code huayang1238=0x00, 0x10,0x01, 0x20,0x11,0x02, 0x30,0x21,0x12,0x03, 0x40,0x31,0x22,0x13,0x04, 0x50,0x41,0x32,0x23,0x14,0x05, 0x60,0x51,0x42,0x33,0x24,0x15,0x06, 0x70,0x61,0x52,0x43,0x34,0x25,0x16,0x07, 0x88,0x71,0x62,0x53,0x44,0x35,0x26,0x17, 0x98,0x89,0x72,0x63,0x54,0x45,0x36,0x27, 0xa8,0x99,0x8a,0x73,0x64,0x55,0x46,0x37, 0xb8,0xa9,0x9a,0x8b,0x74,0x65,0x56,0x47, 0xc8,0xb9,0xaa,0x9b,0x8c,0x75,0x66,0x57, 0xd8,0xc9,0xba,0xab,0x9c,0x8d,0x76,0x67, 0xe8,0xd9,0xca,0xbb,0xac,0x9d,0x8e,0x77, 0xf8,0xe9,0xda,0xcb,0xbc,0xad,0x9e,0x8f, 0xf9,0xea,0xdb,0xcc,0xbd,0xae,0x9f, 0xfa,0xeb,0xdc,0xcd,0xbe,0xaf, 0xfb,0xec,0xdd,0xce,0xbf, 0xfc,0xed,0xde,0xcf, 0xfd,0xee,0xdf, 0xfe,0xef, 0xff;/花樣1/*uchar code huayang1=0x110,0x01;*/uchar code huayang2238=0x00, 0x10,0x01, 0x20,0x11,0x02, 0x30,0x21,0x12,0x03, 0x40,0x31,0x22,0x13,0x04, 0x50,0x41,0x32,0x23,0x14,0x05, 0x60,0x51,0x42,0x33,0x24,0x15,0x06, 0x70,0x61,0x52,0x43,0x34,0x25,0x16,0x07, 0x88,0x71,0x62,0x53,0x44,0x35,0x26,0x17, 0x98,0x89,0x72,0x63,0x54,0x45,0x36,0x27, 0xa8,0x99,0x8a,0x73,0x64,0x55,0x46,0x37, 0xb8,0xa9,0x9a,0x8b,0x74,0x65,0x56,0x47, 0xc8,0xb9,0xaa,0x9b,0x8c,0x75,0x66,0x57, 0xd8,0xc9,0xba,0xab,0x9c,0x8d,0x76,0x67, 0xe8,0xd9,0xca,0xbb,0xac,0x9d,0x8e,0x77, 0xf8,0xe9,0xda,0xcb,0xbc,0xad,0x9e,0x8f, 0xf9,0xea,0xdb,0xcc,0xbd,0xae,0x9f, 0xfa,0xeb,0xdc,0xcd,0xbe,0xaf, 0xfb,0xec,0xdd,0xce,0xbf, 0xfc,0xed,0xde,0xcf, 0xfd,0xee,0xdf, 0xfe,0xef, 0xff;uchar code huayang3=0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01,0x0,0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff;char code huayang4= 0x55,0xaa,0xcc,0x33,0x99,0x66,0x0f,0xf0;uchar count1;/花樣標(biāo)志uchar count2;/歌曲標(biāo)志uchar timeh,timel,i;/-簡(jiǎn)譜-/編程規(guī)則:字節(jié)高位是簡(jiǎn)譜,低位是持續(xù)時(shí)間,/代表多少個(gè)十六分音符/1-7代表中央c調(diào),8-e代表高八度,0代表停頓/最后的0是結(jié)束標(biāo)志uchar code qnzl= /千年之戀0x12,0x22,0x34,0x84,0x74,0x54,0x38,0x42,0x32,0x22,0x42,0x34,0x84,0x72,0x82,0x94,0xa8,0x08,/前奏0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,/竹林的燈火 到過(guò)的沙漠 0x32,0x31,0x21,0x32,0x82,0x71,0x81,0x71,0x51,0x32,0x22,/七色的國(guó)度 不斷飄逸風(fēng)中 0x32,0x31,0x21,0x32,0x52,0x32,0x31,0x21,0x32,0x62,/有一種神秘 灰色的旋渦 0x32,0x31,0x21,0x32,0x83,0x82,0x71,0x72,0x02,/將我卷入了迷霧中 0x63,0xa1,0xa2,0x62,0x92,0x82,0x52,/看不清的雙手 0x31,0x51,0x63,0x51,0x63,0x51,0x63,0x51,0x62,0x82,0x7c,0x02,/一朵花傳來(lái)誰(shuí)經(jīng)過(guò)的溫柔 0x61,0x71,0x82,0x71,0x62,0xa2,0x71,0x76,/穿越千年的傷痛 0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,/只為求一個(gè)結(jié)果 0x61,0x71,0x82,0x71,0x62,0xa3,0x73,0x62,0x53,/你留下的輪廓 指引我 0x42,0x63,0x83,0x83,0x91,0x91,/黑夜中不寂寞 0x61,0x71,0x82,0x71,0x62,0x0a2,0x71,0x76,/穿越千年的哀愁 0x61,0x71,0x82,0x71,0x62,0x52,0x31,0x36,/是你在盡頭等我 0x61,0x71,0x82,0x71,0x62,0xa3,0x73,0x62,0x53,/最美麗的感動(dòng) 會(huì)值得 0x42,0x82,0x88,0x02,0x74,0x93,0x89,0xff/結(jié)束標(biāo)志/用一生守候;uchar code jmszl= /寂寞沙洲冷0x12,0x12,0x22,0x32,0x31,0x22,0x21,0x22,/自你走后心憔悴0x21,0x31,0x51,0x52,0x31,0x52,0x61,0x15,0x14,/白色油桐風(fēng)中紛飛0x51,0x52,0x31,0x52,0x62,0x13,0x11,0x13,0x32,0x28,0x08,0x28,/落花似人有情 這個(gè)季節(jié)0x31,0x32,0x31,0x32,0x11,0x21,0x51,0x52,0x51,0x52,/河畔的風(fēng)放肆拼命地吹0x51,0x51,0x31,0x32,0x31,0x32,0x81,0x72,0x63,/不斷撥弄離人的眼淚0x62,0x71,0x81,0x72,0x61,0x61,0x52,0x31,0x21,0x32,0x51,0x54,/那樣濃烈的愛(ài)再也無(wú)法給0x22,0x12,0x11,0x12,0x11,0x12,0x12,0x14,0x26,0x32,0x26,/傷感一夜一夜0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,/當(dāng)記憶的線纏繞過(guò)往支離破碎0x02,0x32,0x81,0x81,0x81,0x81,0x62,0x52,0x34,/是慌亂占據(jù)了心扉 0x31,0x81,0x81,0x81,0x61,0x91,0x82,/有花兒伴著蝴蝶0x51,0x51,0x51,0x51,0x31,0x61,0x53,/孤雁可以雙飛0x21,0x11,0x21,0x11,0x22,0x11,0x21,0x26,/夜深人靜獨(dú)徘徊0x32,0x61,0x51,0x51,0x31,0x31,0x21,0x31,0x51,0x61,0x51,0x31,0x51,0x52,/當(dāng)幸福戀人寄來(lái)紅色分享喜悅0x31,0x31,0x81,0x81,0x81,0x61,0x91,0x81,0x61,0x31,0x56,/閉上雙眼難過(guò)頭也不敢回0x32,0x32,0x81,0x81,0x81,0x81,0x91,0x81,0x61,0x81,0x61,0x51,0x31,0x51,0x34,/仍然撿盡寒枝不肯安歇微帶著后悔0x21,0x31,0x51,0x31,0x21,0x11,0x61,0x21,0x16,/寂寞沙洲我該思念誰(shuí)0xff;/-簡(jiǎn)譜音調(diào)對(duì)應(yīng)的定時(shí)器初值-/適合11.0592m的晶振uchar code cuzhi= 0xff,0xff,/占位 0xfc,0x8e,/中央c調(diào)1-7 0xfc,0xed, 0xfd,0x43, 0xfd,0x6a, 0xfd,0xb3, 0xfd,0xf3, 0xfe,0x2d, 0xfe,0x47,/高八度1-7 0xfe,0x76, 0xfe,0xa1, 0xfe,0xc7, 0xfe,0xd9, 0xfe,0xf9, 0xff,0x16 ;uchar yinyue=0x01,0x8f,0x8e,0x8d,0x8c,0x8b,0x8a,0x89,0x88,0x07,0x06;/將音調(diào)轉(zhuǎn)化為對(duì)應(yīng)的led樣式void delay1(uint z);/延時(shí)1msvoid delay(uint z);/延時(shí)165ms,即十六分音符void song();void beep();/蜂鳴器叫一聲void delay_led(uint z);main()uchar x,w,timeled,ad=0; /,count1=0;/流水燈無(wú)花樣count2=1;/唱第一首歌/p34=0;/選取矩陣鍵盤(pán)的一列ea=1;/開(kāi)總中斷ex0=1;/開(kāi)外部中斷0it0=1;/外部中斷0下降沿觸發(fā)方式ex1=1;/開(kāi)外部中斷1it1=1;/外部中斷1下降沿觸發(fā)方式tmod=0x01;/定時(shí)器0工作在方式1th0=0;tl0=0;et0=1;while(1)if(count1!=0)switch(count1)case 1:f

溫馨提示

  • 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論