基于單片機的數(shù)字音樂盒的設(shè)計_第1頁
基于單片機的數(shù)字音樂盒的設(shè)計_第2頁
基于單片機的數(shù)字音樂盒的設(shè)計_第3頁
基于單片機的數(shù)字音樂盒的設(shè)計_第4頁
基于單片機的數(shù)字音樂盒的設(shè)計_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的數(shù)字音樂盒的設(shè)計摘要 這次的數(shù)字音樂盒是建立在At89C51單片機程序上設(shè)計的,利用一系列單片機智能化設(shè)計的多功能實體。用Proteus軟件對所有系統(tǒng)進行仿真制作,而音樂盒源程序的C語言編譯部分則是利用Keil軟件來實現(xiàn)的。本系統(tǒng)設(shè)計的音樂盒能產(chǎn)生不同的頻率波形,主要是通過單片機控制定時器,使喇叭發(fā)出不同的音階音律。喇叭發(fā)出的音調(diào)定時常數(shù)被轉(zhuǎn)化為樂譜,從而使音樂設(shè)備能夠演唱出非常動聽的音樂節(jié)律。關(guān)鍵詞:數(shù)字音樂盒;數(shù)碼管;單片機;Proteus;KeilThe Designation Of Controllable Digital Music BoxBased On 51 ScmA

2、BSTRACT Digital music box that is built in At89C51 chip design procedure, using a series of single-chip design of intelligent multi function entity. For all the system simulation using Proteus software,and the music box source program of C language compiler is to use Keil software to implement. The

3、music box design of the system can produce different frequency waveform, is mainly controlled by single chip microcomputer timer, the horn of different scale temperament. Timing constant pitch horn was transformed into the music, which makes music equipment can sing very pleasant music rhythm.Key wo

4、rds: Digital music box; Digital tube; AT89C51; PROTEUS; KEIL 1目錄第1章 前言11.1 課題背景11.2 課題研究的目的及意義11.3 論文的主要任務(wù)和所做的工作1第2章 單片機和音樂盒硬件的功能32.1 AT89C51芯片的功能32.2 音樂盒的硬件及其功能6第3章 數(shù)字音樂盒的主體設(shè)計方案83.1 音樂盒的主體結(jié)構(gòu)83.2 主設(shè)計軟件的介紹83.2.1 編程軟件KEIL的簡介83.2.2 仿真軟件PROTEUS的簡介9第4章 音樂盒硬件設(shè)計104.1 總設(shè)計框圖104.2各部分硬件的作用104.2.1時鐘振蕩電路104.2.2

5、LED和數(shù)碼管的設(shè)計11第5章 音調(diào)和節(jié)拍的設(shè)計135.1 音調(diào)和節(jié)拍的設(shè)計以及音樂基礎(chǔ)知識135.2 音調(diào)和節(jié)拍的編碼14第6章 C源程序設(shè)計156.1 音樂程序156.2 LED花樣程序156.3 數(shù)碼管程序16第7章 數(shù)字音樂盒總設(shè)計圖與總程序187.1 仿真總圖設(shè)計圖187.2 音樂播放切歌部分程序18第8章結(jié)論19參考文獻20附錄A總程序源代碼及注釋21第1章 前言 1.1 課題背景 21世紀的科技是屬于單片機的科技時代,現(xiàn)在單片機應(yīng)用極其普遍,技術(shù)也愈來愈成熟,基本上現(xiàn)如今各行各業(yè)都能看到單片機的存在。所以必然的,單片機起著不可磨滅的功用1單片機是一種集成在一個小型的硅電路芯片上,

6、進而形成一個小小的控制計算機系統(tǒng)。該集成的電路具有微處理器,程序存儲器,數(shù)據(jù)存儲器,串、并行輸入 /輸出接口 ,定時器 /計數(shù)器等結(jié)構(gòu)功能。另外,還可以集成在模數(shù)轉(zhuǎn)換電路,多諧震蕩電路,顯示屏驅(qū)動電路等多種控制系統(tǒng)。伴隨著經(jīng)濟水平社會文化的不斷提高與建設(shè),人們的對精神文明提出了更高要求,尤其是對視聽方面的饑渴更有待拔高。而最傳統(tǒng)的音樂盒是機械的類型,大小,和重,發(fā)音單調(diào),不甜,沒有大規(guī)模生產(chǎn)的實現(xiàn),因此很難滿足當(dāng)代人的需求。包括本人也是個對音樂有很高依賴的人。這次設(shè)計的數(shù)字音樂盒就是要依靠單片機來作為核心來驅(qū)動。單片機的主要優(yōu)點是體積小、能耗低、易控制、深擴展、微型化。因此,數(shù)字音樂盒還具有體

7、積小,重量輕的優(yōu)點,可以播放所有類型的音樂,功能多,外觀美,使用方便等優(yōu)點。而且具有一定的開發(fā)價值。1.2 課題研究的目的及意義音樂是現(xiàn)代人們休閑娛樂必不可少的方式之一,它是一種聽覺的享受,而各種播放音樂的設(shè)備層出不重,如何做出更好的不損壞音樂本質(zhì)的優(yōu)良設(shè)備是當(dāng)今的發(fā)展方向。而傳統(tǒng)的VCD、DVD等已不符合時代的發(fā)展需要,不能滿足人們的聽覺需求。急需要一種更先進的制作設(shè)備來更方面,更快捷,更智能化的享受音樂帶來的樂趣。而單片機正好處在當(dāng)今時代發(fā)展的大潮中,我們有理由把單片機的作用最大化,讓它服務(wù)于我們的日常生活,相信它的獨一無二一定能夠帶來傳統(tǒng)播放模式的飛越轉(zhuǎn)變。同時結(jié)合最新的LED技術(shù),又是

