畢業(yè)設計(論文)-基于單片機的音樂播放器的設計與制作_第1頁
畢業(yè)設計(論文)-基于單片機的音樂播放器的設計與制作_第2頁
畢業(yè)設計(論文)-基于單片機的音樂播放器的設計與制作_第3頁
畢業(yè)設計(論文)-基于單片機的音樂播放器的設計與制作_第4頁
畢業(yè)設計(論文)-基于單片機的音樂播放器的設計與制作_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1 引言如今,電子技術獲得了飛速的開展,現(xiàn)代電子產品幾乎滲透了社會的各個領域。目前,單片機正朝著高性能個多品種方向開展趨勢將是進一步想著CMOS化、低功耗、小體積、大容量、高性能、低價格和外圍電路裝化等幾個方面開展。單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當于一個微型的計算機,和計算機相比,單片機只缺少了I/O設備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質量輕、價格廉價、為學習、應用和開發(fā)提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最正確選擇。單片機內部也用和電腦功能類似的模塊,比方CPU,內存,并行總線,還有和

2、硬盤作用相同的HYPERLINK :/baike.baidu /view/87697.htm存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可。單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優(yōu)點,廣泛應用于儀器儀表中,結合不同類型的HYPERLINK :/baike.baidu /view/16431.htm傳感器,可實現(xiàn)諸如電壓、HYPERLINK :/baike.baidu /view/44147.htm功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數(shù)字化

3、、智能化、微型化,且功能比起采用電子或HYPERLINK :/baike.baidu /view/635019.htm數(shù)字電路更加強大。例如精密的測量設備HYPERLINK :/baike.baidu /view/1608633.htm功率計,HYPERLINK :/baike.baidu /view/130973.htm示波器,各種分析儀。目前單片機滲透到我們生活的各個領域,幾乎很難找到哪個領域沒有單片機的蹤跡。HYPERLINK :/baike.baidu /view/35448.htm導彈的導航裝置,飛機上各種儀表的控制,計算機的網(wǎng)絡通訊與數(shù)據(jù)傳輸,工業(yè)自動化過程的實時控制和數(shù)據(jù)處理,廣

4、泛使用的各種智能HYPERLINK :/baike.baidu /view/4189.htmIC卡,民用豪華轎車的平安保障系統(tǒng),HYPERLINK :/baike.baidu /view/111680.htm錄像機、HYPERLINK :/baike.baidu /view/45678.htm攝像機、全自動洗衣機的控制,以及程控玩具、電子寵物等等,這些都離不開單片機。更不用說自動控制領域的機器人、智能儀表、醫(yī)療器械了。因此,單片機的學習、開發(fā)與應用將造就一批計算機應用與智能化控制的科學家、工程師。利用單片機實現(xiàn)音樂播放有很多要點,例如外部電路簡單,控制方便等,因而備受廣闊單片機愛好者的喜愛。通

5、過音樂發(fā)聲器的設計方案,掌握C語言的編程方法。并熟練的運用89C51單片機定時器產生固定頻率的方波信號,推動喇叭發(fā)出旋律,按下單鍵可以演奏預先設置的歌曲旋律,最重要的是自己還可以通過程序設計輸入自己喜歡的歌曲來演奏,本設計采用簡易音階編碼直覺式輸入法方便設計音樂旋律。通過音樂發(fā)聲器的設計方案,掌握了匯編語言的編程方法。并熟練的運用89C51單片機定時器產生固定頻率的方波信號,推動喇叭發(fā)出旋律,按下單鍵可以演奏預先設置的歌曲旋律,最重要的是自己還可以通過程序設計輸入自己喜歡的歌曲來演奏,本設計采用簡易音階編碼直覺式輸入法方便設計音樂旋律,可以擴充功能,比方:可設計多個按鍵操作來選擇演奏哪一首歌曲

6、,以隨機數(shù)方式自動演奏歌曲,設計程序可以以按鍵來實現(xiàn)前進和后退,修改程序可以演奏伴奏音或是如 上播放的和諧鈴聲。1.2 單片機簡介 單片機是一種集成在電路芯片,是采用超大規(guī)模集成電路技術把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路集成到一塊硅片上構成的一個小而完善的計算機系統(tǒng)。2 HYPERLINK l _Toc202173161 音樂發(fā)生器設計流程及思路在進行設計前,首先要對音樂知識有根本的理解,其次要明白單片機產生音樂脈沖的原理,最后完成硬件原理圖

