微机原理与接口技术实验报告 接口部分
  • 实验一 系统认识实验

1.实验内容 :编写实验程序,将00H~0FH 共16个数写入内存 3000H 开始的连续 16 个存储单元中。

2.实验源程序:

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS :CODE

START:PUSH DS

XOR AX,AX

MOV DS,AX

MOV SI,3000H

MOV CX,16

AA1:MOV [SI],AL

INC SI

INC AL

LOOP AA1

AA2:JMP AA2

CODE ENDS

END START

实验结果:

微机原理与接口技术实验报告接口部分大学实验报告免费下载

操作练习

1.实验内容 :编写程序,将内存 3500H 单元开始的 8 个字节数据相加,结果存放到3600H 字单元中,程序编辑、编译、连接、下载运行程序后,使用D命令查看3500H开始的数据区数据,和3600H字单元的结果。

2.实验源程序:

DATAS SEGMENT

ORG 3500H

NAME1 DB 1,2,3,4,5,6,7,8

ORG 3600H

SUM DW ?

DATAS ENDS

STACKS SEGMENT

STACKS ENDS

CODES SEGMENT

ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

MOV AX,DATAS

MOV DS,AX

MOV SI,3500H

MOV DI,3600H

MOV CX,8

MOV AL,[SI]

NEXT: INC SI

ADD AL,[SI]

DEC CX

JNZ NEXT

MOV AH,0

MOV SUM,AX

MOV AH,4CH

INT 21H

CODES ENDS

END START

实验结果:

微机原理与接口技术实验报告接口部分大学实验报告免费下载

实验二 .8259A实验

一、实验目的

1.掌握TD-PITE 80X86 微机原理及接口技术教学实验系统的操作,熟悉Wmd86联机集成开发调试软件的操作环境。

2.学习在教学实验葙上构造连接实验电路的方法。

3.掌握8259中断控制器的工作原理。

4.掌握8259可编程中断控制器的应用编程。

5.学习掌握8259级连方式的使用方法。

二 实验设备

PC机一台,TD-PITE实验装置一套。 三、 实验内容及步骤

1 8259中断实验1

实验接线图如图2-3-11所示,单次脉冲输出与主片8259的MIR7相连,每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”。

1实验步骤

(1)按图2-3-11连接实验线路;

(2)编写实验程序,经编译、链接无误后装入系统;

(3)运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”以说明响应了中断。

实验源程序:

SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS

CODE SEGMENT ASSUME CS:CODE START: PUSH DS MOV AX, 0000H MOV DS, AX

MOV AX, OFFSET MIR7 MOV SI, 003CH MOV [SI], AX MOV AX, CS MOV SI, 003EH

MOV [SI], AX CLI POP DS

;初始化主片8259 MOV AL, 11H

OUT 20H, AL MOV AL, 08H

OUT 21H, AL MOV AL, 04H

OUT 21H, AL MOV AL, 01H

OUT 21H, AL

;取中断入口地址 ;中断矢量地址

;填IRQ7的偏移矢量 ;段地址

;填IRQ7的段地址矢量

;ICW1 ;ICW2 ;ICW3 ;ICW4

微机原理与接口技术实验报告接口部分大学实验报告免费下载

MOV AL, 6FH OUT 21H, AL STI AA1: NOP

JMP AA1 MIR7: STI

CALL DELAY MOV AX, 0137H INT 10H MOV AX, 0120H INT 10H MOV AL, 20H OUT 20H, AL IRET DELAY: PUSH CX

MOV CX, 0F00H AA0: PUSH AX POP AX LOOP AA0 POP CX RET CODE ENDS

END START

实验结果截图如下:

微机原理与接口技术实验报告接口部分大学实验报告免费下载

;OCW1

;显示字符7

;中断结束命令

2 8259级联实验

实验接线图如图2-3-12所示,KK1+连接到主片8259的MIR7上,KK2+连接到从片8259的SIR1上,当按一次KK1+时,显示屏上显示字符“M7”,按一次KK2+时,显示字符“S1”。编写程序。

实验步骤

(1)按图2-3-12连接实验线路;

(2)输入程序,编译、链接无误后装入系统;

微机原理与接口技术实验报告接口部分大学实验报告免费下载

图2-3-12 8259级联实验