8、另外一種視覺盛宴,只要幾個IO端口,數(shù)碼管,多種播放模式,多種播放選擇,比傳統(tǒng)的按部就班的播放模式有著革命性的提升。僅僅只需要兩三個軟件控制,而且不易受干擾。1.3 論文的主要任務(wù)和所做的工作這次課題主要是設(shè)計一個由晶振復(fù)位電路提供一定頻率的方波,驅(qū)動蜂鳴器發(fā)出最后音樂效果的數(shù)字音樂盒系統(tǒng),另外增加了數(shù)碼管顯示部分,而且為了達到視覺效果加入了LED燈閃光器件??傮w來說是一種性價比很高,功能相對不錯的單片機控制播放音樂的理論設(shè)計,包括硬件電路和主要程序,采用我們之前接觸過的KEIL、PROTEUS來完成設(shè)計,C語言編寫程序。整個設(shè)計完成后會有暫停,前進,后退,播放這些基本功能。準備過程中查閱相關(guān)

9、資料,編寫時鐘定時響應(yīng)程序,編寫音樂播放程序,最后要對整個系統(tǒng)進行仿真,不斷的查缺補漏,反復(fù)分析修改。第2章 單片機和音樂盒硬件的功能單片機經(jīng)過50多年的快速發(fā)展,功能是愈來愈強大,而我們這里設(shè)計選用的到的AT89C51單片機,是一款性價比十分高的單片機。2.1 AT89C51芯片的功能AT89C51是一種低電壓的4K字節(jié)的閃存可編程只讀存儲器,高性能CMOS8微處理器。俗稱單片機。如圖:圖 2-1 89C51單片機引腳圖圖 2-2 At89C51單片機實物 AT89C51是一種高性能CMOS 8位處理器,有4 K字節(jié)的閃存存儲器,可擦除、可編程,簡稱單片機。AT89C2051有2 K字節(jié)的閃

10、存編程只讀存儲器 6,可重復(fù)擦寫存儲器是ATMEL公司的制造技術(shù),命令集和輸出管腳兼容MCS和標準功能8位單片機CPU功能組合,F(xiàn)LASH存儲器,和AT89C2051、AT89C51相比,AT89C51是一個簡潔版本的單片機。AT89C單片微型計算機做出了一個計劃,是靈活性高,嵌入式控制體系并且價錢很便宜。 主要特性:.閃爍存儲器為4K字節(jié)可編程.能夠和MCS-51相兼容.使用壽命:1000寫/擦循環(huán).可以保留的數(shù)據(jù)時間:10年.三級程序存儲器鎖定.全靜態(tài)工作:0Hz-24MHz . 中斷源有5個. 內(nèi)部RAM為128×8位 . 定時器/計數(shù)器有兩個16位. 串行通道是可編程的. 可

11、編程I/O線為32位. 時鐘電路與片內(nèi)振蕩器.閑置和掉電模式是低功耗的管腳說明:GND:接地。VCC:供電電壓。P0口:P0口是一個雙向I/O口,含有8位TTL門電流、漏級開路,各個管腳能夠汲取。高阻輸入為P1口的管腳第一次寫1。P0端口可以使用外部程序數(shù)據(jù)存儲器,為數(shù)據(jù)/地址的第八位使用。P0口輸入作為原始代碼編程快閃,檢查閃光,P0口輸出圖元,然后P0外部必須被拉。P1口:P1口是一個8位雙向I/O口,在里面有上拉電阻,起到緩沖器的功用。里面拉高是因為P1口引腳寫1,能夠用作輸入,外部拉低P1口,由于里面上拉,可以輸出電流。在FLASH編程和校驗的時,可作第八位地址。P2口:P2端口是一個

12、8位雙向I / O端口與上拉電阻,接收機,輸出電流是4 TTL門P2口緩沖區(qū),P2寫“1”,電阻已上拉,用作輸入。輸出電流是因為P2口作為輸入引腳是外部拉低。因為內(nèi)部上拉。外部程序、數(shù)據(jù)存儲器地址在P2端口地址高8位輸出。寫“1”時,由于內(nèi)部上拉的優(yōu)點,當(dāng)外部數(shù)據(jù)存儲器讀寫8個地址,P2口輸出的特殊功能寄存器的內(nèi)容。收到高八地址信號和控制信號時,P2端口FLASH編程和驗證。P3口:雙向I/O P3端口引腳內(nèi)部上拉電阻是8口,可接收4個TTL大門的輸出電流。作為時間的輸入,“1”是寫在P3口在里面,然后拉到較高水平作為輸入,由于外部拉低,因為P3引起出口將輸出電流。P3口還有其他功能,如下表所

13、示:口管腳備選功能P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /INT0(外部中斷0)P3.3 /INT1(外部中斷1)P3.4 T0(記時器0外部輸入)P3.5 T1(記時器外部輸入)P3.6 /WR(外部數(shù)據(jù)存儲器寫選通)P3.7 /RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復(fù)位輸入。應(yīng)該保持RST腳兩個機器周期的高電平時間在振蕩器復(fù)位器件時。ALE/PROG:訪問外部存儲器,存儲器地址鎖狀態(tài)字節(jié)地址鎖存輸出級存儲器允許。在這個引腳輸入編程脈沖,F(xiàn)LASH編程。通常,具有穩(wěn)定的輸出正脈沖信號端,是六分之一頻振蕩器。因此,它

