接口課程設(shè)計菜單選擇的音樂程序設(shè)計與實現(xiàn)
《接口課程設(shè)計菜單選擇的音樂程序設(shè)計與實現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《接口課程設(shè)計菜單選擇的音樂程序設(shè)計與實現(xiàn)(16頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、遼 寧 工 業(yè) 大 學 課 程 設(shè) 計 說 明 書(論 文) 目錄 第1章 課程設(shè)計簡介 1 1.1課程設(shè)計題目 1 1.2課程設(shè)計目的 1 1.3課程設(shè)計設(shè)備 1 1.4課程設(shè)計任務(wù) 1 1.5課程設(shè)計要求 1 第2章 程序設(shè)計 2 2.1程序設(shè)計方法 2 2.2 音樂菜單界面設(shè)計 2 2.3音樂程序設(shè)計 5 2.3.1音符與頻率值 5 2.3.2 選擇音樂 5 2.3.3設(shè)計 6 第3章 總結(jié) 13 參考文獻 14 致謝 15
2、 第1章 課程設(shè)計簡介 1.1課程設(shè)計題目 菜單選擇的音樂程序設(shè)計與實現(xiàn)(一) 1.2課程設(shè)計目的 掌握PC系列微機發(fā)聲系統(tǒng)的工作原理,掌握模塊化程序設(shè)計的方法。 1.3課程設(shè)計設(shè)備 硬件環(huán)境:IBM-PC機,硬盤40G以上,內(nèi)存256M以上,打印機等。 軟件環(huán)境:Windows 2000 Server或Windows XP Server操作系統(tǒng),MASM匯編軟件。 1.4課程設(shè)計任務(wù) (1) 如下圖所示,設(shè)計一個簡單的音樂程序菜單界面,用戶鍵入菜單項序號選擇菜單項。 1.MUSIC----
3、------1 2.MUSIC----------2 3.MUSIC----------3 4.RETURN DOS (2) 限定使用模塊化程序設(shè)計的方法,最少組織三首歌曲,每首歌曲只反復演唱幾個小節(jié)即可。 (3) 三首歌曲只能使用一個音樂控制程序。 1.5課程設(shè)計要求 (1)選擇音樂菜單界面的設(shè)計要求采用兩種方法,一種是用戶鍵入菜單項序號選擇菜單項,一種是用彩色條選擇菜單項。 (2)首先要求設(shè)計與實現(xiàn)一首歌曲演唱幾個小節(jié),然后設(shè)計與實現(xiàn)該首歌曲重復演唱,最后組織三首不同歌曲用同一個音樂控制程序選擇。要求每名學生組織的歌曲不同于其他同學。 第2章 程序設(shè)計 2.1程序設(shè)計
4、方法 2.1.1模塊化程序設(shè)計方法的指導思想 如果待解決的問題比較簡單,所編制的程序又不大時,就可以將整個程序放在一個模塊中。但對大而復雜的設(shè)計任務(wù),不可能由一個人用一個程序來實現(xiàn)。 為了解決這些問題,必須采用自頂向下,逐步求精的模塊化和結(jié)構(gòu)化的設(shè)計方法,即將一個大而復雜的設(shè)計任務(wù)按其需要實現(xiàn)的主要功能分解為若干相對獨立的模塊,并確定好各模塊之間的調(diào)用關(guān)系和參數(shù)傳遞方式,對其中的公共部分還可以抽出來作為獨立的公共子程序模塊供大家調(diào)用,然后可以將這些模塊分配給個人,每個人在設(shè)計自己的一部分時,還可以采用自頂向下,逐步求精的方法進一步細化,分解成一些更小的模塊,并將各個模塊的功能逐步細化為一
5、系列的處理步驟或某種程序設(shè)計語言的語句,分別編寫、調(diào)試,最后再將它們的目標模塊連接裝配成一個完整的整體。 2.2 音樂菜單界面設(shè)計 程序流程框圖如下: N Y N Y N Y N Y 主模塊 顯示菜單框 顯示選擇字符串 等待鍵輸入 鍵值=‘4’ 鍵值=‘1’ 鍵值=‘2’ 鍵值=‘3’ 返回DOS 轉(zhuǎn)MUSICI1模塊 轉(zhuǎn)MUSICI2模塊 轉(zhuǎn)MUSICI3模塊 圖一 音樂菜單界面設(shè)計流程圖 源程序代碼如下: PUBLIC S
6、TATRO EXTRN START1:FAR,SRART2:FAR,SRART3:FAR DISP MACRO YYXX,VAR MOV AH,2 MOV BH,0 MOV DX,YYXX INT 10H MOV AH,9 MOV DX,0FFSET VAR INT 21H ENDM
7、 DATA0 SEGMENT L1 DB MENU , 0AH,0DH DB xxxxxxxxxxxxxxxx ,0AH,0DH DB x x ,0AH,0DH DB x 1.MUSIC1 x ,0AH,0DH DB
8、 x 2.MUSIC2 x ,0AH,0DH DB x 3.MUSIC2 x ,0AH,0DH DB x 4.RETURN DOS x ,0AH,0DH DB xxxxxxxxxxxxxxxx ,0AH,0DH,$ L9 DB ’
9、 CHOICE(1,2,3,4): ,$ DATA0 ENDS CODE0 SEGMENT ASSUME CS:CODE0,DS:DATA0 ;----------------------------------------- START0: MOV AX,DATA0 MOV DS,AX MOV AX,2 INT 10H DISP 0800H,L1 ;顯示菜單框圖 DP: DISP 0D00H,L9 ;-------
10、--------------------------------------- MOV AH,1 INT 21H 等待鍵入 CMP AL,4 JE RT CMP AL,1 JE STRT1 CMP AL,3 JE STRT2 CMP AL,3 JE STRT3
11、 JMP DP STRT: JMP START1 STRT: JMP START2 STRT: JMP START3 RT: MOV AH,4CH INT 21H CODE ENDS END START0 2.3音樂程序設(shè)計 音符 4 5 6 7 1 2 3 4 5 6 7 1 2 3 4 5 6 7 . 1 頻率 175 196 220 247 262 294 330 349 392
12、 440 494 524 588 660 698 784 880 988 1048 2.3.1音符與頻率值 2.3.2 選擇音樂 MUSIC-----1的簡譜 頻率以及時間對應(yīng) 頻率:440,440,440,392,440,1048,1048,294, 時間:20 ,20 ,20 ,10 ,10 ,20 ,20 ,40, 頻率:330,1048,294,294,1048,440,440 時間:20 ,20 ,20 ,10 ,10 ,20 ,60 MUSIC-----2的簡譜 頻率以及時間的對應(yīng)
13、 頻率:660,660,784,880,988,784,660,588, 時間:20 ,20 ,20 ,20 ,20 ,20 ,20 ,20 , 頻率:660,588,660,524,880,880,784 時間:20 ,20 ,20 ,20 ,30 ,10 ,40 MUSIC-----3的簡譜 頻率以及時間的對應(yīng): 頻率:880,524,880,880,660,588,660,784, 時間:40 ,30 ,10 ,30 ,10 ,10 ,10 ,20 , 頻率:880,880,660,880,524,880,880 時間:30 ,10 ,10 ,10 ,10
14、,10 ,80 2.3.3設(shè)計 MUSIC1 流程圖如下: 設(shè)置顯示方式 MUSIC1 建音符頻率表 建音符時間表 音符頻率表指針DI 音符時間表指針DI 轉(zhuǎn)發(fā)聲模塊 圖二 MUSIC1 流程圖 MUSIC1 源程序代碼如下: PUBLIC START1 ;MUSIC 模塊 EXTRN START4;FAR DATA1 SEGMENT MUSIC DW 440,440,440,392,440,1048,1048,294
15、 DW 330,1048,294,294,1048,440,440,0FFFFH TIME1 DB 20,20,20,10,10,20,20,40,20,20,20,10,10,20,60 DATA1 ENDS CODE1 SEGMENT ASSUME CS:CODE1,DS:DATA1 START1: MOV AX,DATA1 MOV DS,AS MOV AX,2 INT 10H MOV SI,OFFSET MUS
16、IC1 MOV DI,OFFSET TIME1 JMP START4 CODE1 ENDS END MUSIC2流程圖如下: 設(shè)置顯示方式 MUSIC2 建音符頻率表 建音符時間表 音符頻率表指針DI 音符時間表指針DI 轉(zhuǎn)發(fā)聲模塊 圖三 MUSIC2流程圖 MUSIC2 源程序代碼如下: PUBLIC START2 ;MUSIC2 EXTRN START4:FAR DATA2 SEGMENT MUS
17、IC2 DW 660,660,784,880,988,784,660,588 DW 660,588,660,524,880,880,784,0FFFFH TIME2 DB 20,20,20,20,20,20,20,20,20,20,20,20,30,10,40 DATA2 ENDS CODE2 SEGMENT ASSUME CS:CODE2,DS:DATA2 START2: MOV AX,DATA2 MOV DS,AX MOV AX,2 INT 10H MOV SI,0FFSET M
18、USIC2 MOV DI,0FFSET TIME2 JMP START4 CODE2 ENDS END MUSIC3流程圖如下: 設(shè)置顯示方式 MUSIC3 建音符頻率表 建音符時間表 音符頻率表指針DI 音符時間表指針DI 轉(zhuǎn)發(fā)聲模塊 圖四 MUSIC3流程圖 MUSIC3 源程序代碼如下: PUBLIC START3 EXTRN START4:FAR DATA3 SEGMENT MUSIC3
19、 DW 880,524,880,880,660,588,660,784 DW 880,880,660,880,524,880,880,0FFFFH TIME3 DB 40,30,10,30,10,10,10,20,30,10,10,10,10,10,80 DATA3 ENDS CODE3 SEGMENT ASSUME CS:CODE3,DS:DATA3 START3: MOV AX,DATA3 MOV DS,AX
20、 MOV AX,2 IN 10H MOV SI,OFFSET MUSIC3 MOV DI,OFFSET TIME3 JMP START4 CODE3 ENDS END 發(fā)聲模塊流程圖如下: 發(fā)聲模塊 設(shè)置顯示方式 顯示提示信息 SI、DI 壓入堆棧 取出堆棧中的SI、DI的值 再次將SI、DI壓入堆棧 取音符頻率 頻率=FFFH? 計音符的8254通道2的計數(shù) 值 送8254的控制字 送82
21、54的計數(shù)值 打開發(fā)聲 通道 延遲(音符發(fā)聲 持續(xù)時間) 關(guān)閉發(fā)聲 通道 SI+2—〉SI 、DI+1—〉DI 又鍵入? 轉(zhuǎn)主模塊 延遲 Y N N Y 圖五 發(fā)聲模塊流程圖 發(fā)聲源程序代碼如下: PUBLIC START4 EXTRN START0:FAR DISP MACRO YYXX,VAR MOV AH,2 MOV BH,0 MOV DX,YYXX INT 10H MOV AH,09 MOV DX,OFFSET VAR INT 21H ENDM ST
22、ACK SEGMENT STA DW 50 DUP(?) TOP EQU LENGTH STA STACK ENDS DATA4 SEGMENT MESS DB STRIKE ANY KEY,RETURN TO MENU !,OAH,ODH,$ DATA4 ENDS CODE4 SEGMENT ASSUME CS:CODE4,DS:DATA4 START4: PUSH DS MOV AX,DATA4 MOV DS,AX MOV AX,2 INT 10H DISP 1000H,MESS
23、POP DS PUSH SI PUSH DI PLAY: POP DI POP SI PUSH SI PUSH DI PLY1: MOV AX,WORD PTR [SI] CMP AX,OFFFFH JZ PLAY_END MOV DX,12H MOV AX,34EOH DIV WORD PTR [SI] MOV BX,AX MOV AL,0B6H OUT 43H,AL MOV AX,BX OUT
24、42H,AL MOV AL,AH OUT 42H,AL IN AL,61H OR AL,03H OUT 61H,AL CALL DELAY IN AL,61H AND AL,0FCH OUT 61H,AL ADD SI,02 INC DI JMP PLY1 PLAY_END: MOV AH,01 INT 16H JZ WAIT1 POP DI POP SI JMP START0 WAIT1: PUSH AX PUSH CX MOV AX,06
25、00H WT1: MOV CX,0FFFFH WT2: LOOP WT2 DEC AX JNZ WT1 POP CX POP AX JMP PLAY DELAY PROC NEAR PUSH AX PUSH CX MOV AL,[DI] DLY: MOV CX,0060 DLY1: MOV BX,0FFFFH DLY2: DEC BX JNZ DLY2 LOOP DLY1 DEC AL JNZ DLY POP
26、 CX POP AX RET DELAY ENDP CODE4 ENDS END 第三章 總結(jié) 這次課程設(shè)計完成后,體會頗多,不斷學習新的知識,吸取經(jīng)驗,達到進步的目的。在課程設(shè)計中,通過努力以及相關(guān)圖書資料的幫助,逐漸熟悉了微型機與接口的應(yīng)用知識及其相關(guān)的操作。 在這次課程設(shè)計過程中,我學會了利用匯編程序?qū)崿F(xiàn)軟件的具體功能,同時對語言的編寫能力有了進一步加強,在指導教師的悉心講解下,我解了的在編寫程序中遇到的種種困難,例如:如何利用匯編程序來實現(xiàn)音樂界面的設(shè)計,怎樣通過程序來實現(xiàn)音樂的播放等等,都在老師的指導下一一解決,是我從中受到很大啟發(fā)。 通過
27、本次課程設(shè)計,讓我有機會將平時所學到的書本知識得以實踐化,檢驗了本身對知識了解程度的不足,也從中學到了很多知識點與應(yīng)用技術(shù)。 這里我衷心的感謝王老師的耐心指導! 參考文獻 [1] 雷曉平 .微型計算機原理與應(yīng)用.北京:電子工業(yè)出版社,2002年 [2] 周明德,張淑玲.80x86、80x87結(jié)構(gòu)與匯編語言程序設(shè)計.北京:清華大學出版社,1993年 [3] 周明德,蔣本珊.微機原理與接口技術(shù).北京:人民郵電出版社,2002年 [4] 鄭緯民,湯志中.計算機系統(tǒng)結(jié)構(gòu)(第二版).北京:清華大學出版社,
28、1998年 [5] 凌志浩 微機原理與接口技術(shù)教程與實訓 . 華東理工大學出版社,2005 [6] 齊志儒,高福祥.《匯編語言程序設(shè)計》(第三版).東北大學出版社, 2003.05 [7] 齊志儒.《匯編語言程序設(shè)計實驗教程》.東北大學出版社,2003 [8] 沈美明,溫冬嬋.《IBM-PC 匯編語言程序設(shè)計》.清華大學出版社,2004 [9] 張君,齊志儒.《匯編語言程序設(shè)計題集》.東北大學出版社,2003 [10] 沈美明,溫冬嬋,張赤紅.《IBM-PC 匯編語言程序設(shè)計實驗教程》.清華大學出版社, 2006
29、 致謝 在課設(shè)完成之際,我要特別感謝我的指導老師王老師的熱情關(guān)懷和悉心指導。在進行課設(shè)的過程中,王老師傾注了大量的心血和汗水,無論是在課設(shè)的選題,還是在進行課設(shè)過程中,我都得到了王老師悉心細致的教誨和無私的幫助,特別是她廣博的學識、深厚的學術(shù)素養(yǎng)、嚴謹?shù)闹螌W精神和一絲不茍的工作作風使我終生受益,在此表示真誠地感謝和深深的謝意。 在課設(shè)過程中,也得到了許多同學的寶貴建議,同時還得到許多同學的支持和幫助,在此一并致以誠摯的謝意。 在此衷心感謝所有關(guān)心、支持、幫助過我的良師益友。 15
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 噪聲危害和控制
- 英美短篇小 說Unit 4 A New Dress
- 10資本主義時代的曙光教學課件
- 葡萄溝PPT模版教學課件
- 第四章+厭氧生物處理課件
- 遼寧省燈塔市第二初級中學八年級語文下冊 20俗世奇人好嘴楊巴課件 新人教版
- 胖乎乎的小手--課件正式版
- 六年級科學上冊33《精彩紛呈__展示篇》-優(yōu)選課件1大象版
- 六年級數(shù)學上冊41比的意義課件2新人教版
- 人教版美術(shù)三上第8課《星空的聯(lián)想》課件
- 第三章-商事登記與商業(yè)賬簿課件
- 人教版小學數(shù)學一年級下冊《找規(guī)律》整理143508課件
- 人教版小學二年級數(shù)學下冊第三單元《平移與旋轉(zhuǎn)》課件6
- 西師版三上數(shù)學第3課時-一位數(shù)乘兩位數(shù)的筆算(不進位)課件
- (部編)人教版小學語文三年級上冊《18富饒的西沙群島》名師教學ppt課件