8253、8255、8259和8251實(shí)現(xiàn)電子琴的自動(dòng)彈湊和手動(dòng)彈湊_第1頁(yè)
8253、8255、8259和8251實(shí)現(xiàn)電子琴的自動(dòng)彈湊和手動(dòng)彈湊_第2頁(yè)
8253、8255、8259和8251實(shí)現(xiàn)電子琴的自動(dòng)彈湊和手動(dòng)彈湊_第3頁(yè)
8253、8255、8259和8251實(shí)現(xiàn)電子琴的自動(dòng)彈湊和手動(dòng)彈湊_第4頁(yè)
8253、8255、8259和8251實(shí)現(xiàn)電子琴的自動(dòng)彈湊和手動(dòng)彈湊_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、匯編與微機(jī)接口技術(shù)試驗(yàn)二、實(shí)驗(yàn)項(xiàng)目名稱:用8253、8255、8259和8251實(shí)現(xiàn)電子琴的自動(dòng)彈湊和手動(dòng)彈湊三、實(shí)驗(yàn)學(xué)時(shí):2學(xué)時(shí) 四、實(shí)驗(yàn)原理: 用8253做定時(shí)器輸出音頻信號(hào),控制喇叭發(fā)出聲音。利用定時(shí)器,可以發(fā)出不同頻率的脈沖,不同頻率的脈沖經(jīng)喇叭驅(qū)動(dòng)電路放大濾波后,就會(huì)發(fā)出不同的音調(diào).五、實(shí)驗(yàn)?zāi)康模篴) 加強(qiáng)8088CPU的匯編程序設(shè)計(jì) b) 加強(qiáng)對(duì)8253定時(shí)/計(jì)數(shù)器芯片的應(yīng)用理解 c) 加強(qiáng)對(duì)8255可編程并口芯片的應(yīng)用理解 d) 加強(qiáng)對(duì)8259可編程中斷控制器芯片的應(yīng)用理解 e) 加強(qiáng)對(duì)8251可編程串口芯片的應(yīng)用理解f) 了解計(jì)算機(jī)發(fā)聲原理六、實(shí)驗(yàn)內(nèi)容:a) 利用8088外接8

2、253可編程定時(shí)器/計(jì)數(shù)器音符音頻的頻率輸出,用8255的PA口接8只按鍵,作為電子琴1、2、3、4、5、6、7、i數(shù)字鍵按鍵,編程完成按下數(shù)字鍵按鍵即發(fā)出相應(yīng)的音調(diào)。 b) 利用8251串口實(shí)現(xiàn)與PC機(jī)的超級(jí)終端程序通訊,可在PC上按鍵大寫字母A能轉(zhuǎn)換為自動(dòng)彈湊,大寫字母M能轉(zhuǎn)換為手動(dòng)彈湊,在手動(dòng)彈湊方式下,能用PC機(jī)的1、2、3、4、5、6、7、8按鍵替代試驗(yàn)箱按鍵彈湊音樂(lè)。 七、實(shí)驗(yàn)器材(設(shè)備、元器件):DVCC試驗(yàn)箱,PC機(jī);八、實(shí)驗(yàn)步驟:a)、閱讀ppt掌握理解試驗(yàn)內(nèi)容;b)、按照試驗(yàn)要求連接電路;c)、連接試驗(yàn)箱與電腦主機(jī);d)、打開試驗(yàn)所需軟件,輸入代碼;f)、運(yùn)行,觀察實(shí)驗(yàn)結(jié)果

3、;九、實(shí)驗(yàn)數(shù)據(jù)及結(jié)果分析:1.該實(shí)驗(yàn)主要程序段如下:CODESEGMENTCS_8259_P0 EQU20HCS_8259_P1 EQU21HCS_8255_CTRLEQU73HCS_8255_PAEQU70HCS_8253_CTRLEQU4BHCS_8253_CH0EQU48HCS_8253_CH2EQU4AHCS_8251_STATEQU51HCS_8251_DATAEQU50HASSUME CS:CODEORG 1000HSTART: JMPMAINMODEDB0;0為手動(dòng)彈湊模式,非0為自動(dòng)手動(dòng)彈湊模式TONELENDW 0TONEFRDW 2,3030,2865,2551,2273,

4、2024,1912,1704,1517,1433,1276,1136,1012TABLEDB 42H,82H,82H,82H,84H,02H,72HDB 62H,72H,62H,52H,48HDB 0B2H,0B2H,0B2H,0B2H,0B4H,02H,0A2HDB 12H,0A2H,0D2H,92H,88HDB 82H,0B2H,0B2H,0A2H,84H,02H,72HDB 62H,72H,62H,52H,44H,02H,12HDB 12H,62H,62H,52H,44H,02H,82HDB 72H,62H,52H,32H,48HDB 0FH,0FH,0FH,0FH,0FH,0FH,0F

5、H,0FH,0FH,0FH,0FH,0FH,0FH,0FH,0FH,0FHENDTAB DB 00HMAIN: CALL I8253ACALL INTSETCALL I8259ACALLI8255ACLDMOVAX,SEG TABLEMOVDS,AXLEA DI,ENDTABMOVAL, 0CMPMODE,ALJZMAN_PLAYAUTO_PLAY:LEASI,TABLESOUND:INAL, CS_8251_STATTESTAL, 00000010BJZNEXT1INAL, CS_8251_DATACMPAL, 'M'JNZNEXT1MOVAL,1MOVMODE,ALJMPM

