微机原理实验程序 中国石油大学(华东)

来源:环球网校 发布时间:2020-09-15 点击:

  实验3 循环程序设计

 实验内容:

 数组X,Y,Z,。X=32,-43,76,95,-1;Y=-78,127,-128,-125,88。计算两数之和,送入数组S。

 DATA SEGMENT

 X DB 32,-43,76,95,-1

 Y DB -78,127,-128,-125,88

 S DB 5 DUP(0)

 DATA ENDS

 CODE SEGMENT

 ASSUME CS:CODE,DS:DATA

 START:MOV AX ,DATA

 MOV DS,AX

 MOV CX,5

 MOV SI,0

 FOR:MOV AL,X[SI]

 ADD AL,Y[SI]

 MOV S[SI],AL

 INC SI

 LOOP FOR

 CODE ENDS

 END START

 两个多位十进制数,X=1357902468,Y=5790123467。计算两数之和(BCD码)。

 DATA SEGMENT

 X DB 68H,24H,90H,57H,13H

 Y DB 67H,34H,12H,90H,57H

 S DB 5 DUP(0)

 DATA ENDS

 CODE SEGMENT

 ASSUME CS:CODE,DS:DATA

 START:MOV AX ,DATA

 MOV DS,AX

 MOV CX,5

 MOV SI,0

 CLC

 FOR:MOV AL,X[SI]

 ADD AL,Y[SI]

 DAA

 MOV S[SI],AL

 INC SI

 LOOP FOR

 CODE ENDS

 END START

 实验4 子程序调用变成设计

 实验内容:

 用子程序调用方法,现有数组X=32,-43,76,95,-1,-78,127,-128,-125,88

 ?编程按递增顺序排序输出。

 DATA SEGMENT

 X DB 32,-43,76,95,-1,-78,127,-128,-125,88

 ENDS SEGMENT

 CODE SEGMENT

 ASSUME CS:CODE,DS:DATA

 START:MOV AX ,DATA

 MOV DS,AX

 CALL SUB1

 MOV AH,4CH

 INT 21H

 SUB1 PROC NEAR

 MOV CX,9

 LP1:MOV BX,0

 MOV DX,CX

 LP2;MOV AL,X[BX]

 CMP AL,X[BX+1]

 JLE NEXT

 XCHG AL,X[BX+1]

 NEXT:INC BX

 DEC DX

 JNE LP2

 LOOP LP1

 RET

 SUB1 ENDP

 CODE ENDS

 END START

 实验5 DOS功能调用

 实验内容:

 从键盘连续输入五个单个字符,然后再反向输出这5个字符。

 输入:12345

 输出:54321

 CODE SEGMENT

 ASSUME CS:CODE

 START:MOV CX,5

 LP1:

 MOV AH,01

 INT 21H

 PUSH AX

 LOOP LP1

 MOV DL,0AH

 MOV AH,02

 INT 21H

 MOV DL,0DH

 MOV AH,02

 INT 21H

 MOV CX,5

 LP2:

 POP DX

 MOV AH,02

 INT 21H

 LOOP LP2

 MOV AH,4CH

 INT 21H

 CODE ENDS

 END START

 从键盘输入一串字符“abcde”,然后输出3次。

 DATA SEGMENT

 MAX DB 10

 STR DB 10 DUP(‘S’)

 DATA ENDS

 CODE SEGMENT

 ASSUME CS:CODE,DS:DATA

 START:

 MOV AX,DATA

 MOV DS,AX

 LEA DX,MAX

 MOV AH,10

 INT 21H

 MOV CX,3

 LP:LEA DX,STR

 MOV AH,9

 INT 21H

 MOV DL,0DH

 MOV AH,02H

 INT 21H

 MOV DL,0AH

 MOV AH,2

 INT 21H

 LOOP LP

 MOV AH,4CH

 INT 21H

 CODE ENDS

 END START

 实验10 简单的输出接口实验

 实验内容;

 利用74LS75设计一个接口电路,使4个LED同时亮,同时灭,中间间隔1秒,共循环5次。

 CODE SEGMENT

 ASSUME CS:CODE

 START:

 MOV CX,5

 LP;MOV DX,280H

 MOV AL,0FH

 OUT DX,AL

 CALL DELAY

 MOV DX,280H

 MOV AL,0H

 OUT DX,AL

 CALL DELAY

 LOOP LP

 MOV AH,4CH

 INT 21H

 DELAY PROC NEAR

 PUSH CX

 MOV BX,03FFH

 FOR1:MOV CX,0FFFFH

 FOR2;LOOP FOR2

 DEC BX

 JNZ FOR1

 POP CX

 RET

 DELAY ENDP

 CODE ENDS

 END START

 利用74LS75设计一个接口电路,使8个LED循环点亮,中间间隔1秒,共循环3次

 CODE SEGMENT

 ASSUME CS:CODE

 START:

 MOV CX,3

 MOV SI,8

 LP1:

 MOV DX,280H

 MOV AL,01H

 LP2:

 OUT DX,AL

 CALL DELAY

 SHL AL,1

 DEC SI

 JNZ LP2

 LOOP LP1

 MOV AH,4CH

 INT 21H

 DELAY PROC NEAR

 PUSH CX

 MOV BX,03FFH

 FOR1:MOV CX,0FFFFH

 FOR2;LOOP FOR2

 DEC BX

 JNZ FOR1

 POP CX

 RET

 DELAY ENDP

 CODE ENDS

 END START

 实验11 简单的输入接口实验

 实验内容:

 1.设计一个接口电路,当开关来回搬动1次后,在屏幕上输出‘1’,再来回搬动1次,输出‘2’,共搬动5次。利用硬件消抖。(D1)

 CODE SEGMENT

 ASSUME CS:CODE

 START:MOV DL,31H

 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

 CMP AH,AL

 JZ L2

 L3:IN AL,DX

 AND AL,01H

 CMP AH,AL

 JNZ L3

 POP DX

 MOV AH,02H

 INT 21H

 INC DL

 LOOP L1

 MOV AH,4CH

 INT 21H

 CODE ENDS

 END START

 2.设计一个接口电路,当开关来回搬动1次后,在屏幕上输出‘1’,再来回搬动1次,输出‘2’,共搬动5次。利用软件消抖。(D1)

 .

 CODE SEGMENT

 ASSUME CS:CODE

 START:MOV DL,31H

 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

  CMP AH,AL

  JZ L2

 CALL DELAY

  L3:IN AL,DX

  AND AL,01H

  CMP AH,AL

  JNZ L3

 CALL DELAY

  POP DX

  MOV AH,02H

  INT 21H

  INC DL

 LOOP L1

 MOV AH,4CH

  INT 21H

 DELAY PROC NEAR

 PUSH CX

 MOV BX,03FH

 FOR1:MOV CX,0FH

 FOR2:LOOP FOR2

 DEC BX

 JNZ FOR1

 POP CX

 RET

 DELAY ENDP

 CODE ENDS

  END START

 3. 设计一个接口电路,当开关搬动1次后,在屏幕上输出‘1’,再搬动1次,

 ?输出‘2’,共搬动5次。(D4)

 CODE SEGMENT

 ASSUME CS:CODE

 START:MOV DL,31H

 MOV CX,5

 L1:PUSH DX

 MOV DX,284H

 IN AX,DX

 AND AX,10H

  MOV SI,AX

  L2:IN AX,DX

  AND AX,10H

  CMP SI,AX

  JZ L2

  POP DX

  MOV AH,02H

  INT 21H

  INC DL

 LOOP L1

 MOV AH,4CH

  INT 21H

 CODE ENDS

  END START

 实验12 数码管显示实验

 1. 使2个七段显示管分别显示HP,字符保持5秒钟。

 CODE SEGMENT

  ASSUME CS:CODE

 START:

 MOV CX,03FFH

 L1: MOV DX,280H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,76H ;H

  OUT DX,AL

  MOV DX,282H

  MOV AL,02H

  OUT DX,AL

  CALL DONG

  MOV DX,282H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,73H;P

  OUT DX,AL

  MOV DX,280H

  MOV AL,01H

  OUT DX,AL

  CALL DONG

  LOOP L1

 MOV DX,280H

  MOV AL,00H

  OUT DX,AL

  MOV AH,4CH

  INT 21H

 DONG PROC NEAR

  PUSH CX

  PUSH BX

  MOV BX,0100H

 FOR1: MOV CX,0100H

 FOR2: LOOP FOR2

  DEC BX

  JNZ FOR1

  POP BX

  POP CX

  RET

 DONG ENDP

 CODE ENDS

  END START

 使2个七段显示管分别显示01,23,45,67,89,每两个字符保持2秒钟。

 CODE SEGMENT

  ASSUME CS:CODE

 START:

 MOV CX,01FFH

 L1: MOV DX,280H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,3FH ;0

  OUT DX,AL

  MOV DX,282H

  MOV AL,02H

  OUT DX,AL

  CALL DONG

  MOV DX,282H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,06H;1

  OUT DX,AL

  MOV DX,280H

  MOV AL,01H

  OUT DX,AL

  CALL DONG

  LOOP L1

 MOV CX,01FFH

 L2: MOV DX,280H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,5BH ;2

  OUT DX,AL

  MOV DX,282H

  MOV AL,02H

  OUT DX,AL

  CALL DONG

  MOV DX,282H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,4FH;3

  OUT DX,AL

  MOV DX,280H

  MOV AL,01H

  OUT DX,AL

  CALL DONG

  LOOP L2

 MOV CX,010FH

 L3: MOV DX,280H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,66H ;4

  OUT DX,AL

  MOV DX,282H

  MOV AL,02H

  OUT DX,AL

  CALL DONG

  MOV DX,282H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,6DH;5

  OUT DX,AL

  MOV DX,280H

  MOV AL,01H

  OUT DX,AL

  CALL DONG

  LOOP L3

 MOV CX,010FH

 L4: MOV DX,280H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,7DH ;6

  OUT DX,AL

  MOV DX,282H

  MOV AL,02H

  OUT DX,AL

  CALL DONG

  MOV DX,282H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,07H;7

  OUT DX,AL

  MOV DX,280H

  MOV AL,01H

  OUT DX,AL

  CALL DONG

  LOOP L4

 MOV CX,010FH

 L5: MOV DX,280H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,7FH ;8

  OUT DX,AL

  MOV DX,282H

  MOV AL,02H

  OUT DX,AL

  CALL DONG

  MOV DX,282H

  MOV AL,00H

  OUT DX,AL

  MOV DX,290H

  MOV AL,6FH;9

  OUT DX,AL

  MOV DX,280H

  MOV AL,01H

  OUT DX,AL

  CALL DONG

  LOOP L5

 MOV DX,280H

  MOV AL,00H

  OUT DX,AL

  MOV AH,4CH

  INT 21H

 DONG PROC NEAR

  PUSH CX

  PUSH BX

  MOV BX,0100H

 FOR1: MOV CX,0100H

 FOR2: LOOP FOR2

  DEC BX

  JNZ FOR1

  POP BX

  POP CX

  RET

 DONG ENDP

 CODE ENDS

  END START

 实验13 可编程并行接口8255A芯片实验

 实验内容:

 由8255A方式0的A口输出数据,驱动2个LED,循环点亮5次,每个状态保留1秒。

 CODE SEGMENT

 ASSUME CS:CODE

 START:MOV AL,80H

  MOV DX,283H

  OUT DX,AL

  MOV CX,5

  MOV DX,281H

  MOV AL,00

 L1: MOV AL,01

  OUT DX,AL

 CALL DELAY

  MOV AL,02

  OUT DX,AL

 CALL DELAY

  LOOP L1

  MOV AH,4CH

  INT 21H

 DELAY PROC NEAR

  PUSH CX

  MOV BX,400

 FOR1:MOV CX,0FFFFH

 FOR2:LOOP FOR2

  DEC BX

  JNZ FOR1

  POP CX

 RET

 DELAY ENDP

 CODE ENDS

 END START

 2.用8255A方式1,将两位开关量设置的二进制数,由B口选通输入CPU,三秒钟后,由A口选通输出送LED显示,要求通过对状态字IBFB和OBFA#的测试来控制程序运行。STB#和ACK#由消抖电路产生。

 CODE SEGMENT

 ASSUME CS:CODE

 START:MOV AL

  MOV DX,283H

  OUT DX,AL

 L1: MOV DX,282H

  IN AL,DX

  AND AL,02H

  JZ L1

  MOV DX,281H

  IN AL,DX

  CALL DELAY

  MOV DX,280H

  OUT DX,AL

 L2: 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 21H

 DELAY PROC NEAR

  PUSH CX

  MOV BX,3FFH

 FOR1:MOV CX,0FFFFH

 FOR2:LOOP FOR2

  DEC BX

  JNZ FOR1

  POP CX

 RET

 DELAY ENDP

 CODE ENDS

 END START

 3.由8255A的A接口输出数据,驱动4个LED,使其顺序显示0--F的二进制状态,

 ?每个状态保持1秒钟。

 CODE SEGMENT

 ASSUME CS:CODE

 START:MOV DX,283H

 MOV AL,80H

 OUT DX,AL

 MOV CX,16

 MOV AL,00H

 L1:MOV DX,280H

 OUT DX,AL

 CALL DELAY

 INC AL

 LOOP L1

 MOV AH,4CH

 INT 21H

 DELAY PROC NEAR

 PUSH CX

 MOV BX,299H

 ?FOR1:MOV CX,0FFFFH

 ?FOR2:LOOP FOR2

 DEC BX

 JNZ FOR1

 POP CX

 RET

 DELAY ENDP

 CODE ENDS

 END START

 实验14 8253编程测试实验

 实验内容:8253方式0测试,用消抖电路产生的脉冲作为CLK0输入信号,OUT0接LED。运行程序5秒将计数器的显示在屏幕上,分析读取的计数常数与CLK0信号的关系。

  方式0波形图

 CODE SEGMENT

 ASSUME CS:CODE

 START:MOV AL,90H

 MOV DX,283H

 OUT DX,AL

 MOV AL,05H

 MOV DX,282H

 OUT DX,AL

 CALL DELAY

 MOV AL,00H

 MOV DX,283H

 OUT DX,AL

 MOV DX,282H

 IN AL,DX

 MOV CH,AL

 MOV CL,4

 AND AL,0F0H

 ROL AL,CL

 MOV DL,AL

 ADD DL,30H

 MOV AH,02H

 INT 21H

 AND CH,0FH

 MOV DL,CH

 ADD DL,30H

 MOV AH,02H

 INT 21H

 MOV AH,4CH

 INT 21H

 DELAY PROC NEAR

 PUSH CX

 MOV BX,999H

 ?FOR1:MOV CX,0FFFFH

 ?FOR2:LOOP FOR2

 DEC BX

 JNZ FOR1

 POP CX

 RET

 DELAY ENDP

 CODE ENDS

 END START

 2.8253方式1测试。编程使计数器1工作在方式1 ,CLK1和GATE1信号由消抖电路产生,OUT1接LED,验证CLK1,GATE1,OUT1三者关系。

  方式1波形图

 CODE SEGMENT

  ASSUME CS:CODE

 START:MOV AL,52H

  MOV DX,283H

  OUT DX,AL

  MOV AL,05H

  MOV DX,281H

  OUT DX,AL

  MOV AH,4CH

  INT 21H

 CODE ENDS

  END START

 实验15 8259A可编程中断控制器

  设计中断过程,连续输出 “ARE YOU READY?”产生中断时,执行中断服务程序,中断服务程序是使两个LED灯亮灭3次,间隔一秒。中断结束后,继续执行主程序,等待下次中断。

 DATA SEGMENT

 ABC DB 'ARE YOU READY?',0DH,0AH,'$' DATA ENDS

 CODE SEGMENT

  ASSUME CS:CODE, DS:DATA

 START: MOV AX,CS

  MOV DS,AX

  MOV DX,OFFSET ZD10

  MOV AX,2572H

  INT 21H

  CLI

  IN AL,21H

  AND AL,0FBH

  OUT 21H,AL

  IN AL,0A1H

  AND AL,0FBH

  OUT 0A1H,AL

  STI

  MOV CX,20

 LOOP1: PUSH CX

  MOV AX,DATA

  MOV DS,AX

  LEA DX,ABC

  MOV AH,9

  INT 21H

  CALL DELAY

  POP CX

  LOOP LOOP1

  MOV DX,21H

  IN AL,DX

  OR AL,4

  OUT 21H,AL

  MOV DX,0A1H

  IN AL,DX

  OR AL,4

  OUT 0A1H,AL

 

  MOV AH,4CH

  INT 21H

 ZD10 PROC NEAR

  PUSH AX

  PUSH BX

  PUSH CX

  PUSH DX

  MOV CX,3

 AGAIN: PUSH CX

  MOV DX,280H

  MOV AL,0FH

  OUT DX,AL

  CALL DELAY

  MOV DX,280H

  MOV AL,00H

  OUT DX,AL

  CALL DELAY

  POP CX

  LOOP AGAIN

 

  POP DX

  POP CX

  POP BX

  POP AX

  MOV AL,20H

  OUT 20H,AL

  MOV AL,20H

  OUT 0A0H,AL

  IRET

 ZD10 ENDP

 DELAY PROC NEAR

  MOV BX,02FFH

 FOR1: MOV CX,0FFFFH

 FOR2: LOOP FOR2

  DEC BX

  JNZ FOR1

  RET

 DELAY ENDP

 CODE ENDS

  END START

 74LS75 控制电路

 74LS273 控制电路

推荐访问:中国石油大学华东 微机 中国 石油大学
上一篇:华英农业公司2020年财务分析研究报告
下一篇:财税干部综合素质培训班开班讲话稿财政税务例文大全

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有