課程設(shè)計(jì)(論文)基于單片機(jī)的音樂(lè)播放器_第1頁(yè)
課程設(shè)計(jì)(論文)基于單片機(jī)的音樂(lè)播放器_第2頁(yè)
課程設(shè)計(jì)(論文)基于單片機(jī)的音樂(lè)播放器_第3頁(yè)
課程設(shè)計(jì)(論文)基于單片機(jī)的音樂(lè)播放器_第4頁(yè)
課程設(shè)計(jì)(論文)基于單片機(jī)的音樂(lè)播放器_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、鄭州交通職業(yè)學(xué)院課 程 設(shè) 計(jì) 報(bào) 告課程設(shè)計(jì)項(xiàng)目音樂(lè)播放器的設(shè)計(jì) 所屬系別 信息工程系 專業(yè)班級(jí) 電子信息工程技術(shù)(1)班 姓名 學(xué)號(hào) 指導(dǎo)教師 撰寫(xiě)日期 2011 年 12 月目錄1. 設(shè)計(jì)目的和要求11.1 設(shè)計(jì)目的11.2 設(shè)計(jì)要求12. 硬件電路設(shè)計(jì)12.1 總體設(shè)計(jì)方案12.2 單元電路設(shè)計(jì)12.2.1 單片機(jī)簡(jiǎn)介12.2.2 顯示電路22.2.3 晶振電路22.2.4 復(fù)位電路32.2.5 發(fā)聲電路32.3 總體電路43. 系統(tǒng)軟件設(shè)計(jì)43.1 數(shù)碼音樂(lè)產(chǎn)生原理43.2 總體流程圖53.3 鍵控子程序63.3.1 播放/暫停子程序63.3.2 曲目選擇子程序74. 電路仿真調(diào)試8

2、4.1 仿真平臺(tái)84.2 仿真測(cè)試84.3 測(cè)試總結(jié)9參考文獻(xiàn)10附錄11音樂(lè)播放器的設(shè)計(jì)1. 設(shè)計(jì)目的和要求1.1 設(shè)計(jì)目的目前單片機(jī)滲透到我們生活的各個(gè)領(lǐng)域,幾乎很難找到哪個(gè)領(lǐng)域沒(méi)有單片機(jī)的蹤跡。導(dǎo)彈的導(dǎo)航裝置,飛機(jī)上各種儀表的控制,計(jì)算機(jī)的網(wǎng)絡(luò)通訊與數(shù)據(jù)傳輸,工業(yè)自動(dòng)化過(guò)程的實(shí)時(shí)控制和數(shù)據(jù)處理,全自動(dòng)洗衣機(jī)的控制,以及程控玩具、電子寵物等等,這些都離不開(kāi)單片機(jī)。在音樂(lè)播放方面,利用單片機(jī)儲(chǔ)存音樂(lè),控制播放也越來(lái)越廣泛。為了更好的掌握單片機(jī)的應(yīng)用,用單片機(jī)設(shè)計(jì)一個(gè)音樂(lè)播放器。這樣可以有效的將理論知識(shí)與實(shí)踐相結(jié)合。1.2 設(shè)計(jì)要求設(shè)計(jì)一個(gè)音樂(lè)播放器,有三個(gè)按鍵:播放/暫停、下一曲、上一曲;4

3、位led燈顯示器,用來(lái)顯示所選曲目,該顯示器在音樂(lè)播放中關(guān)閉,一曲演奏結(jié)束時(shí),或選曲時(shí)才顯示曲目信息。2. 硬件電路設(shè)計(jì)2.1 總體設(shè)計(jì)方案本系統(tǒng)以89c51單片機(jī)為控制核心,以按鍵開(kāi)關(guān)作為控制元件,以揚(yáng)聲器作為執(zhí)行器件,再結(jié)合6mhz的晶振電路,共同構(gòu)成音樂(lè)播放器系統(tǒng)。圖1 系統(tǒng)硬件組成2.2 單元電路設(shè)計(jì)2.2.1 單片機(jī)簡(jiǎn)介89c51單片機(jī)擁有4kb的片內(nèi)rom和128b的片內(nèi)ram。rom和ram的片外尋址范圍都為64kb。單片機(jī)擁有32個(gè)并行口和1個(gè)串行口。在89c51單片機(jī)中存在5個(gè)中斷源,其中有兩個(gè)外部中斷源、兩個(gè)內(nèi)部中斷源和一個(gè)串行中斷源。圖2 89c51單片機(jī)2.2.2 顯示

