北京郵電大學微原硬件實驗報告33頁_第1頁
北京郵電大學微原硬件實驗報告33頁_第2頁
北京郵電大學微原硬件實驗報告33頁_第3頁
北京郵電大學微原硬件實驗報告33頁_第4頁
北京郵電大學微原硬件實驗報告33頁_第5頁
已閱讀5頁,還剩28頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、微原硬件實驗報告班級: 學號: 班內序號: 姓名: 實驗一、二 基本的I/O實驗一、 實驗目的1、掌握I/O地址譯碼電路的工作原理。2、掌握簡單并行接口的工作原理及使用方法。二、 實驗原理及內容1、實驗電路如圖1-1所示,其中74LS74為D觸發器,可直接使用實驗臺上數字電路實驗區的D觸發器,74LS138為地址譯碼器。譯碼輸出端Y0Y7在實驗臺上“I/O地址“輸出端引出,每個輸出端包含8個地址,Y0:280H287H,Y1:288H28FH, 當CPU執行I/O指令且地址在280H2BFH范圍內,譯碼器選中,必有一根譯碼線輸出負脈沖。 例如:執行下面兩條指令 MOV DX,2A0H OUT

2、DX,AL(或IN AL,DX) Y4輸出一個負脈沖,執行下面兩條指令 MOV DX,2A8H OUT DX,AL(或IN AL,DX) Y5輸出一個負脈沖。利用這個負脈沖控制L7閃爍發光(亮、滅、亮、滅、),時間間隔通過軟件延時實現。2、按下面圖4-2-1簡單并行輸出接口電路圖連接線路(74LS273插通用插座,74LS32用實驗臺上的“或門”)。74LS273為八D觸發器,8個D輸入端分別接數據總線D0D7,8個Q輸出端接LED顯示電路L0L7。 3、編程從鍵盤輸入一個字符或數字,將其ASC碼通過這個輸出接口輸出,根據8個發光二極管發光情況驗證正確性。 4、按下面圖4-2-2簡單并行輸入接

3、口電路圖連接電路(74LS244插通用插座,74LS32用實驗臺上的“或門”)。74LS244為八緩沖器,8個數據輸入端分別接邏輯電平開關輸出K0K7,8個數據輸出端分別接數據總線D0D7。 5、用邏輯電平開關預置某個字母的ASC碼,編程輸入這個ASC碼,并將其對應字母在屏幕上顯示出來。三、硬件接線圖與軟件程序流程圖圖1:實驗一的硬件接線圖圖2:實驗二的硬件接線圖圖3:實驗二的程序流程圖四、源程序1、實驗一源程序DATA SEGMENTDATA ENDSSTACK SEGMENT STACK 'STACK' DB 100H DUP(?)STACK ENDSCODE SEGMEN

4、T ASSUME CS:CODE,DS:DATA,SS:STACK;延時子程序DELAY PROC NEARMOV BX,500PUSH CXLOOP2:MOV CX,0FFFHWAIT: LOOP WAITDEC BXJNZ LOOP2POP CXRETDELAY ENDPSTART:MOV CX,0FFFFH;二極管閃爍部分LOOP1:MOV DX,2A0H;燈亮MOV AL,0FFHOUT DX,ALCALL DELAYMOV DX,2A8H;燈滅MOV AL,0OUT DX,ALCALL DELAYLOOP LOOP1CODE ENDSEND START2、實驗二的源程序DATA SE

5、GMENTDATA ENDSSTACK SEGMENT STACK 'STACK' DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AH,1;鍵盤輸入 INT 21H CMP AL,27;檢測是否為ESC鍵 JZ EXIT MOV DX,2A8H;輸出 OUT DX,AL JMP START;返回DOSEXIT: MOV AX,4C00H INT 21HCODE ENDS END START五、實驗結果1、實驗一:二極管閃爍顯示2、實驗二:鍵盤輸入,然后二極管顯示鍵盤輸入

