




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
.z.基于89c52單片機音樂播放的設(shè)計**師*學(xué)院物理與電氣工程學(xué)院TOC\o"1-2"\h\z\u1、設(shè)計任務(wù)和要求12、總體設(shè)計13、硬件設(shè)計23.1硬件電路23.2原理說明24、軟件設(shè)計25、仿真、安裝和調(diào)試56、收獲與體會6附件1:元件清單6附件2:總仿真電路圖7附件3:音樂程序8-.z.音樂盒設(shè)計1、設(shè)計任務(wù)和要求(1)利用I/O口產(chǎn)生一定頻率的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),從而演樂曲。(2直接當(dāng)前播放的歌曲。(3)可通過功能鍵選擇播放上一首、下一首和暫停播放歌曲。2、總體設(shè)計(1)要產(chǎn)生音頻脈沖,只要算出*一音頻的周期(1/音頻),然后將此周期除以2,即為半周期的時間,利用定時器計時這個半周期時間,每當(dāng)計時到后就將輸出脈沖的I/O反相,然后重復(fù)計時此半周期時間再對I/O口反相,就可在I/O腳上得到此頻率的脈沖(2)利用8052的內(nèi)部定時器使其工作在計數(shù)器模式MODE1下,改變記數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。例如頻率為523HZ,其周期T=1/523=1912微秒,因此只要令計數(shù)器定時956/1=956在每記數(shù)9次時將I/O口反相,就可得到中音D0(523HZ)。記數(shù)脈沖值與頻率的關(guān)系公式如下:N=Fi/2/FrN:記數(shù)值Fi:內(nèi)部計時一次為1微秒.故其頻率為1MHZFr;要產(chǎn)生的頻率(3):起記數(shù)值的求法如下:T=65536-N=65536-Fi/2/Fr例如:設(shè)K=65536,F(xiàn)=1000000=Fi=1MHZ,求低音D0〔523HZ〕,高音的D0〔1046HZ〕的記數(shù)值。T=65536-N=65536-Fi/2/Fr=65536-1000000/2/Fr=65536-500000/Fr低音D0的T=65536-500000/262=63627中音D0的T=65536-500000/523=64580高音D0的T=65536-500000/1047=650593、硬件設(shè)計3.1硬件電路本設(shè)計中用到89C52單片機,揚聲器、鍵盤、連接線。1.最小系統(tǒng)⑴單片機:本次設(shè)計使用單片機芯片AT89C52AT89C52的工作特性:?內(nèi)含8KB的FLASH存儲器檫寫次數(shù)1000次;?256*8bit內(nèi)部RAM;?具有32根可編程I/O線;?具有3個16位編程定時器?AT89C52共有6個中斷向量:兩個外中斷〔INT0和INT1〕,3個定時器中斷〔定時器0、1、2〕和串行口中斷?具有1個全雙工的可編程串行通信接口;?具有可編程3級程序鎖定位;?AT89C52的工作電源為5〔1±0.2〕V且典型值為5V;?AT89C52最高工作頻率為24MHZ;?AT89C52的編程頻率為3~24MHZ,編程啟動電流和啟動電壓分別為1mA、5或12V。3.2原理說明當(dāng)鍵盤有鍵按下時,判斷鍵值,啟動計數(shù)器T1,產(chǎn)生一定頻率的脈沖,驅(qū)動蜂鳴器,放出樂曲。同時啟動定時器T0,顯示歌曲號?!?〕 硬件電路中用、分別接k1、k2作為上、下一曲的功能鍵〔2〕 用P0控制七段碼a,b,c,d,e,f?!?〕用P1.2口控制喇叭?!?〕 電路為12MHZ晶振頻率工作,起振電路中C1,C2均為30pf。4、軟件設(shè)計本程序可以實現(xiàn)課程設(shè)計的根本要求,并可以通過按鍵播放三首歌曲,程序流程圖如下:總體框圖:主程序框圖:子程序框圖:5、仿真、安裝和調(diào)試按照上面設(shè)計的電路在proteus軟件內(nèi)畫圖,翻開單片機軟件開發(fā)系統(tǒng)Keil,選擇89C52單片機,在其中編寫程序,運行生成一個后綴名為he*的文件,然后將該文件下載到proteus中的AT89C52單片機中進展仿真,觀察實驗現(xiàn)象。仿真能實現(xiàn)播放音樂,按鍵選擇曲目,暫停,播放功能。仿真成功后,安裝好實驗板,然后將音樂程序下載到電路板內(nèi),觀察結(jié)果。能實現(xiàn)播放音樂,按鍵換曲等功能。程序調(diào)試中出現(xiàn)的問題及解決的方法:〔1〕有時會出現(xiàn)程序一點錯誤也沒有,但就是不能正常運行的現(xiàn)象,最后我們發(fā)現(xiàn)是因為程序中有的指令書寫得不規(guī)*導(dǎo)致的,例如有的RET返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行?!?〕程序中的跳轉(zhuǎn)指令的運用很重要,為保險起見,都用LJMP,我們就遇到過跳轉(zhuǎn)指令用錯程序無法正常運行的現(xiàn)象。當(dāng)用JNZ指令時,跳轉(zhuǎn)*圍比擬少,這時要用一個標(biāo)號中轉(zhuǎn)。〔3〕編程時要注意,在程序開場時,要寫入各定時器中斷的入口地址?!?〕編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改?!?〕編程前要加流程圖,這樣會使思路清晰,例如數(shù)字音樂盒的設(shè)計思路完全可以按著MP3的工作方式列寫流程圖?!?〕LCD計時正常顯示的解決方法:a.兩個定時器同時工作,存在中斷時序問題,剛開場時我們把定時器1設(shè)定在方式3,計250us,由于定時中斷過于頻繁,使CPU負載過大,導(dǎo)致音樂不能正常播放,時間不能正常顯示。解決方法:將定時器1設(shè)定在工作方式1,16位計數(shù),計50ms,效果有很大改觀。但還有問題。b.當(dāng)音樂為全4拍起始時,此時音樂節(jié)奏與定時器T1中斷頻率錯開,LCD顯示和音樂播放都會好一些。c.另外,在歌曲中,當(dāng)遇到一個音符發(fā)音為4拍,在編曲中為*CH,因時間較長,當(dāng)定時器T1此時來中斷時,就會對歌曲播放產(chǎn)生影響,假設(shè)改為發(fā)音一拍,中斷對歌曲播放影響減弱,但音樂效果變差。改良方案:假設(shè)采用可以定時時間更長的單片機,可以防止所有問題。6、收獲與體會(1)上學(xué)期學(xué)習(xí)單片機的課時不多,對單片機的硬件設(shè)計,軟件設(shè)計掌握的深度不夠,但通過此次課程設(shè)計,明顯的改善了,首先對于硬件電路的工作原理有了進一步的學(xué)習(xí),同時有了一個提升;軟件方面,在程序的設(shè)計,程序的調(diào)試方面都有了很大的進步。(2)在一個好的氣氛里才能踏下心來做東西,在這一段時間里,寢室成員都認真對待這次課程設(shè)計,除了自己做好自己的課題外,在遇到不懂的地方互相討論,查閱資料,互助解決問題。另外在編程中出現(xiàn)問題時,一定要戒驕戒躁,腳踏實地,認真看書,仔細分析,仔細調(diào)試,就一定會發(fā)現(xiàn)錯誤。我們也是這么做的,這一點在這次的課程設(shè)計中十分重要。(3)通過這次課程設(shè)計,我體會到了成功的喜悅,聽著自己設(shè)計的程序下載到單片機中播放出音樂,心理非常自豪。這次的課程設(shè)計在一定程度上改變了我學(xué)習(xí)單片機這門課程的態(tài)度,從最初的認為學(xué)它沒有什么實際意義,到如今愛上單片機學(xué)習(xí),并希望能將理論運用到實踐,設(shè)計出更好更完整的系統(tǒng)。我明白了一個人要想做好一件事,就必須具備自信心,耐心,還要有毅力,要膽大心細,要勇于嘗試,要手腦并用,最后才能交出一份令人滿意的答卷。附件1:元件清單名稱數(shù)量〔個〕型號備注電阻6排阻R*8(1個)10k(3個),500(3個)數(shù)碼管17SEG-DIGITAL開關(guān)4BUTTON單片機1AT89C52揚聲器1SPEAKER電源25V電容330pf(2個),10uf(1個)晶振1CRYSTAL附件2:總仿真電路圖附件3:音樂程序shuzhiEQU3fh ;選曲目的地址 songEQUp1.2;揚聲器播放 playEQUp3.0;播放停頓鍵 addoneEQUp3.1 ;曲目加一鍵 suboneEQUp3.2 ;曲目減一鍵 dulEQUP1;段選 welEQUP2;位選 ORG0000H LJMPSTART ORG000BH ;定時器0溢出中斷入口地址 AJMPcont ORG0013H ;外部中斷一入口地址 AJMPpause ;指向外部中斷程序ORG0100HSTART:MOVSP,#50H MOVTH0,#0DBH ;定時器賦初值 MOVTL0,#0FFH MOVTMOD,#01H;設(shè)定T1工作于方式2 MOVIE,#86H ;開中斷 MOVTCON,#00H MOVR0,#00H MOVshuzhi,#00H(是否順序播放音樂)MAIN:JNBplay,first ;判斷P3.0鍵是否按下 SJMPMAINfirst:ACALLdel20 JNBplay,first MOVshuzhi,#00H MOVdul,#06H;共陰數(shù)碼管顯示1 MOVwel,#80H MOVDPTR,#dat1;dat1首地址賦給DPTRACALLmusic0 ACALLne*t RETne*t:INCshuzhi MOVA,shuzhi CJNEA,#01,LOOP3 ;A是否=1,不等就跳轉(zhuǎn)到LOOP3MOVDPTR,#dat2 ;表2首地址送DPTR MOVdul,#5BH ;顯示數(shù)值2 MOVwel,#80H ACALLmusic0 INCALOOP3:CJNEA,#02,LOOP4 ;A是否=2,不等就跳轉(zhuǎn)到LOOP4 MOVDPTR,#dat3 ;表3首地址送DPTR MOVdul,#4FH ;顯示數(shù)值3 MOVwel,#80H ACALLmusic0 INCALOOP4:CJNEA,#03,ne*t ACALLfirst RET〔按鍵播放上一首音樂〕last:DECshuzhi MOV a,shuzhi CJNE a,#02,last1 MOV dptr,#dat3 MOV dul,#4Fh MOV wel,#80h ACALL music0last1: cjne a,#01,last2 MOV dptr,#dat2 MOV dul,#5Bh MOV wel,#80h ACALL music0last2: cjne a,#00,last MOV dptr,#dat1 MOV dul,#06h MOV wel,#80h ACALL music0 RET music0: MOV 20h,#00h ;中斷計數(shù)單元清0music1: clr a MOVC a,a+dptr ;查表取音階常數(shù) JZ end0 ;累加器判0看是否是完畢符 CJNE a,#0ffh,music5 ;是休止符" LJMP music3 ;產(chǎn)生100ms停頓music5: NOPkey: JNB play,k0 ;判斷P3.0鍵是否按下 JNB addone,k1 ;判斷P3.2鍵是否按下 JNB subone,k2 ;判斷P3.1鍵是否按下 MOV r6,a ;音階常數(shù)送R6 INC dptr ;DPTR+1 MOV a,#0 MOVC a,a+dptr ;取常數(shù)送R7 MOV r7,a SETB tr0 ;啟動定時器T0music2: nop CJNE r0,#0,$ CPL song ;輸出電平取反 MOV a,r6 MOV r3,a ;音階常數(shù)送R3 LCALL del20 MOV a,r7 ;節(jié)拍常數(shù)送A CJNE a,20h,music2 ;節(jié)拍時間到否 MOV 20h,#00h ;為取下一音階作準(zhǔn)備 INC DPTR LJMP music1music3: NOP ;休止100ms CLR tr0 ;關(guān)閉定時器 MOV r2,#14hmusic4: NOP MOV r3,#250 ;R3=250 LCALL del20 DJNZ r2,music4 INC dptr ;為取下一音階作準(zhǔn)備 LJMP music1end0: MOV r2,#200 ;歌曲完畢后,延時1s后繼續(xù)music6: MOV r3,#250 LCALL del20 DJNZ r2,music6〔按鍵選擇〕k1: ACALL del20 ;調(diào)用延時子程序 JNB addone,k1 ;判斷P3.2鍵是否釋放 ACALL ne*tk2: ACALL del20 JNB subone,k2 ;判斷P3.1鍵是否釋放 ACALL lastk0: ACALL del20 JNB play,k0;判斷3.0鍵是否釋放 LJMP start RETdel20: MOV r4,#05h;延時子程序del4: NOP DJNZ r4,del4 DJNZ r3,del20 RETcont: INC 20h ;計數(shù)單元+1 MOV th0,#0dbh ;重新10ms定時初值 MOV tl0,#0ffh RETI ;跳出中斷〔停頓播放〕pause: ACALL del20 JNB p3.0,pause ;判斷P3.0鍵是否有釋放 MOV a,r0 ;把R0的值給A CPL a ;A值取反 MOV r0,a RETIdat1:db3bh,20h,3bh,20h,30h,20h,33h,20h,3bh,80h,0ffhdb3bh,20h,3bh,20h,26h,20h,2bh,20h,26h,80h,0ffhdb26h,20h,26h,20h,20h,20h,26h,20h,2bh,20h,2bh,20h,30h,20h,33h,10h,33h,10hdb3bh,60h,40h,20h,4ch,80h,0ffhdb3bh,20h,3bh,20h,30h,20h,33h,20h,3bh,80h,0ffhdb3bh,20h,3bh,20h,26h,20h,2bh,20h,26h,80h,0ffhdb26h,20h,26h,20h,20h,20h,26h,20h,2bh,20h,2bh,20h,2bh,20h,30h,20hdb33h,20h,3bh,20h,3bh,20h,40h,2bh,3bh,80h,0ffhdb19h,20h,1ch,40h,26h,20h,19h,20h,1ch,40h,26h,20h,0ffhdb20h,20h,1ch,20h,1ch,20h,20h,20h,26h,80h,0ffhdb19h,20h,1ch,40h,26h,20h,19h,20h,1ch,40h,26h,20h,0ffhdb20h,20h,1ch,20h,1ch,20h,20h,20h,26h,80h,0ffhdb2bh,20h,2bh,40h,3bh,20h,2bh,20h,2bh,40h,2bh,20h,0ffhdb26h,20h,2bh,20h,2bh,20h,30h,20h,2bh,80h,0ffhdb2bh,20h,2bh,40h,3bh,20h,30h,20h,30h,40h,2bh,20h,0ffhdb33h,20h,3bh,20h,3bh,20h,40h,20h,3bh,80h,0ffh,0ffhdat2:db18h,30h,1ch,10h,20h,40h,1ch,10hdb18h,10h,20h,10h,1ch,10h,18h,40hdb1ch,20h,20h,20h,1ch,20h,18h,20hdb20h,80h,0ffh,20h,30h,1ch,10h,18hdb20h,15h,20h,1ch,20h,20h,20h,26hdb40h,20h,20h,2bh,20h,26h,20h,20hdb20h,30h,80h,0ffh,20h,20h,1ch,10hdb18h,10h,20h,20h,26h,20h,2bh,20hdb30h,20h,2bh,40h,20h,20h,1ch,10hdb18h,10h,20h,20h,26h,20h,2bh,20hdb30h,20h,2bh,40h,20h,30h,1ch,10hdb18h,20h,15h,20h,1ch,20h,20h,20hdb26h,40h,20h,20h,2bh,20h,26h,20hdb20h,20h,30h,80h,20h,30h,1ch,10hdb20h,10h,1ch,10h,20h,20h,26h,20hdb2bh,20h,30h,20h,2bh,40h,20h,15hdb1fh,05h,20h,10h,1ch,10h,20h,20hdb26h,20h,2bh,20h,30h,20h,2bh,40h db20h,30h,1ch,10h,18h,20h,15h,20hdb1ch,20h,20h,20h,26h,40h,20h,20hdb2bh,20h,26h,20h,20h,20h,30h,30hdb20h,30h,1ch,10h,18h,40h,1ch,20hdb20h,20h,26h,40h,13h,60h,18h,20hdb15h,40h,13h,40h,18h,80h,00hdat3:db26h,20h,20h,20h,20h,20h,26h,1
溫馨提示
- 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. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中專診斷學(xué)試題及答案
- 切實可行的成本控制策略
- 降低企業(yè)成本費用策略與實踐
- 基層醫(yī)療衛(wèi)生機構(gòu)信息化建設(shè)中的信息化與醫(yī)療信息化技術(shù)發(fā)展趨勢實施報告2025
- 時尚零售快時尚模式人力資源變革研究報告2025
- 生態(tài)旅游可持續(xù)發(fā)展規(guī)劃與管理2025年生態(tài)旅游可持續(xù)發(fā)展規(guī)劃與旅游市場拓展策略研究
- 高速公路安全防護設(shè)施方案
- 2025年云南省事業(yè)單位招聘考試公共基礎(chǔ)知識沖刺試題卷
- 2025年中級機修鉗工(助理技師)考試試卷:機械加工精度
- 2025年注冊會計師考試審計案例模擬試卷
- 煙火表演光影效果研究-洞察分析
- 亞朵酒店施工方案
- 公共管理學(xué):理論、實踐與方法 課件匯 汪大海 第10-18章 綠色公共管理- 公共管理的變革
- 人工智能賦能教師數(shù)字素養(yǎng)提升
- T-CPPIA 44-2024 流延聚乙烯纏繞膜
- C919機組培訓(xùn)-導(dǎo)航系統(tǒng)
- 醫(yī)院四懂四會消防培訓(xùn)
- 保險投訴處理培訓(xùn)
- 《星級酒店人力資源管理模式探究:以W酒店為例》12000字(論文)
- 小學(xué)三年級上冊數(shù)學(xué)(青島63)63計算題每日一練(無答案)
- 教師課堂管理行為多模態(tài)解碼:行為特征、分類識別與時序發(fā)展
評論
0/150
提交評論