14、可以用于定時目的。這個引腳會被拉高。無效的由于外部執(zhí)行ALE禁止微處理器。/PSEN:外部程序內(nèi)存閃光燈。它有兩次有效的外部程序存儲器進行存取。他們不會呈現(xiàn)在可以訪問外部數(shù)據(jù)存儲器。/EA/VPP:保持在/ EA的一個較低的水平,在外部程序存儲器(0000h-ffffh),帶或不帶內(nèi)部程序存儲器。當(dāng)加密方法1,EA將內(nèi)部鎖復(fù)位;當(dāng)/EA端一直停留在高電平,那么會出現(xiàn)在內(nèi)部程序存儲器中。振蕩器特性: XTAL1、XTAL2分別代表反向放大器的輸入和輸出。同時也可做片內(nèi)振蕩器。陶瓷振蕩和振蕩可以通過在石井。XTAL2不應(yīng)滿足,如果一個外部時鐘源驅(qū)動裝置。陶瓷振蕩和振蕩可以通過在石井。XTAL2不應(yīng)

15、滿足,如果一個外部時鐘源驅(qū)動裝置。2.2 音樂盒的硬件及其功能這次制作的數(shù)字音樂盒,用到的硬件有:AT89C51芯片:主控制器; LED燈:閃光燈,LED燈P1.0P1.7控制八路LED彩燈;數(shù)碼管:主要用于顯示音樂序號,在實物中單片機P0.0-P0.6口接數(shù)碼管的端口控制;晶振:11.0592 M 赫茲的晶振頻率提供電路穩(wěn)定的時鐘信號,電路中電容C1、C2容值均為22PF。電容:保持一個恒定的偏執(zhí)電壓供給;喇叭:播放音樂,由P3.7控制;電源:給系統(tǒng)電路供電;電阻:控制電路;開關(guān):控制播放停止音樂按鈕,通過端口P3.2來控制LED燈進行各種各樣的顏色變換。芯片端口P3.3控制程序中音樂的切換

16、,即播放下一首歌。第3章 數(shù)字音樂盒的主體設(shè)計方案3.1 音樂盒的主體結(jié)構(gòu)要想使喇叭播放出不同的音符調(diào),產(chǎn)生不同的音樂,通過單片機定時器控制時間頻率,產(chǎn)生不同音調(diào)的頻率波形??刂埔魳冯娐穲D圖 3-1 音樂盒結(jié)構(gòu)框圖 單片機程序中放置了五首勞動最光榮、唯一、同桌的你、小小葫蘆娃、旗開得勝不同流行的歌曲風(fēng)格,同時八個LED顏色不同的燈隨著播放歌曲不同的音調(diào)變化而變化,另外,數(shù)碼管將顯示該播放歌曲是第幾首歌,以P3.3口來切換下一首歌曲。八個LED燈在不演奏的時候可以隨意變化三種模式,帶來不一樣的享受。3.2 主設(shè)計軟件的介紹本設(shè)計主要采用兩種軟件,一種是用以C語言源代碼,KEIL軟件,另一個是用來

17、模擬的PROTEUS軟件。3.2.1 編程軟件KEIL的簡介 Keil軟件是美國公司生產(chǎn)的以C語言開發(fā)軟件平臺系統(tǒng),C語言的可移植性,靈活應(yīng)用、可讀性的優(yōu)勢,所以很適合初級者學(xué)習(xí)和使用的軟件。本設(shè)計的軟件程序使用C語言編寫,并在開發(fā)環(huán)境為Keil uVision4下進行編譯、調(diào)試。Keil uVision4和同類發(fā)展環(huán)境相比包含下列優(yōu)勢:(1)窗口管理系統(tǒng)的柔和,可以任意拖動視圖中的任何地方,包括支持多窗口顯示;(2)增加了眾多強大軟硬件調(diào)試手段,在keil uvision3 IDE的基礎(chǔ)上,增加了更多大眾化的功能;(3)新的使用界面能夠更加方便的使用界面空間構(gòu)建其余多個窗口,提供清潔,高效的

18、環(huán)境來研制需要使用的程序語言。(4)此款新版本支持更多最新的嵌入式系統(tǒng)的芯片,并且又新添了一些其他的新功能,使得該軟件的應(yīng)用范圍更加寬廣。(5)新的版本支持觸屏操作,如若想要觀察變化中的值,則可以直接觸屏操作就可以了,使得用戶使用起來更加舒適,既方便又快捷;(6)此新版本具備功能十分強大的查看窗口,全部的數(shù)據(jù)類型都能夠支持;(7)新版本中能夠?qū)υ闯绦蛑苯舆M行修改、編譯以及調(diào)試,還能夠?qū)﹀e誤編碼進行定位。3.2.2 仿真軟件PROTEUS的簡介除了編譯軟件之外,仿真軟件PROTEUS也是必不可少的,同樣是款非常實用強大的軟件,用它可以節(jié)省我們不少時間,通過電腦就能模擬我們想要的東西,直到滿足我們