6、的ASC碼六、實驗總結本實驗遇到的問題主要是:1、二極管顯示不正常,主要是延時的問題,調整一下就好了。七、 實驗收獲與心得體會這次實驗的要點是對I/O接口譯碼電路的理解以及使用。我們測試了外設功能,這使我們了解了地址與端口的對應情況,從而明確了程序編寫的流程和注意事項。通過該譯碼電路實驗,我掌握了地址譯碼電路的設計方法和實現原理,對硬件的I/O接口技術有了進一步的認識。這次實驗也為以后的實驗打下了基礎,特別是,應先理解了譯碼電路的工作原理,然后才能進行編程。實驗三、四、五 可編程并行接口8255實驗一、 實驗目的1、通過實驗,掌握8255工作于方式0以及設置A口為輸出口,C口為輸入口的方法。2

7、、掌握數碼管顯示數字的原理。3、掌握8255控制鍵盤及顯示電路的基本功能及編程方法。 4、掌握一般鍵盤和顯示電路的工作原理。二、 實驗原理及內容實驗三:1、實驗電路如圖4-3-1,8255C口接邏輯電平開關K0K7,A口接LED顯示電路L0L7。 2、編程從8255C口輸入數據,再從A口輸出。 實驗四:1、靜態顯示:按4-4-1連接好電路,將8255的A口PA0PA7分別與七段數碼管的段碼驅動輸入端adp相連,位碼驅動輸入端S0、S1 、S2、S3接PC0、PC1、PC2、PC3,編程在數碼管顯示自己的學號的后四位。(或編程在數碼管上循環顯示“00-99”, 位碼驅動輸入端S0、S1 接PC0

8、、PC1;S2、S3接地。) 實驗五:1、編程:使得在小鍵盤上每按一個健,4位數碼管上顯示出相應字符。三、 硬件接線圖與軟件程序流程圖圖1:實驗三的硬件接線圖圖2:實驗四的硬件接線圖圖3:實驗三的程序流程圖圖4:實驗四的程序流程圖四、源程序1、實驗三源程序DATA SEGMENTDATA ENDSSTACK SEGMENT STACK 'STACK' DB 100 DUP(?)STACK ENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV DX,28BH;8255初始化MOV

9、 AL,89HOUT DX,ALLOOP1:MOV DX,28AHIN AL,DXMOV DX,288HOUT DX,ALJMPLOOP1MOV AH,4CHINT 21HCODEENDSEND START2、實驗四源程序(1)顯示學號DATA SEGMENTDATA ENDSSTACK SEGMENT STACK 'STACK' DB 100 DUP(?)STACK ENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV DX,28BH;8255初始化MOV AL,80HOUT

10、 DX,AL MOV CX,30VIEW:MOV DX,28AH;第一個數碼管顯示MOV AL,00HOUT DX,ALMOV DX,288HMOV AL,6DHOUT DX,ALMOV DX,28AHMOV AL,01HOUT DX,AL;第二個數碼管顯示MOV DX,28AHMOV AL,00HOUT DX,ALMOV DX,288HMOV AL,6FHOUT DX,ALMOV DX,28AHMOV AL,02HOUT DX,AL;第三個數碼管顯示MOV DX,28AHMOV AL,00HOUT DX,ALMOV AL,0MOV DX,288HMOV AL,07HOUT DX,ALMOV

11、DX,28AHMOV AL,04HOUT DX,AL;第四個數碼管顯示MOV DX,28AHMOV AL,00HOUT DX,ALMOV AL,0MOV DX,288HMOV AL,3FHOUT DX,ALMOV DX,28AHMOV AL,08HOUT DX,AL循環顯示JZ VIEW ;返回DOSMOV AH,4CHINT 21HCODEENDSEND START(2)循環顯示數字099DATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH ;數碼管顯示DATA ENDSSTACK SEGMENT STACK 'ST

12、ACK' DB 100 DUP(?)STACK ENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV DX,28BH;8255初始化MOV AL,80HOUT DX,AL;循環顯示 MOV BX,0H;控制重新從0開始計數的變量LOOP1:MOV CX,100;循環掃描數碼管讓兩個數碼管都顯示VIEW: MOV DX,28AHMOV AL,00HOUT DX,ALMOV DX,288H;計算十位數,并顯示PUSH BX MOV AX,BX MOV BL,0AH DIV BL MOV A

