




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目 錄摘 要1第1章 緒論2第2章 音樂基礎(chǔ)知識32.1 音樂基礎(chǔ)32.2 音頻脈沖和音樂節(jié)拍的實現(xiàn)32.2.1 音頻脈沖的產(chǎn)生32.2.2 音樂節(jié)拍的產(chǎn)生5第3章 系統(tǒng)方案設(shè)計63.1設(shè)計任務(wù)63.2 設(shè)計目的63.3 設(shè)計過程63.4 設(shè)計思想63.4.1 方案設(shè)計與選擇7第4章 硬件電路設(shè)計94.1 電路組成及工作原理94.1.2 工作原理94.2 AT89C52單片機介紹94.4 發(fā)聲驅(qū)動電路124.5 顯示電路124.6 控制電路13第5章 軟件設(shè)計145.1程序設(shè)計145.2 程序流程圖14第6章 系統(tǒng)調(diào)試156.1 常用調(diào)試工具15 Proteu仿真軟件介紹156.1.2 Kei
2、l編譯環(huán)境介紹156.2 系統(tǒng)調(diào)試方法15結(jié) 論17致 謝18參考文獻19附 錄20附錄1 程序清單20附錄2 單片機音樂發(fā)生器電路原理圖32摘 要在電子技術(shù)日月更新、不斷換代,計算機程序設(shè)計語言應(yīng)用廣泛,特別是單片機技術(shù)日趨發(fā)達的情況下,為了培養(yǎng)并增強設(shè)計自主性和動手能力強的人才,了解單片機強大的設(shè)計功能,我們進行了此次設(shè)計。為了實現(xiàn)一首音樂的播放,選擇了用單片機來實現(xiàn)音樂的播放,因為它有很多優(yōu)點,如:外部結(jié)構(gòu)簡單、實現(xiàn)起來比較方便等。對于單片機產(chǎn)生音樂,關(guān)鍵是控制頻率的輸出。我們知道,不同的聲音對應(yīng)不同的頻率,產(chǎn)生有規(guī)律的頻率輸出就可以得到相應(yīng)規(guī)律的聲音。音樂中,有7個基本音符:dorem
3、ifasolasi,七個不同的音符對應(yīng)著不同的頻率。只要我們對照音符輸出相對應(yīng)的頻率,就可以產(chǎn)生美妙的音樂了。在此次設(shè)計中主要采用單片機AT89C52和一個SOUNDER(喇叭)來實現(xiàn)音樂的播放,在單片機AT89C52的18號和19號引腳(外接晶振端子,分別是片內(nèi)反相放大器輸入端、片內(nèi)反相放大器輸出端)上外接振蕩電路,以此來提供時鐘頻率(時鐘頻率為12MHz);而P3口中的P2.0端口作為音頻輸出口;并同時利用P3口中P3.2、P3.3、P3.5端口來控制音樂選擇上一曲、下一曲及音樂播放的開始或暫停;與此同時我們還在P1口端接一個八段數(shù)碼管來顯示當前所放歌曲的曲數(shù)。關(guān)鍵詞:音樂發(fā)生器;單片機音
4、樂發(fā)生器;音樂播放器第1章 緒論現(xiàn)在各種各樣的音樂播放器呈現(xiàn)在我們面前,外觀越來越精美,功能越來越多,體積越來越小,重量也越來越小、價格越來越便宜。同時,隨著當代手機行業(yè)的快速發(fā)展,許多手機廠商為了能夠吸引廣大的客戶受到消費者的青睞,致此他們開始研究在手機上實現(xiàn)音樂和視頻的播放,因此現(xiàn)在的手機都能夠輕松的播放音樂了。這樣人們就更很容易攜帶,隨時隨地都可以聽,以便來緩解人們的疲勞、壓抑、愉快人們的心情等,甚至有時還可以借著音樂來抒發(fā)自己的感情,傳達我們對朋友的祝福。因此,在不知不覺中它成為了人們生活的一樣必需品,無論到哪里、無論什么時候都可以聽到我們想聽的音樂。根據(jù)現(xiàn)在各大學(xué)教學(xué)計劃的要求,并培
5、養(yǎng)學(xué)生綜合運用所學(xué)的專業(yè)知識和基本技能、培養(yǎng)學(xué)生分析問題、解決問題能力的教育過程。要求即將畢業(yè)的學(xué)生必須根據(jù)學(xué)院要求獨立的做出一個畢業(yè)設(shè)計,而不同專業(yè)的學(xué)生有不同的設(shè)計題目。我們學(xué)院也不例外,由各個專業(yè)的老師出題(本專業(yè)范圍內(nèi)),再由學(xué)生(學(xué)生根據(jù)自身學(xué)習(xí)情況綜合考慮)進行選擇設(shè)計題目(同時也確定了該學(xué)生的畢業(yè)設(shè)計的指導(dǎo)老師),然后由獨立的(可以向指導(dǎo)老師詢問)完成。在本設(shè)計中要求用單片機實現(xiàn)音樂發(fā)生器,主要是利用我們常見的或是比較熟悉的單片機來實現(xiàn)音樂的播放。而本設(shè)計主要是利用單片機AT89C52(51系列單片機)來實現(xiàn)的,同是時也利用了共陰極的八段數(shù)碼管及揚聲器(喇叭),共同來實現(xiàn)音樂的播
6、放。本設(shè)計共分為六章,第1章是緒論,第2章是音樂基礎(chǔ)知識,第3章是系統(tǒng)方案設(shè)計,第4章是硬件電路設(shè)計,第5章軟件設(shè)計,第6章是系統(tǒng)調(diào)試。在實際中參照單片機相關(guān)資料,就可容易的利用單片機設(shè)計出一個音樂發(fā)生器。在設(shè)計過程中人們還可考慮用多種方法進行實現(xiàn),這樣不但很好的發(fā)揮了人們的創(chuàng)新精神,還提高了動手能力、綜合分析能力及專業(yè)知識運用能力。第2章 音樂基礎(chǔ)知識2.1 音樂基礎(chǔ)音作為一種物理現(xiàn)象,是由于物體振動而產(chǎn)生的,振動產(chǎn)生的聲波作用于人耳,聽覺系統(tǒng)將神經(jīng)沖動傳達給大腦,進而產(chǎn)生聽覺。人耳能聽到的聲音頻率大約在1120000Hz,而音樂使用的音一般在274100Hz。樂音體系中各音級的名稱叫做音名
7、,被廣泛采用的是C D E F G A B (do re mi fa so la si則多用于歌唱,稱為唱名)。樂音體系中音高關(guān)系的最小計量單位叫做半音,兩個半音構(gòu)成一個全音。樂音中有幾十個高低不同的音,但是最基本只有這七個音,其他高、低音名都是在這個基礎(chǔ)上變化出來的。樂譜表上用來表示正在進行的音的長短的符號,叫做音符。不同的音符代表不同的長度。音符有以下幾種:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分音符。此外,還有附點音符,它就是指帶附點的音符,所謂附點就是記在音符右邊的小圓點,表示增加前面音符時值的一半。音持續(xù)的長短即時值,一般用拍數(shù)表示,休止符表示暫停發(fā)音
8、。一首音樂就是由許多不同的音符組成的,而每一個音符對應(yīng)著不同的頻率,這樣就可以利用不同的頻率的組合,加以拍數(shù)對應(yīng)的延時來構(gòu)成不同的音樂。2.2 音頻脈沖和音樂節(jié)拍的實現(xiàn)2.2.1 音頻脈沖的產(chǎn)生音樂的產(chǎn)生需要不同頻率的音頻脈沖,對于單片機而言,可以利用它的定時/計數(shù)器產(chǎn)生這樣的方波頻率信號。在本設(shè)計中,單片機工作在12MHz時鐘頻率下,其時鐘周期為1us,因此可以利用AT89C52的內(nèi)部定時/計數(shù)器T0,使其工作模式為1,根據(jù)對應(yīng)音符的不同頻率求出計數(shù)器的初值T(即是TH0和TL0的值),則TH0=T/256,TL0=T%256。C調(diào)各音符頻率與計數(shù)值T的對照如下表2-1所示。表2-1 C調(diào)各
9、音符頻率與計數(shù)值T的對照表音符頻率(Hz)簡譜碼(T)音符頻率(Hz)簡譜碼(T)低1D026263628#4FA#74064860#1D0#27763731中5SO74864898低2RE29463835#5S0#83164934#2RE#31163928中6LA88064968低3M33064021#6LA#93264994低4FA34964103中7S198865030#4FA#37064185高1DO104665058低5SO39264260#DO#110965085#5S0#41564331高2RE117565110低6LA44064400#2RE#124565134#6LA#466
10、64463高3M131865157低7S149464524高4FA139765178中1DO52364580#4FA#148065198#1D0#55464633高5SO156865217中2RE57864684#5SO#166165235#2RE#62264723高6LA176065252中3M65964777#6LA#186565268中4FA69864820高7SI1967652832.2.2 音樂節(jié)拍的產(chǎn)生節(jié)拍是指音樂持續(xù)的長短,是除音符之外音樂的另一關(guān)鍵組成部分,在單片機系統(tǒng)中可以通過延時來實現(xiàn)。如果1/4拍的延時設(shè)為0.2s,則1拍的時間為0.8s,依次類推,可以求出其余節(jié)拍的值,
11、節(jié)拍的延時時間與音樂的曲調(diào)值有相對應(yīng)的關(guān)系,下面為不同曲調(diào)下的1/4和1/8節(jié)拍的時間設(shè)定,如下表2-2所示。表2-2 不同曲調(diào)下1/4和1/8節(jié)拍的延時表曲調(diào)值(1/8節(jié)拍)delay(ms)曲調(diào)值(1/4節(jié)拍)delay(ms)調(diào)4/462調(diào)4/4125調(diào)3/494調(diào)3/4187調(diào)2/4125調(diào)2/4250第3章 系統(tǒng)方案設(shè)計3.1設(shè)計任務(wù)設(shè)計一音樂發(fā)生器:(1)用單片機作為開發(fā)工具,至少能儲存3首樂曲;(2)能按鍵選擇樂曲序號,每按一次加1鍵樂曲序號加1,每按一次減1鍵樂曲序號減1;(3)用LED數(shù)碼管顯示正在播放的樂曲序號;(4)能進行仿真音樂發(fā)生器。3.2 設(shè)計目的(1)培養(yǎng)學(xué)生怎樣
12、將綜合的理論知識與實際相結(jié)合起來的能力(2)培養(yǎng)學(xué)生分析問題、解決問題的能力(3)鍛煉學(xué)生獨立、自學(xué)的能力及其動手能力3.3 設(shè)計過程在畢業(yè)設(shè)計題目選擇后,我積極的查閱相關(guān)資料。經(jīng)過分析、思考及其指導(dǎo)老師的悉心的指導(dǎo),我最終設(shè)計出了三種方案,并對每一種方案進行分析與考慮及各個方案的比較,選擇了第一種方案用AT89C52單片機、一個共陰極的八段數(shù)碼管及揚聲器來實現(xiàn)音樂的播放。確定好設(shè)計方案后,將整個設(shè)計分成了三個步驟:一是,設(shè)計的硬件電路圖的繪制;二是,程序的設(shè)計;三是,硬件電路仿真與程序的編譯、連接及運行。3.4 設(shè)計思想在此次設(shè)計中,我查閱了很多相關(guān)資料并經(jīng)過分析、思考得到了以下三種方案。它
13、們分別是:用AT89C52單片機、一個共陰極的八段數(shù)碼管及揚聲器實現(xiàn)音樂發(fā)生器,用單片機AT89C51、LM386(音頻功放)和揚聲器實現(xiàn)音樂發(fā)生器,用單片機AT89C52和揚聲器實現(xiàn)音樂發(fā)生器,但經(jīng)過我自己的分析總結(jié),最后選擇了第一種方案。3.4.1 方案設(shè)計與選擇 方案一 用單片機AT89C52實現(xiàn)音樂發(fā)生器主要運用AT89C52單片機和一個揚聲器兩個器件組成。在AT89C51單片機外部端子上接晶振電路,單片機的工作時鐘為12MHz,將P3口的P3.7引腳作為音頻輸出口直接送給喇叭,再通過程序設(shè)計的來計算出將要播放的歌曲的長度,然后在計算出從該首歌中所取出來的音符的長度,在將該音符通過一系
14、列的控制后實現(xiàn)了該音符的播放,在利用延時來實現(xiàn)該音符播放的長度,在該音符播放完后接著取下一個音符,就這樣反復(fù)的取出下一個音符,從而實現(xiàn)了樂曲的播放。該方案具體的、詳細的電路圖設(shè)計如圖3-1所示。圖3-1 方案三的電路圖方案二 用單片機AT89C51和LM386(音頻功放)實現(xiàn)音樂發(fā)生器主要運用AT89C51單片機、音頻功放芯片(LM386)和揚聲器三部分組成。此方案中電路原理圖也是由兩部分組成:一是ATMEL公司的AT89C51單片機外接晶振電路(單片機的工作時鐘12MHz)及復(fù)位電路來實現(xiàn)的;二是美國國家半導(dǎo)體公司的音頻功率放大器(LM386)電路。將單片機AT89C51的P0.0作為音頻脈
15、沖輸出腳,輸入到由LM386組成的音頻功放電路中,經(jīng)過處LM386處理后,從LM386的輸出引腳,經(jīng)過補償網(wǎng)絡(luò)(與揚聲器相并)主要是為了防止高頻自激和過壓現(xiàn)象,再輸入到揚聲器中,這樣單片機發(fā)出的不同頻率的音頻信號就可以通過揚聲器發(fā)出我們所想要的樂曲。該設(shè)計方案的硬件電路圖的設(shè)計如下所示,如圖3-2所示。圖3-2 方案二的電路圖方案三 用AT89C52單片機、八段數(shù)碼管及揚聲器來實現(xiàn)音樂發(fā)生器主要運用單片機AT89C52、一個共陰極的八段數(shù)管及揚聲器三部分組成。它的主要思想就是將定時器0用于定時,作音符發(fā)生器用;定時器1用計數(shù),這里用作中斷;同時將所要播放的歌曲存放在指定的地址單元中,單片機來直
16、接驅(qū)動揚聲器來實現(xiàn)音樂的播放。同時還添加了數(shù)碼管顯示即所播放的歌曲的曲目數(shù)顯示,還添加了實現(xiàn)上一曲、下一曲、開始/暫停的功能,就能夠選擇所要的樂曲了。綜合以上三種方案都可以實現(xiàn)音樂的播放,比較三種設(shè)計方案來說:從電路原理圖實現(xiàn)相對來說三種方案之中的第一方案比較簡單,但是它沒有實現(xiàn)音樂播放的其他功能,只能夠循環(huán)的播放你所存儲的音樂。而第二方案與第一方案大同小異,用的單片機不同一個是AT89C51、另一個是AT89C52,并同時方案了利用了一個音頻功放電路來放大輸入的脈沖信號,這樣就比第一方案中產(chǎn)生的音樂好聽了。第三方案是用單片機AT89C52、一個共陰極的八段數(shù)碼管及揚聲器,再利用開關(guān)按鈕來控制
17、音樂播放的開始/暫停、上一曲及下一曲,同時將所播放的樂曲的曲目在八段數(shù)管電理工作顯示。因此,在此次設(shè)計中我選擇了第三種方案來實現(xiàn)音樂發(fā)生器,單片機音樂發(fā)生器電路圖見附錄2所示。第4章 硬件電路設(shè)計4.1 電路組成及工作原理 電路組成對于整個設(shè)計的電路由單片機、顯示電路、驅(qū)動發(fā)聲電路及歌曲播放控制電路等部分組成,其組成框圖如圖4-1所示,其中單片機AT89C52主要是將各個模塊連接起來并控制各個模塊;時鐘電路則是用來產(chǎn)生時鐘頻率,一般是12MHz;復(fù)位電路則是能夠?qū)斍盃顟B(tài)變?yōu)槌跏紶顟B(tài);歌曲的曲數(shù)顯示電路主要是顯示當前所播放的歌曲的曲目數(shù);驅(qū)動發(fā)聲電路則是來播放音樂的;歌曲播放控制電路則是來控制
18、歌曲的播放/暫停和選擇歌曲;而整個電路組成框圖則是用來顯示播放歌曲的曲目數(shù)同是控制歌曲的選擇及音樂的播放。AT89C52單片機時鐘電路復(fù)位電路顯示電路發(fā)聲驅(qū)動電路控制電路圖4-1 電路組成框圖 工作原理利用單片機AT89C52直接來產(chǎn)生音頻脈沖來驅(qū)動喇叭來完成音樂的播放 。利用了該單片機的內(nèi)部定時器/計數(shù)器T0來定進行定時,同時利用定時器/計數(shù)器T1用業(yè)計數(shù),并同時利用了該單片機的P2口的P2.0來作為音頻脈沖的輸出端。4.2 AT89C52單片機介紹 AT89C52是美國ATMEL公司生產(chǎn)的低電壓,高性能CMOS8位單片機,片內(nèi)含8k bytes的可反復(fù)擦寫的只讀程序存儲器(PEROM)和藹
19、可親256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),與標準MCS-51指令系統(tǒng)及8052產(chǎn)品引腳兼容,片內(nèi)置通用8位中央處理器(CPU)和Flash存儲單元,功能強大AT89C52單片機適合于許多較為復(fù)雜控制應(yīng)用場合,如圖4-2所示。圖4-2 AT89C52引腳圖1、主要性能參數(shù)¨ 與MCS-51產(chǎn)品指令和引腳完全兼容¨ 8k字節(jié)可重擦寫Flash閃速存儲器¨ 1000次擦寫周期¨ 全靜態(tài)操作:0Hz24MHz¨ 三級加密程序存儲器¨ 256×8字節(jié)內(nèi)部RAM¨
20、; 32個可編程I/O口線¨ 3個16位定時/計數(shù)器¨ 8個中斷源¨ 可編程串行UART通道低功耗空閑和掉電模式2、引腳功能 Vcc:電源電壓 GND:接地 P0口:P0口是一個8位雙向I/O接口,也即地址/數(shù)據(jù)總線復(fù)用口。在訪問外部數(shù)據(jù)存儲器時,這組口線分時轉(zhuǎn)換地址(低8位)和數(shù)據(jù)總線復(fù)用。 P1口:P1是一個帶內(nèi)部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路,對端口寫“1”通過內(nèi)部的上拉電阻把端口拉到高電平時,此時可作輸入口。 P2口:P2是一個帶有內(nèi)部上拉
21、電阻的8位雙向I/O口,P2的輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路。在訪問外部存儲器時,P2口送出高8位地址數(shù)據(jù)。 P3口:P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如下表4-1所示。表4-1 P3口的第二功能表端口引腳第二功能P3.0RXD (串行輸入口)P3.1TXD (串行輸出口)P3.2INT0 (外中斷0)P3.3INT1 (外中斷1)P3.4T0 (定時/計數(shù)器0)P3.5T1 (定時/計數(shù)器0)P3.6WR (外部數(shù)據(jù)存儲器寫選通)P3.7RD (外部數(shù)據(jù)存儲器讀選通) RST:復(fù)位信號輸入端。當振蕩器工作時,RST引
22、腳出現(xiàn)兩個機器周期以上高電平將使單片機復(fù)位。 /PROG:地址鎖存有效信號輸出端。當訪問片外部存儲器時,ALE(地址鎖存允許)輸出脈沖用于位鎖存低8地址 :程序存儲允許輸出端。是片外程序存儲器的讀選通信號。 /Vpp:行內(nèi)部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,這必須是該器件是使用12V編程電壓Vpp。 XTAL1:振蕩器反相放大器的及內(nèi)部時鐘發(fā)生器的輸入端。 XTAL2:振蕩器反相放大器的輸出端。通過XTAL1、XTAL2外接晶振后,即可構(gòu)成自激振蕩器,驅(qū)動內(nèi)部時鐘發(fā)生器向主機提供時鐘信
23、號。在AT89C52片內(nèi)存儲器中,80H-FFH共128個單元為特殊功能寄存器(SFR),其中包括B寄存器、累加器、程序狀態(tài)寄存器(PSW)、定時/計數(shù)器控制、中斷優(yōu)級控制寄存器(IP)、P3口鎖存寄存器、中斷允許控制寄存器(IE)、串行口控制寄存器等。它們可運用來設(shè)置片內(nèi)電路的運行方式,記錄電路的運行狀態(tài),MCS-51單片機對特殊功能寄存器采取與片內(nèi)RAM統(tǒng)一編址的方法,可按字節(jié)地址直接尋址。4.4 發(fā)聲驅(qū)動電路主要是采用一個三極管來驅(qū)動揚聲器來產(chǎn)生音樂。在單片機的P2口上的P2.0的端子上連接發(fā)聲驅(qū)動電路,其中要先連接一個10k的電阻主要是用業(yè)限制電流過大,然后連接一個三極管來驅(qū)動揚聲器以
24、致放出的音質(zhì)較好,再連接揚聲器,因為用到一個揚聲器所以就可以不能區(qū)分它的正負極性了,它的電路框圖如4-3圖所示。圖4-3 發(fā)聲驅(qū)動電路4.5 顯示電路顯示部分主要是由一個共陰極的八段數(shù)碼管和八個限流電阻共同來組成的。它們接在AT89C52單片機P1口上,用一組電阻都為220、330或100來對P1口輸出的電壓進行分流,從而來確定了八段數(shù)碼管擁有正常的電壓,不會因電流過大而被燒壞。這樣數(shù)碼管就可以正常顯示所播放的歌曲的曲目數(shù)了,具體的顯示器電路圖如圖4-4所示。圖 4-4 顯示電路4.6 控制電路這部分電路主要是用來控制歌曲的播放/暫停及選擇。采用了三個按鈕來進行控制來實現(xiàn)歌曲播放的上一曲、下一
25、曲及開始/暫停的功能,同時還接一個上拉電阻,它的阻值一般是5.1k、4.7k、10k三個阻值,共同實現(xiàn)了音樂播放歌曲的控制。如圖4-5所示。圖4-5 控制電路圖第5章 軟件設(shè)計5.1程序設(shè)計詳細的程序設(shè)計見附錄15.2 程序流程圖如圖5-1所示。開 始設(shè)置歌曲的入口地址及對變最初始化判斷按鍵的值及歌曲是否播放?結(jié)束圖5-1 主程序圖第6章 系統(tǒng)調(diào)試6.1 常用調(diào)試工具 Proteu仿真軟件介紹Proteu仿真軟件用來畫硬件電路原理圖,在其中我們可以同時調(diào)用各樣的單片機,但是其中存放的是普通的單片機可能不存在我們所要的芯片,因此我們也可以用Auto CAD或protel 99來畫此硬件電路圖,而
26、我在此次設(shè)計中采用了Proteu這個軟件。在畫圖過程中一定要注意的是,元器件之間的連接線不可以是非線一定要導(dǎo)線,因此完成電路圖后再調(diào)試這個硬件電路是否能實現(xiàn)它的功能。具體的操作是打開電路原理圖后雙擊單片機芯片在彈出的對話窗口中把我們在keil編譯軟件中編譯生成的后綴名為.hex文件調(diào)入其中,而該單片機的工作時鐘頻率我們可以在此改變,設(shè)置好后點擊OK就可以了,再點擊原理圖左下角的運行就可以正常運行了,若要暫停或是恢復(fù)則點擊相應(yīng)的按鈕就好了。6.1.2 Keil編譯環(huán)境介紹Keil編譯軟件用來編程,可以用匯編語言也可以用C語言來進行編程實現(xiàn)某些功能。當打開keil后,首先新建一個項目保存在相應(yīng)位置
27、,后再新建一個文本,將你已經(jīng)編好的程序復(fù)制到這個文本中或是在這個文本進行編寫程序,之后一再將其保存為一個以.Asm或是.c作為后綴名的文本,再在我們建立的組中將程序文件添加到工程中,再經(jīng)過編譯,然后生成.Hex文件再編譯,若提示沒有出現(xiàn)錯誤errors(不含警告warnings)則說明調(diào)試成功,反之則應(yīng)該對程序進行檢查分析,直到調(diào)試成功為止。6.2 系統(tǒng)調(diào)試方法(1)打開電路仿真的應(yīng)用程序ISIS Professional,在其中選擇該設(shè)計所需的的單片機或是元件,然后將其放置到要畫圖的區(qū)域中,你可以雙擊該元件改變它相應(yīng)的屬性及參數(shù)。2、用帶電氣性的連接線來連接各個元件,從而構(gòu)成了完整的電路圖并
28、保存在為.DSN為后綴名的文件,放在你所需的地方。3、打開程序仿真或調(diào)試應(yīng)用程序Keil uVision2, 首先要建一個工程,再將程序添加到該工程中,再保存。4、再進行程序的編譯與連接,檢查程序是否正確,如果不正確,則進行分析直到正確為止;如果正確,則可以生成.hex文件。5、點擊project菜單,選擇options for target項或是直接點擊常用工具欄中的圖標打開對話框進行設(shè)置, 則就可以生成.hex文件了。6、再打開電路仿真的應(yīng)用程序ISIS Professional,然后雙擊該電路圖中的主的單片機,同時彈出一個對話框,在對話框中進行選擇所生成的.hex文件,并還可以進行單片機
29、的頻率設(shè)置,再單擊確定。7、點擊運行檢查是否可以運行正確。結(jié) 論通過這次比較完整的單片機音樂發(fā)生器的設(shè)計,我擺脫了單純的理論知識學(xué)習(xí)狀態(tài),和實際設(shè)計的結(jié)合鍛煉了我的綜合運用所學(xué)的專業(yè)基礎(chǔ)知識,同時也提高我查閱文獻資料、設(shè)計規(guī)范以及電腦畫圖等其他專業(yè)能力水平,而且通過對整體的掌控,對局部的取舍,以及對細節(jié)的斟酌處理,都使我的能力得到了鍛煉,經(jīng)驗得到了豐富,并且意志品質(zhì)力。這是我們都希望看到的也正是我們進行畢業(yè)設(shè)計的目的所在。在此次設(shè)計中我學(xué)到了很多東西,包括對單片機的更進一步的認識、一些關(guān)于音樂的基礎(chǔ)知識的了解、匯編語言的應(yīng)用的學(xué)習(xí)等等。首先,在這次畢業(yè)設(shè)計中,通過上網(wǎng)或、圖書館或是上書店翻閱相
30、關(guān)的單片機資料,同時也在幫同學(xué)查看和解決一些問題(畢業(yè)設(shè)計中的硬件問題)時,更加清楚地認識了單片機,讓在我原來的硬件基礎(chǔ)知識的基礎(chǔ)上又認識了解幾款單片機(AT89S52)及它的原理。其次,就是在此次畢業(yè)設(shè)計中關(guān)系到了音樂的一些基礎(chǔ)知識,音樂是由不同的音符組成,不同的音符對應(yīng)著不同的頻率產(chǎn)生,產(chǎn)生有規(guī)律的頻率樂音。了解音樂的產(chǎn)生,音樂體系中中音高關(guān)系的最小計量單位及音符的定義,同時也知道了音符又分為了以下幾種:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分符。最后,讓我感受最大的是將理論和實踐相結(jié)是要解決很多問題經(jīng)過一定的挫折才能很好的完成任務(wù),因此在其過程中考慮問題時
31、一定要謹慎、全面,出現(xiàn)問題時不應(yīng)該氣餒,要沉著思考或是向同學(xué)、老師請求幫忙。只要堅持不懈我們就一定能克服任何困難完成任務(wù)。致 謝經(jīng)過兩個多月的努力,我的畢業(yè)設(shè)計順利完成了。在這里,我向所有指導(dǎo)過我的老師、幫助過我的同學(xué)和一直關(guān)心支持著我的家人,對他們表示深深的謝意。在畢業(yè)設(shè)計選題后,胡老師要求我們一定要抓緊時間積極地查詢、搜索畢業(yè)設(shè)計相關(guān)資料。胡老師不畏工作的繁榮,要求他指導(dǎo)的學(xué)生定時的到他那里給他說明下畢業(yè)設(shè)計的進展及在此過程中我們遇到的困難與疑惑,并且他會給我們一一耐心的講解。在整個畢業(yè)設(shè)計過程中,胡老師不斷對我得到的結(jié)論進行總結(jié),并提出新的問題,使得我的畢業(yè)設(shè)計課題能夠深入地進行下去,也
32、使我接觸到了許多理論和實際上的新問題,使我做了許多有益的思考。正如古人云:“師者傳道授業(yè)解惑者也”,這正是胡老師的寫照,對于導(dǎo)師授予的做學(xué)術(shù)和做人的道理,我將會銘記在心對今后學(xué)習(xí)和生活中定會大有裨益 在此謹向尊敬的導(dǎo)師致以由衷的感謝和崇高的敬意。畢業(yè)設(shè)計到最后的成稿,都得到了指導(dǎo)老師的熱情鼓勵和悉心指導(dǎo),凝聚了導(dǎo)師許多心血。他淵博的學(xué)識,嚴肅的科學(xué)態(tài)度,嚴謹?shù)闹螌W(xué)精神,精益求精的工作作風(fēng),深深地感染和激勵著我。在老師的精心指導(dǎo)和幫助下,開闊了視野,分析和解決問題等方面的能力有了長足的進步。此次畢業(yè)設(shè)計很好的運用了我三年來所學(xué)的專業(yè)知識和基本技能,讓我體會了學(xué)以致用的道理,真真的感受到了無論我們
33、學(xué)什么,無論它是否現(xiàn)在對我們有幫助,但它終究會有一天它都會成為我們前進的力量,它就像一支無形的手在你的背后推動著你前進。更是讓我深深的體會到理論聯(lián)系實際的復(fù)雜,其實我們平時學(xué)習(xí)理論知識時,老師要求我們聯(lián)系實際去想一想,但大多數(shù)人都不會去思考。經(jīng)過這次畢業(yè)設(shè)計后,讓我學(xué)會了更加全面性的考慮問題、分析問題、解決問題,讓我們在這個過程中學(xué)到更多的東西。感謝大學(xué)期間授我業(yè)、解我惑的全體老師。沒有你們的諄諄教導(dǎo),我就不可能具備扎實的道路與橋梁工程的專業(yè)知識。參考文獻1 樊明龍、任麗靜.單片機原理與應(yīng)用.化學(xué)工業(yè)出版社,20012 謝嘉奎.電子線路.高等教育出版社,20023 馬家辰、孫玉德.MCS-51
34、單片機原理及接口技術(shù). 哈爾濱工業(yè)大學(xué)出版社,20014 李華.MCS-51單片機接口技術(shù)與運用.北京航天航空大學(xué)出版社,20035 胡漢才.單片機接口技術(shù)與運用.清華大學(xué)出版社,20016 何立民.單片機高級教程.北京航空航天大學(xué)出版社,2001 7 趙曉安.MCS-51單片機原理及應(yīng)用.天津大學(xué)出版社,2001.3 8 李廣第.單片機基礎(chǔ).北京航空航天大學(xué)出版社,1999 9 徐惠民、安德寧.單片微型計算機原理接口與應(yīng)用. 北京郵電大學(xué)出版社,1996 10 夏繼強.單片機實驗與實踐教程.北京航空航天大學(xué)出版社,2001 附 錄附錄1 程序清單OUT BIT P2.0 ;定義音頻輸出端口,
35、p2.0N EQU 3 ;歌曲總數(shù)OUT_NUM EQU P1 ;數(shù)碼管顯視當前所放歌曲曲數(shù) ORG 0000H AJMP MAIN ORG 0003H AJMP LAST_SONG ;外部中斷0用于接上一曲歌按鍵 ORG 000BH AJMP F_T0 ;定時器0用于定時,作音符發(fā)生器用 ORG 0013Hq4: AJMP NEXT_SONG ;外部中斷1接下一曲歌按鍵 ORG 001BH AJMP START_PAUSE ;定時器1用計數(shù),這里用作中斷,接開始/暫停鍵,初值為0ffH,方式2 ORG 0030HMAIN: MOV SP,#60H MOV DPTR,#TABLE ;DPRT指
36、向每首歌曲的入口地址的地址。 MOV R0,#30H ;R0中存入數(shù)據(jù)30H,這里在以30H開始的單元存放每首歌曲的入口地址,其中30H,31H存放歌曲的節(jié)拍入口地址,32H,33H存放歌曲音符入口地址,每首歌占用四個存儲存單元。 MOV R5,#00H ;R5中存放表TABLE中正在執(zhí)行操作的序號 MOV R6,#1 ;R6存放正在設(shè)置入口信息的歌曲數(shù)SET_TAB: MOV A,R5;設(shè)置每首歌曲的入口信息,存放在以30H開始的存儲單元中。 MOVC A,A+DPTR MOV R0,A INC R5 INC R0 MOV A,R5 MOVC A,A+DPTR MOV R0,A INC R5
37、 INC R0 MOV A,R5 MOVC A,A+DPTR MOV R0,A INC R0 INC R5 MOV A,R5 MOVC A,A+DPTR MOV R0,A INC R0 INC R5 INC R6 ;設(shè)置完一首歌曲后,歌曲數(shù)加一 CJNE R6,#N+1,SET_TAB是否設(shè)置完,沒有便繼續(xù),否則進行下面的操作 ;*對中斷,計數(shù)器的相關(guān)參數(shù)進行設(shè)置 MOV TMOD, #61H ;計數(shù)器0工作方式1,計數(shù)器1工作方式2 MOV TH1,#0FFH;給計數(shù)器1置初值0FFH,又由于是工作方式2,所以 MOV TL1,#0FFH;計數(shù)器計數(shù)為1,相當于一外部中斷。 SETB ET1
38、;允許計數(shù)器1中斷 SETB ET0 ;允許計數(shù)器具0中斷 CLR PT0 ;計數(shù)器0為低優(yōu)先級 SETB PT1;計數(shù)器1為高優(yōu)先級 SETB IT0 ;外部中斷0為跳沿觸發(fā) SETB PX0 ;高優(yōu)先級 SETB IT1 ;外部中斷1為跳沿觸發(fā) SETB PX1 ;高優(yōu)先級 SETB EX1 ;允許外部中斷1中斷 SETB EX0 ;允許外部中斷定0中斷 SETB EA ;開中斷總開關(guān) SETB TR1 ;定時器1開始工作,作中斷用 SETB OUT ;音頻輸出端口初始化 ;* ;設(shè)置結(jié)束 CLR F0 ;設(shè)置F0=0,用來作暫停/播放的標置位用 MOV 22H,#01H ;22H單元中存
39、放正在播放的歌曲編號 MOV DPTR,#OUT_TAB ;將正在播放的歌曲編號送數(shù)碼管顯視 MOV A,22H MOVC A,A+DPTR MOV OUT_NUM,A MOV R7,#00H ;R7中存放歌曲總信息的入口地址 START0:MOV R4,#00H ;R4存放當前正在播放歌曲的第幾個節(jié)拍數(shù) MOV R0,#30H ;30H開始的單元中存放歌曲的入口信息 MOV A,R7 ;將歌曲的節(jié)拍表的入口地址送到DPTR ADD A,R0 MOV R0,A MOV DPH,R0 INC R0 MOV DPL,R0 INC R0 MOV A,R4 INC R4 MOVC A,A+DPTR ;
40、取出第一節(jié)拍數(shù),其實第一個節(jié)拍不是歌曲的第一個節(jié)拍,而是表示幾分音符;* MOV 26H,A;將取出的音符數(shù)+節(jié)拍數(shù)保存在職26H單元中NEXT: MOV R0,#30H ;開始取出歌曲的第一個數(shù)據(jù) MOV A,R7 ADD A,R0 MOV R0,A MOV DPH,R0 INC R0 MOV DPL,R0 INC R0 MOV A,R4 INC R4 MOVC A,A+DPTR ;放在A中;* JZ END0 ;若為0,則表示為休止符,不唱,本次音符不唱, MOV R1,A ;不為0,取出節(jié)拍數(shù) ANL A,#0FH MOV R2,A MOV A,R1 SWAP A ANL A,#0FH
41、JNZ SING ;音符不為0,唱 CLR TR0 ;為0,不唱,關(guān)頻率發(fā)生器 SJMP SING1 SING: DEC A ;開始唱,進行相應(yīng)的數(shù)據(jù)處理 MOV R3,A RL A MOV DPH,R0 INC R0 MOV DPL,R0 INC R0 MOVC A,A+DPTR MOV 21H,A MOV TH0,A MOV A,R3 RL A INC A MOVC A,A+DPTR MOV 20H,A MOV TL0,A SETB TR0 ;開唱SING1:LCALL DELAY ;每個音符唱多久 JB F0,FOR ;是否暫停, AJMP NEXT ;沒有暫停,繼續(xù)FOR: CLR T
42、R0 ;暫停,不唱 JB F0,$ ;等待播放 AJMP NEXT ;開始播放END0: CLR TR0 ;不唱 MOV A,22H ;唱完處理 CJNE A,#N,WW ;是不是全部歌曲都唱完 MOV 22H,#01H ;全部唱完,則從第一首開始再唱 MOV R7,#00H MOV OUT_NUM,#06H ;數(shù)碼管顯視第一首歌曲編號 AJMP WWWWW: MOV A,R7 ;沒有全部唱完,唱下一首,歌曲的入口信息調(diào)整 ADD A,#4 MOV R7,A INC 22H CLR EA PUSH DPH PUSH DPL MOV A,22H MOV DPTR,#OUT_TAB MOVC A,
43、A+DPTR MOV OUT_NUM,A ;數(shù)碼管顯視相應(yīng)的歌曲編號 POP DPL POP DPHWWW: SETB EA AJMP START0 ;開始下一首的演唱F_T0: MOV TH0,21H ;定時器0置初值 MOV TL0,20H CPL OUT ;頻率產(chǎn)生 RETINEXT_SONG: PUSH ACC ;下一曲中斷程序處理,保護現(xiàn)場 PUSH DPH PUSH DPL CLR EA ;關(guān)中斷 MOV A,22H CJNE A,#N,Q ;是最后一首嗎? MOV R7,#00H ;是最后一首,則R7指向第一首,演唱第一首 MOV 22H,#01H AJMP BACK Q: IN
44、C 22H ;不是最后一首,唱下一首,R7內(nèi)容加4,歌曲數(shù)加1 MOV A,R7 ADD A,#4 MOV R7,ABACK: MOV R4,#00H ;數(shù)碼管顯視相應(yīng)的歌曲編號 MOV A,22H MOV DPTR,#OUT_TAB MOVC A,A+DPTR MOV OUT_NUM,A;* MOV B,R0;對下首要演唱的歌曲的幾分拍進行調(diào)整,同時對R0中的內(nèi)容進行保護 MOV R4,#00H MOV R0,#30H MOV A,R7 ADD A,R0 MOV R0,A MOV DPH,R0 INC R0 MOV DPL,R0 INC R0 MOV A,R4 INC R4 MOVC A,A
45、+DPTR MOV 26H,A ;結(jié)果存入26H單元中 DEC R4 MOV R0,B ;恢復(fù)R0中的內(nèi)容;* POP DPL ;恢復(fù)現(xiàn)場 POP DPH POP ACC SETB EA RETI ;中斷返回LAST_SONG: PUSH ACC ;上一曲中斷程序處理開始,保護現(xiàn)場 PUSH DPH PUSH DPL CLR EA ;關(guān)中斷 MOV A,22H ;曲目數(shù)送A CJNE A,#1,QQ ;是否是第一首 MOV 22H,#N ;是第一首歌曲 MOV B,#4 ;將R7指向最后一首歌曲 MOV A,#N-1 MUL AB MOV R7,A AJMP BACK2 ;處理結(jié)束QQ: DE
46、C 22H MOV A,R7 ;R7減4 SUBB A,#4 MOV R7,ABACK2: MOV R4,#00H MOV A,22H MOV DPTR,#OUT_TAB MOVC A,A+DPTR MOV OUT_NUM,A ;數(shù)碼管顯視相應(yīng)歌曲的編號;* MOV B,R0 ;對下首要演唱的歌曲的幾分拍進行調(diào)整,同時對R0中的內(nèi)容進行保護 MOV R4,#00H MOV R0,#30H MOV A,R7 ADD A,R0 MOV R0,A MOV DPH,R0 INC R0 MOV DPL,R0 INC R0 MOV A,R4 INC R4 MOVC A,A+DPTR MOV 26H,A ;
47、結(jié)果存入26H單元中 DEC R4 MOV R0,B ;R0中的內(nèi)容恢復(fù);* POP DPL ;恢復(fù)現(xiàn)場 POP DPH POP ACC SETB EA RETI ;中斷返回START_PAUSE:CPL F0 ;開始/暫停中斷處理程序,將標置位取反 JB F0,RETURN ;為1返回 SETB TR0 ;為0則播放RETURN: RETI ;中斷返回DELAY: MOV 27H,26H ;音符演奏時間控制D2: MOV 28H,#125D3: MOV 29H,#248 DJNZ 29H,$ DJNZ 28H,D3 DJNZ 27H,D2 DJNZ R2,DELAY RETOUT_TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,DB 77H,7CH,39H,5EH,79H,71H,73H;共陰數(shù)碼管顯視用TABLE: DW SONG1,TABLE1,SONG2,TABLE2,SONG3,TABLE3TABLE1: DW 64580,64684,64777,64820,64898,64968,65030 DW 63628
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 本田rt考試題及答案
- 吧臺咖啡考試題及答案
- 服務(wù)公司銷售管理制度
- 幼兒園校園用具管理制度
- 國土資源規(guī)范化管理制度
- 江蘇測繪公司管理制度
- 事業(yè)編請假制度管理制度
- 中國合伙人公司管理制度
- 子公司業(yè)務(wù)授權(quán)管理制度
- 初高中教育機構(gòu)管理制度
- 2025版國家開放大學(xué)法學(xué)本科《知識產(chǎn)權(quán)法》期末紙質(zhì)考試第一大題單項選擇題題庫
- 山東師范大學(xué)《思想道德與法治》2023-2024學(xué)年第一學(xué)期期末試卷
- 中南運控課設(shè)-四輥可逆冷軋機的卷取機直流調(diào)速系統(tǒng)設(shè)計
- 風(fēng)景園林專業(yè)中級職稱《法律法規(guī)及技術(shù)標準》考試題及答案
- 高效能人士的七個習(xí)慣(課件)
- 計算機網(wǎng)絡(luò)與信息安全-習(xí)題參考答案
- 四年級英語下冊 Recycle2-階段測試卷(人教版)
- DB11T 893-2021 地質(zhì)災(zāi)害危險性評估技術(shù)規(guī)范
- 2024年瓦斯檢查工技能競賽理論考試題庫500題(含答案)
- 2024年寧夏中考數(shù)學(xué)真題含解析
- 部編版六年級下冊道德與法治全冊教案教學(xué)設(shè)計
評論
0/150
提交評論