




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
19/25沈陽工程學(xué)院課程設(shè)計課程設(shè)計題目:音樂程序設(shè)計系別信息工程系班級系統(tǒng)本101同學(xué)姓名凌賢忠學(xué)號09指導(dǎo)老師衣云龍、王德君職稱講師、工程師起止日期:2012年05月21日起——至2012年05月25日止
沈陽工程學(xué)院課程設(shè)計任務(wù)書課程設(shè)計題目:音樂程序設(shè)計系別信息工程系班級系統(tǒng)本101同學(xué)姓名凌賢忠學(xué)號09指導(dǎo)老師衣云龍、王德君職稱講師、工程師課程設(shè)計進行地點:微機原理實驗室(F106)任務(wù)下達時間:2012年05月18日起止日期:2012年05月21日起——至2012年05月25日止教研室主任王健2012年05月18日批準(zhǔn)
一、設(shè)計目的通過課程設(shè)計使同學(xué)更進一步掌握微機原理及應(yīng)用課程的有關(guān)知識,提高應(yīng)用微機解決問題的能力,加深對微機應(yīng)用的理解。通過查閱資料,結(jié)合所學(xué)知識進行軟、硬件的設(shè)計,使同學(xué)初步掌握應(yīng)用微機解決問題的步驟及方法。為以后同學(xué)結(jié)合專業(yè)從事微機應(yīng)用設(shè)計奠定基礎(chǔ)。二、設(shè)計的原始資料及依據(jù)查閱可編程計數(shù)器/定時器芯片8254相關(guān)資料。用簡潔的輸入輸出端口等硬件,輸入數(shù)據(jù)、處理數(shù)據(jù)和輸出數(shù)據(jù)。三、設(shè)計的主要內(nèi)容及要求內(nèi)容:利用微機原理試驗箱,設(shè)計簡易音樂程序,要求至少可以播放2首音樂。要求:1)用2個開關(guān)選擇歌曲。2)能用揚聲器播放歌曲。四、對設(shè)計說明書撰寫內(nèi)容、格式、字數(shù)的要求1.課程設(shè)計說明書(論文)是體現(xiàn)和總結(jié)課程設(shè)計成果的載體,一般不應(yīng)少于3000字。2.同學(xué)應(yīng)撰寫的內(nèi)容為:名目、正文、參考文獻等。課程設(shè)計說明書(論文)的結(jié)構(gòu)及各部分內(nèi)容要求可參照《沈陽工程學(xué)院畢業(yè)設(shè)計(論文)撰寫規(guī)范》執(zhí)行。應(yīng)做到文理通順,內(nèi)容正確完整,書寫工整,裝訂整齊。3.說明書(論文)手寫或打印均可。手寫要用學(xué)校統(tǒng)一的課程設(shè)計用紙,用黑或藍黑墨水工整書寫;打印時按《沈陽工程學(xué)院畢業(yè)設(shè)計(論文)撰寫規(guī)范》的要求進行打印。4.課程設(shè)計說明書(論文)裝訂挨次為:封面、任務(wù)書、成果評定表、名目、正文、參考文獻。五、設(shè)計完成后應(yīng)提交成果的種類、數(shù)量、質(zhì)量等方面的要求;提交課程設(shè)計說明書一份。在說明書中要有設(shè)計原理、硬件電路接線圖、設(shè)計的程序及必要注釋等。六、時間進度支配;挨次階段日期計劃完成內(nèi)容備注11.5天查閱資料及程序設(shè)計22.5天上機調(diào)試程序30.5天成果評定40.5天書寫報告沈陽工程學(xué)院微機原理及匯編語言課程設(shè)計成果評定表系(部):信息系班級:系統(tǒng)本101同學(xué)姓名:凌賢忠指導(dǎo)教師評審意見評價內(nèi)容具體要求權(quán)重評分加權(quán)分調(diào)研論證能獨立查閱文獻,收集資料;能制定課程設(shè)計方案和日程支配。0.15432工作能力態(tài)度工作態(tài)度專心,遵守紀(jì)律,出勤情況是否良好,能夠獨立完成設(shè)計工作,0.25432工作量按期圓滿完成規(guī)定的設(shè)計任務(wù),工作量飽滿,難度適宜。0.25432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹合理,文字通順,技術(shù)用語精確,符號統(tǒng)一,編號齊全,圖表完備,書寫工整規(guī)范。0.55432指導(dǎo)老師評審成果(加權(quán)分合計乘以12)分加權(quán)分合計指導(dǎo)教師簽名:年月日評閱教師評審意見評價內(nèi)容具體要求權(quán)重評分加權(quán)分查閱文獻查閱文獻有肯定廣泛性;有綜合歸納資料的能力0.25432工作量工作量飽滿,難度適中。0.55432說明書的質(zhì)量說明書立論正確,論述充分,結(jié)論嚴(yán)謹合理,文字通順,技術(shù)用語精確,符號統(tǒng)一,編號齊全,圖表完備,書寫工整規(guī)范。0.35432評閱老師評審成果(加權(quán)分合計乘以8)分加權(quán)分合計評閱教師簽名:年月日課程設(shè)計總評成績分名目名目 1第一章緒論 1其次章實驗原理 22.1設(shè)計原理 22.2設(shè)計環(huán)境及設(shè)備 22.3硬件接線圖 22.4設(shè)計流程圖 32.58254芯片 52.5.1定時/計數(shù)器8254 52.5.28254內(nèi)部結(jié)構(gòu) 52.5.38254外部引腳 52.5.4計數(shù)器內(nèi)部結(jié)構(gòu) 62.5.58254功能 62.5.68254掌握字 72.5.78254工作方式 72.68255芯片 82.6.18255外部引腳功能 92.6.28255內(nèi)部結(jié)構(gòu) 92.6.38255掌握字 10第三章程序設(shè)計 123.1頻率產(chǎn)生模塊 123.2掌握模塊 123.3掌握音符的演奏時間 123.4音符頻率表 133.6程序設(shè)計 14第四章結(jié)論 18主要參考資料(文獻) 19第一章緒論微機接口原理是一門特別重要的計算機技術(shù)基礎(chǔ)課程,全面介紹微機的基本結(jié)構(gòu)、工作原理、硬件配置、接口期間和接口種類等。本次微機接口課程設(shè)計的主要目的是要使同學(xué)更進一步掌握微機原理及應(yīng)用課程的有關(guān)知識,提高應(yīng)用微機解決問題的能力,加深對微機應(yīng)用的理解。通過查閱資料,結(jié)合所學(xué)知識進行軟、硬件的設(shè)計,使同學(xué)初步掌握應(yīng)用微機解決問題的步驟及方法。為以后同學(xué)結(jié)合專業(yè)從事微機應(yīng)用設(shè)計奠定基礎(chǔ)。在本次課程設(shè)計中大家利用課上所學(xué)的各種知識,對自己的課程設(shè)計題目進行設(shè)計。我們小組所要設(shè)計的題目是音樂程序設(shè)計。在設(shè)計的過程中主要利用計數(shù)器/定時器8254芯片和可編程并行接口8255A芯片,完成2個開關(guān)選擇歌曲,能用揚聲器播放歌曲。首先我們利用定時器產(chǎn)生各種頻率的聲音,如“DO”“RE”“ME”然后將各個單音連接起來就組成了一首簡潔的曲子或者旋律,旋律及拍數(shù)可以按音樂簡譜而定。對8255芯片PA0和PA6口的置0和1來選擇歌曲。其次實現(xiàn)唱歌功能即實現(xiàn)歌曲的節(jié)拍通過調(diào)用延時子程序掌握音符發(fā)音的長短,實現(xiàn)連續(xù)發(fā)聲把[SI]是否為0作為循環(huán)的條件在每一次揚聲器發(fā)出一個相應(yīng)音符之后做無條件轉(zhuǎn)移,從而使揚聲器連續(xù)發(fā)聲。其次章實驗原理2.1設(shè)計原理我們在這次課設(shè)選擇了音樂程序設(shè)計,音樂程序設(shè)計可以實現(xiàn)至少兩首歌的可選擇播放。對于歌曲的播放我們接受的是計數(shù)器/定時器8254芯片,而對于選擇哪首歌播放則是利用可編程并行接口8255A芯片來實現(xiàn)的?;?254定時計數(shù)接口芯片的工作原理,本次課設(shè)實現(xiàn)了音樂演奏系統(tǒng)程序設(shè)計。當(dāng)運行程序時,揚聲器便發(fā)出美麗的音樂。首先要解決發(fā)聲并發(fā)出相應(yīng)音符聲音的問題,由8254計數(shù)器0在初始化時用來產(chǎn)生肯定頻率的方波來使揚聲器發(fā)聲,再依據(jù)不同音符對應(yīng)的頻率寫入計數(shù)初值發(fā)出相應(yīng)的音符聲。對8255芯片PA0和PA1口的置0和1來掌握揚聲器的開關(guān)。其次實現(xiàn)唱歌功能即實現(xiàn)歌曲的節(jié)拍通過調(diào)用延時子程序掌握音符發(fā)音的長短,實現(xiàn)連續(xù)發(fā)聲把[SI]是否為0作為循環(huán)的條件在每一次揚聲器發(fā)出一個相應(yīng)音符之后做無條件轉(zhuǎn)移,從而使揚聲器連續(xù)發(fā)聲。2.2設(shè)計環(huán)境及設(shè)備PC機一臺、windows98系統(tǒng)、實驗箱,導(dǎo)線若干。8254定時器:用于產(chǎn)生秒脈沖。8255并口:用做接口芯片,與數(shù)碼管相連2.3硬件接線圖硬件接線圖如圖2.1所示。D0PB0D1PB1D28D32D45D55D6芯D7片WRRDPA0CSPA1A0A1XD0XD1XD2系XD3統(tǒng)XD4總XD5線XD6XD7IOW#IOR#IOY3IOY1XA1XA2Clk+5VD0D1D28D32D45D54D6芯D7片WRRDCSA0A1CLK0OUT0GATE0圖2.1硬件接線圖2.4設(shè)計流程圖軟件流程圖如圖2.2所示。開始開始獲取選項選擇第1首歌YN曲1各音符頻率設(shè)置曲1各音符時間設(shè)置讀取頻率頻率=0調(diào)用paly子程序讀取時間節(jié)拍計數(shù)次數(shù)送8254,產(chǎn)生該頻率信號,在送至揚聲器延時曲2各音符頻率設(shè)置曲2各音符時間設(shè)置讀取頻率頻率=0調(diào)用paly子程序讀取時間節(jié)拍計數(shù)次數(shù)送8254,產(chǎn)生該頻率信號,在送至揚聲器延時結(jié)束是否播放NYYNNY圖2.2軟件流程圖2.58254芯片2.5.1定時/計數(shù)器8254主要功能:⑴每片上有3個獨立的16位的減計數(shù)器通道。⑵對于每個計數(shù)器,都可以單獨作為定時器或計數(shù)器使用,并且都可以依據(jù)二進制或十進制來計數(shù)。⑶每個通道都有6種工作方式,都可以通過程序設(shè)置或轉(zhuǎn)變。⑷每個計數(shù)器的速率可高達2MHz。最高的計數(shù)時鐘頻率為2.6MHz。2.5.28254內(nèi)部結(jié)構(gòu)8254的內(nèi)部結(jié)構(gòu)如圖2.3所示,它主要包括以下幾個主要部分:圖2.38254的內(nèi)部結(jié)構(gòu)2.5.38254外部引腳8254芯片是具有24個引腳的雙列直插式集成電路芯片,其引腳分布如圖所示。8254芯片的24個引腳分為兩組,一組面對CPU,另一組面對外部設(shè)備,各個引腳及其所傳送信號的情況,介紹如下:⑴D7~D0:雙向、三態(tài)數(shù)據(jù)線引腳,與系統(tǒng)的數(shù)據(jù)線連接,傳送掌握、數(shù)據(jù)及狀態(tài)信息。⑵:來自于CPU的讀掌握信號輸入引腳,低電平有效。⑶:來自于CPU的寫掌握信號輸入引腳,低電平有效。⑷:芯片選擇信號輸入引腳,低電平有效。圖2.48254的引腳⑸A1、A0:地址信號輸入引腳,用以選擇8254芯片的通道及掌握字寄存器。⑹VCC及GND:+5V電源及接地引腳⑺CLKi:i=0,1,2,第i個通道的計數(shù)脈沖輸入引腳,8254規(guī)定,加在CLK引腳的輸入時鐘信號的頻率不得高于2.6MHZ,即時鐘周期不能小于380ns。⑻GATEi:i=0,1,2,第i個通道的門控信號輸入引腳,門控信號的作用與通道的工作方式有關(guān)。⑼OUTi:i=0,1,2,第i個通道的定時/計數(shù)到信號輸出引腳,輸出信號的形式由通道的工作方式確定,此輸出信號可用于觸發(fā)其它電路工作,或作為向CPU發(fā)出的中斷懇求信號。2.5.4計數(shù)器內(nèi)部結(jié)構(gòu)每個計數(shù)器由一個16位可預(yù)置的減1計數(shù)器組成,計數(shù)初值可保存在16位的鎖存器中,該鎖存器只寫不能讀。在計數(shù)器工作時,初值不受影響,以便進行重復(fù)計數(shù)。圖中每個計數(shù)器有一個時鐘輸入端CLK作為計數(shù)脈沖源,計數(shù)方式可以是二進制,計數(shù)范圍1~10000H,也可以是十進制,計數(shù)范圍1~65536。門控端GATE用于掌握計數(shù)開頭和停止。輸出OUT端當(dāng)計數(shù)器計數(shù)值減到零時,該端輸出標(biāo)志信號。2.5.58254功能8254既可作定時器又可作計數(shù)器:⑴計數(shù):計數(shù)器裝入初值后,當(dāng)GATE為高電平時,可用外部大事作為CLK脈沖對計數(shù)值進行減1計數(shù),每來一個脈沖減1,當(dāng)計數(shù)值減至0時,由OUT端輸出一個標(biāo)志信號。⑵定時:計數(shù)器裝入初值后,當(dāng)GATE為高電平時,由CLK脈沖觸發(fā)開頭自動計數(shù),當(dāng)計數(shù)到零時,發(fā)計數(shù)結(jié)束定時信號。除上述典型應(yīng)用外,8254還可作頻率發(fā)生器、分頻器、實時鐘、單脈沖發(fā)生器等。2.5.68254掌握字圖2.58254掌握字說明:⑴8254每個通道對輸入CLK按二進制或二十進制從預(yù)置值開頭減1計數(shù),減到0時從OUT輸出一個信號。⑵8254編程時先寫掌握字,再寫時間常數(shù)。2.5.78254工作方式⑴方式0:計數(shù)結(jié)束產(chǎn)生中斷方式當(dāng)寫入掌握字后,OUT變?yōu)榈碗娖?,?dāng)寫入初值后立即開頭計數(shù),當(dāng)計數(shù)結(jié)束時,變成高電平。⑵方式1:可編程單次脈沖方式當(dāng)時值裝入后且GATE由低變高時,OUT變?yōu)榈碗娖剑嫈?shù)結(jié)束變?yōu)楦唠娖?。⑶方?:頻率發(fā)生器方式當(dāng)時值裝入時,OUT變?yōu)楦?;計?shù)結(jié)束,OUT變?yōu)榈?。該方式下如果計?shù)未結(jié)束,但GATE為低時,立即停止計數(shù),強制OUT變高,當(dāng)GATE再變高時,便啟動一次新的計數(shù)周期。⑷方式3:方波發(fā)生器當(dāng)裝入初值后,在GATE上升沿啟動計數(shù),OUT輸出高電平;當(dāng)計數(shù)完成一半時,OUT輸出低電平。圖2.6方波圖方式3與方式2的工作方式類似,也是在初始化完成后能重復(fù)循環(huán)計數(shù),只是輸出的波形不同。計數(shù)過程當(dāng)把方式3的掌握字寫入掌握字寄存器后,輸出端OUT變成高電平,作為初始電平。再將計數(shù)初值寫入計數(shù)初值寄存器CR中,再經(jīng)過一個時鐘周期,計數(shù)初值被移入計數(shù)執(zhí)行單元CE中,從下一個時鐘脈沖開頭作減1計數(shù),方式3的計數(shù)過程分為兩種情況:第一種情況:計數(shù)初值為偶數(shù),當(dāng)作減1計數(shù)減到N/2時,輸出端OUT端變成低電平,減到0時,輸出端OUT變成高電平,并重新從初值開頭新的計數(shù)過程。若GATE為高電平,則始終重復(fù)同樣的計數(shù)過程。可見,輸出端OUT輸出連續(xù)的方波,故稱方波發(fā)生器。其次種情況:計數(shù)初值為奇數(shù),當(dāng)作減1計數(shù)減到(N+1)/2以后,輸出端OUT變成低電平,減到0時,輸出端OUT又變成高電平。并重新從初值開頭新的計數(shù)過程。這時輸出端的波形為連續(xù)的近似方波。門控信號的影響工作在方式3時,門控信號GATE的功能與工作方式2一樣,即GATE為高電平時,允許計數(shù);GATE為低電平時停止計數(shù)。GATE引腳上的信號從低電平跳到高電平時,將會重新把計數(shù)初值寄存器CR中的內(nèi)容移入計數(shù)執(zhí)行單元CE中,并以新裝入的值重新開頭計數(shù)。如果在計數(shù)過程中寫入新的初值,而GATE信號始終維持高電平,則新的初值不會影響當(dāng)前的計數(shù)過程,只有在計數(shù)結(jié)束后的下一個計數(shù)周期,才按新的初值計數(shù)。若寫入新的初值后,遇到門控信號的上升沿,則結(jié)束現(xiàn)行的計數(shù)過程,從下一個時鐘脈沖下降沿開頭按新的計數(shù)初值進行計數(shù)。2.68255芯片2.6.18255外部引腳功能圖2.78255外部引腳圖可編程并行接口8255芯片的外部引腳圖如圖2.7所示。⑴PA0~PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個8位的數(shù)據(jù)輸入鎖存器。⑵PB0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器,一個8位的輸入輸出緩沖器。⑶PC0~PC7:端口C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器,一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設(shè)定而分成2個4位的端口,每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B協(xié)作使用,可作為掌握信號輸出或狀態(tài)信號輸入端口。
⑷RESET:復(fù)位輸入線,當(dāng)該輸入端外于高電平時,全部內(nèi)部寄存器(包括掌握寄存器)均被清除,全部I/O口均被置成輸入方式。⑸CS:片選信號線,當(dāng)這個輸入引腳為低電平時,表示芯片被選中,允許8255與CPU進行通訊。⑹RD:讀信號線,當(dāng)這個輸入引腳為低電平時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。⑺WR:寫入信號,當(dāng)這個輸入引腳為低電平時,允許CPU將數(shù)據(jù)或掌握字寫8255。⑻D0~D7:8255的數(shù)據(jù)線。8255與CPU數(shù)據(jù)傳送的通道,當(dāng)CPU執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,掌握字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。2.6.28255內(nèi)部結(jié)構(gòu)圖2.88255的內(nèi)部結(jié)構(gòu)圖可編程并行接口8255芯片的內(nèi)部結(jié)構(gòu)圖如圖2.8所示。⑴輸入/輸出端口A、B、C。這三個端口均可看作是I/O端口,但它們的結(jié)構(gòu)和功能也稍有不同。A口和B口是一個獨立的8位I/O口。C口:可以看作是一個獨立的8位I/O口;也可以看作是兩個獨立的4位I/O口。⑵A組和B組掌握電路。這是兩組依據(jù)CPU命令掌握8255A工作方式的電路,這些掌握電路內(nèi)部設(shè)有掌握寄存器,可以依據(jù)CPU送來的編程命令來掌握8255A的工作方式,也可以依據(jù)編程命令來對C口的指定位進行置/復(fù)位的操作。A組掌握電路用來掌握A口及C口的高4位;B組掌握電路用來掌握B口及C口的低4位。⑶讀/寫掌握規(guī)律,它負責(zé)管理8255A的數(shù)據(jù)傳輸過程。它接收CS*及RD*、WR*、RESET,還有來自系統(tǒng)地址總線的口地址選擇信號A0和A1。將這些信號組合后,得到對A組掌握部件和B組掌握部件的掌握命令,并將命令發(fā)給這兩個部件,以完成對數(shù)據(jù)、狀態(tài)信息和掌握信息的傳輸。⑷數(shù)據(jù)總緩沖器,它是8位的雙向的三態(tài)緩沖器。作為8255A與系統(tǒng)總線連接的界面,輸入/輸出的數(shù)據(jù),CPU的編程命令以及外設(shè)通過8255A傳送的工作狀態(tài)等信息,都是通過它來傳輸?shù)摹?.6.38255掌握字1工作方式選擇掌握字它可以使8255的三個端口工作于不同的工作方式,如圖2.9所示的8255掌握字。圖2.98255的掌握字圖當(dāng)掌握字bit=7時,掌握字的bit6—bit3這4位用來掌握A組,A口的8位和C口的高4位,而掌握字的低3位bit2—bit0用來掌握B組,包括B口的8位和C口的低四位。三種工作方式的描述如下:⑴方式0——基本輸入/輸出方式;⑵方式1——選通輸入/輸出方式;⑶方式2——雙向傳送方式。2C口按位置位/復(fù)位掌握字8255的C口具有位控功能,即端口C的8位中的任一位都可通過CPU向8255的掌握寄存器寫入一個按位置位/復(fù)位掌握字來置1或清0,而C口中其他位的狀態(tài)不變。其格式注意8255的C口按位置位/復(fù)位掌握字的最高位D7(特征位)應(yīng)為低電平。如圖2.10所示C口按位置位/復(fù)位掌握字格式。圖2.10C口按位置位/復(fù)位掌握字第三章程序設(shè)計3.1頻率產(chǎn)生模塊全部音樂都是由各個不同頻率的音階和其連續(xù)時間的長短來實現(xiàn)的。不同的音樂是由各個音階按某種排列各自播放肯定時間形成的,將各音樂音階和其連續(xù)時間存在數(shù)據(jù)段中,然后依據(jù)不同按鍵值選擇不同的音階和時間表,再使用計數(shù)器產(chǎn)生該音階頻率。而我們學(xué)過的有計數(shù)器可以產(chǎn)生各種頻率,所以我們主要接受計數(shù)器8254產(chǎn)生各音符,用8255并行接口來掌握,達到播放音樂的功能。全部音樂都是由各個不同頻率的音階和其連續(xù)時間的長短來實現(xiàn)的。不同的音樂是由各個音階按某種排列各自播放肯定時間形成的,將各音樂音階和其連續(xù)時間存在數(shù)據(jù)段中,然后依據(jù)不同按鍵值選擇不同的音階和時間表,再使用計數(shù)器產(chǎn)生該音階頻率。CPU通過對定時器的通道0進行編程,使其I/O寄存器接收一個掌握聲音頻率的16位計數(shù)值。以產(chǎn)生特別的音響。當(dāng)定時器接收的計數(shù)值為533H時,能產(chǎn)生896Hz的聲音,因此產(chǎn)生其他頻率的計數(shù)值就可算出來:533Hz×896÷頻率=1234DC÷頻率在送出頻率計數(shù)值之前,還要給方式寄存器送一個方式值,該數(shù)決定對哪一個通道編程,接受什么模式,送入通道的計數(shù)值是一字節(jié)還是兩字節(jié),是二進制碼還是BCD碼。其位組合的格式如下:產(chǎn)生指定頻率聲音的程序段如下:PLAY: MOVDX,0FHMOVAX,4240HDIVWORDPTR[SI]MOVDX,MY8254_COUNT0OUTDX,ALMOVAL,AHOUTDX,AL3.2掌握模塊對8255芯片PA0和PA6口的置0和1來選擇歌曲。其次實現(xiàn)唱歌功能即實現(xiàn)歌曲的節(jié)拍通過調(diào)用延時子程序掌握音符發(fā)音的長短,實現(xiàn)連續(xù)發(fā)聲把[SI]是否為0作為循環(huán)的條件在每一次揚聲器發(fā)出一個相應(yīng)音符之后做無條件轉(zhuǎn)移,從而使揚聲器連續(xù)發(fā)聲。3.3掌握音符的演奏時間掌握音符的演奏時間,是設(shè)計音樂程序的關(guān)鍵問題。最直觀的方法是依據(jù)依據(jù)樂譜為每一個音符規(guī)定一個演奏時間,但是利用這種方法是調(diào)試程序特別困難。特別是在遇到一首不生疏的歌曲時,初期很難確定每一個音符的演唱時間,而調(diào)試程序的時候費時費勁,效果很差,下面,我么么向讀者推舉一個記號的方法,即沒一個音符規(guī)定一個“單位時間”。單位時間*N=音符的演唱時間其中N為調(diào)試參數(shù),一首歌只有一個調(diào)試參數(shù)。設(shè)計程序時用EQU偽指令定義調(diào)試參數(shù),初值先行估量,調(diào)試時再修改它。如何確定每個音符的演奏時間呢?我們知道,音符的節(jié)奏分為一拍、半拍、1/4拍、1/8拍等等。如果在一首歌曲中,音符演奏的時間最短為1/8拍,我們就規(guī)定一拍音符的單位時間為8,半拍音符的單位時間為4,1/4拍音符的單位時間為2,1/8拍音符的單位時間為1。以“友誼地久天長”這首歌為例,最短音符為1/8拍,我們就定義一個單位時間為8。所示,途中第一行是一段曲譜,第3行是相應(yīng)音符的單位時間,編程時,首先將一個音符的頻率轉(zhuǎn)化成計數(shù)初值寫入2號計數(shù)器,然后將音符的單位時間乘以調(diào)試參數(shù)N,在調(diào)用延時子程序,就可以掌握音符的演奏時間了,調(diào)試時,只需轉(zhuǎn)變調(diào)試參數(shù)N即可。3.4音符頻率表音符頻率表如下表所示:表4.1音符頻率表1音符音調(diào)ABCDEFG221248278294330371416248278312330371416467131147165175196221248147165185196221248278165185208221248278312175196221234262294330196221248262294330371表4.2音符頻率表2音符音調(diào)1234567ABCDEFG441495556589661742833495556624661742833935262294330350393441495294330371393441495556330371416441495556624350393441467525589661393441495525589661742表4.3音符頻率表3音符音調(diào)ABCDEFG882990111211781322148416659901112124813221484166518695255896617007868829905896617428338829901112661742833882990111212487007868829351049117813227898829901049117813221484編程產(chǎn)生各種音符的頻率可參照此表。簡略實現(xiàn)時由于各計算器的速度不同,樂曲演奏的速度存在差異,所以可以適當(dāng)?shù)恼{(diào)整延遲子程序的時間參數(shù)。3.6程序設(shè)計IOY3 EQU06C0H;端口定義IOY1 EQU0640HMY8254_COUNT0 EQUIOY3+00H;8254計數(shù)器0端口地址MY8254_COUNT1 EQUIOY3+02H;8254計數(shù)器1端口地址MY8254_COUNT2 EQUIOY3+04H;8254計數(shù)器2端口地址MY8254_MODE EQUIOY3+06H;8254掌握寄存器端口地址MY8255_A EQUIOY1+00H;8255輸入輸出0端口地址MY8255_B EQUIOY1+02H;8255輸入輸出1端口地址MY8255_C EQUIOY1+04H;8255輸入輸出2端口地址MY8255_MODE EQUIOY1+06H;8255掌握寄存器端口地址STACK1 SEGMENTSTACK DW256DUP(?)STACK1 ENDSDATA SEGMENTFREQ_LISTDW371,495,495,495,624,556,495,556,624;頻率表DW495,495,624,742,833,833,833,742,624 DW624,495,556,495,556,624,495,416,416,371 DW495,833,742,624,624,495,556,495,556,833 DW742,624,624,742,833,990,742,624,624,495DW556,495,556,624,495,416,416,371,495,0TIME_LISTDB4,6,2,4,4,6,2,4,4;時間表 DB6,2,4,4,12,1,3,6,2 DB4,4,6,2,4,4,6,2,4,4 DB12,4,6,2,4,4,6,2,4,4DB6,2,4,4,12,4,6,2,4,4 DB6,2,4,4,6,2,4,4,4FREQ_LIST1DW330,331,330,332,330,331,330,393,262,294,330,350,350,350,350DW350,330,332,330,331,330,294,294,262,294,393,330,330,330,330DW330,330,330,393,262,294,330,350,350,350,350,350,330,330,330DW330,330,294,0TIME_LIST1DB4,4,8,4,4,8,4,4,6,2,16,4,4,6,2DB4,4,4,2,2,4,4,4,4,8,8,4,4,8,4,4DB8,4,4,6,2,16,4,4,6,2,4,4,4,2,2DB4,2DATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATA START: MOVAX,DATA MOVDS,AX MOVDX,MY8254_MODE ;ASSUMECS:CODE,DS:DATA;初始化8254工作方式 MOVAL,36H;定時器0、方式3 OUTDX,AL MOVDX,MY8255_MODE;初始化8255 MOVAL,90H;A口輸入,B口輸出 OUTDX,ALXIE: MOVDX,MY8255_A INAL,DX MOVDX,MY8255_B OUTDX,AL CALLDALLY CMPAL,01HJZBEGINJMPBEGIN1
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年包頭輕工職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案參考
- 2025年安徽現(xiàn)代信息工程職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試題庫及答案一套
- 廣西機電職業(yè)技術(shù)學(xué)院《虛擬技術(shù)基礎(chǔ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖北工程學(xué)院新技術(shù)學(xué)院《專題地圖課程設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 吉林工商學(xué)院《傳播學(xué)理論I》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西管理職業(yè)學(xué)院《馬克思主義文藝?yán)碚摗?023-2024學(xué)年第二學(xué)期期末試卷
- 二零二五年度綠色交通設(shè)施建設(shè)連帶擔(dān)保借款合同
- 二零二五年度個人勞務(wù)合同:教育培訓(xùn)機構(gòu)家教合作協(xié)議
- 二零二五年度汽車長途運送安全免責(zé)協(xié)議
- 川區(qū)2025年度正規(guī)事業(yè)編老年服務(wù)機構(gòu)聘用合同與養(yǎng)老服務(wù)
- 廣東義務(wù)教育標(biāo)準(zhǔn)化學(xué)校
- 煤質(zhì)化驗員測試題(附參考答案)
- 全電發(fā)票樣式
- (完整版)供應(yīng)商審核表
- 饅頭工藝流程圖
- (二次供水單位)生活飲用水衛(wèi)生許可證延續(xù)申請表
- 鈉電池正極材料PPT
- 體能訓(xùn)練概論(NSCA)
- 青島版三年級數(shù)學(xué)下冊《美麗的街景》教學(xué)課件7
- 液壓傳動全套ppt課件(完整版)
- 內(nèi)部控制五要素圖解
評論
0/150
提交評論