13、L,AH MOV BX,OFFSET TABLE MOV AH,0H ADD BX,AX MOV AL,BX OUT DX,AL POP BXMOV DX,28AHMOV AL,01HOUT DX,AL;計算個位數顯示 MOV DX,28AHMOV AL,00HOUT DX,ALMOV DX,288HPUSH BX MOV AX,BX MOV BL,0AH DIV BL MOV BX,OFFSET TABLE MOV AH,0H ADD BX,AX MOV AL,BX OUT DX,AL POP BXMOV DX,28AHMOV AL,02HOUT DX,ALLOOP VIEW;修改變量顯示下

14、一個數 INC BL CMP BL,64H JNZ JUMP1 MOV BL,0HJUMP1: JMP LOOP1 ;返回DOSMOV AH,4CHINT 21HCODEENDSEND START3.實驗五的源程序DATA SEGMENTTABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,DB 39H,5EH,79H,71H;數碼管顯示NUM DB 00H,070H,0B0H,0D0H,0E0H;用于掃描鍵盤DATA ENDSSTACK SEGMENT STACK 'STACK' DB 100 DUP(?)STACK

15、 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK;延時子程序DELAY PROC NEAR PUSH CX MOV CX,100H WAIT1: LOOP WAIT1 POP CX RETDELAY ENDP;獲取鍵盤的輸入數字的子程序,通過BX寄存器傳遞KEYBO PROC NEAR PUSH AX;保護現場 PUSH CX PUSH DX MOV CX,01H;控制掃描4次CHECK: MOV DX,28AH;輸出一行置低電平 MOV BX,OFFSET NUM ADD BX,CX MOV AL,BX OUT DX,AL;防抖 IN AL,

16、DX;判斷是否有鍵盤按下 MOV AH,AL CALL DELAY IN AL,DX CMP AL,AH JNZ CHECK;判斷是那一列按下了 AND AL,0FH CMP AL,0FH JZ NEXT CMP AL,0EH JZ NEXT1 CMP AL,0DH JZ NEXT2 CMP AL,0BH JZ NEXT3 MOV BX,01H JMP GOTNEXT: INC CX;修改變量掃描下一行 CMP CX,05H JNZ JUMP1 MOV CX,01HJUMP1: JMP CHECKNEXT1: MOV BX,04H JMP GOTNEXT2: MOV BX,03H JMP GO

17、TNEXT3: MOV BX,02H;計算按下鍵盤的數值GOT: SUB CX,01H MOV AL,CL MOV DL,04H MUL DL ADD BL,AL SUB BL,01H POP DX;恢復現場 POP CX POP AX RET KEYBO ENDP;主程序START: MOV AX,DATA MOV DS,AX;8255初始化 MOV DX,28BH MOV AL,81H OUT DX,AL MOV DX,289H MOV AL,01H OUT DX,AL ;掃描鍵盤LOOP1: CALL KEYBO;數碼管顯示字符 MOV AX,BX MOV BX,OFFSET TABLE

18、 ADD BX,AX MOV AL,BX MOV DX,288H OUT DX,AL MOV DX,28AH IN AL,DX;檢測鍵盤彈起 MOV AH,ALLOOP2: CALL DELAY IN AL,DX CMP AL,AH JZ LOOP2 JMP LOOP1;返回DOS MOV AX,4C00H INT 21H CODE ENDS END START五、實驗結果1、實驗三:打開的那個開關對應的二極管亮。2、實驗四:(1)四個數碼管穩定的顯示學號:0795;(2)兩個數碼管循環顯示099數字;3、實驗五:鍵盤輸入數字,數碼管顯示相應的的輸入的數字。六、 實驗總結實驗中主要遇到了下面的

19、問題:1、數碼管顯示總是有陰影,不清晰。主要原因是數碼管循環掃描的速度太快,以及視覺的停留效應。解決辦法發是顯示下一個字符之前先對數碼管進行初始化,使之不顯示;2、鍵盤的輸入有錯誤,按鍵有時會獲取錯誤數字。主要是由于是鍵盤經常有毛刺,需要防抖。通過先檢測,延時,再檢測的方式進行防抖,排除鍵盤抖動。七、 實驗收獲與心得體會本次實驗中,我們使用8255A并行接口芯片和數碼管實現了一個數碼管的靜態和動態顯示字符的程序。為了實現同時顯示不同字符,就要通過掃描(依次點亮數碼管)的方式來實現,這就要給CAT信號依次賦值,并且在掃描的過程中要用到延時。動態顯示的程序設計思想與靜態時的大體相同,只是對動態的每