6、AN_PLAYNEXT1:LODSBMOVBX,AXMOVCX,AXANDCX,0FHANDBX,0F0H SHRBX,1SHR BX,1SHR BX,1; SHR BX,1MOVAX,TONEFRBXCALLOUTTONEMOV AX,10MUL CXMOV WORD PTR TONELEN,AXDELAY: MOV AX,WORD PTR TONELENCMP AX,0JNE DELAYCMP SI,DIJNE SOUNDJMP AUTO_PLAYMAN_PLAY:MOVAX,0MOVTONELEN, AXINAL, CS_8251_STATTESTAL, 00000010BJZCHK82

7、55INAL, CS_8251_DATACMPAL, 'A'JNZNEXT2MOVAL,0MOVMODE,ALJMPAUTO_PLAYNEXT2: CMPAL, 31HJLCHK8255CMPAL, 38HJGCHK8255SUBAL, '0'MOVAH, 0 MOVBX,AXSHLBX,1MOVAX,TONEFRBXCALLOUTTONEJMPMAN_PLAYCHK8255:K1: MOV DX, CS_8255_PA;PA端口地址IN AL, DX;讀開關(guān)的狀態(tài)TEST AL, 01H;判是否是K1閉合JZ K2;不是轉(zhuǎn)K2MOV AX, 2273;是K1閉

8、合送“1”音頻數(shù)據(jù)1/440.00HZJMP KEYDOWNK2: IN AL, DX;讀開關(guān)的狀態(tài)TEST AL, 02H;判是否是K2閉合JZ K3;不是轉(zhuǎn)K3MOV AX, 2024;是K2閉合送“2”音頻數(shù)據(jù)1/493.88HZJMP KEYDOWNK3: IN AL, DX;讀開關(guān)的狀態(tài)TEST AL, 04H;判是否是K3閉合JZ K4;不是轉(zhuǎn)K4MOV AX, 1805;是K3閉合送“3”音頻數(shù)據(jù)1/554.37HZJMP KEYDOWNK4: IN AL,DX;讀開關(guān)的狀態(tài)TEST AL, 08H;判是否是K4閉合JZ K5;不是轉(zhuǎn)K5MOV AX, 1704;是K4閉合送“4

9、”音頻數(shù)據(jù)1/587.33HZJMP KEYDOWNK5: IN AL, DX;讀開關(guān)的狀態(tài)TEST AL, 10H;判是否是K5閉合JZ K6;不是轉(zhuǎn)K6MOV AX, 1517;是K5閉合送“5”音頻數(shù)據(jù)1/659.26HZJMP KEYDOWN K6: IN AL, DX;讀開關(guān)的狀態(tài)TEST AL, 20H;判是否是K6閉合JZ K7;不是轉(zhuǎn)K7MOV AX, 1353;是K6閉合送“6”音頻數(shù)據(jù)1/739.99HZJMP KEYDOWNK7: IN AL,DX;讀開關(guān)的狀態(tài)TEST AL, 40H;判是否是K7閉合JZ K8;不是轉(zhuǎn)K8MOV AX, 1205;是K7閉合送“7”音頻

10、數(shù)據(jù)1/830.61HZJMP KEYDOWNK8:IN AL, DX ;讀開關(guān)的狀態(tài)TEST AL, 80H ;判是否是K8閉合JZ NOKEY ;不是轉(zhuǎn)K1MOV AX, 1136 ;是K8閉合送“8”音頻數(shù)據(jù)1/880.30HZJMP KEYDOWNFREQ DW 0 ;保存前次設(shè)置頻率NOKEY: JMP MAN_PLAYMOV AX, 2 ; 關(guān)閉發(fā)音KEYDOWN:CMP FREQ,AXJE NOKEYMOV FREQ,AXCALL OUTTONEJMP MAN_PLAYOUTTONE PROC NEAR ;按音頻數(shù)據(jù)設(shè)置定時(shí)器時(shí)間常數(shù)PUSH AX ; 鍵碼壓棧MOV AL, 3

11、6H ; 計(jì)數(shù)器0, 16位二進(jìn)制,方式3(方波)。MOV DX, CS_8253_CTRL;定時(shí)器控制口地址OUT DX, ALPOP AX ; 鍵碼出棧MOV DX, CS_8253_CH0;定時(shí)器0端口地址OUT DX, AL ;寫時(shí)間常數(shù)低八位MOV AL, AH ;寫時(shí)間常數(shù)高八位OUT DX, ALRETOUTTONE ENDPTIMERPROCFARPUSH AXMOV AX,WORD PTR TONELENCMP AX, 0JEEXITIDEC TONELENEXITI:MOV AL,20HOUT CS_8259_P0,ALPOPAXIRETTIMERENDPINTSET PR

12、OC NEARMOVAX, 0MOVES,AXMOVDI,(8+3)*4LEAAX,TIMERSTOSWMOVAX,CSSTOSWSTIRETINTSETENDP I8259A PROC NEARMOV AL,13HMOV DX,CS_8259_P0OUT DX,ALMOV AL,08HMOV DX,CS_8259_P1OUT DX,ALMOV AL,0BHOUT DX,ALMOV AL,0F7HOUT DX,ALSTIRETI8259AENDPI8253APROC NEAR ;按音頻數(shù)據(jù)設(shè)置定時(shí)器時(shí)間常數(shù)MOV AL, 0B6H ; 計(jì)數(shù)器2, 16位二進(jìn)制,方式3(方波)。MOV DX, CS_8253_CTRL;定時(shí)器控制口地址OUT DX, ALMOV AX, 12500MOV DX, CS_8253_CH2;定時(shí)器2端口地址OUT DX, AL ;寫時(shí)間常數(shù)低八位MOV AL, AH ;寫時(shí)間常數(shù)高八位OUT DX, ALRE

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論