微機原理課程設(shè)計音樂演奏_第1頁
微機原理課程設(shè)計音樂演奏_第2頁
微機原理課程設(shè)計音樂演奏_第3頁
微機原理課程設(shè)計音樂演奏_第4頁
微機原理課程設(shè)計音樂演奏_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、學(xué) 院: 計算機科學(xué)技術(shù) 專 業(yè): 計算機科學(xué)與技術(shù)(工)班 級: 計10-1班姓 名: 學(xué) 號: 指導(dǎo)教師: 2013年3月10日微機原理與匯編語言課程設(shè)計任務(wù)書一、題目:音樂演奏二、設(shè)計的目的1. 了解PC機揚聲器系統(tǒng)的電路結(jié)構(gòu);2. 學(xué)習(xí)揚聲器發(fā)生的編程方法;3.掌握定時器/計數(shù)器8253的工作原理及編程方法。三、設(shè)計要求1 用菜單選擇樂曲,讓揚聲器按節(jié)拍演奏連續(xù)的音樂;2 至少三首歌曲,按下”O(jiān)”鍵第1首,按下”E”鍵第2首,按下”T”鍵第3首,按下”Q”鍵推出。四、設(shè)計內(nèi)容采用PC系列微機演奏3首(或以上)音樂。五、課程設(shè)計工作量一般每人的程序量應(yīng)在100行有效程序行以上。不得抄襲,

2、否則給不及格成績。六、課程設(shè)計工作計劃2013年3月4日1-2節(jié) 指導(dǎo)教師講課,學(xué)生準(zhǔn)備文獻資料;2013年3月4日2013年3月8日 每人完成自己程序并能獨立演示;2013年3月8日下午驗收,學(xué)生撰寫課程設(shè)計報告。指導(dǎo)教師簽字:專業(yè)主任簽章:微機原理與匯編語言課程設(shè)計指導(dǎo)教師評語與成績指導(dǎo)教師評語:課程設(shè)計表現(xiàn)成績:課程設(shè)計驗收成績:課程設(shè)計報告成績:課程設(shè)計 總成績:指導(dǎo)教師簽字:2013年3月 日目錄第1章概述.11.1選題來源.11.2選題目的.11.3選題意義.1第2章總體設(shè)計方案.22.1硬件總體設(shè)計.22.1軟件總體設(shè)計.3第3章總體設(shè)計方案.33.1 硬件設(shè)計.33.1.1 8

3、253內(nèi)部結(jié)構(gòu).33.1.2 8253的控制字.53.2 軟件設(shè)計.53.2.1 音樂演奏.63.2.2 界面設(shè)計.7第4章調(diào)試與運行結(jié)果說明.8第5章課程設(shè)計總結(jié).8第6章謝啟.9參考文獻.10附錄.11第1章 概述1.1選題來源音樂是我們精神生活必不可缺的一部分,它遍布在我們生活的每一個角落。運動時,上網(wǎng)時,看書時我們總是喜歡聽著音樂,它可以使我們的生活更有旋律性,節(jié)奏感,使我們更好的的陶冶情操,養(yǎng)性怡情,讓我們的生活富有活力。21世紀(jì)是信息時代,掌握堅實計算機專業(yè)知識,是我們計算機專業(yè)學(xué)生所必須做到的,匯編語言開發(fā)是機算計應(yīng)用技術(shù)的一項內(nèi)容,我們的老師高瞻遠(yuǎn)矚的為我們提供了音樂演奏這個課

4、題,不僅可以使我們更好的夯實我們的專業(yè)知識,還讓我們掌握了一些基于PC機音樂播放的前沿技術(shù)。所以我選擇這個課題進行深入研究。1.2選題目的本設(shè)計的主要目的在于:鍛練學(xué)生的匯編語言獨立開發(fā)能力,對計算機內(nèi)部的8253芯片和8255芯片的工作原理有更深入的了解,提升學(xué)生的專業(yè)綜合技能。其次,本設(shè)計還培養(yǎng)了學(xué)生的發(fā)現(xiàn)問題并解決問題的能力。最終,學(xué)生的綜合素質(zhì)得到了進一步提升,為自己順利與社會接軌做好準(zhǔn)備。1.3選題意義開發(fā)音樂播放課題的過程,我們對匯編語言的開發(fā)有了更進一步的理解,讓我們的邏輯思維得到加強,此外我們對8253和8255有了更深的認(rèn)識。(1)、理論上的意義在對8253和8255知識的研