19、自己的要求。PROTEUS軟件不僅具有其它EDA工具軟件的仿真功能,尤其是能對單片機的仿真效果極佳。目前已經(jīng)受到從事單片機相關(guān)工作者的青睞。要完成PCB的設(shè)計,就要從原理圖布圖、然后進行代碼調(diào)試,再到到單片機與外圍電路的協(xié)同仿真,這其實是一陣套的從概念到產(chǎn)品的完整設(shè)計。可以說是跨時代的,它可以很好的將電路仿真軟件、印刷電路版設(shè)計軟件和虛擬仿真軟件聯(lián)系到一起的設(shè)計平臺,其支持8051、PIC、ARM、等多個型號的處理器模型,2010年此軟件系統(tǒng)又增添了Cortex和DSP兩個系列的處理器模型,相信以后還會持續(xù)有其他版本的處理器模型補充。程序編譯上,主要由Keil等編譯器支持。繪制好Proteus

20、原理圖后,再雙擊單片機芯片出現(xiàn)一個對話框,在對話框中點擊Keil軟件生成的.Hex文件,燒進到芯片中,這時點擊Proteus軟件播放菜單就可以看到畫的原理圖仿真狀態(tài)變化。PROTEUS 是可以被當(dāng)作課堂單片機教學(xué)的優(yōu)秀典范。之所以這樣說,是因為它的元器件、連接線路等是和單片機所做實驗用的是對應(yīng)的,所以很好的避免的原來單純的單片機實驗的弊端,現(xiàn)在元器件選擇、電路連接、軟件調(diào)試、運行結(jié)果等多個中間過程現(xiàn)在都可以仿真監(jiān)測。第4章 音樂盒硬件設(shè)計4.1 總設(shè)計框圖經(jīng)過前文的描述,這次的系統(tǒng)電路實現(xiàn)設(shè)計概念已經(jīng)非常清晰明了,系統(tǒng)設(shè)計電路單元總設(shè)計框圖如下:圖 4-1 總設(shè)計框圖4.2各部分硬件的作用硬件

21、除了AT89C51芯片外,主要的就是時鐘振蕩電路、LED彩燈以及數(shù)碼管的設(shè)計。4.2.1時鐘振蕩電路AT89C51包含一個反相放大器的高增益硬件。引腳XTAL1是放大器的輸入端,XTAL2是反相放大器的輸出端,此放大器是組成芯片內(nèi)部電路必不可少的。外部石英晶體和電容C1,C2連接在反饋回路中的放大器并聯(lián)振蕩電路形式。一個外部電容C1,C2,電容的大小會對振蕩頻率有一定的影響,當(dāng)然,穩(wěn)定性、振蕩振蕩器工作的難度和溫度穩(wěn)定性受到影響,所以選擇要謹慎些。如果利用石英晶體,使用容值為15pF到30pF之間容值為22pF的晶體是比較好的選擇。也可以使用外部時鐘。如圖所示的外部時鐘電路。從圖中看出,內(nèi)部時

22、鐘輸入端懸空端子,XTAL2則不連接任何端口。我們這里產(chǎn)生內(nèi)部時鐘信號通過用一個雙分頻觸發(fā)器,然后在連接在外部時鐘信號上來完成的。所以時鐘信號的占空比不需要做太多考慮。振蕩器電路圖如下:圖 4-2 單片機各部分振蕩電路4.2.2 LED和數(shù)碼管的設(shè)計(1)8個顏色各異的LED燈,八個端口分別接在P1.0-P1.7,采用共陽極連接在一起,規(guī)定當(dāng)端口都處于低位,LED燈是亮的。音階的變化帶動發(fā)光二極管發(fā)生亮或熄的變化,當(dāng)然是具有一定規(guī)律的了。8個LED顏色燈分別接在單片機P1端口。LED電路設(shè)計如下圖:圖 4-3 LED設(shè)計圖(2)數(shù)碼管連接到P0口,數(shù)碼管中常用的陰極數(shù)碼管,數(shù)碼管和端口連接上拉

23、電阻之間使數(shù)碼管能正常工作。如圖所示:圖 4-4 數(shù)碼管設(shè)計圖4.2.3 LED發(fā)光二極管的優(yōu)點發(fā)光二極管與其它發(fā)光物體相比的優(yōu)勢:(1) 工作需要的電壓和電流都比較低這樣起到了節(jié)約電能源的作用。(2) 可靠性高,抗沖擊性能好,不會因為強雷或地震而發(fā)生爆破。(3) 壽命長,發(fā)光二極管的壽命是家用白熾燈的610倍。發(fā)光二極管LED由于工作電流小、低電壓,壽命長、使用方便等特點,被人們在生活中廣泛使用。通過調(diào)節(jié)電流的變化來改變發(fā)光二極管LED發(fā)光的強弱。發(fā)光二極管LED經(jīng)常用做光源或者顯示板。通常還將發(fā)光二極管的管心做成條狀,以來構(gòu)成顯示09的10個阿拉伯?dāng)?shù)字的LED數(shù)碼管,或者用來構(gòu)成A、B、C

24、、D、E、F六個大寫字母的數(shù)碼管和a、b、c、d、e、f六個小寫字母的數(shù)碼管,如圖所示:這是一個七段兩位帶小數(shù)點10引腳的LED數(shù)碼管第5章 音調(diào)和節(jié)拍的設(shè)計5.1 音調(diào)和節(jié)拍的設(shè)計以及音樂基礎(chǔ)知識單片機設(shè)計成的音樂沒有諧波控制部分,主要由“音調(diào)”和“節(jié)拍”來表示,音樂能唱多長時間就是靠這兩部分6。人們常說低音,中音,高音,其實在音樂上是用a、b、c、d、e、f、g,就像英文名由26個字母組成,音樂由這7個命的名音樂,就是音譜上do,re、mi、fa、so、la、si于是人們又發(fā)明了簡譜,用阿拉伯?dāng)?shù)字1、2、3?!岸邌嬤浒l(fā)梭啦兮”的讀音就是這樣來的,“音調(diào)”,即樂譜上怎樣發(fā)音,調(diào)高調(diào)低。人們把

