微机接口 8255中断实验报告.doc
文本预览下载声明
浙江工业大学计算机学院
实 验 报 告
实验名称 8259中断实验
班 级
教 师
日 期
一、实验内容与要求
1.1 实验内容
实验了解A中断控制器的工作原理,了解PC中断的原理和过程,学会中断处理程序的编写。
了解8259A终端控制器的工作原理,了解PC中断的原理和过程,设计并编写程序,设置8259A的命令字,定义中断服务程序,使在实验平台上每按一次单脉冲开关产生一次中断,在屏幕上依次显示“This is the 1st TPCA?Interrupt!”、“This is the 2nd?TPCA?Interrupt!”、····、“This is the 10th?TPCA?Interrupt!”、···,中断n次后程序退出,并在屏幕上显示“The?TPCA?Interrupt?end!”
二、实验原理与硬件连线
2.1 实验原理
1.8259A的内部结构:
A的工作方式:
单片8259A工作时,每次中断处理过程如下:
当 IR7 ~ IR0 上有中断请求,则 IRR 相应的位置1。
对于已进入IRR且未被IMR屏蔽的中断请求,PR电路进行优先级判定,得到最高级的中断请求。
控制逻辑接收中断请求,向CPU发 INT 信号。
若CPU允许中断,则在当前指令结束后连续发出2个中断应答信号INTA,进行中断响应。每个信号持续2个时钟周期。
CPU发第一个 INTA 时,输出总线锁定信号 LOCK,防止其它处理器或DMA控制器占用总线。8259A收到第一个负脉冲后,将优先级最高的中断ISR相应位置1,同时使IRR相应位清0。
CPU发第二个 INTA 时,撤销总线锁存信号 LOCK,地址允许信号 ALE 无效,允许数据线工作。8259A收到第二个负脉冲后,将相应中断的类型号送到数据线上。CPU读取中断类型号,查找中断向量表得到中断向量,转而进入中断服务程序。
若系统为自动结束中断方式 (AEOI),则8259A会在第2个脉冲结束时,自动将 ISR的相应位复位;
若为非自动结束中断方式 (EOI),则 ISR相应位的“1”一直保持,直到CPUEOI (中断结束) 命令时才将其复位。
3.8259A的操作命令字的:
中要对IRQ3中断屏蔽和开
AND AL=0F7H ;允许中IRQ3
OR AL=O8H ;关闭中断IRQ3
实验中:MOV AL,20H OUT 20H,AL ;中断结束命令
的H是OCW2字,后面H是端口地址
4.8259A在PC的运用:
中断源 类型号 功能 1 08H 时钟 2 09H 键盘 IRQ3 0AH 保留 IRQ4 0BH 串行口 IRQ5 0CH 串行口 IRQ6 0DH 硬盘 IRQ7 0EH 软盘 IRQ8 0FH 并行打印机
中断源 类型号 功能 8 070H 实时时钟 9 071H 用户中断 10 072H 保留 IRQ11 073H 保留 IRQ12 074H 保留 IRQ13 075H 协处理器 IRQ14 076H 硬盘 IRQ15 077H 保留 TPC-USB实验板上,将中断源固定接到3号中断IRQ3上,即进行中断类型号为0BH。
2.2 硬件连线
把TPC-USB平台与PC相连。在TPC-USB平台上,单脉冲接口与IRQ接口相连。电路连接图如图1所示:
图1.TPC-USB平台中断实验电路连接图
实拍图:
h???int?21h显示中断信息,达到在屏幕上显示st TPCA?Interrupt!”、“This is the 2nd?TPCA?Interrupt!”、····、“This is the 10th?TPCA?Interrupt!”、···的目的,Bh等于N,而且每执行一次中断会通过loop?next语句来将计数器减1,直到减为0以后就不再执行中断,程序退出。?
因本次实验必须通过外部中断来实现N次中断,
本次实验的难点:
输出两位数:可以通过除以分别存储商()余数()再组合输出来达到输出两位数的目的;
次数后的字母:跳转,进行组合输出,这要求程序逻辑清晰,要不然出错;
(1)?连接实验电路,实验电路如图1所示;?
(2)?画出流程图,根据流程图编写程序,程序编译成功后,与硬件相连,程序流程图如
图2、图3所示;?
(3)?运行程序,按单脉冲开关N次,观察屏幕显示的结果。
3.3 程序流程图
图2 主程序流程图
服务程序流程图
DATA SEGMENT
MESS1 DB This
显示全部