微機原理實驗程序 中國石油大學華東_第1頁
微機原理實驗程序 中國石油大學華東_第2頁
微機原理實驗程序 中國石油大學華東_第3頁
微機原理實驗程序 中國石油大學華東_第4頁
微機原理實驗程序 中國石油大學華東_第5頁
已閱讀5頁,還剩17頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、實驗3 循環程序設計實驗內容:1. 數組X,Y,Z,。X=32,-43,76,95,-1;Y=-78,127,-128,-125,88。計算兩數之和,送入數組S。DATA SEGMENTX DB 32,-43,76,95,-1Y DB -78,127,-128,-125,88S DB 5 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX ,DATAMOV DS,AXMOV CX,5MOV SI,0FOR:MOV AL,XSIADD AL,YSIMOV SSI,ALINC SILOOP FORCODE ENDSEND ST

2、ART2. 兩個多位十進制數,X=1357902468,Y=5790123467。計算兩數之和(BCD碼)。DATA SEGMENTX DB 68H,24H,90H,57H,13HY DB 67H,34H,12H,90H,57HS DB 5 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX ,DATAMOV DS,AXMOV CX,5MOV SI,0CLCFOR:MOV AL,XSIADD AL,YSIDAAMOV SSI,ALINC SILOOP FORCODE ENDSEND START實驗4 子程序調用變成設計實驗

3、內容:用子程序調用方法,現有數組X=32,-43,76,95,-1,-78,127,-128,-125,88          編程按遞增順序排序輸出。DATA SEGMENTX DB 32,-43,76,95,-1,-78,127,-128,-125,88ENDS SEGMENTCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX ,DATAMOV DS,AXCALL SUB1MOV AH,4CHINT 21HSUB1 PROC NEARMOV CX,9

4、LP1:MOV BX,0MOV DX,CXLP2;MOV AL,XBXCMP AL,XBX+1JLE NEXTXCHG AL,XBX+1NEXT:INC BXDEC DXJNE LP2LOOP LP1RETSUB1 ENDPCODE ENDSEND START實驗5 DOS功能調用實驗內容:1. 從鍵盤連續輸入五個單個字符,然后再反向輸出這5個字符。輸入:12345輸出:54321CODE SEGMENTASSUME CS:CODESTART:MOV CX,5LP1:MOV AH,01INT 21HPUSH AXLOOP LP1MOV DL,0AHMOV AH,02INT 21HMOV DL,

5、0DHMOV AH,02INT 21HMOV CX,5LP2:POP DXMOV AH,02INT 21HLOOP LP2MOV AH,4CHINT 21HCODE ENDSEND START2. 從鍵盤輸入一串字符“abcde”,然后輸出3次。DATA SEGMENTMAX DB 10STR DB 10 DUP(S)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA DX,MAXMOV AH,10INT 21HMOV CX,3LP:LEA DX,STRMOV AH,9INT 21HMOV DL,0D

6、HMOV AH,02HINT 21HMOV DL,0AHMOV AH,2INT 21HLOOP LPMOV AH,4CHINT 21HCODE ENDSEND START實驗10 簡單的輸出接口實驗實驗內容;1. 利用74LS75設計一個接口電路,使4個LED同時亮,同時滅,中間間隔1秒,共循環5次。CODE SEGMENT ASSUME CS:CODESTART:MOV CX,5LP;MOV DX,280HMOV AL,0FHOUT DX,ALCALL DELAYMOV DX,280HMOV AL,0HOUT DX,ALCALL DELAYLOOP LPMOV AH,4CHINT 21HDE

7、LAY PROC NEARPUSH CXMOV BX,03FFHFOR1:MOV CX,0FFFFHFOR2;LOOP FOR2DEC BXJNZ FOR1POP CXRET DELAY ENDPCODE ENDSEND START2. 利用74LS75設計一個接口電路,使8個LED循環點亮,中間間隔1秒,共循環3次CODE SEGMENTASSUME CS:CODESTART:MOV CX,3MOV SI,8LP1:MOV DX,280HMOV AL,01HLP2:OUT DX,ALCALL DELAYSHL AL,1DEC SIJNZ LP2LOOP LP1MOV AH,4CHINT 21