7、和相關程序的設計。音作為一種物理現(xiàn)象,是由于物體振動而產生的,振動產生的聲波作用于人耳,聽覺系統(tǒng)將神經沖動傳達給大腦,進而產生聽覺。人耳能聽到的聲音頻率大約在1120000Hz,而音樂中使用的音一般在274100Hz。樂音體系中各音級的名稱叫做音名,被廣泛采用的是C D E F G A B(do re mi fa so la si那么多用于歌唱,稱為唱名)。樂音體系中音高關系的最小盡量單位叫做半音,兩個半音構成一個全音。樂音中有幾十個上下不同的音,但是最根本的只有這七個音,其他高、低音的音名都是在這個根底上變化出來的。在樂譜表上用來表示正在進行的音的長短的符號,叫做音符。不同的音符代表不同的長

8、度。音符有一下幾種:全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分音符。此外,還有一種附點音符,它就是指帶附點的音符,所謂附點就是記載音符右邊的小圓點,表示增加前面音符時值的一半。音持續(xù)的長短即時值,一般用拍數(shù)表示,休止符表示暫停發(fā)音。音符與節(jié)拍數(shù)之間的對應關系如表2.1所示。表2.1 音符與節(jié)拍數(shù)之間的對應關系表音符節(jié)拍數(shù)音符節(jié)拍數(shù)x-全音符4拍x附點八分音符3/4拍x-二分音符2拍x附點十六分音符3/8拍X四分音符1拍000三分休止符休止3拍X八分音符1/2拍00二分休止符休止2拍X十六分音符1/4拍0四分休止符休止1拍x附點四分音符1.5拍 0八分休止符休止1/

9、2拍 一首音樂及時由許多不同的音符組成的,而每一個音符對應著不同的頻率,這樣就可以利用不同的頻率的組合,加以拍數(shù)對應的延時來構成不同的音樂。2.2 音頻脈沖和音樂節(jié)拍的實現(xiàn)音樂是由不同的音樂脈沖和音樂節(jié)拍配合產生的,因此設計之前,首先要對它們進行了解。2.2.1 音頻脈沖的產生音樂的產生需要不同頻率的音頻脈沖,對于單片機而言,可以利用它的定時/計數(shù)器產生這樣的方波頻率信號。具體地說,只要知道某一音頻的頻率,求得它的周期,然后將次周期除以2,得到半周期的時間,利用定時/計數(shù)器計時這半個周期,計時到后就將輸出脈沖的I/O反相。就可以在I/O端口上得到此脈沖。單片機工作在12MHz時鐘頻率下,其時鐘

10、周期為1us,因此可以利用89C51(設計因器件限制使用89S52代替)的內部定時/計數(shù)器T0,使其工作模式為1,工作在計數(shù)器狀態(tài)下,改變計數(shù)初值TH0和TL0以產生不同頻率的脈沖信號。T的值決定了計數(shù)初值TH0和TL0的值,TH0=T/256,TL0=T%256。1.1計數(shù)值公式如下: 式中,:單片機內部時鐘周期為1us,所以其頻率為1MHz。 :產生音符所需的頻率。通過上式計算,可以求得各個音符頻率的計數(shù)值T。C調各音符頻率與計數(shù)值T的對照如表2.2所示。表2.2 C調各音符頻率與計數(shù)值T的對照值音符頻率/Hz簡譜碼T音符頻率/Hz簡譜碼T低1DO26263628#4FA#74064860

11、#1DO#27763731中5SO74864898低2RE29463835#5SO#83164934#2RE#31163928中6LA88064968低3M33064021#6LA#93264994低4FA34964103中7SI98865030#4FA#37064185高1DO104665058低5SO39264260#DO#110965085#5SO#41564331高2RE117565110低6LA44064400#2RE#124565134#6LA#46664463高3M131865157低7SI49464524高4FA139765178中1DO52364580#4FA#1480651

