音樂播放器 三_第1頁
音樂播放器 三_第2頁
音樂播放器 三_第3頁
音樂播放器 三_第4頁
音樂播放器 三_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、目 錄第一章課程設計的任務和目的31.1 課程設計任務31.2 課程設計目的3第二章課程設計基礎知識42.1 定時/計數器8253A42.2 8253A內部結構42.3 8253A外部引腳52.4 計數器內部結構62.5 8253A端口地址72.6 8253A功能72.7 8253A控制字82.8 8253A工作方式8第三章詳細設計103.1 硬件設計103.2 軟件設計13第四章程序調試14第五章總結14第六章參考文獻15第七章附錄167.1 源代碼167.2 各個音符的對應頻率18第一章 課程設計的任務和目的1.1 課程設計任務本課程設計題目是:設計并實現一個音樂播放器。1. 自己選用芯片

2、和其它的硬件。2. 自行設計電路并使用匯編語言編寫程序完成音樂播放器功能。3. 利用8253作為音階頻率發(fā)生器,對一段音樂進行編碼后存入音符表,程序中可調用音符表自動播放音樂,從中了解音樂播放的原理。4. 利用8253A和PC機,設計并實現簡易音樂播放器5. 使用匯編語言編寫音樂播放程序。6. 上機調試程序并聯機,利用試驗箱提供的揚聲器發(fā)聲。7. 完成實驗報告。1.2課程設計目的本課程設計注重提高學生應用能力、創(chuàng)新能力。在掌握了基本的實驗方法和實驗技能且理論教學完成的基礎上,要求學生通過一周的集中工作,初步鍛煉綜合運用所學知識的能力,通過討論與合作,完成一項完整的設計工作。更深入的了解微機芯片

3、的用法和程序的完成過程,調試方法及技巧。通過這個環(huán)節(jié)來加深對微機原理與接口技術所學內容的理解和融會貫通。設計音樂播放器主要目的:Ø 通過D/A裝換器產生模擬信號,在實驗平臺上實現簡易音樂播放器。Ø 了解利用數模轉換器產生音樂的基本方法。Ø 掌握定時/計數器8253A 的使用。第二章 課程設計基礎知識 2.1 定時/計數器8253A 在微機及控制系統(tǒng)中,經常要用到定時信號。如系統(tǒng)的日歷時鐘,動態(tài)存儲器刷新。對外部執(zhí)行機構控制時也需要定時中斷、定時檢測、定時查詢等。定時的方法主要是兩種:軟件定時:利用指令的執(zhí)行時間設計循環(huán)程序,使CPU 執(zhí)行延遲子程 序的時間就是定時

4、時間。缺點:執(zhí)行延遲時,CPU 一直被占用,降低了CPU 的效率。硬件定時:用計數器/定時器作為主要硬件,在軟件簡單指令的控制下產生精確的時間延遲。突出優(yōu)點為計數時不占用CPU 時間,如利用定時器/計數器產生中斷信號,可建立多作業(yè)環(huán)境,提高了CPU 效率。主要功能:(1)每片上有3 個獨立的16 位的減計數器通道。(2)對于每個計數器,都可以單獨作為定時器或計數器使用,并且都可以按照二進制或十進制來計數。(3)每個通道都有6 種工作方式,都可以通過程序設置或改變。(4)每個計數器的速率可高達2MHz。最高的計數時鐘頻率為26MHz。2.2 8253A內部結構8253的內部結構如圖所示,它主要包

5、括以下幾個主要部分:圖21 8253的內部結構(1)數據總線緩沖器實現8253與CPU數據總線連接的8位雙向三態(tài)緩沖器,用以傳送CPU向8253的控制信息、數據信息以及CPU從8253讀取的狀態(tài)信息,包括某時刻的實時計數值。(2)讀/寫控制邏輯控制8253的片選及對內部相關寄存器的讀/寫操作,它接收CPU發(fā)來的地址信號以實現片選、內部通道選擇以及對讀/寫操作進行控制。(3)控制字寄存器在8253的初始化編程時,由CPU寫入控制字,以決定通道的工作方式,此寄存器只能寫入,不能讀出。(4)計數通道0#、1#、2#:這是三個獨立的,結構相同的計數器/定時器通道,每一個通道包含一個16位的計數寄存器,