8、HDELAY PROC NEARPUSH CXMOV BX,03FFHFOR1:MOV CX,0FFFFHFOR2;LOOP FOR2DEC BXJNZ FOR1POP CXRET DELAY ENDPCODE ENDSEND START實驗11 簡單的輸入接口實驗實驗內容:1.設計一個接口電路,當開關來回搬動1次后,在屏幕上輸出1,再來回搬動1次,輸出2,共搬動5次。利用硬件消抖。(D1) CODE SEGMENT     ASSUME CS:CODESTART:MOV DL,31H     

9、 MOV CX,5   L1:PUSH DX      MOV DX,280H      IN AL,DX      AND AL,01H      MOV AH,AL   L2:IN AL,DX      AND AL,01H&

10、#160;     CMP AH,AL      JZ L2   L3:IN AL,DX      AND AL,01H      CMP AH,AL      JNZ L3      POP DX  

11、;    MOV AH,02H      INT 21H      INC DL      LOOP L1      MOV AH,4CH      INT 21HCODE ENDS     END START

12、2.設計一個接口電路,當開關來回搬動1次后,在屏幕上輸出1,再來回搬動1次,輸出2,共搬動5次。利用軟件消抖。(D1). CODE SEGMENTASSUME CS:CODESTART:MOV DL,31HMOV CX,5L1:PUSH DXMOV DX,280HIN AL,DXAND AL,01H MOV AH,AL L2:IN AL,DX AND AL,01H CMP AH,AL JZ L2CALL DELAY L3:IN AL,DX AND AL,01H CMP AH,AL JNZ L3CALL DELAY POP DX MOV AH,02H INT 21H INC DLLOOP L1M

13、OV AH,4CH INT 21HDELAY PROC NEARPUSH CXMOV BX,03FHFOR1:MOV CX,0FHFOR2:LOOP FOR2DEC BXJNZ FOR1POP CXRETDELAY ENDPCODE ENDS END START3. 設計一個接口電路,當開關搬動1次后,在屏幕上輸出1,再搬動1次, 輸出2,共搬動5次。(D4)CODE SEGMENTASSUME CS:CODESTART:MOV DL,31HMOV CX,5L1:PUSH DXMOV DX,284HIN AX,DXAND AX,10H MOV SI,AX L2:IN AX,DX AN

14、D AX,10H CMP SI,AX JZ L2 POP DX MOV AH,02H INT 21H INC DLLOOP L1MOV AH,4CH INT 21HCODE ENDS END START實驗12 數碼管顯示實驗1. 使2個七段顯示管分別顯示HP,字符保持5秒鐘。CODE SEGMENTASSUME CS:CODESTART:MOV CX,03FFHL1:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,76H ;HOUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HM

15、OV AL,00HOUT DX,ALMOV DX,290HMOV AL,73H;POUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L1MOV DX,280HMOV AL,00HOUT DX,ALMOV AH,4CHINT 21HDONG PROC NEARPUSH CXPUSH BXMOV BX,0100HFOR1:MOV CX,0100HFOR2:LOOP FOR2DEC BXJNZ FOR1POP BXPOP CXRETDONG ENDPCODE ENDSEND START2. 使2個七段顯示管分別顯示01,23,45,67,89,

16、每兩個字符保持2秒鐘。CODE SEGMENTASSUME CS:CODESTART:MOV CX,01FFHL1:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,3FH ;0OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,06H;1OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L1MOV CX,01FFHL2:MOV DX,280HMOV AL

17、,00HOUT DX,ALMOV DX,290HMOV AL,5BH ;2OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,4FH;3OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L2MOV CX,010FHL3:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,66H ;4OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,A

18、LCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,6DH;5OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L3MOV CX,010FHL4:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,7DH ;6OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,07H;7OUT DX,ALMOV

19、 DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L4MOV CX,010FHL5:MOV DX,280HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,7FH ;8OUT DX,ALMOV DX,282HMOV AL,02HOUT DX,ALCALL DONGMOV DX,282HMOV AL,00HOUT DX,ALMOV DX,290HMOV AL,6FH;9OUT DX,ALMOV DX,280HMOV AL,01HOUT DX,ALCALL DONGLOOP L5MOV DX,280HMOV AL,00HOUT DX,ALMO