12、98#1DO#55464633高5SO156865217中2RE57864684#5SO#166165235#2RE#62264732高6LA176065252中3M65964777#6LA#186565268中4FA69864820高7SI1967652832.2.2 音樂節(jié)拍的產生 節(jié)拍是指音樂持續(xù)的長短,是除音符之外音樂的另一關鍵組成局部,在單片機系統(tǒng)中可以通過延時來實現(xiàn)。如果1/4拍的延時設為0.2s,那么1拍的時間為0.8s。以此類推,可以求出其余節(jié)拍的值,節(jié)拍的延時時間值與音樂的曲調值有相對應的關系,表2.3所示為不同曲調下的1/4和1/8節(jié)拍的時間設定。如果單片機要實現(xiàn)自己播放音

13、樂,那么必須在程序設計中考慮到節(jié)拍的設置,在89C51中,可以用一個直接存儲一個音符,其中低4位是節(jié)拍碼。節(jié)拍數(shù)和節(jié)拍碼的對照表如表2.4所示。表2.3 各調節(jié)拍的時間設定曲調值1/8節(jié)拍DELAY曲調值1/4節(jié)拍DELAY調4/462ms調4/4125ms調3/494ms調3/4185ms調2/4125ms調2/4250ms 表2.4 節(jié)拍數(shù)與節(jié)拍碼的對照節(jié)拍碼節(jié)拍數(shù)節(jié)拍碼節(jié)拍數(shù)11/4拍11/8拍22/4拍21/4拍33/4拍33/8拍41拍41/2拍555/8拍663/4拍82拍81拍AAC3拍CF2.3 音頻功放音樂的播放最后是通過揚聲器完成的,但是直接用單片機產生的音頻脈沖缺乏以直接

14、驅動揚聲器來完成音樂的播放,因此這就要求在單片機端口與揚聲器之間鏈接功率放大電路,以實現(xiàn)最終的目的。評定功率放大電路有3個重要的指標,即輸出功率、效率、非線性失真。輸出功率P0:功率放大器應在輸出不失真的情況下給出最大的交流輸出功率P0以推動負載工作,維持,功放元件一般工作在大信號狀態(tài),這就使功放元件的平安工作成為功率放大器的重要問題。效率:功率放大器的效率定義為功率放大器的輸出信號功率P0和直流電源供應功率放大器功率PE之比,用表示。功率放大器要求高效率地工作,一方面是為了提高輸出功率,另一方面是為了降低管耗。直流電源供應的功率除了一局部變成有用的信號功率以外,剩余局部編程晶體管的管耗。管耗

15、過大將使功率管發(fā)熱損壞。所以,最與功率放大器,提高效率也是一個重要問題。非線性失真:功率放大器為了獲得足夠大的輸出功率,需要大信號鼓勵,從而使信號動態(tài)范圍往往超出晶體管的線性區(qū)域,導致輸出信號失真。因此減小非線性失真,成為功率放大器的又一個重要問題??偟膩碚f,要求功率放大器在保證系統(tǒng)平安運用的情況下,獲得盡可能大的輸出功率、盡可能高的效率和盡可能小的非線性失真。常用的音頻功放電路有兩種方法,一種是基于三極管的音頻功放電路,另一種是基于LM386的音頻功放電路將在下一章節(jié)硬件電路設計中講述。3 硬件設計硬件電路主要由AT89S52單片機、LM386音頻功放電路和揚聲器3局部組成,電路結構比擬簡單

16、。3.1 主要器件3.1.1 微處理器 AT89C51單片機是一款低功耗,低電壓,高性能CMOS8位單片機,功能強,靈活性高且價格合理的單片機,可方便的應用在各個控制領域。AT89C51是用靜態(tài)邏輯來設計的,其工作頻率可下降到0Hz,并提供兩種可用軟件來選擇的省電方式空閑方式Idle Mode和掉電方式Power Down Mode。在空閑方式中,CPU停止工作,而RAM、定時器/計數(shù)器、串行口和中斷系統(tǒng)都繼續(xù)工作。在掉電方式中,片內振蕩器停止工作,由于時鐘被“凍結,使一切功能都暫停,只保存片內RAM中的內容,直到下一次硬件復位為止。本實驗的替代芯片AT89S52也是一種低功耗、高性能CMOS