5、究,完成音樂播放盒的設(shè)計,要用到匯編語言寫程序和對芯片數(shù)據(jù)手冊等有關(guān)資料的查詢。此項設(shè)計是考驗我們綜合知識應(yīng)用能力,理論聯(lián)系實際的能力,真正的做到學(xué)以致用,為今后的學(xué)習(xí),走向社會,走向崗位做了一定的鋪墊。(2)、實踐上的意義 此課題開發(fā),激發(fā)了我們對匯編語言學(xué)習(xí)和應(yīng)用的興趣,提升了我們的動手能力,對新知識、新技術(shù)的學(xué)習(xí)和接受能力,從時間角度講是自己四年大學(xué)生活不可多得的一次鍛煉。第2章 總體設(shè)計方案2.1硬件總體設(shè)計圖2-1 硬件設(shè)計總電路圖系統(tǒng)運行,通過8253的工作方式2產(chǎn)生方波信號,由8255接收方波信號并驅(qū)動揚聲器發(fā)出聲音,進而根據(jù)程序設(shè)定的頻率和音符發(fā)出規(guī)則的音樂。2.1軟件總體設(shè)計

6、圖2-2 程序流程圖人機交互包括屏幕顯示提示語以及人工輸入相應(yīng)參數(shù),主要應(yīng)用到BIOS的10H號中斷調(diào)用以及DOS的21H號中斷調(diào)用。BIOS的10H號中斷調(diào)用用于顯示器驅(qū)動,設(shè)置顯示模式和光標(biāo)位置;DOS的21H號中斷調(diào)用用于單字符輸入以及多字符輸出顯示。第3章 總體設(shè)計方案3.1 硬件設(shè)計3.1.1 8253內(nèi)部結(jié)構(gòu)8253的內(nèi)部結(jié)如圖3-1-1所示:圖3-1-1 8253內(nèi)部結(jié)構(gòu)圖8253讀/寫邏輯信號組合的功能以及各計數(shù)器通道、控制字寄存器在PC機的地址分配如表3-1-1所示: 表3-1-1 8253讀/寫邏輯信號組合的功能及地之分配 8253的控制字8253的控制字用于選擇計數(shù)器的通

7、道工作,三個通道可以同時工作,但是要分別進行初始化;用于規(guī)定讀/寫操作格式或類型,8253可以有8位的計數(shù)值或16位計數(shù)值,可以按2進制計數(shù)或按十進制計數(shù),8253共有六種工作方式,8253是由主機編程設(shè)定的,通過把一個8位控制字寫入8253的控制字寄存器,使8253按照某種規(guī)定的工作方式工作??刂谱值亩x如圖3-1-2所示:圖3-1-2 8253的控制字3.2 軟件設(shè)計音樂演奏實現(xiàn)的一個主要步驟是樂譜編程。通過相應(yīng)的頻率表將樂譜中對應(yīng)的音符轉(zhuǎn)化為計數(shù)器的計數(shù)初值,節(jié)奏通過延時程序轉(zhuǎn)化為對喇叭發(fā)音時間的控制,從而實現(xiàn)音符和節(jié)拍的數(shù)字化。利用硬件實現(xiàn)頻率計數(shù)和延時時間的控制,利用8253-5定時

8、/計數(shù)器芯片和8255A并行I/O接口芯片。使8253的一個通道工作在“方波發(fā)生器”模式,實現(xiàn)對頻率的計數(shù);利用8255A的PB3端口實現(xiàn)發(fā)聲時間的計數(shù)控制。這樣可以精確的控制時間,減少CPU的開支。該方案的優(yōu)點是控制精度提高,同時也減少CPU的開支。缺點是硬件開銷比較多。音樂演奏在此課題開發(fā)中,我設(shè)定沒拍時間為12,主要的高中低音符參照表3-2-1制作:表3-2-1 音符表:表3-2-1 音符頻率程表低音頻率中音頻率高音頻率1262152311046229425872117533303659313184349469841397539257845156864406880617607494798