4、電路顯示電路是一個(gè)4位共陰極led數(shù)碼管。 單片機(jī)的p0.0-p0.7分別與數(shù)碼管的a、b、c、d、e、f、g、dp相連接。單片機(jī)的p2.0與數(shù)碼管片選段4相連接。圖3 4位共陰極led燈2.2.3 晶振電路晶振電路由兩個(gè)30pf的電容和一個(gè)6mhz的晶體振蕩器組成。節(jié)點(diǎn)1與單片機(jī)的xtal2相連接。節(jié)點(diǎn)2與單片機(jī)的xtal1相連接。圖4 晶振電路2.2.4 復(fù)位電路復(fù)位電路由復(fù)位鍵、22uf的電容c3、200的電阻r3、1000的電阻r4組成。節(jié)點(diǎn)1與單片機(jī)的rst相連接。圖5 復(fù)位電路2.2.5 發(fā)聲電路發(fā)聲電路由數(shù)字揚(yáng)聲器、5v的電源和一個(gè)200電阻組成。電阻r1一端接揚(yáng)聲器另一端接單片

5、機(jī)的p1.7。圖6 發(fā)聲電路2.3 總體電路圖圖7 總體電路圖3.系統(tǒng)軟件設(shè)計(jì)3.1數(shù)碼音樂(lè)產(chǎn)生原理音調(diào)的高低用音階表示,不同的音階對(duì)應(yīng)不同的頻率。因此,不同頻率的方波就可以產(chǎn)生音階,音階與頻率的關(guān)系見(jiàn)表1。由于頻率的倒數(shù)是周期,因此可由單片機(jī)中的定時(shí)控制方波周期,當(dāng)定時(shí)器計(jì)數(shù)溢出時(shí)產(chǎn)生中斷。將與揚(yáng)聲器連接的p1.7取反后就可得到方波的周期,從而達(dá)到了控制頻率,即音階的目的。表1 音階與頻率的關(guān)系及方式1下定時(shí)器的初值音階頻率(hz)定時(shí)器初值音階頻率(hz)定時(shí)器初值音階頻率(hz)定時(shí)器初值1234567013114716517519622024700f85eh0f933h0f9f0h0f

6、a49h0fae6h0fb74h,0fbf4h0100h1234567026229433034939244049400fc2fh0fc99h0fcf8h0fd22h0fd73h0fdbah0fdfah0100h1234567052358765969878488098800fe17h0fe4ch0fe7ch0fe91h0feb9h0feddh0fefdh0100h低八度音中音高八度音注:0表示簡(jiǎn)譜中的空拍當(dāng)晶體振蕩頻率為6.144mhz,定時(shí)器工作在方式1下時(shí),若各音階相對(duì)應(yīng)的定時(shí)器計(jì)數(shù)初值為x,則可根據(jù)下式計(jì)算x:音調(diào)的長(zhǎng)短用節(jié)拍數(shù)表示(例如1/4拍、2/4拍、),不同節(jié)拍數(shù)的不同音符的組合形