(3)运行程序,按动KK1+或KK2+,观察实验结果,验证实验程序的正确性;

(4)若同时按下KK1+和KK2+,观察实验结果,解释实验现象。

实验程序清单

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: PUSH DS

MOV AX, 0000H

MOV DS, AX

MOV AX, OFFSET MIR7

MOV SI, 003CH

MOV [SI], AX

MOV AX, SEG MIR7

MOV SI, 003EH

MOV [SI], AX

MOV AX, OFFSET SIR1

MOV SI, 00C4H

MOV [SI], AX

MOV AX, SEG SIR1

MOV SI, 00C6H

MOV [SI], AX

CLI

POP DS

;初始化主片8259

MOV AL, 11H

OUT 20H, AL

MOV AL, 08H

OUT 21H, AL

MOV AL, 04H

OUT 21H, AL

MOV AL, 01H

OUT 21H, AL

;初始化从片8259

MOV AL, 11H

OUT 0A0H, AL

MOV AL, 30H

OUT 0A1H, AL

MOV AL, 02H

OUT 0A1H, AL

MOV AL, 01H

OUT 0A1H, AL

MOV AL, 0FDH ;取中断入口地址 ;中断矢量地址 ;填IRQ7的偏移矢量 ;段地址 ;填IRQ7的段地址矢量 ;ICW1 ;ICW2 ;ICW3 ;ICW4 ;ICW1 ;ICW2 ;ICW3 ;ICW4

OUT 0A1H,AL MOV AL, 6BH

OUT 21H, AL STI

AA1: NOP

JMP AA1

MIR7: CALL DELAY

MOV AX, 014DH

INT 10H MOV AX, 0137H

INT 10H MOV AX, 0120H INT 10H

MOV AL, 20H

OUT 20H, AL IRET

SIR1: CALL DELAY

MOV AX, 0153H

INT 10H MOV AX, 0131H

INT 10H MOV AX, 0120H INT 10H

MOV AL, 20H OUT 0A0H, AL OUT 20H, AL IRET

DELAY: PUSH CX

MOV CX, 0F00H AA0: PUSH AX

POP AX

LOOP AA0

POP CX

RET

CODE ENDS

END START

实验结果截图如下:

;OCW1 = 1111 1101 ;主8259 OCW1 ;M ;显示字符7 ;中断结束命令 ;S ;显示字符1

微机原理与接口技术实验报告接口部分大学实验报告免费下载

3、8259综合实验

①编写程序,在显示屏上循环显示0123456789的程序。通过编辑、编译、连接、下载、运行该程序,调试通过,显示结果正确,进行下一步操作;

CODE SEGMENT

ASSUME CS:CODE

START: MOV CX,0AH

MOV BL,30H

MOV AH,01H

A1: MOV AL,BL

INT 10H

INC BL

PUSH CX

MOV CX,0FFFFH

A2: LOOP A2

POP CX

DEC CX

JNZ A1

JMP START

CODE ENDS

END START

实验结果截图如下:

微机原理与接口技术实验报告接口部分大学实验报告免费下载

②编写程序,在显示屏上显示字符“OK”“。 通过编辑、编译、连接、下载、运行该程序,调试通过,显示结果正确,进行下一步操作;

CODE SEGMENT

ASSUME CS:CODE

MIR7:MOV DL,4FH ;显示字符’O’

MOV AH,01H ;显示一个字符

MOV AL,DL

INT 10H

MOV DL,4BH ;显示字符’K’

MOV AH,01H ;显示一个字符

MOV AL,DL

INT 10H

MOV DL,20H ;显示空格

MOV AH,01H ;显示一个字符

MOV AL,DL

INT 10H

PUSH CX

MOV CX,0FFFFH

AA:LOOP AA

POP CX

DONE:JMP DONE

CODE ENDS

END MIR7

实验结果截图如下:

微机原理与接口技术实验报告接口部分大学实验报告免费下载

③实验接线图如图2-3-11所示。将屏幕显示0123456789的程序作为主程序,在显示屏上显示字符“OK”的程序作为中断服务子程序。运行主程序后,当开关按下时,产生单次脉冲通过主片8259的IR7中断请求,每按动一次开关,产生一次外部中断,使CPU执行中断服务程序,在显示屏上输出字符“OK”。MIR7中断类型码从表1中看出,类型码为0FH.