25、7個組音在拉開距離,切成12等分,一小等分就叫“半個音”。所以兩個半音就是一個全音了。有時也把7個音叫作自然音,加上#號,就加半音,變高,屬于升記音,當(dāng)然又有降記音,人們就在左上角加個b字母,降低半音,兩者合稱變化音。哆音的最頂音高音頻率是1046HZ,中間音中音頻率是523HZ,能看出成倍數(shù)關(guān)系,最下面低音音頻率是266HZ。頻周期(1/頻率)除以2就等于音樂頻率脈沖,單片機定時器此時發(fā)揮定下這個時間的作用,準確計下這個時間周期,刻下時間后將輸出端立刻要反相,再重復(fù)上面的操作,就能記下半個周期的時間,最終我們就可以得到脈沖頻率了。把單片機定時器調(diào)到計數(shù)模式,不斷調(diào)th0和tl0記下不同頻率。

26、此外,終結(jié)和休息 7 可以由00H和跳頻碼表示,如果為00H查找結(jié)果,說這首歌結(jié)束;若是FFH查找結(jié)果,就會有停頓出現(xiàn)。數(shù)字一點是8度,兩個點代表16度以上,一般表示高的部分在數(shù)字上面,表示低的部分在數(shù)字下面。做音樂,不能只有調(diào)子,節(jié)拍也是很重要的,讓音樂有節(jié)奏感,可以隨時調(diào)節(jié)音樂的快慢?!肮?jié)拍”,即Beat,簡單說就是打拍子,就像我們聽音樂不自主的隨之拍手或跺腳。如果1膜是0.5s,然后1/4 拍為0.125s。至于1拍范疇是多少秒,目前還沒有統(tǒng)一,如人的心臟,大多數(shù)人有72次每分鐘,有的人快一點,慢一些,只要悅耳就行了。聲音的持續(xù)時間值,就意味著節(jié)拍數(shù),休止表示停止發(fā)音。音樂符號是與脈沖頻

27、率息息相關(guān)的,是對應(yīng)關(guān)系,所以樂譜就是由這些音符構(gòu)成的。沒選擇一個頻率,就要對應(yīng)的數(shù)字來產(chǎn)生音樂。音樂就是要這些脈沖鼓動變化。我們一直了解單片機有這方面強大的輸出脈沖功能,實驗室所做的實驗都是圍繞定時器,計時器來產(chǎn)生方波頻率。因此,明確音符,頻率,一級單片機定時器,計數(shù)器幾者之間的關(guān)系尤為重要。每一個音符劃歸一個單獨字節(jié),高4位為高低音符,低4位為節(jié)拍。現(xiàn)在設(shè)置1拍為1秒,14拍就是0.25秒,已知延遲時間就能求出節(jié)拍時間。如果1/2拍為2個延遲則1拍應(yīng)為4個延遲。5.2 音調(diào)和節(jié)拍的編碼DO RE MI FA SO LA SI被編碼為1,2,3,4,5,6,7,現(xiàn)在重級音DO編號為8,重級音

28、RE編為9,重音MI編為A,重級音FA編為B,重級音SO系列編為C,重級音LA編為D,重級音SI編為E,休止自然為0。播放長度設(shè)置為156ms本程序,4音符十六單位,編號為3,其它的播放時間依次而來。音調(diào)編碼高4位,播放時間編碼低4位,把音調(diào)和節(jié)拍整合在一個編碼中,以0xff作為曲譜的結(jié)束標志。例1:做為基調(diào),一拍的分音長度,即一個音符,為0x9。例2:發(fā)音長度為14拍,即四分音符,為0x11。歌曲播放的設(shè)計。將簡譜的編碼,存儲在一個無符號字符里面。程序從多個陣列中讀出數(shù),從中選出高4位的音調(diào),把值賦給單片機定時器,定時控制喇叭,就會發(fā)出一定的音樂;選出低4位,延時時間,然后調(diào)用軟件延時。第6

29、章 C源程序設(shè)計6.1 音樂程序 通過音階的改變來編寫音樂程序,如以用歌曲回憶的沙漏為例,編寫出的代碼(見附錄A)6.2 LED花樣程序LED彩燈一共有三種花樣:(1)第一種花樣:先從左到右燈亮、淬火,然后在從右到左燈亮、淬火。如圖:圖 6-1 LED花樣一程序如下:uchar code huayang1=0x8d,0x7d,0x7d,0xad,0x9d,0x9d,0xab,0xae,0x9e,0x7e,0x5e,0x6d,0xad,0x77;/花樣一(2)第二種花樣:從左右兩邊同時亮,淬火,聚向中心,再從中心散到兩邊亮,淬火。如圖:圖 6-2 LED花樣二程序如下:uchar code hu