9、871975一首樂曲由若干音符組成,一個音符對應(yīng)一個頻率。將與一個頻率對應(yīng)的計數(shù)器初值寫入2號計數(shù)器(端口地址為42H),揚聲器就發(fā)出相應(yīng)的音調(diào),計數(shù)器初值的計算公式:計數(shù)器初值=1193182/輸出頻率其中,1193182Hz轉(zhuǎn)換成十六進制為12348CH,因此在打開揚聲器的條件下,執(zhí)行下列程序段即可發(fā)出與輸出頻率對應(yīng)的音調(diào)。mov al,0b6hout 43h,almovdx,12hmovax,34DCHdivdiout42h,almoval,ahout42h,al in al,61hmovah,al;保存端口b的狀態(tài) or al,03h out 61h,al;將PB0,PB1設(shè)為3.2.

10、2 界面設(shè)計音樂盒的界面如圖3-2-1所示:圖3-2-1 音樂播放盒界面界面顯示應(yīng)用了int 21h里的第9號功能。在界面中主要顯示了三首音樂名字分別為諾恩吉雅、春暖花開和美麗的草原我的家,播放的快捷鍵分別為1、2和3,并提示播放。主現(xiàn)實現(xiàn)程序:welcome db ' Quyanbo Curriculum design - Music Box ',0dh,0ah,0dh,0ah,'$'we1 db ' *',0dh,0ah,0dh,0ah,'$'we2 db ' * Press 1 to choose play <

11、<NuoEnJiYa>> *',0dh,0ah,0dh,0ah,'$'we3 db ' *',0dh,0ah,0dh,0ah,'$'we4 db ' * Press 1 to choose play <<ChunNuanHuaKai>> *',0dh,0ah,0dh,0ah,'$'we5 db ' *',0dh,0ah,0dh,0ah,'$'we6 db ' * Press 1 to choose play <<M

12、eiLiDeCaoYuanWoDeJia>> *',0dh,0ah,0dh,0ah,'$'we7 db ' *',0dh,0ah,0dh,0ah,'$'welcome1 db ' Please enter 1, 2, or 3 to choose songs!',0dh,0ah,0dh,0ah,'$'當(dāng)音樂播放時屏幕會如圖3-2-2所示:圖 3-2-1播放界面主要實現(xiàn)程序:playing db ' <<NuoEnJiYa>> is playing.',0d

13、h,0ah,0dh,0ah,'$'playing1 db ' <<ChunNuanHuaKai>> is playing.',0dh,0ah,0dh,0ah,'$'playing2 db ' <<MeiLiDeCaoYuanWoDeJia>> is playing.',0dh,0ah,0dh,0ah,'$'第4章 調(diào)試與運行結(jié)果說明在調(diào)試過程中,我遇到了很多的錯誤,其中最令我記憶深刻的是越界問題,經(jīng)過幾天的查閱資料,我終于解決了該問題。程序運行結(jié)果如4-1所示:圖4-

14、1 音樂盒程序運行結(jié)果第5章 課程設(shè)計總結(jié)在這次課程設(shè)計中,對匯編應(yīng)用程序理論知識有了系統(tǒng)的學(xué)習(xí),在學(xué)習(xí)知識的同時還明白了閱歷的重要,在平時中應(yīng)該查找大量資料,不懈的努力和獨立思考的能力,雖然這次的五子棋是一個比較簡單的程序,但從中我學(xué)會了很多學(xué)習(xí)的方法,受益匪淺,面對以后的挑戰(zhàn)只有不斷的學(xué)習(xí)和實踐。第6章 謝啟在此次課程設(shè)計伊始,孫老師為我們提供了課題而且還不辭勞苦的為我們講解了各個課題的具體思路,著手點和一些專業(yè)知識,極大的補充了我們的知識,激發(fā)了我們的積極性。在課程設(shè)計驗收之際,孫老師還為我們講解了我們的不足,并為我們提出了改進的方向。在此我向?qū)O老師表示誠摯謝意。參考文獻1 孫

