音樂盒設(shè)計(jì)硬件課程設(shè)計(jì)報(bào)告_第1頁
音樂盒設(shè)計(jì)硬件課程設(shè)計(jì)報(bào)告_第2頁
音樂盒設(shè)計(jì)硬件課程設(shè)計(jì)報(bào)告_第3頁
音樂盒設(shè)計(jì)硬件課程設(shè)計(jì)報(bào)告_第4頁
音樂盒設(shè)計(jì)硬件課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、-. z- - - .總結(jié)資料硬 件 開 發(fā) 技 術(shù) 報(bào) 告課題名稱音樂盒設(shè)計(jì)學(xué) 院工商學(xué)院專業(yè)班級(jí)計(jì)0841成 員王智慧 081842034王倩倩 081842033袁宗梅 081842052韋顏 081842035-PAGE . z目錄TOC o 1-5 h z u HYPERLINK l _Toc304919576 1 設(shè)計(jì)任務(wù)和要求 PAGEREF _Toc304919576 h 1 HYPERLINK l _Toc304919577 2 總體設(shè)計(jì) PAGEREF _Toc304919577 h 1 HYPERLINK l _Toc304919578 3 硬件設(shè)計(jì) PAGEREF _T

2、oc304919578 h 2HYPERLINK l _Toc3049195793.1 硬件電路 PAGEREF _Toc304919579 h 2HYPERLINK l _Toc3049195803.2 原理說明 PAGEREF _Toc304919580 h 2 HYPERLINK l _Toc304919581 4 軟件設(shè)計(jì) PAGEREF _Toc304919581 h 3 HYPERLINK l _Toc304919582 5 仿真、安裝和調(diào)試 PAGEREF _Toc304919582 h 3 HYPERLINK l _Toc304919583 6 收獲與體會(huì) PAGEREF _T

3、oc304919583 h 4 HYPERLINK l _Toc304919584 6.1 元件清單 PAGEREF _Toc304919584 h 5 HYPERLINK l _Toc304919585 6.2 總電路圖 PAGEREF _Toc304919585 h 6 HYPERLINK l _Toc304919586 6.3 音樂程序 PAGEREF _Toc304919586 h 6 HYPERLINK l _Toc304919587 參考文獻(xiàn) PAGEREF _Toc304919587 h 9-. z1設(shè)計(jì)任務(wù)和要求(1)利用I/O口產(chǎn)生一定頻率的方波,驅(qū)動(dòng)蜂鳴器,發(fā)出不同的音調(diào),