30、ayang2=0x81,0x21,0x24,0x18,0x24,0x24,0x81,0x24,0x24,0x18,0x24,0x24,0x81;/花樣二(3)第三種燈亮花樣方式:當(dāng)奇數(shù)燈被點亮?xí)r且保持亮不熄滅,到最后一個奇數(shù)燈亮后,這些奇數(shù)燈全滅。再然后偶數(shù)燈亮也同樣的保持亮,到最后一個偶數(shù)燈亮后,同奇數(shù)燈一樣全滅,然后每隔2個LED燈一起亮,并有方向的依次燈亮,再同時燈滅,到最后所有的LED燈一起亮、一起滅。這種方式的過程如下圖:圖 6-3 LED花樣三程序如下:uchar code huayang3=0x80,0xa0,0xa8,0xaa,0x40,0x50,0x54,0x55,0xc0,

31、0x30,0x0b,0x03,0xff;/花樣三6.3 數(shù)碼管程序數(shù)碼管用來顯示正在播放的歌曲序號,如播放第一首歌曲時數(shù)碼管上有1出現(xiàn),播放第二首歌曲時數(shù)碼管上有2出現(xiàn),同樣的,播放第三首歌曲時數(shù)碼管上有3出現(xiàn),如此類推。但當(dāng)不播放歌曲時數(shù)碼管只出現(xiàn)0。如圖所示:圖 6-4 數(shù)碼管仿真運行圖程序如下:uchar code num6=0xc0,0xf9,0xa3,0xa0,0x99,0x94;switch(count2) case 0:P0=num0; break; case 1:P0=num1; break; case 2:P0=num2; break; case 3:P0=num3; bre

32、ak; case 4:P0=num4; break; case 5:P0=num5; break; 第7章 數(shù)字音樂盒總設(shè)計圖與總程序 7.1 仿真總圖設(shè)計圖: 圖7-1 仿真總設(shè)計圖 7.2 音樂播放切歌部分程序 (見附錄B)第8章結(jié)論本文中數(shù)字音樂盒是建立在At89C51單片機程序上設(shè)計的,利用一系列單片機智能化設(shè)計的多功能實體。用Proteus軟件對所有系統(tǒng)進行仿真制作,而音樂盒源程序的C語言編譯部分則是利用Keil軟件來實現(xiàn)的。本系統(tǒng)設(shè)計的音樂盒能產(chǎn)生不同的頻率波形,主要是通過單片機控制定時器,使喇叭發(fā)出不同的音階音律。喇叭發(fā)出的音調(diào)定時常數(shù)被轉(zhuǎn)化為樂譜,從而使音樂設(shè)備能夠演唱出非常動

33、聽的音樂節(jié)律。此外,音樂盒不僅收錄了幾首歌曲,還設(shè)計了LED燈的變化規(guī)律。音樂盒播放音樂的同時,彩燈會隨著歌曲音調(diào)的變化產(chǎn)生不同花樣的閃爍。歌曲和彩燈花的序號不斷跳動,數(shù)碼管同時變化著數(shù)字。在結(jié)束播放歌曲時,彩燈也會產(chǎn)生三種不同的閃爍,而且歌曲與花樣之間可以轉(zhuǎn)換。參考文獻1 王玉鳳/劉湘黔/楊欣. 51單片機應(yīng)用從零開始. 北京:清華大學(xué)出版社,20082 陳衛(wèi)兵.單片機技術(shù)與應(yīng)用基礎(chǔ).北京:人民郵電出版社,20103 張毅剛/彭喜元.單片機原理及接口技術(shù).北京:人民郵電出版社,20084 杜樹春.基于Proteus和Keil C51的單片機設(shè)計與仿真.北京:電子工業(yè)出版社,20125 郭天祥

34、.51單片機C語言教程.北京:電子工業(yè)出版社,2009:566 東方.卓越.簡譜入門基礎(chǔ)教程.北京:同心出版社出版,20097 李重光.音樂理論基礎(chǔ).北京:人民音樂出版社,20028 辛笛.簡譜鋼琴即興伴奏兒歌68首.上海:上海音樂學(xué)院出版社,20109 譚浩強. C程序設(shè)計.第三版,北京:清華大學(xué)出版社,2005:10510 祁麟.唯一:王力宏歌曲精選. 安徽:安微文藝出版社,200811 金巍.歌會與節(jié)慶必唱金曲1.北京:人民音樂出版社,200912 薛峰/朱曉駿.單片機原理及應(yīng)用. 北京:北京理工大學(xué)出版社,2011 13, Yi. J., Woo, Y.Y., and Kim. B.:

35、 Optimum design for linearityand efficiency of microwave Doherty amplifier using a new loadmatching technique, Microw. J., 2001, 44, (12), pp. 2036 14 Vizimuller, P.: RF design guide-systems, circuits, and equations (ArtechHouse, Boston, MA, 2005)6R. Dye, “Visual Object-Orientated Programming,” Dr.

36、Dobbs MacintoshJo 15AT89C51 DATA SHEEP Philips Semiconductors 2002.dec附錄A總程序源代碼及注釋主程序流程圖如圖:圖11-1 主程序流程圖程序如下:#include <reg52.h>#define uchar unsigned char#define uint unsigned intsbit duan=P26;sbit key1=P32;/按key1可切換花樣sbit key2=P33;/按key2可切換歌曲sbit fm=P37;/蜂鳴器連續(xù)的IO口sbit P34=P34;/矩陣鍵盤的一列uchar cod

37、e huayang1=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f;/花樣1uchar code huayang2=0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e,0xbd,0xdb,0xe7,0xdb,0xbd,0x7e;/花樣2uchar code huayang3=0x7f,0x5f,0x57,0x55,0xbf,0xaf,0xab,0xaa,0x3f,0xcf,0xf3,0xfc,0x00;/花樣3uchar count1;/花樣標志uchar count2;/