7、成樂(lè)譜。程序中,音的節(jié)拍可由延時(shí)子程序?qū)崿F(xiàn)。延時(shí)子程序設(shè)定為四分之一拍,節(jié)拍值只能是它的整數(shù)倍。3.2 總體流程圖主程序?qū)崿F(xiàn)對(duì)單片機(jī)進(jìn)行初始化后,進(jìn)入曲目識(shí)別子程序,進(jìn)行歌曲曲目判斷。確定歌曲曲目后,數(shù)碼管再進(jìn)行顯示。然后,子程序?qū)κ欠癫シ胚M(jìn)行循環(huán)判斷,得到播放中斷的指令后再進(jìn)行播放。執(zhí)行播放后,關(guān)閉數(shù)碼管顯示并調(diào)用查表子程序進(jìn)行播放音樂(lè)。在播放音樂(lè)的過(guò)程中,查表子程序循環(huán)判斷音樂(lè)是否結(jié)束。當(dāng)音樂(lè)結(jié)束時(shí),程序跳轉(zhuǎn)回曲目識(shí)別子程序。圖8 總體流程圖3.3 鍵控子程序鍵控子程序主要由播放/暫停子程序、上一曲子程序、下一曲子程序組成,分別由一個(gè)計(jì)數(shù)器中斷和兩個(gè)外部中斷實(shí)現(xiàn)。3.3.1 播放/暫停子程

8、序播放/暫停在程序利用內(nèi)部中斷t0口。將t0口設(shè)為計(jì)數(shù)中斷并工作在方式2下。標(biāo)識(shí)符初值賦值為r1=00h,計(jì)數(shù)初值設(shè)為th0=0ffh,tl0=0ffh。當(dāng)按鍵第一次產(chǎn)生中斷信號(hào)時(shí),播放/暫停子程序改變標(biāo)志符r1,將其賦值為01h。此時(shí)播放器由暫停狀態(tài)進(jìn)入播放狀態(tài)。當(dāng)按鍵第二次產(chǎn)生中斷信號(hào)時(shí),播放/暫停子程序判斷r1是否為02h后,將r1再次賦值為00h。此時(shí),播放器由播放狀態(tài)進(jìn)入暫停狀態(tài)。圖9 播放/暫停子程序流程圖3.3.2 曲目選擇子程序曲目選擇子程序分為上一曲子程序和下一曲子程序。上一曲和下一曲功能實(shí)現(xiàn)方式類似,分別由外部中斷和外部中斷。下面以實(shí)現(xiàn)上一曲功能為例:首先設(shè)置標(biāo)識(shí)符r7初始

9、值為00h。當(dāng)按鍵產(chǎn)生中斷信號(hào),上一曲中斷子程序改變標(biāo)識(shí)符r7的值為01h并改變曲目r0的值。播放子程序判斷出標(biāo)識(shí)符r7改變后,先將r7賦值為00h,然后跳轉(zhuǎn)到曲目識(shí)別子程序。圖10 曲目選擇子程序流程圖4.電路仿真調(diào)試4.1 仿真平臺(tái)仿真平臺(tái)為proteus軟件。proteus軟件是世界上著名的eda工具,能完成原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵切換到pcb設(shè)計(jì)它不僅具有其它eda工具軟件的仿真功能,還能仿真單片機(jī)及外圍器件,是目前最好的仿真單片機(jī)及外圍器件的工具。4.2 仿真測(cè)試開(kāi)始仿真后,音樂(lè)播放器處于暫停狀態(tài)。曲目初始設(shè)置為第一首曲子。圖11 初始數(shù)碼管顯示圖點(diǎn)擊播放