6、用以存放計數初始值,一個16位的減法計數器和一個16位的鎖存器,鎖存器在計數器工作的過程中,跟隨計數值的變化,在接收到CPU發(fā)來的讀計數值命令時,用以鎖存計數值,供CPU讀取,讀取完畢之后,輸出鎖存器又跟隨減1計數器變化。2.3 8253A外部引腳8253芯片是具有24個引腳的雙列直插式集成電路芯片,其引腳分布如圖所示。8253芯片的24個引腳分為兩組,一組面向CPU,另一組面向外部設備,各個引腳及其所傳送信號的情況,介紹如下:(1)D7D0:雙向、三態(tài)數據線引腳,與系統(tǒng)的數據線連接,傳送控制、數據及狀態(tài)信息。(2):來自于CPU的讀控制信號輸入引腳,低電平有效。(3):來自于CPU的寫控制信

7、號輸入引腳,低電平有效。(4):芯片選擇信號輸入引腳,低電平有效。圖21 8253的引腳(5)A1、A0:地址信號輸入引腳,用以選擇8253芯片的通道及控制字寄存器。(6)VCC及GND:+5V電源及接地引腳(7)CLKi:i=0,1,2,第i個通道的計數脈沖輸入引腳,8253規(guī)定,加在CLK引腳的輸入時鐘信號的頻率不得高于2.6MHZ,即時鐘周期不能小于380ns。(8)GATEi:i=0,1,2,第i個通道的門控信號輸入引腳,門控信號的作用與通道的工作方式有關。(9)OUTi:i=0,1,2,第i個通道的定時/計數到信號輸出引腳,輸出信號的形式由通道的工作方式確定,此輸出信號可用于觸發(fā)其它

8、電路工作,或作為向CPU發(fā)出的中斷請求信號。2.4 計數器內部結構每個計數器由一個16位可預置的減1計數器組成,計數初值可保存在16位的鎖存器中,該鎖存器只寫不能讀。在計數器工作時,初值不受影響,以便進行重復計數。圖中每個計數器有一個時鐘輸入端CLK作為計數脈沖源, 計數方式可以是二進制,計數范圍110000H,也可以是十進制,計數范圍165536。門控端GATE用于控制計數開始和停止。輸出OUT端當計數器計數值減到零時,該端輸出標志信號 。圖22 計數器內部結構2.5 8253A端口地址圖23 8253A端口地址2.6 8253A功能 8253 A既可作定時器又可作計數器: (1) 計數:

9、計數器裝入初值后,當GATE為高電平時,可用外部事件作為CLK 脈沖對計數值進行減1 計數,每來一個脈沖減1,當計數值減至0時,由OUT 端輸出一個標志信號。(2) 定時: 計數器裝入初值后,當GATE為高電平時,由CLK 脈沖觸發(fā)開始自動計數,當計數到零時,發(fā)計數結束定時信號。除上述典型應用外,8253A還可作頻率發(fā)生器、分頻器、實時鐘、單脈沖發(fā)生器等。2.7 8253A控制字圖24 8253A控制字說明 : (1) 8253 A每個通道對輸入CLK按二進制或二十進制從預置值開始減1計數,減到0時從OUT輸出一個信號。 (2) 8253 A編程時先寫控制字,再寫時間常數。2.8 8253A工

10、作方式 (1) 方式0:計數結束產生中斷方式 當寫入控制字后,OUT變?yōu)榈碗娖?,當寫入初值后立即開始計數,當計數結束時,變成高電平。 (2) 方式1:可編程單次脈沖方式 當初值裝入后且GATE由低變高時,OUT變?yōu)榈碗娖剑嫈到Y束變?yōu)楦唠娖健?(3) 方式2:頻率發(fā)生器方式 當初值裝入時,OUT變?yōu)楦?;計數結束,OUT變?yōu)榈?。該方式下如果計數未結束,但GATE為低時,立即停止計數,強制OUT變高,當GATE再變高時,便啟動一次新的計數周期。 (4) 方式3:方波發(fā)生器當裝入初值后,在GATE上升沿啟動計數,OUT 輸出高電平; 當計數完成一半時,OUT輸出低電平。圖25 方波圖方式3與方式2的

11、工作方式類似,也是在初始化完成后能重復循環(huán)計數,只是輸出的波形不同。<1> 計數過程 當把方式3的控制字寫入控制字寄存器后,輸出端OUT變成高電平,作為初始電平。再將計數初值寫入計數初值寄存器CR中,再經過一個時鐘周期,計數初值被移入計數執(zhí)行單元CE中,從下一個時鐘脈沖開始作減1 計數,方式3的計數過程分為兩種情況:第一種情況:計數初值為偶數,當作減1計數減到N/2時,輸出端OUT端變成低電平,減到0時,輸出端OUT變成高電平,并重新從初值開始新的計數過程。若GATE為高電平,則一直重復同樣的計數過程??梢姡敵龆薕UT輸出連續(xù)的方波,故稱方波發(fā)生器。第二種情況:計數初值為奇數,當