SSTACK SEGMENT STACK

DW 100 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: CLI ;关中断

PUSH DS

MOV AX, 0000H

MOV DS, AX

MOV AX, OFFSET MIR7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址

MOV [SI], AX ;填MIR7的偏移矢量 MOV AX, SEG MIR7 ;段地址 MOV SI, 003EH

MOV [SI], AX ;填MIR7的段地址矢量 POP DS

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;ICW1

MOV AL, 08H

OUT 21H, AL ;ICW2

MOV AL, 04H

OUT 21H, AL ;ICW3

MOV AL, 01H

OUT 21H, AL ;ICW4

MOV AL, 6FH ;OCW1

OUT 21H, AL

STI

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;ICW1

MOV AL, 08H

OUT 21H, AL ;ICW2

MOV AL, 04H

OUT 21H, AL ;ICW3

MOV AL, 01H

OUT 21H, AL ;ICW4

MOV AL, 6FH ;OCW1

OUT 21H, AL

STI

AA: MOV CX,0AH ;显示字符个数10送入CX MOV BL,30H ;显示字符

MOV AH,01H ;显示一个字符

A1: MOV AL,BL

INT 10H

INC BL ;显示下一个字符

PUSH CX

MOV CX,0FFFFH

A2: LOOP A2;延时

POP CX

DEC CX

JNZ A1

JMP AA;循环显示0~9

MIR7: CALL DELAY

MOV DL,4FH ;显示字符’O’

MOV AH,01H ;显示一个字符

MOV AL,DL

INT 10H

MOV DL,4BH ;显示字符’K’

MOV AH,01H ;显示一个字符

MOV AL,DL

INT 10H

MOV DL,20H ;显示空格

MOV AH,01H ;显示一个字符

MOV AL,DL

INT 10H

PUSH CX

MOV CX,0FFFFH

BB: LOOP BB;延时

POP CX

MOV AL, 20H

OUT 20H, AL;中断结束命令

IRET

DELAY: PUSH CX

MOV CX, 0F00H

AA0: PUSH AX

POP AX

LOOP AA0

POP CX

RET

CODE ENDS

END START

实验结果截图如下:

微机原理与接口技术实验报告接口部分大学实验报告免费下载

(5)如果使中断10次后自动退出中断,如何修改程序,并完成该实验。

SSTACK SEGMENT STACK

DW 32 DUP(?) SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:SSTACK START: CLI

PUSH DS

MOV AX,0000H MOV DS,AX

MOV AX,OFFSET MIR7 MOV SI,003CH MOV [SI],AX MOV AX,CS

MOV SI,003EH MOV [SI],AX POP DS

MOV AL,11H OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,04H OUT 21H,AL MOV AL,01H OUT 21H,AL MOV AL,6FH OUT 21H,AL MOV DX,11

STI

START1:MOV CX,10

MOV BL,30H MOV AH,01H A1: MOV AL,BL

INT 10H

INC BL

PUSH CX

MOV CX,0FFFFH A2: LOOP A2

POP CX

DEC CX

JNZ A1

JMP START1 MOV DX,10

MIR7: DEC DX

JZ A3

PROC MEAR

CALL DELAY

PUSH BX

MOV BL,4FH

MOV AH,01H

MOV AL,BL

INT 10H

MOV BL,4BH

MOV AH,01H

MOV AL,BL

INT 10H

MOV BL,20H

MOV AH,01H

MOV AL,BL

POP BX

INT 10H

PUSH CX

MOV CX,0FFFFH

AA: LOOP AA

POP CX

MOV AL,20H

OUT 20H,AL

A3: CLI

IRET

DELAY: PUSH CX

MOV CX,0F00H

AA0: PUSH AX

POP AX

LOOP AA0

POP CX

RET

CODE ENDS

END START

修改程序时只须再设计一个计数器即可。

实验三.8253/8254实验

一 实验目的

1. 掌握8254的工作方式及应用编程;

2. 掌握8254典型应用电路的接法。

二 实验设备

PC机一台,TD-PITE实验装置一套,示波器一台。

1. 计数应用实验

编写程序,将8254的计数器0设置为方式3,计数值为十进制数4,用单次脉冲KK1+作为CLK0时钟,OUT0连接MIR7,每当KK1+按动5次后产生中断请求,在屏幕上显示一个字符“M”。