4、從而演樂曲(存兩首樂曲)。(2直接當(dāng)前播放的歌曲。(3)可通過功能鍵選擇各個(gè)歌曲2總體設(shè)計(jì)(1)要產(chǎn)生音頻脈沖,只要算出*一音頻的周期(1/音頻),然后將此周期除以2,即為半周期的時(shí)間,利用定時(shí)器計(jì)時(shí)這個(gè)半周期時(shí)間,每當(dāng)計(jì)時(shí)到后就將輸出脈沖的I/O反相,然后重復(fù)計(jì)時(shí)此半周期時(shí)間再對(duì)I/O口反相,就可在I/O腳上得到此頻率的脈沖(2)利用8051的部定時(shí)器使其工作在計(jì)數(shù)器模式MODE1下,改變記數(shù)值TH0及TL0以產(chǎn)生不同頻率的方法。例如頻率為523HZ,其周期T=1/523=1912微秒,因此只要令計(jì)數(shù)器定時(shí)956/1=956在每記數(shù)9次時(shí)將I/O口反相,就可得到中音D0(523HZ)。記數(shù)脈

5、沖值與頻率的關(guān)系公式如下:N=Fi/2/Fr N:記數(shù)值Fi:部計(jì)時(shí)一次為1微秒故其頻率為1MHZFr;要產(chǎn)生的頻率(3):起記數(shù)值的求法如下:T65536N65536Fi2Fr例如:設(shè)K65536,F(xiàn)1000000Fi1MHZ,求低音D0523HZ,高音的D01046HZ的記數(shù)值。T65536N65536Fi2Fr6553610000002Fr65536500000Fr低音D0的T6553650000026263627中音D0的T6553650000052364580低音D0的T655365000001047650593硬件設(shè)計(jì)3.1硬件電路本設(shè)計(jì)中用到89C51單片機(jī),揚(yáng)聲器。硬件電路原理

6、圖如圖1所示1最小系統(tǒng)單片機(jī)如圖1:本次設(shè)計(jì)使用單片機(jī)芯片AT89C51AT89C51的工作特性:含4KB的FLASH存儲(chǔ)器檫寫次數(shù)1000次; 含128字節(jié)的RAM;具有32根可編程I/O線;具有2個(gè)16位編程定時(shí)器 具有6個(gè)中斷源,5個(gè)中斷矢量,2級(jí)優(yōu)先權(quán)的中 斷構(gòu)造;具有1個(gè)全雙工的可編程串行通信接口;具有1個(gè)數(shù)據(jù)指針DPTR;具有可編程3級(jí)程序鎖定位;AT89C51的工作電源為510.2V且典型值為5V;AT89C51最高工作頻率為24MHZ;AT89C51的編程頻率為324MHZ,編程啟動(dòng)電流和啟動(dòng)電壓 分別為1mA、5或12V。 圖13.2 原理說明當(dāng)鍵盤有鍵按下時(shí),判斷鍵值,啟動(dòng)

7、計(jì)數(shù)器T0,產(chǎn)生一定頻率的脈沖,驅(qū)動(dòng)蜂鳴器,放出樂曲。同時(shí)啟動(dòng)定時(shí)器T1,顯示歌曲號(hào)。1硬件電路中用、分別接S1、S2作為上、下一曲的功能鍵2用P1.0-P1.6控制七段碼a,b,c,d,e,f。3用P2.0口控制喇叭。4電路為12MHZ晶振頻率工作,起振電路中C1,C2均為30pf。4軟件設(shè)計(jì)本程序可以實(shí)現(xiàn)課程設(shè)計(jì)的根本要求,并可以通過按鍵播放兩首歌曲,程序流程圖如下:開場初始化設(shè)置音節(jié)起始位置設(shè)置節(jié)拍間距讀取音階,音符播放歌曲節(jié)拍完畢音樂完畢5仿真、安裝和調(diào)試按照上面設(shè)計(jì)的電路在proteus軟件畫圖, 翻開單片機(jī)軟件開發(fā)系統(tǒng)Keil,選擇89c51單片機(jī),在其中編寫程序,運(yùn)行生成一個(gè)后綴

8、名為he*的文件,然后將該文件下載到proteus中的AT89c51單片機(jī)中進(jìn)展仿真,觀察實(shí)驗(yàn)現(xiàn)象。仿真能實(shí)現(xiàn)播放音樂,按鍵選擇曲目,暫停,播放功能。仿真成功后,安裝好實(shí)驗(yàn)板,然后將音樂程序下載到電路板,觀察結(jié)果。能實(shí)現(xiàn)播放音樂,按鍵換曲等功能。程序調(diào)試中出現(xiàn)的問題及解決的方法:1 有時(shí)會(huì)出現(xiàn)程序一點(diǎn)錯(cuò)誤也沒有,但就是不能正常運(yùn)行的現(xiàn)象,最后我們發(fā)現(xiàn)是因?yàn)槌绦蛑杏械闹噶顣鴮懙貌灰?guī)導(dǎo)致的,例如有的RET返回指令一定要按正確格式書寫或在兩行指令間最好不要留空行。2 程序中的跳轉(zhuǎn)指令的運(yùn)用很重要,為保險(xiǎn)起見,都用LJMP,我們就遇到過跳轉(zhuǎn)指令用錯(cuò)程序無常運(yùn)行的現(xiàn)象。當(dāng)用JNZ指令時(shí),跳轉(zhuǎn)圍比擬少,這