10、/暫停鍵,播放器進(jìn)入播放狀態(tài),數(shù)碼管關(guān)閉。點(diǎn)擊下一曲鍵,數(shù)碼管將會(huì)亮顯示所選曲目。圖12 第一次點(diǎn)擊顯示圖1s后,音樂(lè)播放器播放音樂(lè),數(shù)碼管關(guān)閉。點(diǎn)擊播放/暫停鍵,讓播放器處于暫停狀態(tài),也可點(diǎn)擊下一曲鍵進(jìn)行選歌。圖13 第二次點(diǎn)擊顯示圖再次點(diǎn)擊播放/暫停鍵,播放進(jìn)入播放狀態(tài),數(shù)碼管關(guān)閉。4.3 測(cè)試總結(jié)音樂(lè)播放器很好的實(shí)現(xiàn)了播放/暫停、上一曲、下一曲的功能,并滿足了數(shù)碼管顯示的特殊要求。 音效良好,能很好聽(tīng)出樂(lè)曲的曲名。當(dāng)然設(shè)計(jì)的音樂(lè)播放器也存在著不足之處。4位led數(shù)碼管只能顯示10以內(nèi)的歌曲曲目,超過(guò)10將無(wú)法顯示。參考文獻(xiàn): 1郭文川.單片機(jī)原理與接口技術(shù)m.中國(guó)農(nóng)業(yè)出版社.2007.8

11、2閻石. 數(shù)字電子技術(shù)基礎(chǔ)(第五版)m.北京:高等教育出版社.20053李泉溪. 單片機(jī)原理與實(shí)例仿真m. 北京:北京航空航天大學(xué)出版社,2009附錄一11 org 0000h ljmp main org 0003h ljmp sum ;上一曲中斷 org 000bh ljmp bof ;播放/暫停 org 0013h ljmp dum ;下一曲中斷 org 001bh ljmp timer1 org 50hmain: mov r0,#01h mov r1,#00h mov r7,#00h mov tmod,#1eh ;置t1為定時(shí)工作方式1,t0為計(jì)數(shù)工作方式2 mov tcon,#15h

12、;啟動(dòng)t0、t1 mov th0,#0ffh mov tl0,#0ffh mov ie,#9fh ;開(kāi)放全部中斷keycheck:mov a,r0 ;樂(lè)曲判斷 dec a jz music1 dec a jz music2 dec a jz music3 sjmp keycheck music1: lcall xian lcall delay0 mov dptr,#tone1 lcall lop sjmp music1music2: lcall xian lcall delay0 mov dptr,#tone2 lcall lop sjmp music2music3: lcall xian l

13、call delay0 mov dptr,#tone3 lcall lop sjmp music3lop: cjne r1,#00h,loop5 ;判斷是否播放 clr p0.0 clr tr1 cjne r7,#01h,loop4 ;暫停過(guò)程中的標(biāo)識(shí)符判斷 mov r7,#00h sjmp keycheckloop4: ljmp loploop5: setb p0.0 mov a,#0 movc a,a+dptr jz quit cjne a,#01h,loop6 clr tr1 inc dptr ljmp loop7loop6: mov r5,a mov th1,a inc dptr mo

14、v a,#0 movc a,a+dptr mov r6,a mov tl1,r6 setb tr1loop7: inc dptr mov a,#0 movc a,a+dptr mov r2,aloop1: mov r3,#80hloop2: mov r4,#0ffhloop3: djnz r4,loop3 djnz r3,loop2 djnz r2,loop1 inc dptrloop8: cjne r7,#01h,goon ;播放中的標(biāo)識(shí)符判斷 mov r7,#00h sjmp keycheckgoon: ljmp lopquit: rettimer1: push dph ;定時(shí)器1中斷子程

15、序 push dpl push acc cpl p1.7 mov th1,r5 mov tl1,r6 setb tr1 pop acc pop dpl pop dph retidelay0: mov r2,#10delay3: mov r3,#200delay2: mov r4,#125delay1: djnz r4,delay1 djnz r3,delay2 djnz r2,delay3 retsum: cjne r0,#01h,sum1 ;上一曲int0中斷子程序 mov r0,#04hsum1: dec r0 inc r7 retidum: cjne r0,#03h,dum1 ;下一曲i

16、nt1中斷子程序 mov r0,#00hdum1: inc r0 inc r7 retibof: inc r1 ;播放暫停t0子程序 cjne r1,#02h,bof1 mov r1,#00h retibof1: retixian: clr tr1 ;顯示子程序 mov a,r0 mov dptr,#table movc a,a+dptr mov p2,a clr p0.0 rettable: db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fhtone1: db 0fch,2fh,4,0fch,99h,4 ;兩只老虎 db 0fch,0f8h,4 ,0fch,