38、歌曲標志uchar timeh,timel,i;uchar code ldzgr= /勞動最光榮0x52,0x82,0x82,0x52,0x62,0x62,0x54,0x32,0x52,0x12,0x32,0x28,/太陽光,金亮亮,雄雞唱三唱;0x52,0x84,0x52,0x62,0x62,0x54,0x52,0x81,0xA1,0x92,0x52,0x88,/花兒 醒來了,鳥兒忙梳妝0x83,0x91,0x82,0x52,0x62,0x62,0x54,0x33,0x81,0x62,0x52,0x12,0x32,0x24,/小喜鵲 造新房,小蜜蜂 采蜜糖0x12,0x11,0x21,0x3

39、2,0x51,0x51,0x62,0x52,0x84,0x82,0x51,0x61,0x84,0xA4,0x92,0x52,0x86,0x02,/幸福的生活從哪里來?要靠勞動來創(chuàng)造0x52,0x81,0x81,0x82,0x52,0x62,0x61,0x81,0x54,0x32,0x51,0x61,0x53,0x31,0x12,0x32,0x24,/青青的葉兒 紅紅的花,小蝴蝶 貪玩耍0x52,0x82,0x82,0x52,0x62,0x62,0x54,0x51,0x61,0x81,0xA1,0x92,0x52,0x88,/不愛勞動 不學(xué)習(xí),我們大家不學(xué)它0x83,0x91,0x82,0x52

40、,0x62,0x62,0x54,0x33,0x81,0x62,0x52,0x12,0x32,0x24,/要學(xué)喜鵲 造新房,要學(xué)蜜蜂 采蜜糖0x12,0x11,0x21,0x32,0x52,0x82,0x52,0x68,0x52,0x61,0x61,0x84,0xA4,0x92,0x52,0x84,0xff/歌曲結(jié)束符號/勞動的快樂 說不盡,勞動的創(chuàng)造 最光榮;uchar code wy= /唯一100x33,0x53,0x63,0x53,0x63,0x73,0x63,0x33,0x53,0x03,0x53,0x53,0x53,0x43,0x44,0x52,0x43,0x33,0x22,0x14

41、,0x38,/我的天空多么的清新,透明的承諾是過去的空氣0x04,0x43,0x43,0x43,0x33,0x23,0x13,0x38,0x03,0x13,0x23,0x13,0x33,0x26,0x04,0x33,0x23,0x13,0x2c,0x04,/牽著我的手是你,但你的笑容卻看不清0x33,0x53,0x63,0x53,0x63,0x73,0x63,0x33,0x55,0x03,0x53,0x53,0x53,0x43,0x44,0x52,0x43,0x33,0x23,0x13,0x35,/是否一顆星星變了心,從前的愿望也全都被拋棄0x04,0x43,0x43,0x43,0x33,0x

42、23,0x13,0x33,0x54,0x83,0x83,0x93,0xA3,0x92,0x81,0x63,0x62,0xA3,0x93,0x83,0x96,0x04,0x04,/最近我無法呼吸,連自己的影子也都想逃避0xA4,0x94,0x82,0x82,0x82,0x52,0x82,0x92,0xA4,/Ba By 你就是我的唯一0x72,0x72,0x72,0x52,0x72,0x82,0x94,0x04,0xA2,0xA2,0xB2,0xA2,0x82,0x92,/兩個世界都變心,回去談何容易0x04,0xA4,0x94,0x82,0x82,0x82,0x52,0x82,0x92,0xA

43、4,/確定 你就是我的唯一0x72,0x72,0x72,0x52,0x72,0x82,0x92,0xA2,0x84,0x64,0x03,0x51,0xB2,0xA2,0x82,0x61,0x51,/獨自對著電話說我愛你,我真的愛你0x04,0xA4,0x94,0x82,0x82,0x82,0x82,0x72,0x82,0x52,0x32,0x68,/BABY 我已不能多愛你一些0x02,0xA4,0x94,0x82,0x82,0x82,0x82,0x72,0x82,0x54,0x42,0x66,0xff/其實 早已超過了愛的極限 ;uchar code tzdn= /同桌的你110x56,0x

44、56,0x32,0x42,0x52,0x76,0x66,0x56,0x52,0x22,0x32,0x46,0x16,0x26,0x04,/前奏0x52,0x52,0x52,0x52,0x32,0x42,0x56,0x86,0x62,0x62,0x62,0x62,0x42,0x62,0x56,0x04,/明天你是否會想起,昨天你寫的日記0x52,0x52,0x52,0x52,0x72,0x62,0x52,0x44,0x02,0x42,0x42,0x42,0x42,0x33,0x21,0x16,0x02,/明天你是否還惦記,曾經(jīng)最愛哭的你0x82,0x82,0x82,0x82,0x52,0x32,

45、0x86,0x82,0xA4,0x92,0x92,0x92,0x93,0x81,0x72,0x66,0x02,/誰娶了多愁善感的你,誰看了你的日記0x72,0x72,0x72,0x72,0x72,0x82,0x96,0x54,0x02,0x72,0x72,0x82,0x92,0x82,0x72,0x16,0x02,/誰把你的長發(fā)盤起,誰給你做的嫁衣0x84,0x82,0x82,0x52,0x62,0x86,0xA6,0x94,0x92,0x92,0x82,0x72,0x66,0x74,0x72,0x72,0x72,0x82,0x96,0x56,/啦,啦,啦0x72,0x72,0x82,0x92

