匯編與微機期末接口_第1頁
匯編與微機期末接口_第2頁
匯編與微機期末接口_第3頁
匯編與微機期末接口_第4頁
匯編與微機期末接口_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、實驗 1 端口譯碼ioportequ 0EC00h-0280houtport1 equ ioport+2a0houtport2 equ ioport+2a8h code segmentame cs:codestart: mov dx,outport1;Y4 out dx,al; in al,dx;延時;Y5call delaymov dx,outport2out dx,al; in al,dx call delay;延時mov ah,1;從鍵盤輸入一個字符21h je startmov ah,4ch 21hdelay proc near;延時子程序mov bx,2000lll:ll:mov c

2、x,0loop ll dec bx jne lll ret endpendsdelaycodeendstart改:1、OUT 改 IN,改延時長短,改 Y0、Y1 等;2、按E鍵結束,其它鍵無效。3、按任意鍵開始,按任意鍵結束.(同演示實驗)4、S鍵,按一下 LED 亮,再按一下滅,循環(huán);實驗 2 并行口CODESEGMENTAMECS:CODEioport equ 0EC00h-0280hls244 equ ioport+2a0h ls273 equ ioport+2a8hmov bl,0 start:; mov dx,0ec00h+280h-280h; in al,dxmov dx, ls

3、244 in al,dxtest al,80hjz nextand al,7fh cmp al,bl jz next mov bl,al mov dl,al mov ah,0221hmov dx,ls273 out dx,alcall delaynext:mov ah,06mov dl,0ffh 21hjnz exit je startexit:mov ah,4ch 21hdelay:mov bp,2000 lll:mov cx,0ll: loop ll dec bp jnz lllretCODEENDENDSSTSRT實驗 3 數(shù)碼管動態(tài)掃描SEGADD EQU 0EC00H-280H+2A

4、8HBITADDEQU 0EC00H-280H+2A0H BUFDB 1,4,0AH,0FHLPTR DW ? LBIT DB ? LEDDB 3FH,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CHDB 39H,5EH,79H,71HDLED:INCAND ROL MOV MOV OUTLPTRLPTR,03H LBIT,1 DX,BITADD AL,0DX,ALMOVBX,LPTRMOVAL,BUFBX LEABX,LEDXLATMOVOUT MOV MOV OUT RETMOVLPTR,0MOVAGAIN:DX,SEGADDDX,AL A

5、L,LBIT DX,BITADD DX,ALLBIT,11HCALL DLEDMOVAH,6 MOVDL,0FFH21HCMPAL,0JZAGAINMOVAH,4CH21H2、修改程序:PC 鍵盤按鍵 09、AF,則在數(shù)碼 LED 上顯示;其它鍵則程序結束;檢查所有字型是否正確?3、加一個開關輸入,控制 2 種內容切換顯示:“HELP”和“-.-.”實驗 4 行列鍵盤掃描ROWADD;COLADD COLADD SEGADD BITADDEQUEQU EQU EQU EQU0EC00H-280H+2A0H0EC00H-280H+2A8H0EC00H-280H+2B0H0EC00H-280H+2

6、A8H0EC00H-280H+2A0H;返回參數(shù):CF=1:沒有按鍵;CF=0:有按鍵,AL=鍵值(0F)DATAKTPR LPTR LBIT BUF LEDSEGMENTDWDW DB DB DB DB DB DBENDS?4 DUP (?)3FH, 06H, 5BH, 4FH66H, 60H, 70H, 07H7FH, 6FH, 77H, 7CH39H, 5EH, 79H, 71HDATACODESEGMENTAME CS:CODE, DS:DATASTART:MOV MOV MOV MOV MOVAGAIN:CALL CALLAX, DATADS, AX LBIT,11H KPTR,0L

7、PTR,0DLED ;調用數(shù)碼管顯示程序KEYINJCNEXT2MOVMOV INC AND CMPSI, KPTRBUFSI, AL KPTR KPTR, 03H AL, 0AHJCNEXT1ADDNEXT1:ADD MOV MOV21HNEXT2:MOV MOV21HAL, 7AL, 30HAH, 2 DL, ALAH, 6DL, 0FFHJZAGAINMOV21HKEYIN:AH, 4CHMOVMOV OUT MOV IN NOT AND JNZ STC RETKEYIN1:;MOV MOV MOVAL,00HDX,ROWADDDX,AL DX,COLADDAL,DXAL AL,0FH

