8259A硬件中断实验-------微机原理与接口技术

2025-11-10 04:30:28

一、实验要求

编写中断的程序,每当有IR0有一次高电平时,就执行中断服务程序,使8个LED灯轮流点亮。

二、实验目的

1.了解89259A中断控制器的工作原理。

2.了解PC机中断的原理和过程。

3.学会中断处理程序的编写。

三、实验电路及连接

1. IR0接至UP,8259片选CS接至210H-217H,INTR和INTA连接CPU的INTR和INTA;

2. 8255片选接至200H~207H,8255的A口的PA0~PA7分别连接L0~L7;

3. 实验台上的地址线A0~A2分别连8279芯片右边的A0~A2。

四、实验说明

1.本实验只在串行监控方式和单板机方式下进行,在ISA总线方式下无法实现。就其原因是,在PC机总线槽中没有直接引出中断的控制器8259的请求与应答信号,以及级连信号。

2.本实验指导书只提供硬件中断8开始。使用者可以根据自己的需要设定为其他中断方式,且中断号可以从任一中断号开始。

五、实验代码

CODE SEGMENT

ASSUME CS:CODE,DS:CODE

START: MOV DX,210H

       MOV AL,13H ;ICW1:边沿触发,单片,要ICW4

       OUT DX,AL

MOV DX,211H

       MOV AL,8             ;ICW2,设置中断号,中断类型号从8开始

     OUT DX,AL

MOV AL,1 ;ICW4,设置8259工作方式

OUT DX,AL

MOV AX,0 ;设置中断矢量, 

MOV DS,AX ;即把中断服务入口地址写入中断矢量表

LEA AX,INT0

MOV DS:[4*8],AX

MOV AX,CS

MOV DS:[4*8+2],AX

IN AL,DX

AND AL,0FEH ;OCW1,设置中断屏蔽控制字,允许0号中断

OUT DX,AL

MOV DX,203H

MOV AL,80H ;8255初始化命令字,所有的端口设成输出,方式0

OUT DX,AL

MOV DX,200H

MOV BL,1

MOV AL,BL

OUT DX,AL ;LED初始显示状态

STI

REPEAT: HLT ;CPU停机等待中断

LOOP REPEAT

INT0 PROC NEAR ;中断服务程序

MOV DX,200H

ROL BL,1

MOV AL,BL

OUT DX,AL ;LED左移一次显示

MOV DX,210H

MOV AL,20H

OUT DX,AL ;设置8259中断结束方式为普通EOI方式

IRET

INT0 ENDP

CODE ENDS

END START

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