17、8位微控制器,具有8K在系統(tǒng)可編程Flash 存儲器。使用Atmel公司高密度非易失性存儲器技術制造,與工業(yè)80C51 產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應用系統(tǒng)提供高靈活、超有效的解決方案。AT89S52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52 可降至0Hz靜態(tài)邏輯操作,支持2種軟件可

18、選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。圖3.1 單片機引腳圖各端口作用:P0口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅動8個TTL邏輯電平。對P0端口寫“1時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有內部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗 時,需要外部上拉電阻。P1口:P1口是一個具有內部上拉電阻的8

19、位雙向I/O口,p1輸出緩沖器能驅動4個TTL邏輯電平。對P1端口寫“1時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流IIL。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入P1.0/T2和時器/計數(shù)器2的觸發(fā)輸入P1.1/T2EX,具體如下表所示。在flash編程和校驗時,P1口接收低8位地址字節(jié)。引腳號第二功能P1.0 T2定時器/計數(shù)器T2的外部計數(shù)輸入,時鐘輸出P1.1 T2EX定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制P1.5 MOSI在系統(tǒng)編程用P1.6 MISO在系統(tǒng)編程用P1.7 SCK在系統(tǒng)

20、編程用 P2口:P2口是一個具有內部上拉電阻的8位雙向I/O口,P2輸出緩沖器能驅動4個TTL邏輯電平。對P2端口寫“1時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流IIL。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器例如執(zhí)行MOVX DPTR時,P2口送出高八位地址。在這種應用中,P2口使用很強的內部上拉發(fā)送1。在使用8位地址如MOVX RI訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。 P3口:P3口是一個具有內部上拉電阻的8位雙向I/O口,p

21、3輸出緩沖器能驅動4個TTL邏輯電平。對P3端口寫“1時,內部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內部電阻的原因,將輸出電流IIL。P3口亦作為AT89S52特殊功能第二功能使用,如下表所示。在flash編程和校驗時,P3口也接收一些控制信號。端口引腳第二功能P3.0 RXD(串行輸入口) P3.1 TXD(串行輸出口)P3.2 INTO(外中斷0)P3.3 INT1(外中斷1)P3.4 TO(定時/計數(shù)器0)P3.5 T1(定時/計數(shù)器1)P3.6 WR(外部數(shù)據(jù)存儲器寫選通)P3.7 RD(外部數(shù)據(jù)存儲器讀選通)此外,P3口還接收一些用于FLAS

22、H閃存編程和程序校驗的控制信號。 RST復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將是單片機復位。ALE/PROG當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE地址鎖存允許輸出脈沖用于鎖存地址的低8位字節(jié)。一般情況下,ALE仍以時鐘振蕩頻率的1/6輸出固定的脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對FLASH存儲器編程期間,該引腳還用于輸入編程脈沖PROG。如有必要,可通過對特殊功能存放器SFR區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位置位后,只有一條MOVX和MOVC指令才能將ALE激活。此外,該引腳會

23、被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE禁止位無效。PSEN程序儲存允許PSEN輸出是外部程序存儲器的讀選通信號,當AT89C52由外部程序存儲器取指令或數(shù)據(jù)時,每個機器周期兩次PSEN有效,即輸出兩個脈沖,在此期間,當訪問外部數(shù)據(jù)存儲器,將跳過兩次PSEN信號。EA/VPP外部訪問允許,欲使CPU僅訪問外部程序存儲器地址為0000H-FFFFH,EA端必須保持低電平接地。需注意的是:如果加密位LB1被編程,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平接Vcc端,CPU那么執(zhí)行內部程序存儲器的指令。FLASH存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件是使用1

24、2V編程電壓Vpp。3.1.2 音頻功率放大器芯片LM386LM386是一種音頻集成功放,具有自身功耗低、電壓增益可調整、電源電壓范圍大、外接元件少和總諧波失真小等優(yōu)點,廣泛應用于錄音機和收音機之中。 LM386是美國國家半導體公司生產的音頻功率放大器,主要應用于低電壓消費類產品。為使外圍元件最少,電壓增益內置為20。但在1腳和8腳之間增加一只外接電阻和電容,便可將電壓增益調為任意值,直至 200。輸入端以地為參考,同時輸出端被自動偏置到電源電壓的一半,在6V電源電壓下,它的靜態(tài)功耗僅為24mW,使得LM386特別適用于電池供電的場合。3.1.3 LM386芯片說明LM386是8管腳芯片,引腳