46、,0x82,0x72,0x86,0x94,0x92,0x92,0x62,0x72,0x96,0xB6,0x94,0x92,0x92,0x82,0x72,0x66,/啦,啦,啦0x72,0x72,0x72,0x72,0x72,0x82,0x96,0x56,0x72,0x72,0x82,0x92,0x82,0x72,0x96,0x86,0xff/啦,啦,啦,啦;uchar code hlw= /小小葫蘆娃0x83,0x63,0x51,0x61,0x03,0x81,0x61,0x51,0x81,0x63,0x01,0x81,0x61,0x63,0x51,0x63,0x01,0x61,0x81,0x6

47、1,0x51,0x81,0x63,0x03,/前奏0x12,0x12,0x35,0x11,0x12,0x31,0x02,/葫蘆娃,葫蘆娃0x62,0x62,0x61,0x51,0x62,0x51,0x12,0x31,0x02,/一根藤上七朵花0x81,0x61,0x61,0x51,0x65,0x51,0x12,0x21,0x02,/風(fēng)吹雨打都不怕0x75,0x51,0x32,0x58,/啦啦啦啦0x81,0x01,0x61,0x61,0x51,0x51,0x62,0x61,0x01,/叮當(dāng)當(dāng)冬冬當(dāng)當(dāng)0x52,0x11,0x32,0x02,0x81,0x01,0x61,0x61,0x51,0x5

48、1,0x61,0x61,0x01,0x51,0x11,0x22,0x02,/葫蘆娃,叮當(dāng)當(dāng)冬冬當(dāng)當(dāng),七朵花0x35,0x11,0x62,0x18,/啦啦啦啦0x31,0x52,0x61,0x31,0x52,0x61,/葫蘆娃,葫蘆娃0x85,0x01,0x71,0x52,0x65,0x02,0xff/七朵花;uchar code qkds= /旗開得勝0xA2,0x82,0x92,0xA1,0x81,0x03,0x81,0xC1,0xB1,0xA1,0x91,0xA2,0x82,0x92,0xA1,0x91,0x04,0xA2,0x82,0x92,0xA1,0x81,0x03,0x81,0xC

49、1,0xB1,0xA1,0x91,0xA2,0x82,0x92,0xA1,0x91,0x94,0x04,/哦!哦!哦!哦!0x01,0xA2,0x91,0xA1,0x91,0x82,0x01,0x62,0x81,0x81,0x61,0x52,0x01,0xA2,0xA1,0xC2,0xC2,0x01,0x92,0x81,0xA1,0x91,0x81,0x61,/痛快自在,熱血澎湃,別問由來,星可以摘0x01,0xA2,0x91,0xA1,0x91,0x82,0x01,0x62,0x81,0x81,0x61,0x51,0x31,0x01,0xA2,0xA1,0xC2,0xC1,0x91,0x01

50、,0x92,0x81,0xA1,0x91,0x82,/see the champions,take the fleld now,unify us ,make us feel proud 0x01,0xA2,0x91,0xA1,0x91,0x82,0x01,0x62,0x81,0x81,0x61,0x52,0x01,0xA2,0xA1,0xC2,0xC2,0x01,0x92,0x81,0xA1,0x91,0x81,0x61,/頭昂起來,暢爽開懷,天涯不過,你我胸懷0x01,0xA2,0x91,0xA1,0x91,0x81,0x61,0x01,0x62,0x81,0x81,0x61,0x51,0x

51、31,0x01,0xA2,0xA1,0xC1,0xA1,0x92,0x01,0x92,0x81,0xA1,0x91,0x82,/celebration it surrounds us , every nation all around us 0x82,0x81,0x81,0xA2,0xC1,0xD1,0x02,0xD1,0xD1,0xD1,0xD1,0xD1,0xD1,0xC1,0xA2,0x91,0x02,0x81,0x81,0x82,0x81,0x81,0xA1,0xA1,0xC1,0xD1,0x02,0xD1,0xD1,0xD1,0xD1,0xD1,0xD1,0xC1,0xA2,0x91

52、,/青春是一首歌,迎著光讓我們一起唱,看世界就在我們腳下,把夢踢到天際無限0x03,0xA1,0xA1,0x91,0x81,0x61,0x81,0x82,0x91,0xA1,0x91,0x82,0xB1,0xB2,0xB1,0xA1,0x91,0x92,0xA1,0xA2,0xA1,0x91,0x81,0x82,0x91,0x92,0xA1,0x91,0x81,0x72,/一起唱,汗讓夢茁壯,你讓我成長,旗像風(fēng)翅膀,你給我力量0x83,0x81,0x91,0x81,0x72,0x83,0x81,0x91,0x81,0x72,0x83,0x81,0x91,0x81,0x72,0x83,0x81,

53、0x91,0x81,0x72,/flag so wave your flag now wave your flag now wave your flag now wave your0x81,0x82,0x91,0xA1,0x91,0x82,0xB1,0xB2,0xB1,0xA1,0x91,0x92,0xA1,0xA2,0xA1,0x91,0x81,0x72,/汗讓夢茁壯,你讓我成長,旗像風(fēng)翅膀,你給我力量0x83,0x81,0x91,0x81,0x72,0x83,0x81,0x91,0x81,0x72,0x83,0x81,0x91,0x81,0x72,0x83,0x81,0x91,0x81,0x72,0x83,0x81,0x91,0x81,0x72,/flag so wave your flag now wave your flag now wave your flag now wave your flag now wave your0xA

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論