20、一種狀態進行一段時間的靜態顯示然后換狀態而已,所以通過一個二層循環就能很好地解決這個問題。通過這次實驗,我在編程過程中學到了很多東西,不但鞏固了書本的知識,而且體會到了編程的過程中思維必須很縝密,否則寫出來的程序常會導致無法運行甚至死機。實驗八 可編程定時器計數器(8253/8254)一、 實驗目的學習掌握8253用作定時器的編程原理; 二、 實驗原理及內容1完成一個音樂發生器,通過喇叭或蜂鳴器放出音樂,并在數碼管上顯示樂譜。2擴展部分:利用小鍵盤實現彈琴功能,并顯示彈奏的樂譜。 注意:8253輸入頻率應小于2MHz。三、硬件接線圖與軟件程序流程圖圖1:硬件連接圖圖2:程序流程圖四、 給出源程

21、序1、播放音樂程序:DATA SEGMENTNOTE DW 0001H,3906,3472,3125,2932,2604,2344,2083,1953;頻率TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;數碼管MUSIC DB 3,3,2,3,5,6,5,8,6,5,5,3,3,5,5,5,6,0,8,8,2,2,3,3,2,1,6,1,5,5,0,5,DB 5,3,3,5,5,6,8,8,2,2,3,3,1,1,6,6,5,5,5,0,5,5,2,2,3,5,3,2,1,6,6,1,1;存放的樂符DATA ENDSSTACK SEGMENT

22、STACK 'STACK' DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK;延時子程序DELAY PROC NEAR PUSH CX MOV CX,0FFFFH WAIT1: LOOP WAIT1 POP CX RETDELAY ENDP;主程序START: MOV AX,DATA MOV DS,AX;8254初始化 MOV DX,283H MOV AL,36H OUT DX,AL;8255初始化 MOV DX,28BH MOV AL,80H OUT DX,AL MOV DX,28AH MO

23、VAL,01H OUT DX,AL MOV CX,01H;播放音樂SPEAK: PUSH CX;保護現場;讀取樂符 MOV BX,OFFSET MUSIC ADD BX,CX MOV AL,BX MOV CL,AL MOV CH,0H ;數碼管顯示 MOV BX,OFFSET TABLE ADD BX,CX MOV AL,BX MOV DX,288H OUT DX,AL;播放該樂符 MOV BX,OFFSET NOTE MOV AX,CX ADD AX,AX ADD BX,AX MOV AX,BX MOV DX,280H OUT DX,AL MOV AL,AH OUT DX,AL POP CX

24、 ;延時,持續播放 MOV AX,90HLOOP1: CALL DELAY DEC AX JNZ LOOP1 ;判讀繼續播放還是重新播放 INC CX CMP CX,41H JNZ JUM MOV CX,01HJUM: JMP SPEAKCODEENDSEND START2、拓展:小鍵盤彈奏DATA SEGMENTNOTE DW 0001H,3906,3472,3125,2932,2604,2344,2083,1953;頻率TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;數碼管NUM DB 00H,070H,0B0H,0D0H,0E0H ;檢測

25、鍵盤輸出DATA ENDSSTACK SEGMENT STACK 'STACK' DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK;延時子程序DELAY PROC NEAR PUSH CX MOV CX,100H WAIT1: LOOP WAIT1 POP CX RETDELAY ENDP;獲取鍵盤輸入值的子程序,具體注釋KEYBO PROC NEAR PUSH AX PUSH CX PUSH DX MOV CX,01HCHECK: MOV DX,28AH MOV BX,OFFSET NUM

