版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
單片機控制的音樂盒系統(tǒng)軟件設(shè)計案例目錄TOC\o"1-3"\h\u25196單片機控制的音樂盒系統(tǒng)軟件設(shè)計案例 1127651系統(tǒng)軟件設(shè)計 140941.1軟件設(shè)計工具 1293531.2系統(tǒng)整體設(shè)計框圖 1276941.3軟件設(shè)計思路 243541.4單片機發(fā)聲設(shè)計 3195991.4.1音調(diào)設(shè)計 3166961.4.2節(jié)拍設(shè)置 4156151.4.3顯示設(shè)置 43419第2章調(diào)試運行及實物的焊接 67779附錄一:設(shè)計圖 91系統(tǒng)軟件設(shè)計1.1軟件設(shè)計工具在過去四年的學(xué)習(xí)過程中,我們主要使用KeiluVision4編程軟件對所設(shè)計的單片機進行軟件編程,KeiluVision4于2009年2月發(fā)布,其設(shè)計了較為靈活的窗口管理系統(tǒng),對使用者而言可以更好的利用屏幕空間管理更多的窗口,使用起來更加簡潔高效。KeiluVision5于2013年10月發(fā)布,其核心功能與KeiluVision4相比并未有太大的變化,且軟件運行起來更加穩(wěn)定,減少了閃退等事故的發(fā)生幾率,所以本次設(shè)計我選擇使用KeiluVision4的升級版KeiluVision5來進行程序編譯工作。1.2系統(tǒng)整體設(shè)計框圖圖5-1系統(tǒng)設(shè)計框圖1.3軟件設(shè)計思路在過去四年的學(xué)習(xí)中,C語言的學(xué)習(xí)和使用是學(xué)校編程教學(xué)內(nèi)容的重點,且KeiluVision5對單片機C語言的軟件開發(fā)有很好的兼容性,所以本次設(shè)計可以用C語言解決編程問題。1.4單片機發(fā)聲設(shè)計單片機所能發(fā)出的聲音非常單一,根本無法滿足音樂盒的需求,所以僅靠單片機完成設(shè)計是不可能的。因此,我們需要結(jié)合音調(diào)和節(jié)拍,在編程過程中對其進行調(diào)整,來達(dá)到讓音樂盒演奏歌曲的目的。僅有不同的聲音還不能夠組成音樂盒,節(jié)拍同樣也很重要,節(jié)拍主要控制單片機發(fā)出音符的時間,此時就需要對所要播放歌曲的樂譜進行研究,必須要知道所播放內(nèi)容中每一個音符的順序,還有音符持續(xù)的時間,這樣編寫出的程序才能使音樂盒正常發(fā)聲。1.4.1音調(diào)設(shè)計首先需要了解音調(diào),音調(diào)在簡譜中表現(xiàn)為:1、2、3、4、5、6、7,對應(yīng)的讀法為:do、re、mi、fa、so、la、xi。根據(jù)世界范圍統(tǒng)一標(biāo)準(zhǔn),樂器的發(fā)聲標(biāo)準(zhǔn)都是220Hz。在音樂中,標(biāo)準(zhǔn)音高被規(guī)定為中央C音上方的A音,它的頻率為f=440Hz,1(do)與高音1,2(re)與高音2等類似的音調(diào)正好相差一個倍頻程,在音樂學(xué)中稱它相差一個八度音。一般說來,通過對單片機的定時器做定時中斷,就可以讓單片機發(fā)出相應(yīng)的頻率,再對單片機上的蜂鳴器重復(fù)清零、置位操作,或者是將單片機上對應(yīng)的I/O口重復(fù)取反操作,便可以讓蜂鳴器發(fā)出相應(yīng)的聲音。當(dāng)我們設(shè)定不同的定時值后,蜂鳴器就可以發(fā)出不同頻率的聲音[10]。以標(biāo)準(zhǔn)音高A為例,A的頻率f=440Hz,那么它對應(yīng)的周期就應(yīng)該是:T=蜂鳴器I/O口反應(yīng)時間圖如圖所示:圖5-2蜂鳴器I/O口反應(yīng)時間圖
由上圖可知,單片機上對應(yīng)的蜂鳴器的I/O接口來回取反的時間應(yīng)為T的一半,即t的值為1136μs,這個t也是單片機定時器上應(yīng)有的中斷觸發(fā)時間。假設(shè)f使外接晶振的振蕩器頻率,那么定時器的預(yù)置初始值為:Temp=65536-TH=TL=Temp%256其中,SYSTEM_OSC=22.1184MHz、TH=0xF7、TL=0xD8。1.4.2節(jié)拍設(shè)置音符節(jié)拍的設(shè)置需要結(jié)合一小段簡譜,如下圖所示:圖5-3簡譜示例圖其中1、2、5為一類,3、4為一類,6為一類總共三類。在簡譜中,單獨一個數(shù)字的出現(xiàn)表示一個四分音符,也就人們常說的一拍,如圖5-3所示的1、2下面有一條橫線,這表示1、2聲音發(fā)出的時長為八分音符長,即為四分音符的一半,表示半拍,3、4下面有兩條橫線,表示3、4聲音發(fā)出的時長為十六分音符長,即為八分音符的一半,表示四分之一拍,5的下面有一條橫線,表示其時長為八分音符長,即為四分音符的一半,表示半拍,6作為單獨的數(shù)字出現(xiàn),下面沒有橫線,其時長為四分音符長,表示一拍。一般說來,若沒有特殊標(biāo)注出一拍的時長或沒有特別說明,那么我們默認(rèn)一拍的時長大約為400—500ms。若我取一拍的時長為400ms,那么當(dāng)以四分音符為一拍節(jié)拍時,四分音符的時長就為400ms,八分音符的時長就為四分音符的一半,即為200ms,十六分音符的時長就為八分音符的一半,八分音符的四分之一,即為100ms。在單片機中,選擇以計數(shù)器的模式來進行控制,將單片機初始化后,TH0與TL0就會計算半周期時間,I/O端口在一遍計時結(jié)束之后會出現(xiàn)反轉(zhuǎn),重復(fù)半周期時間,I/O端口發(fā)生反轉(zhuǎn)以后,單片機I/O引腳就可以接收到頻率脈沖,該脈沖輸出到揚聲器后,單片機就可以發(fā)出想要的音樂了。1.4.3顯示設(shè)置LCD1602液晶顯示屏的讀、寫操作時序圖如下所示:圖5-4LCD1602液晶顯示屏的讀操作時序圖圖5-5LCD1602液晶顯示屏的寫操作時序圖由于1602液晶顯示屏是一個慢顯示器件,因此顯示屏在顯示前要先做一些其他操作,即在每條指令執(zhí)行之前,顯示模塊都要先確定模塊的忙標(biāo)志的電平信號,若忙標(biāo)志處于高電平,即表示顯示屏處于忙狀態(tài),則無法執(zhí)行指令,指令將會失效,若忙標(biāo)志處于低電平,則表示顯示屏處于不忙狀態(tài),此時則可以執(zhí)行指令即可在顯示屏上顯示字符。要顯示字符時要先告訴顯示模塊應(yīng)該在哪個位置顯示字符,之后才能完成顯示。
第2章調(diào)試運行及實物的焊接在搭建好設(shè)計的Proteus仿真并完成編程后,就需要將編譯好的出現(xiàn)導(dǎo)入Proteus的單片機中,觀察其運行結(jié)果。首先,雙擊Proteus里的單片機,如圖6-1所示,添加事先編譯好的.hex文件。圖6-1文件添加圖添加好文件后,點擊左下角的開始,電路通電,此時就可以開始測試所編譯的程序是否可以運行了。鍵盤各按鍵的功能如圖6-2所示:
圖6-2按鍵功能圖按鍵1~7:1~7這八個按鍵分別對應(yīng)的是七個不同的音,即:“do、re、mi、fa、so、la、xi”,當(dāng)電路電源接通后,按動1~7中的任意一個按鍵,都可以發(fā)出其對應(yīng)的聲音;按鍵8:8號按鍵對應(yīng)的是“高音do”,按動8號鍵即可發(fā)出“高音do”的聲音;按鍵9:按鍵9為歌曲選擇按鍵;按鍵10:按鍵10為空閑按鍵,沒有任何實際功能;音樂盒按鍵:當(dāng)電路電源接通后,按下音樂盒按鍵,可播放存儲好的音樂,且默認(rèn)為順序播放,此時按鍵1~8失效,即在音樂盒按鍵按下后,按動按鍵1~8不會有任何功能;電子琴按鍵:在音樂播放的過程中,按下電子琴按鍵,音樂立刻停止播放,此時按動按鍵1~8,可發(fā)出相應(yīng)的聲音;選擇歌曲按鍵:按下選擇歌曲按鍵后,需要再按動按鍵1~9,此時會播放所選擇的音樂,同時,按鍵1~8的電子琴功能失效,按動按鍵后不會發(fā)出相應(yīng)的聲音。如果在音樂盒播放音樂的過程中按下選擇歌曲按鍵,正在播放的歌曲會立即暫停,之后的操作不變;單曲循環(huán)按鍵:按下單曲循環(huán)按鍵后,當(dāng)前多播放的音樂會進入單曲循環(huán)模式,若在沒有音樂播放的情況下按動該按鍵,則不會有任何功能;
順序播放按鍵:在單曲循環(huán)按鍵按下后,歌曲進入單曲循環(huán)模式,此時若想繼續(xù)循環(huán)播放音樂,按下此按鍵即可實現(xiàn)順序播放音樂功能,如果在沒有音樂播放的情況下按下該按鍵,則沒有任何功能實現(xiàn);開始/暫停按鍵:在音樂播放的過程中按下開始/暫停按鍵,即可實現(xiàn)音樂的開始與暫停。在音樂盒播放音樂的同時,1602顯示屏可正常顯示,LED等也正常發(fā)光。完成仿真與程序編譯并調(diào)試成功以后,就要對實物進行焊接,由于之前并沒有大量實物焊接的經(jīng)驗,所以就需要在購買實物元件時適量的多準(zhǔn)備一點,以防焊錯后沒有替代。在焊接時需要注意:注意要分清LED燈、電解電容、蜂鳴器的正負(fù)極性,它們都是需要將長的管腳接到正極、短的管腳接負(fù)極,一定不能焊接反,若是焊接反的話,輕則相應(yīng)的元器件被燒毀,重則可能產(chǎn)生爆炸,影響到焊接人員的安全[11]。在焊接電阻時,一定要注意電阻的阻值,不可以將錯誤的電阻焊接到電路里,否則電流受到影響,實物的成功率會受到很大的影響,且該失誤很不容易排查出來。焊接每個元器件時要精準(zhǔn)的控制好焊接時間,最好是將時間控制在2-4秒。若焊接時間過短,則可能焊接不牢,出現(xiàn)連接問題,若焊接時間過長,則可能會使焊點過脆,更有可能燒毀元器件。焊接器件時,應(yīng)該遵循先小后大,先低后高的焊接原則,即先焊接小器件,后焊接大器件,先焊接低器件,后焊接高器件。在焊接時,先焊接完電源部分,然后進行電源部分的功能測試,如果電源LED燈亮,則可以進行下一步焊接,若電源LED燈不亮,則需要立刻更換電源,重新焊接。烙鐵不允許長時間接觸焊盤,烙鐵的溫度很高,若是長時間接觸焊盤可能會導(dǎo)致焊盤脫落甚至器件的損壞。在焊接前盡量做好焊盤的模塊劃分,然后按照所分化的模塊來一部分一部分的焊接。在焊接完一個模塊后,不要著急于立即焊接下一個模塊,此時應(yīng)該先用萬用表測量一下,檢查電源和地之間是否有出現(xiàn)短路等故障,如果有短路,需立即檢測各焊接點,找到故障發(fā)生的原因并做出補救。芯片的安裝要注意1腳所在的位置,如果安放反了,芯片就會立即燒毀。觀察LED燈可以發(fā)現(xiàn),其長引腳表示是正極,短引腳表示是負(fù)極,也可以通過觀察LED管內(nèi)部的電極,較小的部分是正極部分,較大的部分是負(fù)極部分
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳統(tǒng)中醫(yī)藥日
- 醫(yī)美儀器術(shù)后護理
- 心臟停博護理查房
- 胸部擠壓傷的護理
- 2025年企業(yè)管理常識及員工制度測試卷附答案
- 2025年全球智能穿戴設(shè)備市場分析預(yù)測報告
- 餐飲業(yè)全套培訓(xùn)課件
- 散文閱讀策略與文本細(xì)讀教學(xué)方案
- 餐廳用氣安全培訓(xùn)課件
- 餐飲行業(yè)節(jié)假日營銷活動策劃方案
- 《中國臨床腫瘤學(xué)會(csco)小細(xì)胞肺癌診療指南(2025版)》
- 2025至2030中國半導(dǎo)體AMC過濾器行業(yè)競爭優(yōu)勢及前景趨勢預(yù)判報告
- 鄉(xiāng)鎮(zhèn)高層滅火救援疏散應(yīng)急演練方案及流程
- 五恒系統(tǒng)節(jié)能環(huán)保施工技術(shù)規(guī)范與優(yōu)化研究
- 大學(xué)期末考試思政題庫及答案
- 師徒結(jié)對活動記錄表-師傅
- have與has的用法微課課件
- 如何做員工考勤管理制度
- 大學(xué)形勢政策課件
- 城市供水管道施工重難點分析及改進措施
- 2025年南京市事業(yè)單位教師招聘體育學(xué)科專業(yè)知識歷年真題解析試卷
評論
0/150
提交評論