17、2fh,4 db 0fch,2fh,4,0fch,99h,4 db 0fch,0f8h,4,0fch,2fh,4 db 0fch,0f8h,4,0fdh,22h,4 db 0fdh,73h,8,0fch,0f8h,4 db 0fdh,22h,4,0fdh,73h,8 db 0fdh,73h,3,0fdh,0bah,1 db 0fdh,73h,3,0fdh,22h,1 db 0fch,0f8h,4,0fch,2fh,4 db 0fdh,73h,3,0fdh,0bah,1 db 0fdh,73h,3,0fch,22h,1 db 0fch,0f8h,4,0fch,2fh,4 db 0fch,2fh,

18、4,0fdh,73h,4 db 0fch,2fh,8,0fch,2fh,4 db 0fdh,73h,4,0fch,2fh,8 db 0,0,0tone2: db 0fdh,0bah,2,0fdh,0fah,2 ;天空之城 db 0feh,17h,6,0fdh,0fah,2 db 0feh,17h,4,0feh,7ch,4 db 0fdh,0fah,12,0fch,0f8h,2 db 0fch,0f8h,2,0fdh,0bah,6 db 0fdh,73h,2,0fdh,0bah,4 db 0feh,17h,4,0fdh,73h,8 db 01h,0,4,0fch,0f8h,2 db 0fch,0

19、f8h,2,0fdh,22h,6 db 0fch,0f8h,2,0fdh,22h,2 db 0feh,17h,6,0fch,0f8h,8 db 01h,0,2,0feh,17h,2 db 0feh,17h,2,0feh,17h,2 db 0fdh,0fah,6,0fdh,22h,2 db 0fdh,22h,4,0fdh,0fah,4 db 0fdh,0fah,8,01h,0,4 db 0fdh,0bah,2,0fdh,0fah,2 db 0feh,17h,6,0fdh,0fah,2 db 0feh,17h,4,0feh,7ch,4 db 0fdh,0fah,8,01h,0,4 db 0fch,

20、0f8h,2,0fch,0f8h,2 db 0fdh,0bah,6,0fdh,73h,2 db 0fdh,0bah,4,0feh,17h,4 db 0fdh,73h,12,01h,0,2 db 0fch,0f8h,2,0fdh,22h,4 db 0feh,17h,2,0fdh,0fah,2 db 0fdh,0fah,4,0feh,17h,4 db 0feh,4ch,2,0feh,4ch,2 db 0feh,7ch,2,0feh,17h,4 db 01h,0,4,0feh,17h,4 db 0fdh,0fah,2,0fdh,0bah,2 db 0fdh,0bah,2,0fdh,0fah,4 db

21、 0fdh,73h,4,0fdh,0bah,8 db 01h,0,4,0feh,17h,2 db 0feh,4ch,2,0feh,7ch,6 db 0feh,4ch,2,0feh,7ch,4 db 0feh,0b9h,4,0feh,4ch,8 db 01h,0,4,0fdh,73h,2 db 0fdh,73h,2,0feh,17h,2 db 0fdh,0fah,2,0feh,17h,4 db 0feh,7ch,4,0feh,7ch,8 db 01h,0,4,01h,0,4 db 0fdh,0bah,2,0fdh,0fah,2 db 0feh,17h,4,0fdh,0fah,4 db 0feh,4ch,2,0feh,4ch,2 db 0feh,17h,6,0fdh,73h,2 db 0fdh,73h,4,01h,0,4 db 0feh,91h,4,0feh,7ch,4 db 0feh,4ch,4,0feh,17h,4 db 0feh,7ch,16,0feh,7ch,8 db 01h,0,4,0feh,7ch,4 db 0feh,0ddh,8,0feh,0b9h,4 db 0feh,0b9h,4,0feh,7ch,2 db 0feh,4ch,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論