25、圖參照圖3.1。LM386的封裝形式有塑封8引線雙列直插式和貼片式,各引腳功能如表3.1.圖3.1 LM386芯片引腳圖表3.1 DS1302引腳功能說明引腳號名稱功能1、8GAIN電壓增益設定引腳2-IN反相輸入腳。本設計中單片機只有一個端口輸出信號,故該腳接地。3+IN正相輸入腳。此腳接單片機輸入信號4GND接地5Vout電壓輸出腳,此腳為音頻功放電路輸出6Vs接正電源7BYPASS旁路腳,使用時在引腳7和地之間接旁路電路,通常取10uF 其典型應用電路如圖 圖3.2 增益放大=20最少器件 圖3.3 增益放大=200 圖3.4 增益放大=50 圖3.5 低頻提升放大器3.2 音樂發(fā)生器硬

26、件電路設計 音樂發(fā)生器設計電路包括89C51單片機系統(tǒng)圖和LM386音頻功放電路,前者主要包括89C51單片機及其晶振電路和復位電路,單片機時鐘周期為12MHz,提供上電復位和手動復位兩種復位方式,P0.0口為音頻脈沖輸出腳;后者主要器件是LM386和揚聲器。單片機輸出的音頻脈沖信號比擬微弱,一般只有幾個微安,經過LM386音頻功放電路后才能驅動揚聲器發(fā)生,本設計中LM386的1腳和8腳懸空,電壓增益為20V,電源腳接+5V供電。硬件電路原理圖如圖圖3.6。圖3.6 音樂發(fā)生器硬件系統(tǒng)原理圖 在單片機的P0.0口設置一個按鍵,當按鍵按下時,P1.0口置高電平,單片機輸出音頻脈沖,播放音樂;當按

27、鍵懸空時,單片機不播放音樂。電路工作原理:當按下按鍵,P0.0口輸出音樂脈沖,脈沖信號首先經過由電阻R3和R4組成的回路輸入到LM386的+IN腳,輸入信號經過LM386處理后,從Vout輸出,然后進入由R5和C5構成的串聯(lián)補償網(wǎng)絡,該網(wǎng)絡與呈感性的負載揚聲器相并,使負載的等效負載近似呈純阻,以防止高頻自激和過壓現(xiàn)象。在這里,7腳旁路應外接C4去耦電容,用以提高紋波抑制能力,消除低頻自激。經過此電路后,單片機發(fā)出的不同頻率的音頻信號就可以通過揚聲器發(fā)出想要的歌曲。3.3 系統(tǒng)仿真在焊接實物之前首先在protues軟件進行系統(tǒng)仿真。在此介紹下protues系統(tǒng)仿真。3.3.1 Protues軟件

28、介紹Protues軟件是英國Labcenter electronics公司出版的EDA工具軟件。它不僅具有其它EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前最好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應用的科技工作者的青睞。Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設計,真正實現(xiàn)了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、HC11、PIC10/

29、12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2021年即將增加Cortex和DSP系列處理器,并持續(xù)增加其他系列處理器模型。3.3.2 音樂發(fā)生器系統(tǒng)Protues仿真用Protues軟件仿真,根據(jù)原理圖,畫出仿真電路圖,得到仿真圖:圖3.7 音樂發(fā)生器的Protues仿真4 電子時鐘軟件設計 軟件設計是產生音樂的重要局部,音樂各音符所對應的頻率和音樂的節(jié)拍都是通過軟件的設計來實現(xiàn)的,軟件設計的好壞直接決定了產生的音樂是否正確。軟件設計主要內容包括兩個局部,一局部是根據(jù)音樂樂譜利用定時/計數(shù)器0產生定時中斷輸出不同頻率的音頻脈沖,第二局部是根據(jù)音樂節(jié)

