实验六 中断系统HK88--8259

发布时间 : 星期二 文章实验六 中断系统HK88--8259更新完毕开始阅读

实验五 中断控制器8259程序调试

【实验名称】

8259中断控制。 【实验目的】

了解微机的中断系统,了解8259A中断控制器的工作原理,掌握中断程序的编制。 【实验原理】

所谓中断,是指CPU在正常运行时由于程序的预先安排或内外部事件引起CPU暂行正在运行的程序,转到为预先安排的事件或内外部事件服务的程序中去,服务程序执行结束后再返回到暂行的程序继续执行。引起中断的事件称为中断源。预先安排的事件是指PC的中断指令。内部事件是指系统板上出现的一些事件信号,中断指令也可看作内部事件。外部事件是指某些接口设备所发出的请求中断程序执行的信号,这些信号称为中断请求信号,中断请求信号是不能预知的,然而它们一旦请求中断,则会向CPU发出信号,这样CPU就无需花大量时间去查询这些信号是否产生。中断请求信号一旦产生,CPU得知这个信号后,便立即去执行相应的中断服务程序,执行完成后CPU恢复被中断的程序。有时中断源有几个,因此CPU响应这些中断就得有先后次序,这称为中断优先级。优先级高的中断首先响应,优先级低的中断暂不响应。CPU响应中断由中断源提供地址信息,引导程序转移到中断服务程序中去,这个地址信息称为中断向量,它一般是和中断源相对应的,PC机采用类型码来识别中断源。

【实验内容】

使用IRQ0,用单脉冲信号模拟外部中断信号,中断程序在屏幕上显示信息。 【实验连线】

IR0接至脉冲源的UP,8259的片选CS59接至220H~227H,8255片选CS55接至210H~217H,8255的A口接8个发光二极管,实验仪上的INTA、INTR分别与8259的INTA和INTR相连,将地址总线A0、A1和A2分别与译码器输入端的A0、A1和A2相连。 【实验程序】

;HK88-8259 IRQ0 CODE SEGMENT ASSUME CS:CODE START: MOV AX,CS MOV DS,AX MOV DX,220H

MOV AL,00010011B ; ICW1 OUT DX,AL INC DX

MOV AL,00001000B ; ICW2 OUT DX,AL

MOV AL,00000001B ; ICW4 OUT DX,AL

LEA AX,IRQ0

MOV DS:[8*4],AX MOV AX,CS

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

IN AL,DX

AND AL,11111110B ; OCW1 OUT DX,AL MOV DX,213H MOV AL,80H OUT DX,AL MOV AL,1 MOV BL,AL

MOV DX,210HB OUT DX,AL STI

AGAIN: HLT

JMP AGAIN IRQ0 PROC NEAR

ROL BL,1 MOV AL,BL MOV DX,210H OUT DX,AL MOV DX,220H MOV AL,20H OUT DX,AL IRET IRQ0 ENDP CODE ENDS

END START

【思考题】

① 若连线由单脉冲发生器UP的输出接8259中断控制器IRQ0改成单脉冲发生器UP的输出接8259中断控制器IRQ1,应如何修改程序?

② 修改程序使之中断时,使发光二极管循环、间隔地发光。(隔一个亮一个)

联系合同范文客服:xxxxx#qq.com(#替换为@)