版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目錄第1章 課程設(shè)計(jì)簡(jiǎn)介11.1課程設(shè)計(jì)題目11.2課程設(shè)計(jì)目的11.3課程設(shè)計(jì)設(shè)備11.4課程設(shè)計(jì)任務(wù)11.5課程設(shè)計(jì)要求1第2章 程序設(shè)計(jì)22.1程序設(shè)計(jì)方法22.2 音樂(lè)菜單界面設(shè)計(jì)22.3音樂(lè)程序設(shè)計(jì)52.3.1音符與頻率值52.3.2 選擇音樂(lè)52.3.3設(shè)計(jì)6第3章 總結(jié)13參考文獻(xiàn)14致謝15第1章 課程設(shè)計(jì)簡(jiǎn)介1.1課程設(shè)計(jì)題目菜單選擇的音樂(lè)程序設(shè)計(jì)與實(shí)現(xiàn)(一)1.2課程設(shè)計(jì)目的掌握pc系列微機(jī)發(fā)聲系統(tǒng)的工作原理,掌握模塊化程序設(shè)計(jì)的方法。1.3課程設(shè)計(jì)設(shè)備硬件環(huán)境:ibm-pc機(jī),硬盤(pán)40g以上,內(nèi)存256m以上,打印機(jī)等。軟件環(huán)境:windows 2000 server或w
2、indows xp server操作系統(tǒng),masm匯編軟件。1.4課程設(shè)計(jì)任務(wù)(1) 如下圖所示,設(shè)計(jì)一個(gè)簡(jiǎn)單的音樂(lè)程序菜單界面,用戶(hù)鍵入菜單項(xiàng)序號(hào)選擇菜單項(xiàng)。1.music-12.music-23.music-34.return dos(2) 限定使用模塊化程序設(shè)計(jì)的方法,最少組織三首歌曲,每首歌曲只反復(fù)演唱幾個(gè)小節(jié)即可。(3) 三首歌曲只能使用一個(gè)音樂(lè)控制程序。1.5課程設(shè)計(jì)要求(1)選擇音樂(lè)菜單界面的設(shè)計(jì)要求采用兩種方法,一種是用戶(hù)鍵入菜單項(xiàng)序號(hào)選擇菜單項(xiàng),一種是用彩色條選擇菜單項(xiàng)。(2)首先要求設(shè)計(jì)與實(shí)現(xiàn)一首歌曲演唱幾個(gè)小節(jié),然后設(shè)計(jì)與實(shí)現(xiàn)該首歌曲重復(fù)演唱,最后組織三首不同歌曲用同一個(gè)
3、音樂(lè)控制程序選擇。要求每名學(xué)生組織的歌曲不同于其他同學(xué)。第2章 程序設(shè)計(jì)2.1程序設(shè)計(jì)方法2.1.1模塊化程序設(shè)計(jì)方法的指導(dǎo)思想如果待解決的問(wèn)題比較簡(jiǎn)單,所編制的程序又不大時(shí),就可以將整個(gè)程序放在一個(gè)模塊中。但對(duì)大而復(fù)雜的設(shè)計(jì)任務(wù),不可能由一個(gè)人用一個(gè)程序來(lái)實(shí)現(xiàn)。為了解決這些問(wèn)題,必須采用自頂向下,逐步求精的模塊化和結(jié)構(gòu)化的設(shè)計(jì)方法,即將一個(gè)大而復(fù)雜的設(shè)計(jì)任務(wù)按其需要實(shí)現(xiàn)的主要功能分解為若干相對(duì)獨(dú)立的模塊,并確定好各模塊之間的調(diào)用關(guān)系和參數(shù)傳遞方式,對(duì)其中的公共部分還可以抽出來(lái)作為獨(dú)立的公共子程序模塊供大家調(diào)用,然后可以將這些模塊分配給個(gè)人,每個(gè)人在設(shè)計(jì)自己的一部分時(shí),還可以采用自頂向下,逐步
4、求精的方法進(jìn)一步細(xì)化,分解成一些更小的模塊,并將各個(gè)模塊的功能逐步細(xì)化為一系列的處理步驟或某種程序設(shè)計(jì)語(yǔ)言的語(yǔ)句,分別編寫(xiě)、調(diào)試,最后再將它們的目標(biāo)模塊連接裝配成一個(gè)完整的整體。2.2 音樂(lè)菜單界面設(shè)計(jì)程序流程框圖如下: nynynyny主模塊 顯示菜單框顯示選擇字符串 等待鍵輸入鍵值=4鍵值=1鍵值=2鍵值=3 返回dos 轉(zhuǎn)musici1模塊 轉(zhuǎn)musici2模塊 轉(zhuǎn)musici3模塊 圖一 音樂(lè)菜單界面設(shè)計(jì)流程圖源程序代碼如下: public statro extrn start1:far,srart2:far,srart3:fardisp macro yyxx,var mov ah,2
5、 mov bh,0 mov dx,yyxx int 10h mov ah,9 mov dx,0ffset var int 21h endmdata0 segmentl1 db menu , 0ah,0dh db xxxxxxxxxxxxxxxx ,0ah,0dh db x x ,0ah,0dh db x 1.music1 x ,0ah,0dh db 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 choice(1,2,3
6、,4): ,$data0 endscode0 segmentassume cs:code0,ds:data0;-start0: mov ax,data0 mov ds,ax mov ax,2 int 10h disp 0800h,l1 ;顯示菜單框圖dp: disp 0d00h,l9;- 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 jmp dpstrt: jmp start1strt: jmp start2strt: jmp start3rt: mov ah
7、,4ch int 21hcode endsend start02.3音樂(lè)程序設(shè)計(jì)音符456712345671234567.1頻率17519622024726229433034939244049452458866069878488098810482.3.1音符與頻率值2.3.2 選擇音樂(lè)music-1的簡(jiǎn)譜頻率以及時(shí)間對(duì)應(yīng)頻率:440,440,440,392,440,1048,1048,294,時(shí)間:20 ,20 ,20 ,10 ,10 ,20 ,20 ,40,頻率:330,1048,294,294,1048,440,440時(shí)間:20 ,20 ,20 ,10 ,10 ,20 ,60music-2
8、的簡(jiǎn)譜頻率以及時(shí)間的對(duì)應(yīng)頻率:660,660,784,880,988,784,660,588,時(shí)間:20 ,20 ,20 ,20 ,20 ,20 ,20 ,20 ,頻率:660,588,660,524,880,880,784時(shí)間:20 ,20 ,20 ,20 ,30 ,10 ,40music-3的簡(jiǎn)譜頻率以及時(shí)間的對(duì)應(yīng):頻率:880,524,880,880,660,588,660,784,時(shí)間:40 ,30 ,10 ,30 ,10 ,10 ,10 ,20 ,頻率:880,880,660,880,524,880,880時(shí)間:30 ,10 ,10 ,10 ,10 ,10 ,802.3.3設(shè)計(jì)mus
9、ic1 流程圖如下: 設(shè)置顯示方式music1建音符頻率表建音符時(shí)間表音符頻率表指針di音符時(shí)間表指針di轉(zhuǎn)發(fā)聲模塊圖二 music1 流程圖music1 源程序代碼如下:public start1 ;music 模塊 extrn start4;fardata1 segmentmusic dw 440,440,440,392,440,1048,1048,294 dw 330,1048,294,294,1048,440,440,0ffffhtime1 db 20,20,20,10,10,20,20,40,20,20,20,10,10,20,60data1 endscode1 segmentass
10、ume cs:code1,ds:data1start1: mov ax,data1 mov ds,as mov ax,2 int 10h mov si,offset music1 mov di,offset time1 jmp start4code1 endsendmusic2流程圖如下: 設(shè)置顯示方式music2建音符頻率表建音符時(shí)間表音符頻率表指針di音符時(shí)間表指針di轉(zhuǎn)發(fā)聲模塊圖三 music2流程圖music2 源程序代碼如下:public start2 ;music2 extrn start4:fardata2 segmentmusic2 dw 660,660,784,880,988
11、,784,660,588 dw 660,588,660,524,880,880,784,0ffffhtime2 db 20,20,20,20,20,20,20,20,20,20,20,20,30,10,40data2 endscode2 segmentassume cs:code2,ds:data2start2: mov ax,data2 mov ds,ax mov ax,2 int 10h mov si,0ffset music2 mov di,0ffset time2 jmp start4code2 endsendmusic3流程圖如下: 設(shè)置顯示方式music3建音符頻率表建音符時(shí)間表音
12、符頻率表指針di音符時(shí)間表指針di轉(zhuǎn)發(fā)聲模塊 圖四 music3流程圖music3 源程序代碼如下:public start3extrn start4:fardata3 segmentmusic3 dw 880,524,880,880,660,588,660,784 dw 880,880,660,880,524,880,880,0ffffhtime3 db 40,30,10,30,10,10,10,20,30,10,10,10,10,10,80data3 endscode3 segmentassume cs:code3,ds:data3start3: mov ax,data3 mov ds,a
13、x mov ax,2 in 10h mov si,offset music3 mov di,offset time3 jmp start4code3 endsend發(fā)聲模塊流程圖如下:發(fā)聲模塊設(shè)置顯示方式顯示提示信息si、di 壓入堆棧 取出堆棧中的si、di的值再次將si、di壓入堆棧取音符頻率頻率=fffh?計(jì)音符的8254通道2的計(jì)數(shù) 值送8254的控制字送8254的計(jì)數(shù)值打開(kāi)發(fā)聲 通道延遲(音符發(fā)聲 持續(xù)時(shí)間) 關(guān)閉發(fā)聲 通道si+2si 、di+1di 又鍵入?轉(zhuǎn)主模塊延遲ynny圖五 發(fā)聲模塊流程圖發(fā)聲源程序代碼如下:public start4 extrn start0:fardi
14、sp macro yyxx,varmov ah,2mov bh,0mov dx,yyxxint 10hmov ah,09mov dx,offset varint 21hendmstack segmentsta dw 50 dup(?)top equ length stastack endsdata4 segmentmess db strike any key,return to menu !,oah,odh,$data4 endscode4 segmentassume cs:code4,ds:data4start4: push dsmov ax,data4mov ds,axmov ax,2in
15、t 10hdisp 1000h,messpop dspush sipush diplay: pop dipop sipush sipush diply1: mov ax,word ptr sicmp ax,offffhjz play_endmov dx,12hmov ax,34eoh div word ptr si mov bx,ax mov al,0b6h out 43h,al mov ax,bxout 42h,almov al,ahout 42h,alin al,61hor al,03hout 61h,alcall delayin al,61hand al,0fchout 61h,alad
16、d si,02inc dijmp ply1play_end: mov ah,01int 16hjz wait1pop dipop sijmp start0wait1: pushaxpushcxmov ax,0600hwt1: mov cx,0ffffhwt2: loopwt2dec axjnz wt1pop cxpop axjmp playdelay proc nearpush axpush cxmov al,didly: mov cx,0060dly1: mov bx,0ffffhdly2: dec bxjnz dly2 loop dly1 dec al jnz dly pop cx pop
17、 ax retdelay endpcode4 endsend第三章 總結(jié)這次課程設(shè)計(jì)完成后,體會(huì)頗多,不斷學(xué)習(xí)新的知識(shí),吸取經(jīng)驗(yàn),達(dá)到進(jìn)步的目的。在課程設(shè)計(jì)中,通過(guò)努力以及相關(guān)圖書(shū)資料的幫助,逐漸熟悉了微型機(jī)與接口的應(yīng)用知識(shí)及其相關(guān)的操作。在這次課程設(shè)計(jì)過(guò)程中,我學(xué)會(huì)了利用匯編程序?qū)崿F(xiàn)軟件的具體功能,同時(shí)對(duì)語(yǔ)言的編寫(xiě)能力有了進(jìn)一步加強(qiáng),在指導(dǎo)教師的悉心講解下,我解了的在編寫(xiě)程序中遇到的種種困難,例如:如何利用匯編程序來(lái)實(shí)現(xiàn)音樂(lè)界面的設(shè)計(jì),怎樣通過(guò)程序來(lái)實(shí)現(xiàn)音樂(lè)的播放等等,都在老師的指導(dǎo)下一一解決,是我從中受到很大啟發(fā)。通過(guò)本次課程設(shè)計(jì),讓我有機(jī)會(huì)將平時(shí)所學(xué)到的書(shū)本知識(shí)得以實(shí)踐化,檢驗(yàn)了本身對(duì)知
18、識(shí)了解程度的不足,也從中學(xué)到了很多知識(shí)點(diǎn)與應(yīng)用技術(shù)。這里我衷心的感謝王老師的耐心指導(dǎo)!參考文獻(xiàn)1 雷曉平 .微型計(jì)算機(jī)原理與應(yīng)用.北京:電子工業(yè)出版社,2002年2 周明德,張淑玲.80x86、80x87結(jié)構(gòu)與匯編語(yǔ)言程序設(shè)計(jì).北京:清華大學(xué)出版社,1993年3 周明德,蔣本珊.微機(jī)原理與接口技術(shù).北京:人民郵電出版社,2002年4 鄭緯民,湯志中.計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)(第二版).北京:清華大學(xué)出版社,1998年5 凌志浩 微機(jī)原理與接口技術(shù)教程與實(shí)訓(xùn) . 華東理工大學(xué)出版社,20056 齊志儒,高福祥.匯編語(yǔ)言程序設(shè)計(jì)(第三版).東北大學(xué)出版社, 2003.057 齊志儒.匯編語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)教程.東北大學(xué)出版社,20038 沈美明,溫冬嬋.ibm-pc 匯編語(yǔ)言程序設(shè)計(jì).清華大學(xué)出版社,20049 張君,齊志儒.匯編語(yǔ)言程序設(shè)計(jì)題集.東北大學(xué)出版社,2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年林業(yè)科技創(chuàng)新項(xiàng)目樹(shù)苗采購(gòu)合同3篇
- 2025年個(gè)人房產(chǎn)買(mǎi)賣(mài)合同標(biāo)準(zhǔn)文本下載7篇
- 二零二五年度智慧城市建設(shè)名義合伙人合同4篇
- 2025年度旅游度假村經(jīng)營(yíng)管理合同范本4篇
- 2025年度跨境投資委托理財(cái)合同范文集錄3篇
- 2025年度智能家居個(gè)人精裝修房屋租賃合同(長(zhǎng)期居住舒適保障)4篇
- 2025年度定制門(mén)窗安裝與品牌授權(quán)合作協(xié)議4篇
- 二零二五版美發(fā)店合伙人經(jīng)營(yíng)目標(biāo)與業(yè)績(jī)考核合同4篇
- 2024年中級(jí)經(jīng)濟(jì)師考試題庫(kù)及完整答案(典優(yōu))
- 建筑材料采購(gòu)合作協(xié)議書(shū)(2篇)
- 12123交管學(xué)法減分考試題及答案
- 2025年寒假實(shí)踐特色作業(yè)設(shè)計(jì)模板
- 《數(shù)據(jù)采集技術(shù)》課件-XPath 解析庫(kù)
- 財(cái)務(wù)報(bào)銷(xiāo)流程培訓(xùn)課程
- 24年追覓在線(xiàn)測(cè)評(píng)28題及答案
- 春節(jié)慰問(wèn)困難職工方案春節(jié)慰問(wèn)困難職工活動(dòng)
- 2024年全國(guó)職業(yè)院校技能大賽高職組(藥學(xué)技能賽項(xiàng))考試題庫(kù)(含答案)
- 2024至2030年中國(guó)氫氧化鈣行業(yè)市場(chǎng)全景調(diào)查及發(fā)展趨勢(shì)分析報(bào)告
- 魚(yú)菜共生課件
- 《陸上風(fēng)電場(chǎng)工程概算定額》NBT 31010-2019
- 初中物理八年級(jí)下冊(cè)《動(dòng)能和勢(shì)能》教學(xué)課件
評(píng)論
0/150
提交評(píng)論