12、作減1計數減到(N+1)/2以后,輸出端OUT變成低電平,減到0時,輸出端OUT又變成高電平。并重新從初值開始新的計數過程。這時輸出端的波形為連續(xù)的近似方波。<2>門控信號的影響工作在方式3時,門控信號GATE的功能與工作方式2一樣,即GATE 為高電平時,允許計數;GATE為低電平時停止計數。GATE引腳上的信號從低電平跳到高電平時,將會重新把計數初值寄存器CR中的內容移入計數執(zhí)行單元CE中,并以新裝入的值重新開始計數。<3>新的計數初值對計數過程的影響如果在計數過程中寫入新的初值,而GATE信號一直維持高電平,則新的初值不會影響當前的計數過程,只有在計數結束后的下一

13、個計數周期,才按新的初值計數。若寫入新的初值后,遇到門控信號的上升沿,則結束現行的計數過程,從下一個時鐘脈沖下降沿開始按新的計數初值進行計數??梢姡ぷ髟诜绞?時,當計數初值為偶數,OUT端輸出連續(xù)的標準方波;當計數初值為奇數,在每個計數周期內,有(N+1)/2個周期輸出高電平,(N-1)/2個時鐘周期輸出低電平,OUT端輸出連續(xù)的近似的方波。 第三章 詳細設計3.1硬件設計音樂播放器用到相關硬件:(本課程設計主要在DVCC598JH微機仿真實驗系統(tǒng)實現)1. 定時/計數器8253A2. 揚聲器和喇叭驅動模塊3. 頻率發(fā)生芯片74LS393硬件連接: 定時/計數器8253A芯片模塊的CLK2接

14、時鐘頻率選擇模塊74LS393的T7端口,分頻器的頻率源為5000HZ。 定時/計數器8253A芯片模塊的GATE2接5V,提供高電平。 定時/計數器8253A芯片模塊的OUT2 接喇叭驅動驅動模塊的SIN 端口。 喇叭驅動驅動模塊的J5插座接揚聲器的J5插座。8253A的CLK2接分頻器74LS393(右上方)的T7插孔,分頻器的頻率源為5000。圖31 硬件連接框架圖圖32 揚聲器電路圖33 揚聲器J5插口如圖32為音響電路的控制輸入插口SIN,控制輸入信號經放大后接喇叭。圖34 74LS393引腳圖圖36 DVCC-598JH仿真實驗系統(tǒng)框圖3.2 軟件設計圖37 軟件流程圖music子

15、程序是音樂子程序,SI指向曲中的頻率,BP指向曲中的時間節(jié)拍。從SI的指向的音節(jié)表中取一個頻率,只要不是0,即有效就再讀取時間,然后調用speaker子程序,計算計數初值送入計數器,產生各種頻率信號,再送至揚聲器,根據所取的時間調用若干次延時子程序。這段時間揚聲器就發(fā)出該頻率的聲音,延時結束,再修改SI和BP,指向下一個頻率,重復上面的工作。播放兩首音樂后自動停止。第四章 程序調試把程序輸入PC機后,保存為.asm文件。啟用DVCC系統(tǒng): 建立匯編源程序. 建立連接。 編譯為目標文件 調試。 不通過,重新修改(語句錯誤、音調頻率不準、音調節(jié)拍不符合) 重新修改、調試。 正確運行。第五章 總結經

16、過一個星期的課程設計,完成任務的效果和預想中有很大的出入,雖然中間遇到了一些問題,但經過我們的努力,還是把問題給解決了。這次課程設計對我綜合運用所學知識的能力的提高有不小的幫助,之前做的實驗都是很簡單的編程,跟硬件結合也沒有這么復雜,實現的功能都比較簡單,可是這次要實現的功能相對來說比較復雜,要求掌握的知識比較全面。經過這次的課程設計,再一次的印證了理論來源于實踐,而實踐又能升華理論這一個觀點。 首先,要實現題目要求的功能并有所創(chuàng)新,我們必須全心地投入其中,養(yǎng)成一種敢于鉆研敢于創(chuàng)新的習慣。在把課程要求實現到實際中來的過程中,首先必須清楚明白地了解幾個參考程序的每一行的意思,這就需要敢于靜心鉆研