实验步骤:

(1)实验接线如图2-5-2所示;

(2)编写实验程序,经编译、链接无误后装入系统;

(3)运行程序,按动KK1+产生单次脉冲,观察实验现象;

(4)改变计数值,验证8254的计数功能。

微机原理与接口技术实验报告接口部分大学实验报告免费下载

A8254 EQU 06C0H

B8254 EQU 06C2H

C8254 EQU 06C4H

CON8254 EQU 06C6H

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE, SS:SSTACK

START: PUSH DS

MOV AX, 0000H

MOV DS, AX

MOV AX, OFFSET IRQ7 ;取中断入口地址

MOV SI, 003CH ;中断矢量地址

MOV [SI], AX ;填IRQ7的偏移矢量

MOV AX, CS ;段地址

AA1:

IRQ7:

CODE

MOV SI, 003EH MOV [SI], AX CLI POP DS ;初始化主片8259 MOV AL, 11H OUT 20H, AL MOV AL, 08H OUT 21H, AL MOV AL, 04H OUT 21H, AL MOV AL, 01H OUT 21H, AL MOV AL, 6FH OUT 21H, AL ;8254 MOV DX, CON8254 MOV AL, 10H OUT DX, AL MOV DX, A8254 MOV AL, 04H OUT DX, AL STI JMP AA1 MOV DX, A8254 MOV AL, 04H OUT DX, AL MOV AX, 014DH INT 10H MOV AX, 0120H INT 10H MOV AL, 20H OUT 20H, AL IRET ENDS END START ;填IRQ7的段地址矢量 ;ICW1 ;ICW2 ;ICW3 ;ICW4 ;OCW1 ;计数器0,方式0 ;显示字符M ;中断结束命令 实验结果截图如下

微机原理与接口技术实验报告接口部分大学实验报告免费下载

2.修改内容1—计数应用实验程序,完成按动开关3次后产生中断,屏幕显示“M”。

A8254 EQU 06C0H

B8254 EQU 06C2H

C8254 EQU 06C4H

CON8254 EQU 06C6H

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE, SS:SSTACK

START: PUSH DS

MOV AX, 0000H

MOV DS, AX

MOV AX, OFFSET IRQ7 ;取中断入口地址

MOV SI, 003CH ;中断矢量地址

MOV [SI], AX ;填IRQ7的偏移矢量

MOV AX, CS ;段地址

MOV SI, 003EH

MOV [SI], AX ;填IRQ7的段地址矢量

CLI

POP DS

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;ICW1

MOV AL, 08H

OUT 21H, AL ;ICW2

MOV AL, 04H

OUT 21H, AL ;ICW3

MOV AL, 01H

OUT 21H, AL ;ICW4

MOV AL, 6FH ;OCW1

OUT 21H, AL

;8254

MOV DX, CON8254

MOV AL, 10H ;计数器0,方式0

OUT DX, AL

MOV DX, A8254

MOV AL, 04H

OUT DX, AL

AA1:

IRQ7:

CODE

STI JMP AA1 MOV DX, A8254 MOV AL, 04H OUT DX, AL MOV AX, 014DH INT 10H MOV AX, 0120H INT 10H MOV AL, 20H OUT 20H, AL IRET ENDS END START ;显示字符M ;中断结束命令

3.修改内容1—计数应用实验程序,要求屏幕显示第几次中断中断? A8254 EQU 06C0H

B8254 EQU 06C2H

C8254 EQU 06C4H

CON8254 EQU 06C6H

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE, SS:SSTACK

START: PUSH DS

MOV AX, 0000H

MOV DS, AX

MOV AX, OFFSET IRQ7 ;取中断入口地址 MOV SI, 003CH ;中断矢量地址

MOV [SI], AX ;填IRQ7的偏移矢量 MOV AX, CS ;段地址

MOV SI, 003EH

MOV [SI], AX ;填IRQ7的段地址矢量 CLI

POP DS

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;ICW1

MOV AL, 08H

OUT 21H, AL ;ICW2

MOV AL, 04H OUT 21H, AL MOV AL, 01H OUT 21H, AL MOV AL, 6FH OUT 21H, AL ;8254