9、時(shí)要用一個(gè)標(biāo)號(hào)中轉(zhuǎn)。3 編程時(shí)要注意,在程序開場時(shí),要寫入各定時(shí)器中斷的入口地址。4 編程過程中要注意加注釋或分割線,否則,在程序過長時(shí)容易變得很亂,不便于查找或更改。5 編程前要加流程圖,這樣會(huì)使思路清晰,例如數(shù)字音樂盒的設(shè)計(jì)思路完全可以按著MP3的工作方式列寫流程圖。6 LCD計(jì)時(shí)正常顯示的解決方法:a. 兩個(gè)定時(shí)器同時(shí)工作,存在中斷時(shí)序問題,剛開場時(shí)我們把定時(shí)器1設(shè)定在方式3,計(jì)250us,由于定時(shí)中斷過于頻繁,使CPU負(fù)載過大,導(dǎo)致音樂不能正常播放,時(shí)間不能正常顯示。解決方法:將定時(shí)器1設(shè)定在工作方式1,16位計(jì)數(shù),計(jì)50ms,效果有很大改觀。但還有問題。b. 當(dāng)音樂為全4拍起始時(shí),此

10、時(shí)音樂節(jié)奏與定時(shí)器T1中斷頻率錯(cuò)開,LCD顯示和音樂播放都會(huì)好一些。c. 另外,在歌曲中,當(dāng)遇到一個(gè)音符發(fā)音為4拍,在編曲中為*CH,因時(shí)間較長,當(dāng)定時(shí)器T1此時(shí)來中斷時(shí),就會(huì)對(duì)歌曲播放產(chǎn)生影響,假設(shè)改為發(fā)音一拍,中斷對(duì)歌曲播放影響減弱,但音樂效果變差。改良方案:假設(shè)采用可以定時(shí)時(shí)間更長的單片機(jī),可以防止所有問題。6收獲與體會(huì)(1)上學(xué)期學(xué)習(xí)單片機(jī)的課時(shí)不多,對(duì)單片機(jī)的硬件設(shè)計(jì),軟件設(shè)計(jì)掌握的深度不夠,但通過此次課程設(shè)計(jì),明顯的改善了,首先對(duì)于硬件電路的工作原理有了進(jìn)一步的學(xué)習(xí),同時(shí)有了一個(gè)提升;軟件方面,在程序的設(shè)計(jì),程序的調(diào)試方面都有了很大的進(jìn)步。(2) 在一個(gè)好的氣氛里才能踏下心來做東西

11、,在這一段時(shí)間里,寢室成員都認(rèn)真對(duì)待這次課程設(shè)計(jì),除了自己做好自己的課題外,在遇到不懂的地方互相討論,查閱資料,互助解決問題。另外在編程中出現(xiàn)問題時(shí),一定要戒驕戒躁,腳踏實(shí)地,認(rèn)真看書,仔細(xì)分析,仔細(xì)調(diào)試,就一定會(huì)發(fā)現(xiàn)錯(cuò)誤。我們也是這么做的,這一點(diǎn)在這次的課程設(shè)計(jì)中十分重要。(3)通過這次課程設(shè)計(jì),我體會(huì)到了成功的喜悅,聽著自己設(shè)計(jì)的程序下載到單片機(jī)中播放出音樂,心理非常自豪。這次的課程設(shè)計(jì)在一定程度上改變了我學(xué)習(xí)單片機(jī)這門課程的態(tài)度,我明白了一個(gè)人要想做好一件事,就必須具備自信心,耐心,還要有毅力,要膽大心細(xì),要勇于嘗試,要手腦并用,最后才能交出一份令人滿意的答卷。6.1元件清單名稱數(shù)量個(gè)型