26、ADD BX,CX MOV AL,BX OUT DX,AL IN AL,DX MOV AH,AL CALL DELAY IN AL,DX CMP AL,AH JNZ CHECK AND AL,0FH CMP AL,0FH JZ NEXT CMP AL,0EH JZ NEXT1 CMP AL,0DH JZ NEXT2 CMP AL,0BH JZ NEXT3 MOV BX,01H JMP GOTNEXT: INC CX CMP CX,05H JNZ JUMP1 MOV CX,01HJUMP1: JMP CHECKNEXT1: MOV BX,04H JMP GOTNEXT2: MOV BX,03H

27、JMP GOTNEXT3: MOV BX,02HGOT: SUB CX,01H MOV AL,CL MOV DL,04H MUL DL ADD BL,AL SUB BL,01H POP DX POP CX POP AX RET KEYBO ENDP;主程序START: MOV AX,DATA MOV DS,AX;8254初始化 MOV DX,283H MOV AL,36H OUT DX,AL;8255初始化 MOV DX,28BH MOV AL,81H OUT DX,AL MOV DX,289H MOV AL,01H OUT DX,AL ;掃描鍵盤顯示LOOP1: CALL KEYBO;掃描鍵

28、盤,獲取樂符 MOV CX,BX MOV BX,OFFSET TABLE ;數碼管顯示樂符 ADD BX,CX MOV AL,BX MOV DX,288H OUT DX,AL ;獲取樂符的頻率,并播放樂符 MOV BX,OFFSET NOTE MOV AX,CX ADD AX,AX ADD BX,AX MOV AX,BX MOV DX,280H OUT DX,AL MOV AL,AH OUT DX,AL;檢測鍵盤是否彈起,直到鍵盤彈起才停止播放音樂 MOV DX,28AH IN AL,DX MOV AH,ALLOOP2: CALL DELAY IN AL,DX CMP AL,AH JZ LOO

29、P2 ;初始化8254,停止播放音樂 MOV AX,0H MOV DX,283H MOV AL,36H OUT DX,AL JMP LOOP1 CODE ENDS END START 3、擴展:四個數碼管滾動顯示樂符由于大部分程序與程序1相同,再次省略部分程序刪掉延時子程序,增加子程序:SHOW PROC NEAR PUSH CX;保護現場 PUSH AX MOV CX,5AH;一次掃描各個數碼管,使四個數碼管同時顯示LOOP1: MOV DX,289H ;第一個數碼管顯示 MOV AL,01H OUT DX,AL MOV BX,OFFSET TABLE ADD BX,NUM1 MOV AL,

30、BX MOV DX,288H OUT DX,AL;第二個數碼管顯示 MOV DX,289H MOV AL,02H OUT DX,AL MOV BX,OFFSET TABLE ADD BX,NUM2 MOV AL,BX MOV DX,288H OUT DX,AL; 第三個數碼管顯示 MOV DX,289H MOV AL,04H OUT DX,AL MOV BX,OFFSET TABLE ADD BX,NUM3 MOV AL,BX MOV DX,288H OUT DX,AL;第四個數碼管顯示 MOV DX,289H MOV AL,08H OUT DX,AL MOV BX,OFFSET TABLE

31、ADD BX,NUM3 MOV AL,BX MOV DX,288H OUT DX,AL;調整循環參數 DEC CX JNZ LOOP1 POP AX POP CX RET SHOW ENDP主程序調整: 在語句POP CX 之前增加 MOV AX,NUM3 MOV NUM4,AX MOV AX,NUM2 MOV NUM3,AX MOV AX,NUM1 MOV NUM2,AX MOV NUM1,CX CALL SHOW替換到原先的延時部分。五、 給出實驗結果1、程序1可以循環播放茉莉花選段,數碼管顯示播放的音符;2、程序2可以按鍵播放音樂,鍵按下就響,直到彈起才停止,數碼管顯示正在播放的音符;3

32、、程序3可以循環播放茉莉花選段,四個數碼管滾動顯示播放的音符。六、 實驗總結做這個實驗時主要遇到了下面幾個問題:1、播放噪音:實驗開始寫的程序播放時,全是噪音。調了很長時間也不好使。其主要原因是延時太短,編寫程序之前沒有計算延時多久可以正常播放音符,只是評經驗賦值,結果導致很長時間調不出來。多循環幾次延時子程序就很好解決問題了。2、鍵盤彈奏遇到的問題是彈起問題,如果不檢測彈起,會有音符長時間播放無法停下來。所以要用鍵盤按下的時間替換掉延時的程序,這樣就可以控制音符播放的時間。3、數碼管滾動顯示音符遇到的主要問題還是延時的問題,由于增加了很多用于顯示的語句,使得延時的程序執行的時間增長了很多,導