MOV DX, CON8254 MOV AL, 10H OUT DX, AL MOV DX, A8254 MOV AL, 04H OUT DX, AL MOV CL,30H STI

AA1: JMP AA1

IRQ7: MOV DX, A8254 MOV AL, 04H OUT DX, AL INC CL MOV AH,01H MOV AL, CL INT 10H MOV AX, 0120H INT 10H MOV AL, 20H OUT 20H, AL IRET

CODE ENDS

END START

实验结果截图如下

微机原理与接口技术实验报告接口部分大学实验报告免费下载

;ICW3 ;ICW4 ;OCW1 ;计数器0,方式0 ;中断结束命令

4 定时应用实验

发光二极管点亮实验程序清单 A8254 EQU 06C0H

B8254 EQU 06C2H

C8254 EQU 06C4H

CON8254 EQU 06C6H

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV DX, CON8254 MOV AL, 36H OUT DX, AL

MOV DX, A8254

MOV AL, 0E8H

OUT DX, AL

MOV AL, 03H

OUT DX, AL

AA1: JMP AA1

CODE ENDS

END START

5循环显示OK

A8254 EQU 06C0H

B8254 EQU 06C2H

C8254 EQU 06C4H

CON8254 EQU 06C6H

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:SSTACK

START:PUSH DS

MOV AX,0000H

MOV DS,AX

MOV AX,OFFSET IRQ7 MOV SI,003CH

MOV [SI],AX

MOV AX,CS

MOV SI,003Eh

MOV [SI],AX 计数器0,方式3 ;8254 ;

CLI

POP DS

MOV AL,11H OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,04H OUT 21H,AL MOV AL,01H OUT 21H,AL MOV AL,6FH OUT 21H,AL

MOV DX,CON8254 MOV AL,00110000B OUT DX,AL MOV DX,A8254 MOV AL,00001111B OUT DX,AL

MOV AL,00000000B OUT DX,AL AA1: STI JMP AA1

IRQ7:

MOV DX,A8254 MOV AL,11111111B OUT DX,AL

MOV AL,11111111B OUT DX,AL MOV AX,014FH INT 10H

MOV AX,014BH INT 10H

MOV AX,0120H INT 10H MOV AL,20H OUT 20H,AL IRET

CODE ENDS

END START

实验结果截图如下

微机原理与接口技术实验报告接口部分大学实验报告免费下载

实验四 8255并行接口实验

基本输入输出实验。编写程序,使8255的A口为输入,B口为输出,完成拨动开关到数据灯的数据传输。要求只要开关拨动,数据灯的显示就发生相应改变。接线图如下

微机原理与接口技术实验报告接口部分大学实验报告免费下载

实验源程序:

SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT

ASSUME CS:CODE START: MOV DX, 0646H MOV AL, 90H OUT DX, AL AA1: MOV DX, 0640H IN AL, DX CALL DELAY MOV DX, 0642H OUT DX, AL JMP AA1 DELAY: PUSH CX

MOV CX, 0F00H AA2: PUSH AX POP AX

CODE LOOP AA2 POP CX RET ENDS

END START

实验现象:拨动相应的开关,相应的灯会亮或是灭。

2. 流水灯显示实验。编写程序,使8255的A口和B口均为输出,数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。接线图如下:

微机原理与接口技术实验报告接口部分大学实验报告免费下载

实验源程序:

SSTACK SEGMENT STACK DW 32 DUP(?) SSTACK ENDS CODE SEGMENT

ASSUME CS:CODE START: MOV DX, 0646H MOV AL, 80H OUT DX, AL MOV BX, 8001H AA1: MOV DX, 0640H MOV AL, BH OUT DX, AL ROR BH, 1 MOV DX, 0642H MOV AL, BL OUT DX, AL ROL BL, 1 CALL DELAY CALL DELAY JMP AA1 DELAY: PUSH CX

MOV CX, 0F000H AA2: PUSH AX POP AX LOOP AA2

CODE

POP CX RET ENDS END START

实验现象:数据灯D7~D0由左向右,每次仅亮一个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次仅点亮一个灯,循环显示。

3. 修改流水灯显示程序,改变流水灯的显示方式,如4个灯亮,4个灯灭。

实验源程序:

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE

START: MOV DX, 0646H

MOV AL, 80H

OUT DX, AL

