



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考基于 89c52 單片機音樂播放的設(shè)計安慶師范學(xué)院物理與電氣工程學(xué)院學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考1、設(shè)計任務(wù)和要求12、總體設(shè)計13、硬件設(shè)計23.1硬件電路23.2原理說明24、軟件設(shè)計25、仿真、安裝和調(diào)試56、收獲與體會6附件 1:元件清單 .6附件 2:總仿真電路圖7附件 3:音樂程序 .8學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考音樂盒設(shè)計1、設(shè)計任務(wù)和要求(1) 利用 I/O 口產(chǎn)生一定頻率的方波,驅(qū)動蜂鳴器,發(fā)出不同的音調(diào),從而演樂曲。(2 直接當(dāng)前播放的歌曲。(3) 可通過功能鍵選擇播放上一首、下一首和暫停播放歌曲。2、總體設(shè)計(1) 要產(chǎn)生音頻脈
2、沖,只要算出某一音頻的周期 (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
3、=Fi/2/FrN:記數(shù)值Fi :內(nèi)部計時一次為1 微秒故其頻率為1MHZFr;要產(chǎn)生的頻率(3) :起記數(shù)值的求法如下:T65536N65536 Fi 2Fr例如:設(shè) K65536, F1000000Fi 1MHZ,求低音 D0(523HZ),高音的 D0(1046HZ)的記數(shù)值。T65536N65536 Fi 2Fr 6553610000002Fr 65536500000 Fr低音 D0 的 T 65536500000262 63627中音 D0 的 T 65536500000523 64580高音 D0 的 T 65536500000104765059學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考
4、3、硬件設(shè)計3.1硬件電路本設(shè)計中用到 89C52單片機,揚聲器、鍵盤、連接線。1最小系統(tǒng)單片機:本次設(shè)計使用單片機芯片AT89C52AT89C52的工作特性:?內(nèi)含 8KB的 FLASH存儲器檫寫次數(shù)1000 次;?256x8bit 內(nèi)部 RAM;?具有 32 根可編程 I/O 線;?具有 3 個 16 位編程定時器?AT89C52 共有 6 個中斷向量: 兩個外中斷( INT0 和 INT1),3 個定時器中斷(定時器 0、1、2)和串行口中斷 ?具有 1 個全雙工的可編程串行通信接口;?具有可編程 3 級程序鎖定位;?AT89C52的工作電源為 5( 1± 0.2 )V 且典型
5、值為 5V;?AT89C52最高工作頻率為24MHZ;?AT89C52的編程頻率為 324MHZ,編程啟動電流和啟動電壓分別為 1mA、 5 或 12V。3.2原理說明當(dāng)鍵盤有鍵按下時,判斷鍵值,啟動計數(shù)器T1,產(chǎn)生一定頻率的脈沖,驅(qū)動蜂鳴器,放出樂曲。同時啟動定時器T0, 顯示歌曲號。( 1) 硬件電路中用 INT 0 、 INT 1分別接 k1、k2 作為上、下一曲的功能鍵( 2) 用 P0 控制七段碼 a,b,c,d,e,f。(3)用 P1.2 口控制喇叭。( 4) 電路為 12MHZ晶振頻率工作,起振電路中C1,C2 均為 30pf 。4、軟件設(shè)計本程序可以實現(xiàn)課程設(shè)計的基本要求,并可
6、以通過按鍵播放三首歌曲,程序流程圖如下:學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考總體框圖:主程序框圖 :學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考子程序框圖:學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考5、仿真、安裝和調(diào)試按照上面設(shè)計的電路在 proteus 軟件內(nèi)畫圖 , 打開單片機軟件開發(fā)系統(tǒng) Keil, 選擇 89C52單片機 , 在其中編寫程序 , 運行生成一個后綴名為 hex 的文件 , 然后將該文件下載到 proteus 中的 AT89C52單片機中進行仿真 , 觀察實驗現(xiàn)象。仿真能實現(xiàn)播放音樂,按鍵選擇曲目,暫停,播放功能。仿真成功后,安裝好實驗板 , 然后將音樂程序下載到電路板內(nèi) , 觀察結(jié)果。
7、能實現(xiàn)播放音樂,按鍵換曲等功能。程序調(diào)試中出現(xiàn)的問題及解決的辦法:(1) 有時會出現(xiàn)程序一點錯誤也沒有, 但就是不能正常運行的現(xiàn)象, 最后我們發(fā)現(xiàn)是因為程序中有的指令書寫得不規(guī)范導(dǎo)致的, 例如有的 RET返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。(2) 程序中的跳轉(zhuǎn)指令的運用很重要,為保險起見,都用 LJMP,我們就遇到過跳轉(zhuǎn)指令用錯程序無法正常運行的現(xiàn)象。當(dāng)用 JNZ指令時,跳轉(zhuǎn)范圍比較少,這時要用一個標(biāo)號中轉(zhuǎn)。(3) 編程時要注意,在程序開始時,要寫入各定時器中斷的入口地址。(4) 編程過程中要注意加注釋或分割線,否則,在程序過長時容易變得很亂,不便于查找或更改。(5) 編
8、程前要加流程圖,這樣會使思路清晰,例如數(shù)字音樂盒的設(shè)計思路完全可以按著MP3的工作方式列寫流程圖。(6) LCD 計時正常顯示的解決辦法:a. 兩個定時器同時工作, 存在中斷時序問題,剛開始時我們把定時器 1 設(shè)定在方式 3,計 250us,由于定時中斷過于頻繁,使 CPU負(fù)載過大,導(dǎo)致音樂不能正常播放,時間不能正常顯示。解決辦法:將定時器 1 設(shè)定在工作方式 1, 16 位計數(shù),計 50ms,效果有很大改觀。但還有問題。b. 當(dāng)音樂為全 4 拍起始時,此時音樂節(jié)奏與定時器 T1 中斷頻率錯開, LCD顯示和音樂播放都會好一些。c. 另外,在歌曲中,當(dāng)遇到一個音符發(fā)音為 4 拍,在編曲中為 *
9、CH,因時間較長,當(dāng)定時器 T1此時來中斷時, 就會對歌曲播放產(chǎn)生影響, 若改為發(fā)音一拍, 中斷對歌曲播放影響減弱, 但音樂效果變差。改進方案:若采用可以定時時間更長的單片機,可以避免所有問題。學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考6、收獲與體會(1) 上學(xué)期學(xué)習(xí)單片機的課時不多, 對單片機的硬件設(shè)計, 軟件設(shè)計掌握的深度不夠, 但通過此次課程設(shè)計,明顯的改善了,首先對于硬件電路的工作原理有了進一步的學(xué)習(xí),同時有了一個提升;軟件方面,在程序的設(shè)計,程序的調(diào)試方面都有了很大的進步。(2) 在一個好的氛圍里才能踏下心來做東西, 在這一段時間里, 寢室成員都認(rèn)真對待這次課程設(shè)計,除了自己做好自己的課題
10、外,在遇到不懂的地方互相討論,查閱資料,互助解決問題。另外在編程中出現(xiàn)問題時, 一定要戒驕戒躁, 腳踏實地,認(rèn)真看書,仔細(xì)分析,仔細(xì)調(diào)試,就一定會發(fā)現(xiàn)錯誤。我們也是這么做的,這一點在這次的課程設(shè)計中十分重要。(3) 通過這次課程設(shè)計, 我體會到了成功的喜悅, 聽著自己設(shè)計的程序下載到單片機中播放出音樂 , 心理非常自豪。這次的課程設(shè)計在一定程度上改變了我學(xué)習(xí)單片機這門課程的態(tài)度,從最初的認(rèn)為學(xué)它沒有什么實際意義, 到如今愛上單片機學(xué)習(xí), 并希望能將理論運用到實踐, 設(shè)計出更好更完整的系統(tǒng)。我明白了一個人要想做好一件事,就必須具備自信心,耐心,還要有毅力,要膽大心細(xì),要勇于嘗試,要手腦并用,最后
11、才能交出一份令人滿意的答卷。附件 1:元件清單名稱數(shù)量(個)型號備注電阻排阻 RX8(1 個)10k(36個 )個),500(3數(shù)碼管17SEG-DIGITAL開關(guān)4BUTTON單片機1AT89C52揚聲器1SPEAKER學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考電源25V電容330pf(2 個),10uf(1個)晶振1CRYSTAL附件 2:總仿真電路圖RP1RESPACK-8C212345678930pFU1X11939XTAL1P0.0/AD038C3CRYSTALP0.1/AD137P0.2/AD21836XTAL2P0.3/AD335P0.4/AD430pF34P0.5/AD5C133P0
12、.6/AD6932RSTP0.7/AD710uFP2.0/A821R522P2.1/A9R623500P2.2/A102924PSENP2.3/A115003025ALEP2.4/A123126EAP2.5/A1327P2.6/A1428P2.7/A15LS11P1.0/T2P3.0/RXD10211P1.1/T2EXP3.1/TXD312P1.2P3.2/INT0413R1R2 R3P1.3P3.3/INT1514P1.4P3.4/T010k10k10k615P1.5P3.5/T1SOUNDER716P1.6P3.6/WR817暫停/播放P1.7P3.7/RDAT89S52上一曲下一曲學(xué)習(xí)資
13、料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考附件 3:音樂程序shuzhi EQU 3fh;選曲目的地址song EQU p1.2;揚聲器播放play EQU p3.0;播放停止鍵addone EQU p3.1;曲目加一鍵subone EQU p3.2;曲目減一鍵dul EQU P1;段選wel EQU P2;位選ORG 0000HLJMP STARTORG 000BH;定時器 0 溢出中斷入口地址AJMP contORG 0013H;外部中斷一入口地址AJMP pause;指向外部中斷程序ORG 0100HSTART:MOV SP,#50HMOV TH0,#0DBH;定時器賦初值MOV TL0,#0FFH
14、MOV TMOD,#01H;設(shè)定 T1 工作于方式 2MOV IE,#86H;開中斷MOV TCON,#00HMOV R0,#00HMOV shuzhi,#00H( 是否順序播放音樂 )MAIN:JNB play,first;判斷 P3.0 鍵是否按下SJMP MAINfirst:ACALL del20JNB play,firstMOV shuzhi,#00HMOV dul,#06H;共陰數(shù)碼管顯示 1MOV wel,#80HMOV DPTR,#dat1;dat1 首地址賦給 DPTRACALL music0ACALL nextRETnext:INC shuzhi學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅
15、供參考MOV A,shuzhiCJNE A,#01,LOOP3;A是否 =1, 不等就跳轉(zhuǎn)到 LOOP3MOV DPTR,#dat2; 表 2 首地址送 DPTRMOV dul,#5BH; 顯示數(shù)值 2MOV wel,#80HACALL music0INC ALOOP3:CJNE A,#02,LOOP4;A是否 =2, 不等就跳轉(zhuǎn)到 LOOP4MOV DPTR,#dat3;表 3 首地址送 DPTRMOV dul,#4FH;顯示數(shù)值 3MOV wel,#80HACALL music0INC ALOOP4:CJNE A,#03,nextACALL firstRET(按鍵播放上一首音樂)last:
16、DEC shuzhiMOVa,shuzhiCJNEa,#02,last1MOVdptr,#dat3MOVdul,#4FhMOVwel,#80hACALL music0last1: cjnea,#01,last2MOVdptr,#dat2MOVdul,#5BhMOVwel,#80hACALL music0last2: cjnea,#00,lastMOVdptr,#dat1MOVdul,#06hMOVwel,#80hACALL music0RETmusic0:MOV20h,#00h;中斷計數(shù)單元清 0music1:clraMOVCa,a+dptr;查表取音階常數(shù)JZ end0;累加器判 0 看是否
17、是結(jié)束符學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考CJNEa,#0ffh,music5; 是休止符 ?LJMPmusic3;產(chǎn)生 100ms停頓music5:NOPkey:JNBplay,k0;判斷 P3.0 鍵是否按下JNBaddone,k1;判斷 P3.2鍵是否按下JNBsubone,k2;判斷 P3.1鍵是否按下MOVr6,a;音階常數(shù)送 R6INC dptr;DPTR+1MOVa,#0MOVCa,a+dptr;取常數(shù)送 R7MOVr7,aSETBtr0;啟動定時器 T0music2:nopCJNEr0,#0,$CPLsong;輸出電平取反MOVa, r6MOVr3,a;音階常數(shù)送 R3LCA
18、LLdel20MOVa, r7;節(jié)拍常數(shù)送 ACJNEa,20h,music2;節(jié)拍時間到否MOV20h,#00h; 為取下一音階作準(zhǔn)備INC DPTRLJMPmusic1music3:NOP;休止 100msCLRtr0;關(guān)閉定時器MOVr2, #14hmusic4:NOPMOVr3, #250;R3=250LCALLdel20DJNZr2, music4INC dptr;為取下一音階作準(zhǔn)備LJMPmusic1end0: MOVr2, #200;歌曲結(jié)束后 , 延時 1s 后繼續(xù)music6:MOVr3, #250LCALLdel20DJNZr2,music6學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供
19、參考(按鍵選擇)k1: ACALLdel20;調(diào)用延時子程序JNBaddone,k1;判斷 P3.2鍵是否釋放ACALL nextk2: ACALLdel20JNBsubone,k2;判斷 P3.1鍵是否釋放ACALLlastk0: ACALLdel20JNBplay,k0;判斷 3.0鍵是否釋放LJMPstartRETdel20: MOV r4,#05h;延時子程序del4:NOPDJNZr4,del4DJNZr3,del20RETcont:INC20h;計數(shù)單元 +1MOVth0,#0dbh;重新 10ms定時初值MOVtl0,#0ffhRETI;跳出中斷(停止播放)pause: ACAL
20、L del20JNBp3.0,pause;判斷 P3.0 鍵是否有釋放MOVa,r0;把 R0的值給 ACPLa;A值取反MOVr0,aRETIdat1:db 3bh,20h,3bh,20h,30h,20h,33h,20h,3bh,80h,0ffhdb 3bh,20h,3bh,20h,26h,20h,2bh,20h,26h,80h,0ffhdb 26h,20h,26h,20h,20h,20h,26h,20h,2bh,20h,2bh,20h,30h,20h,33h,10h,33h,10h db 3bh,60h,40h,20h,4ch,80h,0ffhdb 3bh,20h,3bh,20h,30h,
21、20h,33h,20h,3bh,80h,0ffhdb 3bh,20h,3bh,20h,26h,20h,2bh,20h,26h,80h,0ffhdb 26h,20h,26h,20h,20h,20h,26h,20h,2bh,20h,2bh,20h,2bh,20h,30h,20h db 33h,20h,3bh,20h,3bh,20h,40h,2bh,3bh,80h,0ffhdb 19h,20h,1ch,40h,26h,20h,19h,20h,1ch,40h,26h,20h,0ffh db 20h,20h,1ch,20h,1ch,20h,20h,20h,26h,80h,0ffhdb 19h,20h,1
22、ch,40h,26h,20h,19h,20h,1ch,40h,26h,20h,0ffh db 20h,20h,1ch,20h,1ch,20h,20h,20h,26h,80h,0ffhdb 2bh,20h,2bh,40h,3bh,20h,2bh,20h,2bh,40h,2bh,20h,0ffh db 26h,20h,2bh,20h,2bh,20h,30h,20h,2bh,80h,0ffhdb 2bh,20h,2bh,40h,3bh,20h,30h,20h,30h,40h,2bh,20h,0ffh db 33h,20h,3bh,20h,3bh,20h,40h,20h,3bh,80h,0ffh,0f
23、fh學(xué)習(xí)資料學(xué)習(xí)資料收集于網(wǎng)絡(luò),僅供參考dat2:db 18h,30h,1ch,10h,20h,40h,1ch,10hdb 18h,10h,20h,10h,1ch,10h,18h,40hdb 1ch,20h,20h,20h,1ch,20h,18h,20hdb 20h,80h,0ffh,20h,30h,1ch,10h,18hdb 20h,15h,20h,1ch,20h,20h,20h,26hdb 40h,20h,20h,2bh,20h,26h,20h,20hdb 20h,30h,80h,0ffh,20h,20h,1ch,10hdb 18h,10h,20h,20h,26h,20h,2bh,20hd
24、b 30h,20h,2bh,40h,20h,20h,1ch,10hdb 18h,10h,20h,20h,26h,20h,2bh,20hdb 30h,20h,2bh,40h,20h,30h,1ch,10hdb 18h,20h,15h,20h,1ch,20h,20h,20hdb 26h,40h,20h,20h,2bh,20h,26h,20hdb 20h,20h,30h,80h,20h,30h,1ch,10hdb 20h,10h,1ch,10h,20h,20h,26h,20hdb 2bh,20h,30h,20h,2bh,40h,20h,15hdb 1fh,05h,20h,10h,1ch,10h,20
25、h,20hdb 26h,20h,2bh,20h,30h,20h,2bh,40hdb 20h,30h,1ch,10h,18h,20h,15h,20hdb 1ch,20h,20h,20h,26h,40h,20h,20hdb 2bh,20h,26h,20h,20h,20h,30h,30hdb 20h,30h,1ch,10h,18h,40h,1ch,20hdb 20h,20h,26h,40h,13h,60h,18h,20hdb 15h,40h,13h,40h,18h,80h,00hdat3:db 26h,20h,20h,20h,20h,20h,26h,10h,20h,10h,20h,80h,26h,20h,30h,20h db 30h,20h,39h
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年定制家具項目發(fā)展計劃
- 2025年全斷面掘進機合作協(xié)議書
- 2025年湖南省永州市單招職業(yè)傾向性測試題庫1套
- 機器學(xué)習(xí)原理與應(yīng)用電子教案 5.3樸素貝葉斯
- 2025年湖南環(huán)境生物職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 2025年河南林業(yè)職業(yè)學(xué)院單招職業(yè)適應(yīng)性測試題庫附答案
- 2025至2030年中國模塊式除塵器數(shù)據(jù)監(jiān)測研究報告
- 吉林省松原市部分學(xué)校2024-2025學(xué)年高一上學(xué)期12月月考地理試題(解析版)
- 2025至2030年中國顯像管移載裝置數(shù)據(jù)監(jiān)測研究報告
- 2025至2030年中國無線吊秤數(shù)據(jù)監(jiān)測研究報告
- 家校共育之道
- 公司EHS知識競賽題庫附答案
- DeepSeek入門寶典培訓(xùn)課件
- 社區(qū)健康促進工作計劃
- 《作文中間技巧》課件
- 2025年度移動端SEO服務(wù)及用戶體驗優(yōu)化合同
- 中小學(xué)《清明節(jié)活動方案》班會課件
- 廣東省2025年中考物理仿真模擬卷(深圳)附答案
- 新蘇教版一年級下冊數(shù)學(xué)第1單元第3課時《8、7加幾》作業(yè)
- 2024年山東電力高等專科學(xué)校高職單招職業(yè)技能測驗歷年參考題庫(頻考版)含答案解析
- 【公開課】同一直線上二力的合成+課件+2024-2025學(xué)年+人教版(2024)初中物理八年級下冊+
評論
0/150
提交評論