8、KEYIN1;4 行是否都有按鍵?BL,0FEH;輸出行值BL,0EFH;輸出行值改用高四位 BH,00H;鍵值KEYIN2:MOV MOV OUT MOV IN NOT AND JNZ ADDROLDX,ROWADDAL,BL DX,AL DX,COLADD AL,DXAL AL,0FHKEYIN3;此行是否有按鍵?;鍵值每行加 4;下一行BH,4BL,1;CMPBL,0EFHCMPBL,0FEH JNZKEYIN2 STCRET KEYIN3:MOVAH,ALCALL DELAY;暫存列值;消抖MOVMOV OUT MOV IN NOT AND CMP JZ STC RETKEYIN4:M

9、OV MOV OUT MOV IN NOT AND JNZ CALLKEYIN5:SHR JC INCDX,ROWADDAL,BL DX,AL DX,COLADD AL,DXAL AL,0FHAL,AH;消抖前后列值相同?KEYIN4AL,00H;等待鍵松開 DX,ROWADDDX,AL DX,COLADDAL,DX AL AL,0FHKEYIN4;消抖DELAYAH,1KEYIN6 BH;鍵值每列加 1JMPKEYIN5KEYIN6:MOVCLC RETDELAY:;MOV MOVDELAY1:MOV DELAY2:DEC JNZ;DEC DEC JNZ RETDLED:AL,BHBL,0F

10、FHCX,0HDX,0HDXDELAY2BL CXDELAY1.CODEENDENDSSTART實驗 5 定時計數(shù)器 8254改用實驗箱上蜂鳴器,相應的地址要修改(1)A8254 B8254 LS273DATA電子琴 EQU EQUEQU0EC00H-280H+280H0EC00H-280H+283H0EC00H-280H+2A0HSEGMENTTBLDW 524,588,660,698,784,880,988,1048DATA ENDS CODE SEGMENTAME CS:CODE,DS:DATASTART:MOV MOVSING:MOVAX,DATADS,AXAH,121HSUBAL,3

11、1HJBEXITCMPAL,08HJAEEXITSHLAL,1 MOVBL,AL;MOV;MOV MOV MOVMOVDX,12HAX,2870H DX,0FHAX,4240H;修改為 1MHzBH,0DIVTBLBXMOV;MOV MOV;OUT MOV OUT MOV;OUT MOV OUT MOV;OUT OUT;IN MOV IN OR;OUTBX,AXAL,0B6HAL,36H;計數(shù)器 0 43H,ALDX, B8254 DX, AL AX,BX 42H,AL DX, A8254 DX, AL AL,AH 42H,AL DX, ALAL,61HDX, LS273AL, DXAL, 0

12、3H;2A0H.0 與 OUT0 置 1,蜂鳴器 61H,ALOUTDX, ALDLY:CALL DELAY;INMOV IN AND;OUT OUT JMPEXIT:MOVAL,61HDX, LS273 AL, DX AL, 0FCH 61H,AL DX, ALSINGAX,4C00H21HMOVBX,1000H MOVCX,0 LOOP DLY2DECBXJNZDLY1 RETDELAY:DLY1: DLY2:CODEENDSENDSTART(2)LS8254 LS273DATA音樂演奏EQU 0EC00H-280H+280H EQU 0EC00H-280H+2A0HSEGMENTDATA

13、 SEGMENTTABF DW -1,262,350,352,350,441,393,350,393,441;音階頻率DW 350,352,441,525,589,588,589,525,441DW 440,350,393,350,393,441,350,293,294,262DW 350,589,525,441,440,350,393,350,393,589DW 525,441,440,525,589,700,525,441,440,350DW 393,350,393,441,350,294,292,262,350,0;節(jié)拍表TABT DB 12,4,6,2,4,4,6,2,4,4DB 6,