MOV BX, 0F00FH

AA1: MOV DX, 0640H

MOV AL, BH

OUT DX, AL

ROR BH, 4

MOV DX, 0642H

MOV AL, BL

OUT DX, AL

ROL BL, 4

CALL DELAY

CALL DELAY

JMP AA1

DELAY: PUSH CX

MOV CX, 0F000H

AA2: PUSH AX

POP AX

LOOP AA2

POP CX

RET

CODE ENDS

END START

实验现象:

数据灯D7~D0由左向右,每次点亮四个灯,循环显示,D15~D8与D7~D0正相反,由右向左,每次点亮四个灯,循环显示。

4. DATA SEGMENT

TABLES DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

DATA ENDS

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE , DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,0646H

MOV AL,80H ;8255初始化,方式控制字 OUT DX,AL

MOV CX,10

NEXT0: LEA SI,TABLES

MOV BX,0

NEXT1: MOV AL,[SI]

MOV DX,0640H ;从8255A口输出

OUT DX,AL

CALL DALLY ;延时程序

CALL DALLY

CALL DALLY

INC SI

DEC CX

JNZ NEXT1

JMP START

DALLY: PUSH AX ;延时1s

MOV AX,0

T1: DEC AX

JNE T2

POP AX

RET

CODE ENDS

END START

实验现象:数码管循环显示0~9

实验五 综合实验

一、 实验目的

1. 学习并掌握8259,8254,8255的工作方式及其应用;

2. 掌握应用电路的设计方法和接线。

二、 实验设备

PC机一台,TD-PITE实验装置一套。

三、 实验内容

1实验描述:同学们分组到实验室做实验,实验室共能容纳5组,三人一组,用数码管显示已进入实验室的组数,进入5组后在屏幕上显示OK。

2接线图

微机原理与接口技术实验报告接口部分大学实验报告免费下载

3实验源程序

DATA SEGMENT

DTABLE DB 3FH,06H,5BH,4FH,66H

A8254 EQU 06C0H

B8254 EQU 06C2H

C8254 EQU 06C4H

CON8254 EQU 06C6H

A8255 EQU 0640H

B8255 EQU 0642H

C8255 EQU 0644H

CON8255 EQU 0646H

DATA ENDS

SSTACK SEGMENT STACK

DW 32 DUP(?)

SSTACK ENDS

CODE SEGMENT

ASSUME CS:CODE,SS:SSTACK,DS:DATA

START:PUSH DS

MOV AX,0000H

MOV DS,AX

MOV AX,OFFSET IRQ7 ;取中断入口地址 MOV SI,003CH ;中断矢量地址

MOV [SI],AX

MOV AX,CS ;段地址

MOV SI,003EH

MOV [SI],AX ;添IRQ7的段地址矢量 CLI

POP DS

;初始化主片8255

MOV DX,CON8255

MOV AL,80H

OUT DX,AL

MOV DX,A8255

MOV AL,0H

OUT DX,AL

;初始化主片8259

MOV AL, 11H

OUT 20H, AL ;ICW1

MOV AL, 08H

OUT 21H, AL ;ICW2

MOV AL, 04H

OUT 21H, AL ;ICW3

MOV AL, 01H

OUT 21H, AL ;ICW4

MOV AL, 6FH ;OCW1

OUT 21H, AL

;8254

MOV DX, CON8254

MOV AL, 10H ;计数器0,方式0 OUT DX, AL

MOV DX, A8254

MOV AL, 02H

OUT DX, AL

STI

MOV CX,5

LEA BX,DTABLE

AA1:JMP AA1

IRQ7: PUSH DX

PUSH AX

MOV DX, A8254

MOV AL, 02H

OUT DX, AL

DEC CX

JZ NEXT

MOV DX,0640H

MOV AL,[BX]

OUT DX,AL

INC BX

NOP

NOP

MOV AL,20H

OUT 20H,AL

POP AX

POP DX ;中断结束命令?

IRET

NEXT: MOV AX,014FH

INT 10H

MOV AX,014BH

INT 10H

POP AX

POP DX;显示字符OK

CODE ENDS

END START

5运行结果

数码管显示相应的次数,5次数计满后在屏幕上显示

微机原理与接口技术实验报告接口部分大学实验报告免费下载

OK

类似文章