17、。為了把使得程序更加完整,就必須進行創(chuàng)新,這就需要敢于創(chuàng)新。 其次,通過課程設計,讓我在課本的基礎上,更深入的了解了各種芯片的用法和程序的完成過程,調試方法及技巧??傊?,這次的課程設計在很大程度上提升了我的動手能力了加深了我對理論知識的理解。第六章 參考文獻1.微機原理與接口技術(第二版) 人民郵電出版社 周明德主編2匯編語言程序設計 中國水利水電出版社 相偉主編3DVCC系列單片機微機仿真實驗指導書 啟東計算機廠有限公司著4.單片機接口技術 復旦大學出版社 王修才編著5單片機原理及其接口技術(第二版) 清華大學出版社 胡漢才編著6單片微機原理及應用 機械工業(yè)出版社 丁元杰主編7單片機原理及接

18、口技術(修訂版) 北京航空航天大學出版社 李朝青編著8單片機原理及應用 北京希望電子出版社 成都木馬科技編著9單片機原理及接口技術學習輔導 電子工業(yè)出版社 朱定華編著10單片微機接口與系統(tǒng)設計 哈工大出版社 高明編著11網上資料第七章 附錄7.1 源代碼CODE SEGMENTASSUME CS:CODEORG 1000H ;首地址START:JMP music ;跳轉進musicmusic: lea si,freq ;取freq的偏移地址lea bp,time ;取time的偏移地址Lop: mov di,si ;把si的內容放到dicmp di,0 ;0用于判斷是否結束歌曲je music

19、2 ;結束則跳轉mov bx,bp ;把bp的內容放到bxcall speakeradd SI,2 ;取下一頻率值add BP,2 ;取下一時間節(jié)拍值jmp Lop ;跳回lop循環(huán)music2: ;音樂2子程序 lea si,freq2 lea bp,time2Lop2: mov di,si cmp di,0 je fin ;music2結束后轉到fin關閉揚聲器 mov bx,bp call speaker add SI,2 add BP,2 jmp Lop2fin: mov al,ah ;寫回揚聲器端口61H out 61h,al;_-音樂子程序-_speakerprocpush ax

20、;保存堆棧push bxpush cxpush dxpush di;_初始化部分_ mov al,10110110B ;對計數器寫控制字,選計數器2,先寫低8位,后寫高8位。out 43h,al ;方式3(方波發(fā)生器)、雙字節(jié)寫和二進制計數方式寫到控制口mov dx,00h ;設置被除數mov ax,5000div di ; (DI)=頻率,商AL,余數AHout 42h,al ;先送LSB 最低有效位,42H為8253的通道2端口mov al,ahout 42h,al ;后送MSB 最高有效位wait1:mov cx,6 ;設循環(huán)次數6delay1:loop delay1dec bx ;循環(huán)

21、持續(xù)bx次,即傳進來的節(jié)拍時間jnz wait1;pop di ;恢復堆棧pop dxpop cxpop bxpop axretspeakerendp;_歌曲樂譜_;歌曲1:兩只老虎freq dw 2 dup(262,294,330,262) dw 2 dup(330,349,392) dw 2 dup(392,440,392,349,330,262) dw 2 dup(294,196,262),10 dup(-1), 0 ;歌曲頻率time dw 8 dup (10000) dw 2 dup (10000,10000,20000) dw 12 dup (9000) dw 6 dup(1800

22、0) ;歌曲時間節(jié)拍值 dw 10 dup(10000);歌曲2:Merry Christmasfreq2 dw 7 dup(330),392,262,294,330,4 dup(349),2 dup(330),330,294,294,262,294,392 dw 7 dup(330),392,262,294,330,4 dup(349),2 dup(330),392,392,349,294,262,0time2 dw 2 dup(25*400,25*400,50*400),4 dup(25*400),100*400,2 dup(25*400,25*400,50*400) dw 4 dup(2

23、5*400),2 dup(50*400),2 dup(25*400,25*400,50*400) dw 4 dup(25*400),100*400,2 dup(25*400,25*400,50*400),4 dup(25*400),100*400CODE ENDSEND START7.2 各個音符的對應頻率音符  頻率/HZ 半周期/us 音符 頻率/HZ 半周期/us低1DO  262     1908    #4FA#   

24、;740     0676#1DO#  277     1805   中5SO   784     0638低2RE  294     1700   #5SO#   831     0602

25、#2RE#  311     1608   中6LA   880     0568低3M   330     1516   #6LA#   932     0536低4FA  349  &#

26、160;  1433   中7SI   988     0506#4FA#  370     1350   高1DO   1046    0478低5SO  392     1276   #DO#&#

27、160;   1109    0451#5SO#  415     1205   高2RE   1175    0426低6LA  440     1136   #2RE#   1245    0402#6LA#  466     1072   高3M    1318&

溫馨提示

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

最新文檔

評論

0/150

提交評論