12、號(hào)備注電阻6排阻R*8(1個(gè))1k(2個(gè)),5.5k(1個(gè)),10k(1個(gè)),15(1個(gè))數(shù)碼管17SEG-DIGITAL開關(guān)4BUTTON單片機(jī)1AT89C51三極管12N3906揚(yáng)聲器1SPEAKER電源25V電容330pf(2個(gè)),10uf(1個(gè))晶振1CRYSTAL6.2總電路圖6.3音樂程序ORG 0000H ;復(fù)位地址 LJMP MAIN ;跳轉(zhuǎn)到主程序ORG 000BH ;T0中斷入口LJMP TIM0 ;跳轉(zhuǎn)到T0中斷效勞程序ORG 0030H ;主程序入口地址 MAIN:MOV TMOD,*01H ;寫入T0控制字, 16位定時(shí)方式MOV IE,*82H ;開中斷MOV 30

13、H,*00H ;取簡譜碼指針NE*T: MOV A,30H ;簡譜碼指針裝入AMOV DPTR,*TABLE ;從TABLE處取簡譜碼MOVC A,A+DPTRMOV R2,A ;取得的簡譜碼暫存于R2JZ END0 ;是否取到完畢碼00H.ANL A,*0FH ;不是,則取節(jié)拍碼MOV R5,A ;節(jié)拍碼存于R5MOV A,R2 ;將簡譜碼裝入ASWAP A ;高、低4位交換ANL A,*0FH ;取音符碼JNZ SING ;取得的音符碼是否為0.CLR TR0 ;是則不發(fā)音lJMP D1 ;跳轉(zhuǎn)到D1SING: DEC A ;取得的音符碼減1(不含0)MOV 22H,A ;存入22H單元R

14、L A ;乘2MOV DPTR,*TABLE1 ;到TABLE1中取相對(duì)的高位字節(jié)值MOVC A,A+DPTRMOV TH0,A ;取得的高位字節(jié)裝入TH0和21H單元MOV 21H,AMOV A,22H ;再裝入取得的音符碼 Rl A ;乘2INC A ;加1MOVC A,A+DPTR ;到TABLE1中取相對(duì)的低位字節(jié)值MOV TL0,A ;取得的高位字節(jié)裝入TL0和20H單元MOV 20H,ASETB TR0 ;啟動(dòng)T0D1: LCALL DELAY ;根本單位時(shí)間1/4拍,延時(shí)187毫秒INC 30H ;取簡譜碼指針加1LJMP NE*T ;取下一個(gè)碼END0: CLR TR0 ;停頓

15、T0LJMP MAIN ;重復(fù)循環(huán);定時(shí)器T0中斷效勞程序:TIM0:PUSH ACC ;保護(hù)現(xiàn)場PUSH PSWMOV TL0,20H ;重設(shè)定時(shí)初值MOV TH0,21H CPL P1.0 ;P1.0引腳電平取反POP PSW ;恢復(fù)現(xiàn)場POP ACCRETI ;中斷返回;根本單位延時(shí)子程序:DELAY: MOV R7,*02H ;fosc=12MHz時(shí)延時(shí)187毫秒D2: MOV R4,*187D3: MOV R3,*248DJNZ R3,$DJNZ R4,D3DJNZ R7,D2DJNZ R5,DELAY ;決定節(jié)拍RET;音符對(duì)應(yīng)的定時(shí)器初值表:TABLE1: DW 64260,64

16、400,64521,64580DW 64684,64777,64820,64898DW 64968,65030,65058,65110DW 65157,65178,65217;音符節(jié)拍表:TABLE: ;1DB 82H,01H,81H,94H,84HDB 0B4H,0A4H,04HDB 82H,01H,81H,94H,84HDB 0C4H,0B4H,04H;2DB 82H,01H,81H,0F4H,0D4HDB 0B4H,0A4H,94HDB 0E2H,01H,0E1H,0D4H,0B4HDB 0C4H,0B4H,04H;3DB 82H,01H,81H,94H,84HDB 0B4H,0A4H,04HDB 82H,01H,81H,94H,84HDB 0C4H,0B4H,04H;4DB 82H,01H,81H,0F4H,0D4HDB 0B4H,0A4H,94HDB 0

溫馨提示

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

評(píng)論

0/150

提交評(píng)論