20、V AH,4CHINT 21HDONG PROC NEARPUSH CXPUSH BXMOV BX,0100HFOR1:MOV CX,0100HFOR2:LOOP FOR2DEC BXJNZ FOR1POP BXPOP CXRETDONG ENDPCODE ENDSEND START實驗13 可編程并行接口8255A芯片實驗實驗內容:1. 由8255A方式0的A口輸出數據,驅動2個LED,循環點亮5次,每個狀態保留1秒。CODE SEGMENTASSUME CS:CODESTART:MOV AL,80H MOV DX,283H OUT DX,AL MOV CX,5 MOV DX,281H MO

21、V AL,00L1: MOV AL,01 OUT DX,ALCALL DELAY MOV AL,02 OUT DX,ALCALL DELAY LOOP L1 MOV AH,4CH INT 21HDELAY PROC NEAR PUSH CX MOV BX,400FOR1:MOV CX,0FFFFHFOR2:LOOP FOR2 DEC BX JNZ FOR1 POP CXRETDELAY ENDPCODE ENDSEND START2.用8255A方式1,將兩位開關量設置的二進制數,由B口選通輸入CPU,三秒鐘后,由A口選通輸出送LED顯示,要求通過對狀態字IBFB和OBFA#的測試來控制程序運

22、行。STB#和ACK#由消抖電路產生。CODE SEGMENTASSUME CS:CODESTART:MOV AL,10100110B MOV DX,283H OUT DX,ALL1: MOV DX,282H IN AL,DX AND AL,02H JZ L1 MOV DX,281H IN AL,DX CALL DELAY MOV DX,280H OUT DX,ALL2: MOV DX,282H IN AL,DX AND AL,80H JZ L2 JMP L3 LOOP START L3:MOV AL,00 MOV DX,280H OUT DX,AL MOV AH,4CH INT 21HDEL

23、AY PROC NEAR PUSH CX MOV BX,3FFHFOR1:MOV CX,0FFFFHFOR2:LOOP FOR2 DEC BX JNZ FOR1 POP CXRETDELAY ENDPCODE ENDSEND START 3.由8255A的A接口輸出數據,驅動4個LED,使其順序顯示0-F的二進制狀態, 每個狀態保持1秒鐘。CODE SEGMENT     ASSUME CS:CODESTART:MOV DX,283H      MOV AL,80H 

24、;     OUT DX,AL      MOV CX,16      MOV AL,00H   L1:MOV DX,280H      OUT DX,AL      CALL DELAY      INC AL

25、0;     LOOP L1      MOV AH,4CH      INT 21HDELAY PROC NEAR      PUSH CX      MOV BX,299H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2    

26、;  DEC BX      JNZ FOR1      POP CX      RETDELAY ENDPCODE ENDS     END START實驗14 8253編程測試實驗實驗內容:8253方式0測試,用消抖電路產生的脈沖作為CLK0輸入信號,OUT0接LED。運行程序5秒將計數器的顯示在屏幕上,分析讀取的計數常數與CLK0信號的關系。

27、 方式0波形圖CODE SEGMENT     ASSUME CS:CODESTART:MOV AL,90H      MOV DX,283H      OUT DX,AL      MOV AL,05H      MOV DX,282H      

28、OUT DX,AL      CALL DELAY      MOV AL,00H      MOV DX,283H      OUT DX,AL      MOV DX,282H      IN AL,DX  

29、0;   MOV CH,AL      MOV CL,4      AND AL,0F0H      ROL AL,CL      MOV DL,AL      ADD DL,30H      MOV AH,0

30、2H      INT 21H      AND CH,0FH      MOV DL,CH      ADD DL,30H      MOV AH,02H      INT 21H     

31、; MOV AH,4CH      INT 21HDELAY PROC NEAR      PUSH CX      MOV BX,999H FOR1:MOV CX,0FFFFH FOR2:LOOP FOR2      DEC BX      JNZ FOR1      POP CX      RETDELAY ENDPCODE ENDS     END START2.8253方式1測試。編程使計數器1工作在方式1 ,CLK1和GATE1信號由消抖電路產生,OUT1接LED,驗證CLK1,GATE1,OUT1三者關系。 方式1波形圖CODE SEGMENT ASSUME CS:CODESTART:MO

溫馨提示

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

評論

0/150

提交評論