33、致很長時間播放同一個音符,聽起來還是像噪音。減少循環次數就可以解決這個問題。七、 實驗收獲與心得體會通過這次實驗,我們學習了8253計數器的使用方法。我們最先了解到的是8253的初始化,包括對于計數器的選擇,計數初值的輸入方式,計數初值的格式,基礎器工作方式等等一些內容的設置。之后通過加深對各種工作方式的理解,確定下來可以使用方式2或方式3來進行計數器的輸出。因為在這兩個方式下8253可以充當分頻器。而在本實驗中我選用了方式3,原因是方式2并非輸出方波波形。根據講義上給出的各個音符的頻率,以及8253計數器的輸入頻率,并通過公式:(輸出頻率 = 輸入頻率 / 8253計數初值) ,我計算得到各

34、個音階對應的計數初值。有了以上的準備,就可以進行實際的編程了。對于樂曲的播放,選用的是逐個發出相應樂音并顯示相應樂符的方法。實驗要有嚴密的邏輯,就像延時這中東西很不起眼,但是起著十分重要的作用。應對延時的值進行估計甚至準確計算,這樣可以避免很多不必要的錯誤和麻煩。八、 思考題寫出8253計數初值、輸入頻率和輸出頻率的關系。答:輸出頻率 = 輸入頻率 / 8253計數初值實驗十六 串行通訊8251一、實驗目的 1、了解串行通訊的基本原理。 2、掌握串行接口芯片8251的工作原理和編程方法。 二、實驗原理和內容 1、按圖4-16-1連接好電路,(8251插通用插座)其中8254計數器用于產生825

35、1的發送和接收時鐘,TXD和RXD連在一起。 2、編程: 從鍵盤輸入一個字符,將其ASCII碼加 1 后發送出去,再接收回來在屏幕上顯示,(或將內存制定區域內存放的一批數據通過8251A的TXD發送出去,然后從RXD接收回來,并在屏幕上或數碼管上顯示出來。)實現自發自收。 三、硬件接線圖與軟件程序流程圖圖1:8251A的實驗電路圖圖2:程序流程圖四、源程序1、自發自收程序DATA SEGMENTSTRING DB 'Please put in a word.',0DH,0AH,'$';提示字符DATA ENDSSTACK SEGMENT STACK 'S

36、ATCK' DB 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX;8254初始化 MOV DX,283H MOV AL,16H OUT DX,AL MOV DX,280H MOV AL,34H OUT DX,AL ;8251初始化 MOV DX,2B9H;控制端口 MOV AL,40H;內部復位命令 OUT DX,AL NOP MOV AL,5EH;方式控制字 OUT DX,AL MOV AL,37H;命令控制字 OUT DX,AL;顯示提示字符 M

37、OV AH,09H MOV DX,OFFSET STRING INT 21H ;發送數據GOON: MOV DX,2B9H;讀狀態字 IN AL,DX TEST AL,01H;檢測是否可以發送字符 JZ GOON MOV AH,01H;輸入字符 INT 21H;檢測是否為ESC鍵 CMP AL,1BH JZ EXIT ADD AL,1H ;發送數據 MOV DX,2B8H OUT DX,AL;接受數據RECIEVE: MOV DX,2B9H;讀入狀態字 IN AL,DX TEST AL,02H;檢測是否可以接受 JZ RECIEVE MOV DX,2B8H;接受數據 IN AL,DX MOV DL,AL MOV AH,02H;顯示接受的數據 INT 21H JMP GOON ;退出,回到DOSEXIT: MOV AX,4C00H INT 21H CODE ENDS END START2、擴展程序(互發,小鍵盤輸入,數碼管顯示)程序:DATA SEGMENTSTRING DB &

溫馨提示

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

評論

0/150

提交評論