15、海,葛建梅.大學(xué)計算機基礎(chǔ)M. 北京:中國電力出版社,2011.2 錢曉捷. 微機原理與接口技術(shù)(第4版)M. 北京:機械工業(yè)出版社,2008. 附錄:datasegment LO1 equ 262 ;音符宏定義LO2equ 294LO3equ 330LO4equ 349LO5equ 392LO6equ 440LO7equ 494MID1equ 523MID2equ 587MID3equ 659MID4equ 698MID5equ 784MID6equ 880MID7equ 988HI1 equ 1046HI2 equ 1175HI3 equ 1318H

16、I4 equ 1397HI5 equ 1568HI6equ 1760HI7equ 1975music_freq dw MID6,HI2,HI1,MID6,MID5,MID3dw HI2,HI5,HI3dw HI2,HI3,HI6,HI5,HI3,HI2,HI1,MID6dw HI1,HI3,MID2dw HI1,HI2,HI3,HI3,HI5,MID6dw MID5,MID6,HI1dw MID5,MID6,HI2,HI1,MID6,MID5,MID3dw MID5,HI1,MID6music_lenth dw 12,6,6,6,6,12dw 6,6,36dw 6,6,6,6,6,6,6,6d

17、w 6,6,36dw 6,6,12,6,6,12dw 6,6,12,12,12dw 6,6,6,6,6,6,12dw 6,6,12,12,12music_freq1 dw MID2,MID2,MID2,MID3,MID2,MID1dw MID2,MID1,LO6,LO6,MID1dw MID2,MID5,MID3,MID2,MID1,MID2dw LO6,MID2,MID2,MID2,MID3dw MID3,MID2,MID1,LO6,LO5,MID1dw MID2,MID2,MID1,LO6,LO5dw LO5dw MID2,MID5,MID2,MID3,MID2,MID1dw MID2,M

18、ID1,LO6,LO6,MID1dw MID2,MID5,MID3,MID2,MID1,MID2dw LO6,MID2,MID2,MID2,MID3dw MID2,MID2,MID1,LO6,LO6,MID1dw MID2,MID2,MID2,MID1,LO6,LO6,LO5dw LO5dw MID1,LO5,MID1,MID2dw MID2dw MID4,MID4,MID4,MID4,MID4,MID4,MID3,MID2dw MID3,MID5,MID5,MID2,MID3,MID2,MID1dw MID2,MID2,MID2,MID1,LO6,LO6,MID1dw MID2,MID2,M

19、ID2,MID6,MID2dw MID5music_lenth1 dw 12,12,9,3,6,6dw 18,6,12,6,6 dw 12,12,9,3,6,6dw 12,12,6,12,6dw 6,12,6,12,6,6dw 12,12,6,6,6,6dw 24dw 12,12,6,6,6,6dw 18,6,12,6,6dw 12,12,9,3,6,6dw 12,12,6,12,6dw 6,6,6,6,12,6,6dw 12,6,6,6,6,6,6dw 24dw 18,6,12,6,6dw 24dw 9,3,6,6,9,3,6,6dw 6,6,12,9,3,6,6dw 6,6,6,6,12,

20、6,6dw 12,12,12,6,6dw 24music_freq2 dw LO5,LO5,LO5,MID1,MID2,MID3dw MID5,HI1dw MID6,MID5,MID6,MID3,MID2dw MID1dw MID3,MID3,MID5,MID6,HI1dw HI1,HI6,MID5,MID6dw MID5dw MID5dw MID3,MID3,MID5,MID6,HI1dw HI1,MID6,MID5dw MID6,MID5,MID3,MID5dw MID3,MID5dw LO5,LO5,MID1,MID2,MID3dw MID5,MID3,MID2,MID3dw MID2d