30、拍對各音頻脈沖進行延時設定。本次設計選用“世上只有媽媽好這首歌曲作為樂譜源碼實現(xiàn)??筛鶕?jù)喜歡的歌曲曲譜來改變編碼以更換歌曲。在進行程序編寫時,首先要根據(jù)音符的頻率求出各自的16位計數(shù)初值TH0=T/256,TL0=T%256,再根據(jù)音樂的節(jié)拍數(shù)得到每次計數(shù)所需的延時時間。簡譜代碼和音符的計數(shù)值分別定義成一個數(shù)據(jù)列表,二者之間應建立一個對應的函數(shù)關系,以方便準確地找到每個音符的計數(shù)初值。圖4.1 音樂發(fā)生器程序流程圖圖4.2 定時器效勞子程序 應用單片機C51編輯軟件Keil軟件編譯程序生成*.hex文件并導入Protues仿真電路中即可完成對音樂發(fā)生器系統(tǒng)的全部仿真,到達想要的效果,并驗證電路

31、圖的正確性。5 系統(tǒng)調試 調試工作分硬件調試和軟件調試兩局部。 首先,硬件調試主要是先搭建硬件平臺,然后利用萬用表等工具對電路檢查,最后應用程序進行功能調試。硬件調試比擬費時,需要細心和耐心,也需要熟練掌握電路原理。 然后,可以直接應用一些編輯或仿真軟件進行軟件調試,比方單片機C51編輯軟件Keil。該軟件提供了一個集成開發(fā)環(huán)境uVision,它包括C編輯器、宏編輯器、連接器、庫管理和一個功能強大的仿真調試器。通過編譯、運行,可以檢查程序錯誤。但應用此方法,仍需要十分了解所使用元器件的工作方式和管腳連接方式。在軟件調試過程中要仔細耐心,即便是多寫或少些一兩個字符,都無法編譯成功。而有時往往在K

32、eil中編譯、運行無錯,但燒錄到單片機中運行起來就會出錯,很可能是編程時管腳或時序編輯得不對。 還有一種方式,即應用仿真軟件搭建電路的軟件平臺,再導入程序進行仿真調試。如果電路出錯,可以在計算機上方便的修改電路,程序出錯可以重新編輯程序,這種方法節(jié)時、省力,經濟、方便。應用仿真軟件Proteus仿真。 總之,調試過程是一個軟硬件相結合調試的過程,硬件電路是根底,軟件是檢測硬件電路和實現(xiàn)其功能的關鍵。 在調試過程中,首先必須明確調試順序。例如:本設計是在單片機系統(tǒng)根底上建立起來的,所以必須先確定單片機根底電路能否正常工作。為了正確播放音樂,接下來還要確定音頻功放電路能否正常工作。硬件調試的過程,

33、也是軟件調試的過程。5.1 硬件調試5.1.1 單片機根底電路調試 單片機根底電路包括電源、單片機、外部時鐘震蕩電路、復位電路和外部接口電路。調試過程需要注意以下幾點: 1. 檢查電源是否完好。 2. 單片機電源要連接正確,并且保證AT89S52的31號引腳接高電平。AT89S52的31號引腳是外部程序存儲器選擇信號端,當該引腳為高電平時,單片時機一直從片內程序存儲器內取指令。 3. 如果使用P0口做I/O口,要接上拉電阻。 4. 使用萬用表排查電路中是否存在斷路或者短路情況。筆者在制作外部接口電路時使用的是排針,焊接時容易出現(xiàn)管腳之間短路,所以在上電以前必須先排查電路。 5. 編輯一個使一組

34、發(fā)光二極管循環(huán)點亮的程序并燒錄到單片機內,上電運行,檢查單片機是否正常工作,復位電路是否正確。5.2 軟件調試 在硬件調試完畢的根底上,需要進一步完善程序,也就是進入軟件調試階段。對于系統(tǒng)程序,在keil軟件中利用C語言調試程序,改正語法與程序錯誤。以到達自己硬件設計時的效果和功能。結束語本系統(tǒng)采用了MSC-51系列單片機AT89S52為中心器件來設計音樂發(fā)聲器,實現(xiàn)了播放音樂的功能,系統(tǒng)缺乏之處在于不能控制播放音樂的前進和后退,通過這次畢業(yè)設計,使我得到了一次用專業(yè)知識、專業(yè)技能分析和解決問題的全面鍛煉。使我在單片機的根本原理、單片機應用系統(tǒng)開發(fā)過程中,以及在常用編程設計思路技巧的掌握方面都

