




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、實(shí)驗(yàn) 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鍵結(jié)束,其它鍵無效。3、按任意鍵開始,按任意鍵結(jié)束.(同演示實(shí)驗(yàn))4、S鍵,按一下 LED 亮,再按一下滅,循環(huán);實(shí)驗(yà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實(shí)驗(yàn) 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 上顯示;其它鍵則程序結(jié)束;檢查所有字型是否正確?3、加一個開關(guān)輸入,控制 2 種內(nèi)容切換顯示:“HELP”和“-.-.”實(shí)驗(yàn) 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 ;調(diào)用數(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實(shí)驗(yàn) 5 定時計數(shù)器 8254改用實(shí)驗(yàn)箱上蜂鳴器,相應(yīng)的地址要修改(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,二進(jìn)制 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實(shí)驗(yàn) 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.實(shí)驗(yàn) 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)系上傳者。文件的所有權(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 仿皮表帶企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 二手五金工具買賣合同
- 養(yǎng)生保健品跨境電商平臺行業(yè)跨境出海戰(zhàn)略研究報告
- 棕席企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 香草醛企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略研究報告
- 銅鉍催化劑企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略研究報告
- 木粉企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 減肥產(chǎn)品效果口碑傳播企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025年度旅游度假村股權(quán)轉(zhuǎn)讓及代持旅游服務(wù)合同
- 二零二五年度物流產(chǎn)業(yè)投資基金合同范本
- 中西醫(yī)結(jié)合腫瘤學(xué)試卷
- 一年級下冊勞動課教案5篇
- 特殊工種操作人員體檢表
- 常用橋牌詞語(中英文對照)
- 加盟招商方案PPT模板
- 中石油HSE培訓(xùn)試題集(共33頁)
- 雙碳視角看歐盟綠色新政政策篇
- 噴(烤)漆房VOCs治理設(shè)施日常運(yùn)行臺賬
- 往復(fù)式壓縮機(jī)組單機(jī)試運(yùn)方案
- 區(qū)域環(huán)境概況
- 爆破片面積計算
評論
0/150
提交評論