21、w MID2dw MID3,MID3,MID5,MID6,HI1dw MID1,MID6,MID5dw MID6,MID5,MID3,MID5dw MID3,MID5dw MID6,MID5,MID3,MID2,MID3,MID5dw MID5,MID6dw LO5,LO6,MID1,MID3,MID2dw MID1dw MID1,MID2,MID3,MID5dw MID5dw MID5,MID3,MID5,MID6dw HI1,HI2dw HI2,HI1,MID6,HI1dw MID6dw MID6,MID5,MID6,HI1dw MID6,MID5,MID6dw MID3,MID2,MID

22、1,LO6dw LO5,MID5dw MID3,MID2,MID1,MID2dw MID1dw MID1,MID3,MID5,MID6dw MID3,MID5,MID6,HI1dw HI1,HI1,HI1,HI1music_lenth2 dw 6,3,3,6,3,3dw 18,6dw 6,3,3,6,6dw 24dw 6,6,6,3,3dw 12,6,3,3dw 24dw 24dw 6,6,6,3,3dw 18,3,3dw 12,6,3,3dw 12,6dw 6,6,6,3,3dw 12,6,3,3dw 24dw 24dw 6,6,6,3,3dw 18,3,3dw 12,6,3,3dw 18,

23、6dw 6,3,3,6,3,3dw 18,6dw 6,3,3,6,6dw 24dw 6,6,9,3dw 24dw 12,6,3,3dw 18,6dw 12,6,3,3dw 24dw 12,6,3,3dw 18,3,3dw 9,3,6,6dw 12,6,6dw 12,6,3,3dw 24dw 12,6,3,3dw 12,6,3,3dw 24,24,24blank db 0dh,0ah,0dh,0ah,'$'welcome db ' Quyanbo Curriculum design - Music Box ',0dh,0ah,0dh,0ah,'$'

24、we1 db ' *',0dh,0ah,0dh,0ah,'$'we2 db ' * Press 1 to choose play <<NuoEnJiYa>> *',0dh,0ah,0dh,0ah,'$'we3 db ' *',0dh,0ah,0dh,0ah,'$'we4 db ' * Press 1 to choose play <<ChunNuanHuaKai>> *',0dh,0ah,0dh,0ah,'$'we5 d

25、b ' *',0dh,0ah,0dh,0ah,'$'we6 db ' * Press 1 to choose play <<MeiLiDeCaoYuanWoDeJia>> *',0dh,0ah,0dh,0ah,'$'we7 db ' *',0dh,0ah,0dh,0ah,'$'welcome1 db ' Please enter 1, 2, or 3 to choose songs!',0dh,0ah,0dh,0ah,'$'playing db

26、 ' <<NuoEnJiYa>> is playing.',0dh,0ah,0dh,0ah,'$'playing1 db ' <<ChunNuanHuaKai>> is playing.',0dh,0ah,0dh,0ah,'$'playing2 db ' <<MeiLiDeCaoYuanWoDeJia>> is playing.',0dh,0ah,0dh,0ah,'$'data endscode segment assume c

27、s:code,ds:datastart: mov ax,data mov ds,axbegin: mov ah,0;設(shè)置顯示方式用于清屏mov al,3int 10hlea dx,blank;顯示blank緩存區(qū)中的字符mov ah,9int 21hlea dx,welcome ;顯示welcone緩存區(qū)中的字符mov ah,09hint 21hlea dx,we1 ;顯示we1緩存區(qū)中的字符mov ah,09hint 21hlea dx,we2 ;顯示we2緩存區(qū)中的字符mov ah,09hint 21hlea dx,we3;顯示we3緩存區(qū)中的字符mov ah,09hint 21hlea dx,we4 ;顯示we4緩存區(qū)中的字符mov ah,09hint 21hlea dx,we5 ;顯示we5緩存區(qū)中的字符mov ah,09hint 21hlea dx,we6 ;顯示we6緩存區(qū)中的字符mov ah,09hint 21hlea dx,we7;顯示we7緩存區(qū)中的字符mov ah,09hint 21hlea dx,welcome1;顯示welcome1緩存區(qū)中的字符mov ah,09hint 21hmov ah,0;從鍵盤接收字符返回al為字符碼,ah為掃描碼int 16hcmp ah,01h jz stopcmpal,'1'jemusic

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論