8259中断实验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
XX学院
实验报告
实验名称
姓名
学号
班级
教师
日期
一、实验内容与要求
1.1 实验内容
本次实验分为如下3个子实验:
(1)单中断请求实验:利用系统总线上中断请求信号MIR7,设计一个单一中断请求实验;
(2)双中断优先级实验:利用系统总线上中断请求信号MIR6和MIR7,设计一个双中断优
先级应用实验,观察8253对中断优先级的控制;
(3)级联中断实验:利用系统总线上中断请求信号MIR7和SIR1,设计一个级联中断应用
实验。
1.2 实验要求
本次实验中三个子实验的实验要求如下:
(1)单中断请求实验:单脉冲KK1+与主片8259的IR7相连。每按KK1+,进入一次中断,
输出7;
(2)双中断优先级实验:单脉冲KK1+连主片8259的IR7,KK2+连其IR6。每当KK1+按
下时显示“7”,每当KK2+按下显示“6”;
(3)级联中断实验:单脉冲KK1+连主片8259的IR7,KK2+连从片的IR1。每当KK1+按
下时显示“M7”,每当KK2+按下显示“S1”。
二、实验原理与硬件连线
2.1 实验原理
(1)中断控制器8259简介
在Intel 386EX芯片中集成有中断控制单元(ICU),该单元包含有两个级联中断控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而言与工业上标准的82C59A是一致的,操作方法也相同。从片的INT连接到主片的IR2信号上构成两片8259的级联。
在TD-PITE实验系统中,将主控制器的IR6、IR7以及从控制器的IR1开放出来供实验使用,主片8259的IR4供系统串口使用。8259的内部连接及外部管脚引出如图1-1:
INTR
串口0
MIR6
MIR7
SIR1
图1-1 8259内部连续及外部管脚引出图表1-1列出了中断控制单元的寄存器相关信息。
表1-1 ICU寄存器列表
初始化命令字1寄存器(ICW1)说明见图1-2所示。
7
ICW1
图1-2 初始化命令字1寄存器
初始化命令字2寄存器(ICW2)说明见图1-3所示。
7
ICW2
中断向量地址
图1-3 初始化命令字2寄存器
初始化命令字3寄存器(ICW3)说明,主片见图1-4,从片见图1
-5。
7
ICW3(主片)
图1-4
主片初始化命令字3寄存器
7
ICW3(从片)
图1-5 从片初始化命令字3寄存器
初始化命令字4寄存器(ICW4)说明见图1-6。
7
ICW4
图1-6 初始化命令字4寄存器
操作命令字1寄存器(OCW1)说明见图1-7。
7
OCW1
图1-7 操作命令字1寄存器
操作命令字2寄存器(OCW2)说明如图1-8所示。
OCW2
图1-8 操作命令字2寄存器
操作命令字3寄存器(OCW3)说明如图1-9所示。
7
OCW3
图1-9 操作命令字3寄存器
查询状态字(POLL )说明如图1-10所示。
7
POLL
图1-10 程序状态字寄存器
在对8259进行编程时,首先必须进行初始化。一般先使用CLI 指令将所有的可屏蔽中断禁止,然后写入初始化命令字。8259有一个状态机控制对寄存器的访问,不正确的初始化顺序会造成异常初始化。在初始化主片8259时,写入初始化命令字的顺序是:ICW1、ICW2、ICW3、ICW4,初始化从片8259的顺序与初始化主片8259的顺序是相同的。
系统启动时,主片8259已被初始化,且4号中断源(IR4)提供给与PC 联机的串口通信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如表1-2所示:
表1-2 中断矢量地址与中断号关系表
2.2 硬件连线
(1)单中断实验:
实验接线图如图1-11所示,单次脉冲输出KK1+与主片8259的IR7相连(与实验平台中的MIR7相连),每按动一次单次脉冲,产生一次外部中断,在显示屏上输出一个字符“7”;
图1-11 单中断实验硬件连线图
(2)双中断优先级实验:
实验接线图如图1-12所示,KK1+和KK2+分别连接到主片8259的IR7(与实验平台MIR7相连)和IR6(与实验平台MIR6相连)上,当按一次KK1+时,显示屏上显示字符“7”,按一次KK2+时,显示字符“6”;
图1-12 双中断优先级实验硬件连线图
(3)级联双中断优先级实验:
实验接线图如图1-13所示,KK1+连接到主片8259的IR7(与实验平台MIR7相连)上,KK2+连接到从片8259的IR1(与实验平台SIR1相连)上,当按一次KK1
+时,显示屏上显示字符“M7”,按一次KK2+时,显示字符“S1”。
图1-13 级联双中断优先级实验硬件连线图
三、设计思路、步骤和程序流程图
3.1 设计思路
(1)单中断实验:采用一片8259芯片和KK1+单次脉冲开关,首先让程序进入死循环,等
待中断,每按动一次单次脉冲,产生一次外部中断,调用中断程序,在显示屏上输出
一个字符“7”。
(2)双中断优先级实验:采用一片8259芯片和KK1+与KK2+单次脉冲开关,首先让程序
进入死循环,等待中断,当按一次KK1+或KK2+时,产生一次外部中断,调用对应的中断程序,在显示屏上输出对应的字符“7”和“6”。
(3)级联双中断优先级实验:采用两片8259芯片,一片为主片,一片作为从片,以及KK1+
与KK2+单次脉冲开关。首先让程序进入死循环,等待中断,当按一次KK1+或KK2+时,产生一次外部中断,调用对应的中断程序,在显示屏上输出对应的字符串“M7”
和“S1”。
3.2 实验步骤
(1)单中断实验
1.按图1-11连接实验线路;
2.编写实验程序,经编译、链接无误后装入系统;
3.运行程序,重复按单次脉冲开关KK1+,显示屏会显示字符“7”,说明响应了中断。
(2)双中断优先级实验
1.按图1-12连接实验线路;