14、2,4,4,12,1,3,6,2DB 4,4,6,2,4,4,6,2,4,4DB 12,4,6,2,4,4,6,2,4,4DB 6,2,4,4,12,4,6,2,4,4DB 6,2,4,4,6,2,4,4,12DATA ENDSN EQU 3000 ;一個節(jié)拍的延時參數(shù)CODE SEGMENTAME CS:CODE, DS:DATASTART:MOV MOV;INMOVAX,DATADS,AX AL,61HDX,LS273;開始演奏INAL, DXOR;OUT OUTNEXT:LEA LEANEXT1:CMPAL,03H61H,AL DX, ALSI,TABFDI,TABTWORD PTRSI

15、,0JENEXT;MOV;MOV MOV MOV OUT MOV MOVDX,12HAX,34DEHAL, 36H;8254 控制字:計數(shù)器 0,先低后高,方式 3,二進制 DX, B8254DX, ALDX, 0FH AX, 4240HDIVWORD PTRSI;算初值;OUTMOV OUT42H,ALDX,A8254 DX,ALMOVAL,AH;OUT42H,AL OUT DX, AL MOV AL,DI MOV AH,0 MOV DX,N MUL DXCALL DELAY INC SIINC SI INC DIMOV AH, 6 MOV DL, 0FFH21HJZNEXT1;INAL,

16、61H;算延時參數(shù);有按鍵?MOVDX, LS273IN AL, DXAND AL,0FCH ;停止演奏;OUT 61H,AL OUT DX, AL MOV AH, 4CH21H;延時DELAY:DLY1: MOVCX,0 DLY2: LOOP DLY2DECAXJNZDLY1 RETCODEENDENDSSTART實驗 6 可編程中斷控制器 8259顯示DATAT1SEGMENTBUFDB “THIS IS A IRQ3!”,0ah,0dh,“$”CNT1 DB ?;數(shù)據(jù)段 CNT2 DB ?DATACODEENDSSEGMENT CS:CODE,DS:DATAAMESTART:MOV AX

17、,CS MOV DS,AXLEA DX,3MOV AX,250BH21HMOV AX,DATA MOV DS,AX MOV CNT1,10 MOV CNT2,10 INAL,21H AND AL,0F7H OUT 21H,ALW0:MOVCMP JZT2T1W1MOVCNT1,ALdec cnt1 MOV DL, CNT1 ADD DL,30H MOV AH,221HLEADX,BUF MOVAH,921HCMPCNT1,0JZEXITW1:MOVAH,6MOVDL,0FFH 21HCMPAL,0JZEXIT:INOR OUTW0AL,21HAL,08H 21H,ALMOVAH,4CH21H3

18、:PUSH DSPUSH AXMOVMOV DEC MOVAX,DATADS,AX CNT2 AL,20HOUTPOP POP IRET20H,ALAX DSCODEENDENDSSTART2.實驗 2 改為中斷方式(USB 下)注意 USB 下端口的變化LS244LS273 DATA INPUT DATA CODEEQU 2A0HEQU 2A8H SEGMENT DB ?ENDS SEGMENTCS:CODE,DS:DATAAMESTART:MOV AX,CS MOV DS,AXLEA DX,3MOV AX,250BH21HMOV AX,DATA MOV DS,AX;MOV CNT1,10;

19、MOV CNT2,10INPUT, 0;INPUT 置初值MOVINAL,21HAND AL,0F7H OUT 21H,ALW0:;MOVT2MOV AL,INPUT;CMPCMP AL, 0T1JZW1;MOVCNT1,ALMOV DL, AL;顯示 INPUT MOVAH,221H;CMPCNT1,0;JZEXITMOVW1:MOV MOVINPUT, 0AH,6 DL,0FFH21HCMPAL,0JZEXIT:INOR OUTW0AL,21HAL,08H 21H,ALMOVAH,4CH21H3:PUSH DSPUSH AX PUSH DXMOVMOV;DEC MOVAX,DATADS,AX CNT2DX, LS244IN AL, DXMOVMOV OUT MOV OUTINPUT, ALDX, LS27

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論