35、能向前邁了一大步,為日后成為合格的應用型人才打下良好的根底。在單片機音樂發(fā)聲器的制作過程中,在設計中因為限壓電路局部出現(xiàn)錯誤,導致電壓過高將喇叭燒毀。最后用蜂鳴器替代喇叭做揚聲器,效果不夠理想。說明動手能里還有缺乏,仍然有待提高。致 謝 在論文完成之際,我要特別感謝我的指導老師的熱情關心和悉心指導。在我撰寫論文的過程中,老師傾注了大量的心血和汗水,無論是在論文的選題、構思和資料的收集方面,還是在論文的研究方法以及成文定稿方面,我都得到了老師的悉心細致的教誨和無私的幫助,特別是她廣博的學識、深厚的學術素養(yǎng)、嚴謹?shù)闹螌W精神和一絲不茍的工作作風使我終生受益,在此表示真誠地感謝和深深的謝意。 在論文的

36、寫作過程中,也得到了許多同學的支持和幫助,給予了我很多珍貴的意見,在此一并致以誠摯的謝意。感謝所有關心、支持、幫助過我的良師益友。 最后,向在百忙中抽出時間對本文進行評審并提出珍貴意見的各位老師表示衷心地感謝!參考文獻1 向繼文.基于AT89C51的電子鐘系統(tǒng)設計J.機電產片開發(fā)與創(chuàng)新.2007(2):60-65.2 劉皖. FPGA設計與應用M.北京.清華大學出版社.2006.80-110.3 馮育長.單片機系統(tǒng)設計與實例分析M.西安.西安電子科技大學出版社.2007:69-78.4 何力民.單片機應用技術選編5M.北京.北京航空航天大學出版社.1997:84-99.5 潘永雄.新編單片機原

37、理與應用M.西安.西安電子科技大學出版社.2003.103-111.6 李及.趙利民.MCS-51系列單片機原理與應用M.長春.吉林科學技術出版社.1995:33-50.7 彭小軍.用單片機實現(xiàn)電子時鐘J.新余學報.2004(2):31-38.8 劉坤.宋戈.51單片機C語言應用開發(fā)技術大全.北京.人民郵電出版社.2021.485-500.9 戴佳.戴衛(wèi)恒.51單片機C語言應用程序設計實例精講M.北京.電子工業(yè)出版社.2006.126-152.10 付家才.單片機控制工程實踐技術M.北京.化學工業(yè)出版社.2004.15-23.11 劉軍.單片機原理與接口技術M.上海.華東理工大學出版社.200

38、6.46-51.12 張迎新. 單片微型計算機原理、應用及接口技術第二版M.北京.國防工業(yè)出版社.2005.87-97.13李廣弟.單片機根底.北京.北京航空航天出版社.2001:34-60.14 R.L.Geiger.P.E.Allen.N.R.Strader.VLSI.DLSI Design Techniques for Analog And Digital Ciruits.McGraw-Hill Inc.1990:55-641.0 系統(tǒng)程序#include sbit p00=p00;sbit p10=p10;unsigned char BTH0,BTL0;unsigned char ti

39、me;unsigned char keytmp;/*歌曲數(shù)據(jù)表,每三個數(shù)的第一個是樂譜碼,第三個是節(jié)拍碼*/code unsigned char table=6,2,3, 5,2,1, 3,2,2, 5,2,2, 1,3,2, 6,2,1, 5,2,1, 6,2 4, 3,2,2, 5,2,1, 6,2,1, 5,2,2, 3,2,2, 1,2,1, 6,1,1, 5,2,1, 3,2,1, 2,2,4, 2,2,3, 3,2,1, 5,2,2, 5,2,1, 6,2,1, 3,2,2, 2,2,2, 1,2,4, 5,2,3, 3,2,1, 2,2,1, 1,2,1, 6,1,1, 1,2,1, 5,1,6, 0,0,0;/*音符計數(shù)表高八位*/Code unsigned char TH0=0 xF2,0 xF3,0 xF5,0 xF5,0 xF6,0 xF7,0 xF8,0 xF9,0 xF9,0 xFA,0 xFA,0 xFB,0 xFB,0 xFC,0 xFC,0 xFC,0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論