(接口)第12讲 中断系统与可8259A芯片引脚

合集下载

总结介绍8259中断控制器

总结介绍8259中断控制器

总结介绍8259中断控制器8259中断控制器Overview前言8259A芯片是一个中断管理芯片,中断的来源除了来自于硬件自身的NMI中和来自于软件的INT n指令造成的软件中断之外,还有来自于外部硬件设备的中断,这些中断的可屏蔽的。

这些中断也都通过PIC(Programmable Interrupt Controller)进行控制,并传递给CPU。

一个8259A芯片最多可接收8个中断源,但由于可以将2个或多个8259A芯片进行级连(cascade),并且最多可以级链到9个,所以最多可以接64个中断源。

如今绝大多数的PC 都拥有2个8259A,这样最多可以接收15个中断源。

通过8259A可以对单个中断源进行屏蔽。

在一个8259A芯片上有如下几个内部的寄存器:1.Interrupt Mask Register(IMR)。

2.Interrupt Request Register(IRR)。

3.In Service Register(ISR)。

IMR被用作过滤被屏蔽的中断,IRR被用作暂时放置未被进一步处理的Interrupt,当一个Interrupt正在被CPU处理时,此中断被放置在ISR中。

除了这几个寄存器之外,8259A还有一个单元叫做Priority Resolver,当多个中断同时发生时,Priority Resolver根据它们的优先级,将最高优先级的优先传递给CPU。

工作原理当一个中断请求从IR0到IR7中的某根线到达IMR时,IMR首先判断IR是否被屏蔽,如果被屏蔽,则此中断请求被丢弃;否则,则将放入IRR中。

在此中断请求不能进行下一步处理之前,它一直被放置在IRR中。

一旦发现处理中断的时机已到,Priority Resolver将从所有被放置于IRR中的中断中挑选出一个优先级最高的中断,将其传递给CPU去处理。

IR号越低的中断优先级级别越高,比如IR0的优先级是最高的。

8259A通过发送一个INTR(Interrupt Request)信号给CPU,通知CPU有一个中断到达。

计算机接口与微机原理-第12周-中断控制器8259A-c

计算机接口与微机原理-第12周-中断控制器8259A-c

计算机接⼝与微机原理-第12周-中断控制器8259A-c可编程中断控制器8259Ap IBM PC/XT的中断指令p DOS系统功能调⽤p BIOS中断类型p8259A的中断级联p IBM PC/AT的中断级联p8259A的应⽤举例p8259A的编程⽅法中⼭⼤学信息科学与技术学院陈任IBM PC/XT中的中断指令(1) 8086/8088系统中与中断有关的专⽤指令。

1.INT n 软件中断指令(Interrupt)-软件中断指令,也称为软中断指令,其中n为中断类型号,其值必须在0~255的范围内。

-可在编程时安排在程序中的任何位置上,因此也被称为陷阱中断。

-CPU执⾏INT n指令时,先把标志寄存器的内容推⼊堆栈,再把当前断点的段基地址CS和偏移地址IP⼊栈保护,并清除中断标志IF和单步标志TF。

-然后将中断类型号n乘以4,找到中断服务程序的⼊⼝地址表的表头地址,从中断⽮量表中获得中断服务程序的⼊⼝地址,将其置⼊CS和IP寄存器,CPU就⾃动转到相应的中断服务程序去执⾏。

-原则上讲,利⽤INT n指令能以软件的⽅法调⽤所有256个中断的服务程序,尽管其中有些中断实际上是由硬件触发的。

因此可以利⽤这条指令来调试各种中断服务程序。

-例如,可⽤INT 0指令让CPU执⾏除法出错中断服务程序,可⽤INT 2指令执⾏NMI中断服务程序,⽽不必在NMI引脚上加外部信号。

IBM PC/XT中的中断指令(2)1. INT n 软件中断指令(Interrupt)2. INTO 溢出中断指令(Interrupt On Overflow)-当带符号数进⾏算术运算时,如果溢出标志OF置1,则可由溢出中断指令INTO产⽣类型为4的中断,若OF清零,则INTO指令不产⽣中断,CPU继续执⾏后续程序。

-在带符号数进⾏加减法运算之后,必须安排⼀条INTO指令,⼀旦溢出就能及时向CPU提出中断请求,CPU响应后可作出相应的处理,如显⽰出错信息,使运算结果⽆效等。

可编程中断控制器8259详解

可编程中断控制器8259详解

可编程中断控制器8259详解
中断系统的使用极大的提高了CPU的利用率。

 中断是一种机制,这种机制实现的过程可分为请求-->响应-->服务-->返回。

 可编程中断控制器8259A是Intel公司专为80x86 CPU控制外部中断而设计开发的芯片。

其内部结构及引脚图如下:
 中断申请的过程可大概描述为:中断源发生-----》(此中断未被屏蔽)中断优先级判定(高于正在服务的中断则打断)------》向cpu发送中断请求-----》cpu 回复一个inta告诉中断申请成功------》中断服务寄存器相应的位置位,表示这个中断正在被执行---------》当收到cpu的第二个inta的时候,中断逻辑单元把中断号发给cpu,cpu调用相应的中断程序执行------》发送中断号时,将ISR的相应位复位(利用完了就复位,主要是把中断号拿出来。

如果不复位,则每次逻辑电路放在总线上的中断号就会出错),表示执行完毕。

 其内部涉及的关键型寄存器有:中断请求寄存器,中断屏蔽寄存器,中断优先级判别寄存器,中断服务寄存器。

 对于8259A的各个模块的官方描述如下:。

中断控制器8259A

中断控制器8259A

ICW1 芯片控制
ICW2 中断类型号 ICW3 主从片关系
OCW1 中断屏蔽寄存器 IMR
IOW
INTA INTR
0 0
OCW2 优先级、发EOI
ICW4 方式控制
OCW3 特殊屏蔽设置
④ 优先级裁决器PR据新进入的中断申请和 ISR的内容, 决定是否发中断申请信号。 • 如果进入的中断申请比 ISR 中记录的中断优先级高, – 则通过 8259A 的 INT 引脚向 CPU发出中断请求信号; • 如果进入的中断申请不比 ISR 中记录的中断优先级高,同级或低级, – 则不向 CPU 发中断请求信号。
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制
OCW1 中断屏蔽寄存器 IMR
0 0
OCW2 优先级、发EOI OCW3 特殊屏蔽设置
INTA INTR
8259A在接收到第二个INTA中断响应信号后:
ISR 当前 中断 服务 寄存器
片 选 CS 译 码 RD
WR INTA
0 1 0 1 0 0 0 0 0
PR
IRR 中断 申请 寄存器
优先级 裁决器
1 0 0 1 0 1 0 0
1 0 0 0 0 0 0 0 1
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
ICW1 芯片控制 ICW2 中断类型号
IRR 0 中断申请 0 寄存器 0 PR
• 4个初始化命令寄存器
• • • • ICW1、ICW2 ICW3、ICW4 OCW1(IMR) OCW2、OCW3
优先级 裁决器
OCW1

8259A介绍

8259A介绍

特殊屏蔽方式允许低优先 级中断请求中断正在服务 在有些场合中,希望一个中断服务程序能动态地改变系 的高优先级中断。
6.5.4 8259A工作过程
8259A进入工作状态的先决条件是必须按要求对其初始
化,使其处于准备就绪状态。当完成初始化后,8259A便 处于就绪状态,随时可接收外部的中断请求信号。 8259A对外部中断请求的响应和处理过程如下: (1) 当中断请求输入线IRQ0~IRQ7中有一条或多条变高 时,则中断请求寄存器IRR的相应位置“1”。 (2) 未被屏蔽的中断请求信号进入优先权判别器,优先级判 定电路选出优先级最高的中断请求,控制电路由INT引脚

(2)自动循环优先权方式

在自动循环优先权方式中,IR7~IR0优先权级别是可以 改变的。 其变化规律是:当某一个中断请求IRi服务结束后,该中 断的优先权自动降为最低,而紧跟其后的中断请求IR(i+1) 的优先权自动升为最高,IR7~IR0优先权级别按如下所示的 右循环方式改变。
假设在初始状态IR0有请求,CPU为其服务完毕,IR0优先权 自动降为最低,排在IR7之后,而其后的IR1的优先权升为最高, 其余依次类推。这种优先权管理方式,可以使8个中断请求都拥 有享受同等优先服务的权利。
初始最低优先级,由用户通过置位优先权命令
指定。

因不保留当前正在服务 3.中断结束方式
的中断的状态,所以不 当某一IRi中断被服务时,ISR中的相应位ISRi=1。 能用于中断嵌套方式。

当服务结束后,则必须清零该ISRi位。 (1)自动中断结束方式AEOI 此方式只适用于单片8259A系统中,且多个中断不会 嵌套。系统进入中断响应后,8259A在接收到CPU发来 的第二个INTA的信号时自动将ISR中的对应位清0。 (2)非自动中断结束方式EOI

8259芯片

8259芯片



(4) 初始化命令字ICW4 初始化命令字ICW4 只有当ICW1中的IC 才要设置ICW4 只有当ICW1中的IC4=1时,才要设置ICW4, 功能:中断嵌套方式选择, 功能:中断嵌套方式选择,使能中断结束方式 D0: D0 =1,用于8086/8088系统;若D0=0,用于8080/8085系统。 用于8086/8088系统 系统; 用于8080/8085系统 系统。 AEOI,用于选择8259A的中断结束方式 的中断结束方式。 AEOI= D1:AEOI,用于选择8259A的中断结束方式。当AEOI=1时, 设置中断结束方式为自动结束方式; AEOI= 设置中断结束方式为自动结束方式;当AEOI=0时8259A 工作在非自动结束方式。 工作在非自动结束方式。 D2:M/S,当BUF=1,且M/S=1时,此8259为主片;当BUF M/S, BUF= M/S= 8259为主片 为主片; M/S= 8259为从片 为从片。 =1,但M/S=0时,此8259为从片。 D3:BUF,若BUF=1,则8259A在缓冲方式下工作;若BUF BUF, BUF= 8259A在缓冲方式下工作 在缓冲方式下工作; 8259A在非缓冲方式工作下 在非缓冲方式工作下。 =0,则8259A在非缓冲方式工作下。 D4:SFNM,若SFNM=1,8259A设置为特殊全嵌套方式;若 SFNM, SFNM= 8259A设置为特殊全嵌套方式 设置为特殊全嵌套方式; SFNM= SFNM=0,8259A设置为一般全嵌套方式。 8259A设置为一般全嵌套方式 设置为一般全嵌套方式。
6.5 可编程中断控制器8259A 可编程中断控制器8259A
6.5.1 8259A的结构与引脚 8259A的结构与引脚 1.8259A的内部结构 8259A的内部结构 8259A内部结构由 个部分组成: 8259A内部结构由8个部分组成: 内部结构由8 (1)数据总线缓冲器 (2)读/写控制逻辑 级联缓冲器/ (3)级联缓冲器/比较器 中断请求寄存器IRR (4)中断请求寄存器IRR 中断屏蔽寄存器IMR (5)中断屏蔽寄存器IMR 正在服务寄存器ISR (6)正在服务寄存器ISR 优先权分析器PR (7)优先权分析器PR (8)控制逻辑

8259A与中断

8259A与中断

中断门描述符
偏移量
3 1
3 0
2 9
2 8
2 7
2 6
2 5
2 4
2 3
2 2
2 1
2 0
1 9
1 8
1 7
1 6
1 5
1 4
1 3
1 2
1 1
1 0
9
8
7
6
5
4
3
2
1
0
+4
偏移量(位31..16)
P DPL 0 D 1 10 000 保留
+0
CS寄存器选择子
偏移量(位15..0)
陷阱门描述符
偏移量
3 1
3 0
2 9
2 8
2 7
2 6
2 5
2 4
2 3
2 2
2 1
2 0
1 9
1 8
1 7
1 6
1 5
1 4
1 3
1 2
1 1
1 0
9
8
7
6
5
4
3
2
1
0
+4
偏移量(位31..16)
P DPL 0 D 1 11 000 保留
+0
CS寄存器选择子
偏移量(位15..0)
注:DPL - 描述符特权级 P - 门有效标志 D - 门规模(1 = 32位; 0 - 16位) 这里的段选择子用来查找GDT和IDT,得到一个代码段描述符,并最终得到代码段的基地址,再加上图中
中止
无 ESC的操作数超过段尾
0AH 无效TSS
故障
有 JMP、CALL、IRET或中断

8259A的内部结构及引脚功能

8259A的内部结构及引脚功能
微型计算机原理与接口技术
8259A的内部结构及引脚功能
2
1.中断请求寄存器IRR
• 中断请求寄存器IRR用于寄存所有IR输入线输入的中断请求信号,即保存正在请求 服务的中断级。
• 中断请求寄存器IRR接收外部的中断请求,IRR有8位,它们分别和引脚IR0-IR7相对 应。接收来自某一引脚的中断请求后,IRR寄存器中的对应位置1,也就是对这一中 断请求作了锁存。
CPU往8259A发送的命令字,也就是说,每当8259A接收一个数据,便设置一个命 令字。 • 芯片选通信号,低电平有效,通过地址译码逻辑电路与地址总线相连。 • A0:指出当前8259A的哪个端口被访问。1片8259A对应两个端口地址,其中一个为 偶地址,一个为奇地址,并且要求偶地址较低,奇地址较高。
5
ቤተ መጻሕፍቲ ባይዱ
4.控制逻辑
• 控制逻辑将根据优先级裁决器的请求向CPU发出一个中断请求信号,即输出引脚INT为1。如果CPU
的中断允许标志IF为1,那么,CPU执行完当前指令后,就可以响应中断。这时,CPU从
线
上往8259A回送两个负脉冲。
INTA
• 第一个负脉冲到达时,8259A完成以下3个动作:
• (1)使IRR的锁存功能失效。这样,在IR0-IR7线上的中断请求信号就不予接收,直到第二个负脉冲 到达时,才又使IRR的锁存功能有效。
4
3.优先级分辨器PR
• 优先级分辨器PR的主要作用是确定中断请求寄存器IRR中各位的优先等级,并确定 能否向CPU申请中断。
• 优先级分辨器PR也称优先级裁决器,用来管理和识别各个中断源的优先级别。中断 优先级裁决器把新进入的中断请求和当前正在处理的(即中断服务寄存器ISR中的 内容)中断进行比较,从而决定哪一个优先级更高。如果判断出新进入的中断请求 具有足够高的优先级,那么,中断裁决器会通过相应的逻辑电路要求控制逻辑向 CPU发出一个中断请求。

可编程中断控制器Intel 8259A

可编程中断控制器Intel 8259A

0 —对应IR线上无从片
图7.26 ICW3的作用
第7章 输入/输出与中断 只有当系统中有级联(ICW1的SNGL位为0)时,才写入ICW3。 对于主片,ICW3 的S0S7 指明了IR0IR7 各引脚连接从片的情 况,置1的位表示对应的引脚有从片级联。例如,若主片ICW3的 内容为07H(00000111B)时,说明主片的IR0 、IR1 、IR2 上连有从 片。对于从片,ICW3 的D7D3 不用,置0即可;用D2D0 表示与 主片的对应引脚级联,例如,若某从片ICW3 的内容为07H,说 明该从片的INT引脚与主片的IR7相连。
第7章 输入/输出与中断
D7D0 :双向、三态数据线,接系统数据总线的D7D0 ,用
来传送控制字、状态字和中断类型号等。 IR7IR0:中断请求信号,输入,从I/O接口或其他8259A(从 控制器)上接收中断请求信号。在边沿触发方式中,IR输入应由 低到高,此后保持为高,直到被响应。在电平触发方式中,IR输 入应保持高电平。 INT:8259A向CPU发出的中断请求信号,高电平有效,该 引脚接CPU的INTR引脚。
型号。例如,在PC/XT中ICW2为00001000B,则对于从IR0、IR1、
IR2、IR3、IR4、IR5、IR6和IR7上引入的各中断请求,其相应的中
断类型号为08H、09H、0AH、0BH、0CH、0DH、0EH和0FH。
第7章 输入/输出与中断 3) ICW3 ICW3用于设置级联,写入A0=1的端口,格式如图7.26所示。
第7章 输入/输出与中断 7.5.4 8259A的编程
8259A是可编程的中断控制器,它的工作状态和操作方式是由 CPU通过命令字进行控制的。8259A有两类命令字——初始化命令 字ICW(Initialization Command Words)和操作命令字OCW(Operation Command Words)。相应地,在8259A的控制部分有7个CPU可访问 的寄存器,这些寄存器分成两组:一组用做存ICW,另一组存OCW。 当计算机刚启动时,用初始化程序设定ICW,即由CPU按次序发送 24个不同格式的ICW,用来建立起8259A操作的初始状态,此后的 整个工作过程中该状态保持不变。相反,操作命令字(OCW)用于动 态控制中断处理,是在需要改变或控制8259A操作时随时发送的。 每片8259A有2个片内地址A0=0和A0=1,所有的命令字都是通过这 两个端口来发送的。注意,当发出ICW或OCW时,CPU中断申请引 脚INTR应关闭(使用CLI指令)。

计算机组成之.8259A详细说明资料

计算机组成之.8259A详细说明资料
当 CPU 允许可屏蔽中断,即 IF = 1 ,发回 INTA 信号, 8259A使ISR相应位置位,同时将IRR相应位清0,然 后送出中断类型码;
若为AEOI方式,直接清除ISR相应位;否则需要在中 断服务结束时,由CPU送出普通或特殊中断结束命
-9-
中断系统和中断控制器8259A
9.4.4 8259A的工作方式
- 11 -
中断系统和中断控制器8259A
3. 中断优先权设置方式
普通全嵌套方式:最基本、最常用的工作方式,也是默认工作方式。 此方式下, 8259A的 8 个中断请求按照 IR0优先权最高、 IR7 优先权最 低的固定优先权顺序,所以对于单片8259A最大中断嵌套深度为8级; 特殊全嵌套方式:与普通全嵌套方式基本相同,优先权按照 IR0 优先 权最高、 IR7优先权最低的固定顺序。不同的是允许同级中断请求产 生 INTR 信号给 CPU ,即可以实现同级中断嵌套。该方式一般用在 8259A级联系统中,将主片设定为特殊全嵌套方式,当从片的某一中 断请求被处理时,保证从片较高优先权中断源能够得到响应;
- 16 -
中断系统和中断控制器8259A
8259A缓冲方式级联
系统数据总线
B7 ~B0 T 74LS 245 OE A7 ~A0
- 15 -
中断系统和中断控制器8259A
7. 级联方式
一个主8259A可以带至多8个从8259A,将中断源扩展到64级; 从片的 INT 接至主片的 IRi 端,从片上的中断请求通过主片的 INT 送至 CPU; CPU的中断响应信号INTA分别送至主、从片上; 主片在级联线CAS2~CAS0上送出标识符编码,对应编码相同的从片 可以获得INTA信号; 在第二个INTA负脉冲时,主片不动作,由从片送上中断类型码; 通常主片的优先权控制采用特殊全嵌套方式,允许同级中断产生嵌套。

微机原理与接口课件中断系统-8259A控制字_ppt课件

微机原理与接口课件中断系统-8259A控制字_ppt课件
21H,则ICW2为:08H,设置ICW2的指令为:
No Image
MOV
OUTAL,0ຫໍສະໝຸດ H21H,AL3. 级联控制字 ICW3 在级联系统中,主片和从片都需设置ICW3, 指明主、从芯片的级联引脚连接关系。 主/从分别写。 1 0 不写入ICW3 写入ICW3(级联)
若ICW1 中SNGL=
No Image
ID2 ID1 ID0
从片的标志码
该从片
0

0
1 1
接入主片的IR0
接入主片的IR1 接入主片的IR7
0 1
例:某 8086 微机系统中,主片 8259A 的 IR2 , IR6 引脚上分别接有从片8259A,则主、从片的ICW3初始 化命令字设置如下:
主片初始化命令字:(设:主片口地址设为20H, 21H)
No Image
同级的 或高级 的中断
例如:
INTA
(from CPU)
INTR
(to CPU)
INTA
INT
CAS0
INTA
CAS0
INT
从8259A
CAS1
CAS2
CAS1
CAS2 IR7 IR6
主8259A
IR7
IR6

IR0
… …
IR0

若主、从 8259A 工作于固定优先权方式,从片 的优先级为 IR0IR1 IR7。但对主片来说,从 片的IR0 ~IR7 是同级的。
0 偶地址端口 1 奇地址端口
对 8259A 读 / 写 操作时, 要注意控制字
No Image
写入的顺序 有关的标志位
写入的端口地址(与CPU低位地址连接有关)

可编程中断控制器8259A

可编程中断控制器8259A

2021年1月30日星期六
图1-11 ICW2命令字
3)ICW3 ICW3用于8259A的级联,如果系统中只有一片8259A,就不 用ICW3;若含有多片,则主片8259A和从片8259A都需要写入 ICW3。A0=1,表示此命令必须写入奇地址中。主从片的写入格 式不同,如图1-12所示。
2021年1月30日星期六
可编程中断控制器8259A
1.1 8259A中断控制器内部逻辑结构
2021年1月30日星期六
图1-7 8259A内部结构图
1.2 8259A中断控制器外部引脚
8259A 是双列直插式芯片,共28个引脚,如图1-8所示。
2021年1月30日星期六
图7 88259A引脚图
1.3 8259A的工作方式
图1-12 ICW3命令字
4)ICW4 ICW4为中断结束方式命令字,写入格式如图1-13所示。ICW4
在初始化时不一定写入,只有当ICW1的D0位为1时才需写入。
2021年1月30日星期六
图1-13 ICW4命令字
5)PC/AT中断控制器的初始化编程 在PC/AT中,8259A以两片级联的方式管理15级向量中断, 它们与总线控制器的硬件连接如图1-14所示。
2021年1月30日星期六
图1-14 8259A的级联与总线控制器的连接
2.操作命令字OCW 1)OCW1 OCW1是中断屏蔽操作命令字,其每一位可以对相应的中断请求输 入线进行屏蔽,是针对有多个中断源的存在而设置的,如图1-15所示。
2021年1月30日星期六
图1-15 OCW1命令字
2)OCW2 OCW2用于控制中断结束、自动循环和特殊循环的操作方式。图116说明了它的功能。D4和D3必须为0,作为写入OCW2的标志,其他各 位含义如下:

接口技术8259A中断控制器原理及应用课件.

接口技术8259A中断控制器原理及应用课件.

动画
8259A对中断请求的处理过程如下:


当某IRi有效时,IRR相应位置1 若有效的IRi未被屏蔽,则向CPU发出中断请求 检测到第1个INTA*信号后,置ISRi=1,IRRi=0 检测到第2个INTA*信号后,把ISRi=1中最高优 先级的中断类型码放到DB上 若工作在AEOI方式,在第2个INTA*结束时,使 ISRi复位;否则由CPU发出EOI命令使ISRi复位
演示
ICW4——方式控制初始化命令字
CAS0-CAS2 : 主8259A的三条级连线CAS0~CAS2作为输出线, 连至每个从8259A的CAS0~CAS2 SP*/EN*:在非缓冲方式下,规定该8259A是主片(SP*=1)还是 从片(SP*=0) IRi : 每个从8259A的中断请求信号INT,连至主8259A的一个中断 请求输入端IR INT :主8259A的INT线连至CPU的中断请求输入端
15
结束中断处理方式(续)

自动中断结束方式AEOI

在第2个INTA#结束时,由8259A使ISRi自动复位 配合全嵌套(固定)优先权方式使用 当CPU用输出指令往8259A发出普通中断结束EOI命令 时,8259A就会把所有正在服务的中断中优先权最高 的ISR位复位 配合循环优先权方式使用 CPU在程序中向8259A发送一条特殊中断结束命令, 这个命令中指出了要清除哪个ISR位
1. 中断控制

中断请求寄存器IRR
Hale Waihona Puke 保存8条外界中断请求信号IR0~IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求 保存正在被8259A服务着的中断状态 Di位为1表示IRi中断正在服务中;为0表示没有被服务

接口8259A

接口8259A

第7章中断控制器7.1 8259A的引脚信号、编程结构和工作原理一、8259A的外部信号和含义1、引脚图(图见附加页)与引脚说明①D7~D0:数据线②INT:中断请求信号;它与CPU的INTR相连,用来向CPU发中断请求(输出)③INTA#:中断应答信号;(输入)④RD# :读信号;此信号有效时8259A的内容可以输出到数据总线上(输入)⑤WR#:写信号;此信号有效时8259A的可以从总线上接收数据(输入)⑥CS#:片选信号;(输入)⑦A0:端口选择信号;8259A对应2个端口,一个偶端口一个奇端口(输入)⑧IR7~IR0:I/O设备的中断请求信号;(输入)⑨CAS2~CAS0:从片选择信号;级联时主片端输出,从片输入⑩SP#/EN#:主片和从片的选择和驱动信号;此引脚双向操作输入时:=1表示主片,=0表示从片输出时:由此信号启动数据总线驱动器2、说明:在微机中有2片8259A,主片的地址为20H和21H,从片地址为A0H和A1H。

(微机与8259A的单片连接,级联连接图见附加页)二、8259A的编程结构和工作原理1、编程结构(见P236图7-1)(1)上半部分:处理部件中断请求寄存器IRR中断优先级裁决器PR当前中断服务寄存器ISR(2)下半部分:7个寄存器ICW1~ICW4:存放初始化命令字OCW1~OCW3:存放操作命令字2、工作原理:中断请求寄存器IRR的8位与IR7~IR0对应,当8259A收到中断请求信号后,将在IRR对应位置1,然后根据中断屏蔽寄存器IMR(OCW1)的内容判断该中断请求是否被屏蔽(IMR中对应位为0表示屏蔽,为1表示不屏蔽),如果未屏蔽那么把中断请求信号送入中断优先级裁决器PR,判断此信号的优先级是否高于当前正在执行的中断服务程序,如果高于当前中断则发出中断请求信号。

一旦申请成功,INTA#收到两个负脉冲,第一个脉冲:使IRR失效,不接收新的中断请求;ISR对应位置1;IRR相应位清0 第二个脉冲:将ICW2的内容送数据总线,作为中断类型号;如果ICW4的中断自动结束位为1,则将ISR清0。

8259A芯片使用方法

8259A芯片使用方法

一、8259A的引线及内部结构1、引脚信号8259A引脚信号如下图所示:8259A引脚图●D7~D0:双向、三态数据线,与系统数据总线相连。

对8259A编程时,命令字由此写入;在第二个中断响应总线周期中,中断类型码由此传给CPU。

●RD:读信号,输入,与系统控制总线IOR相连。

RD=0时,CPU对8259A进行读操作。

●WR:写信号,输入,与系统控制总线IOW相连。

当WR=0时,CPU对8259A进行写操作。

●A0:片内寄存器寻址信号,输入,用于对片内寄存器端口寻址。

每片8259A有两个寄存器端口,A0=0时,选中偶地址端口,A0=1时,选中奇地址端口。

在与8088系统相连时,可将该引脚与地址总线的A0连接;与8086系统连接时,可将该引脚与地址总线的A1连接。

●CS:片选信号,输入。

CS=0时,8259A被选中。

在与8088系统相连时,系统地址信号A15~A1经译码器译码后为8259A产生片选信号。

●SP/EN:双功能双向信号。

当8259A工作在缓冲模式时,它作为输出,用于控制缓冲器的传送方向。

当数据从CPU送往8259A时,SP/EN输出为高电平;当数据从8259A送往CPU时,SP/EN输出为低电平。

当8259A工作在非缓冲模式时,它作为输入,用于指定8259A是主片还是从片(级联方式)。

SP/EN=1的8259A 为主片,SP/EN=0的8259A为从片。

●INT:中断请求信号,输出,与CPU的中断请求信号线INT相连。

在级联方式下,从片的INT与主片的IR7~IR0中的某一根连接在一起。

●INTA:中断响应信号,输入,与CPU的中断响应信号线INTA相连。

●CAS2~CAS0:级联控制线,主片的CAS2~CAS0与从片的CAS2~CAS0对应相连。

对于主片,CAS2~CAS0为输出信号;对于从片,CAS2~CAS0为输入信号。

当从片发起的中断请求被响应时,主片通过CAS2~CAS0送出相应的编码给从片,告诉从片该中断请求被允许。

8259a芯片详解

8259a芯片详解

8259A:可编程中断控制器芯片(PIC),它是可以用程序控制的中断控制芯片。

单个的8259A能管理8级向量优先级中断。

在不增加其他电路的情况下,最多可以级联成64级的向量优级中断系统。

8259A内部结构由8个部分组成:(1)数据总线缓冲器(DA TA BUS BUFFER):将8259A连接到系统数据总线上,控制字和状态信息通过此传送。

(2)读/写控制逻辑(READ/WRITE LOGIC):主要是接收CPU的各种命令字,此外也可将8259A的状态信息传到数据总线上。

(3)级联缓冲器/比较器(CASCADE BUFFER/COMPARA TOR):本功能模块储存和比较系统中的所有8259A的ID号。

主片将请求中断的从片的ID号发送到CAS0-2上,被选的从片就会在下一个或第二个INTA脉冲到来时将其中断程序地址发送到系统数据线上。

(4)中断请求寄存器IRR:保存8条外界中断请求信号IR0-IR7的请求状态。

Di位为1表示IRi引脚有中断请求,为0则无。

(5)中断屏蔽寄存器IMR:保存对中断请求信号IR的屏蔽状态。

Di位为1表示IRi中断被屏蔽,为0表示允许该中断。

(6)正在服务寄存器ISR:保存正在被8259A服务着的中断状态。

Di位为1表示IRi中断正在被服务中。

(7)优先权分析器PR:本逻辑模块决定IRR中中断请求的优先级,当INTA脉冲到来时将相应的位存入ISR中(8)控制逻辑(CONTROL LOGIC) 8259A共有28个引脚:符号引脚号输入/输出功能描述Vcc 28 I 电源+5V GND 14 I 接地C----S---- 1 I 片选:低电平有效,来自地址译码器的输出,当其有效时,CPU才能对8259A进行读写操作W----R---- 2 I 写信号:低电平有效,来自CPU的输出;当该有效且CS有效时,使8259A接受CPU送来的命令字。

R----D---- 3 I 读信号:低电平有效,来自CPU的输出;当CS有效且RD 有效时,使8259A将状态信息放到数据总路线上,供CPU检测D7-D0 4-11 I/O 数据线CAS0-CAS2 12,13,15I/O 单片工作时不用,级联时与从片相连S----P----/E----N----16 I/O 当工作在在缓冲器方式下控制缓冲器收发(EN),是输出信号,EN=1,数据方向由CPU→8259A;EN=0,方向相反;工作在非缓冲器方式时用来指定是主片(sp=1)还是从片(sp=0),是输入信号INT 17 O 向CPU发出的中断请求信号IR0-IR7 18-25 I 中断请求信号输入,来自外部接口电路I----N----T----A----26 I 中断响应信号,由此接收CPU发来的中断响应脉冲A0 27 I 和CS,WR,RD结合使用,用于内部寄存器选择,通常连接到CPU的A0地址线上在MCS-80/85系统上中断响应过程如下:(1)当IR7~IR0中有一个或几个中断源变成高电平时,使相应的IRR位置位。

中断系统和中断控制器8259A详解PPT文档共42页

中断系统和中断控制器8259A详解PPT文档共42页

中断系统和中断控制器8259A详解
11、用道德的示范来造就一个人,显然比用法律来约束他更有价值。—— 希腊
12、法律是无私的,对谁都一视同仁。在每件事上,她都不徇私情。—— 托马斯
13、公正的法律限制不了好的自由,因为好人不会去做法律不允许的事 情。——弗劳德
14、法律是为了保护无辜而制定的。——爱略特 15、像房子一样,法律和法律都是相互依存的。——伯克
谢谢你的阅读
❖ 知识就是财富 ❖ 丰富你的人生
71、既然我已经踏上这条道路,那么, 72、家庭成为快乐的种子在外也不致成为障碍物但在旅行之际却是夜间的伴侣。——西塞罗 73、坚持意志伟大的事业需要始终不渝的精神。——伏尔泰 74、路漫漫其修道远,吾将上下而求索。——屈原 75、内外相应,言行相称。——韩非
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章 中断系统与可编程8259A (2)中断的特点 ① 提高CPU的效率 中断可以解决高速的CPU与低速的外设之间的矛盾,使CPU和 外设并行工作。CPU在启动外设工作后继续执行主程序,同时外设 也在工作。每当外设做完一件事就发出中断申请,请求CPU中断它 正在执行的程序,转去执行中断服务程序,中断处理完之后,CPU 恢复执行主程序,外设也继续工作。这样,CPU可启动多个外设同 时工作,大大地提高了CPU的效率。 ②实时处理 在实时控制系统中,工业现场的各种参数和信息都会随时间而变 化。这些外界变量可根据要求随时向CPU发出中断申请,请求CPU 及时处理中断请求。如果满足中断条件,CPU就立刻会响应,转入 中断处理,从而实现实时处理。 ③故障处理 控制系统的故障和紧急情况难以预料的,如掉电、设备运行出错 等,可通过中断系统由故障源向CPU发出中断请求,再由CPU转到 相应的故障处理程序进行处理。
第6章 中断系统与可编程8259A
【例题6-2】中断类型码为17H,如中断服务程序的入口地 址是:3240H:87FFH,试指出中断矢量表中存放该中断矢量
的4个字节单元的地址及内容。
解:由于中断类型码为17H,则中断矢量为:
中断矢量应存放在从0000H:005CH开始的4个连续 字节单元中,即: (0000H:005CH)=FFH (0000H:005DH)=87H (0000H:005EH)=40H (0000H:005FH)=32H
第6章 中断系统与可编程8259A
3. 中断响应过程 (1)8086中断响应过程 8086的中断响应过程如图6-7所示。从图可以看出,该流程已经考 虑了不同中断源的响应优先级,当多个中断同时申请中断时,CPU先响 应内部中断,其次响应非屏蔽中断NMI,然后响应可屏蔽中断INTR,最 后响应单步中断。这个中断响应过程,不同的中断略有所不同。
第6章 中断系统与可编程8259A
复习
•8255的A口工作在方式1输入时,其中 断允许控制位INTE的开/关是通过对( ) 的按位置位/复位操作完成的。 A.PC6 B.PC4 C.PC2 D.PC0 •8255A 是一片用于并行输入/输出的芯 片,它有三种工作方式,其名称分别为 什么?
第6章 中断系统与可编程8259A
(a)主程序 (b)IR0中断服务程序 图6-2 外部中断控制继电器程序流程图
第6章 中断系统与可编程8259A
(2)程序清单 外部中断控制继电器程序清单如下所示。
DATA SEGMENT DATA ENDS STACK SEGMENT STACK STA DW 50 DUP(?) STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS: DATA ,SS:STACK START :MOV AL,13H ; 00010011B,ICW1:边沿触发, 单片,要ICW4 MOV DX,210H ; 8259地址 OUT DX,AL MOV AL,8 ; ICW2中断类型号为8 MOV DX,211H OUT DX,AL MOV AL,01H ; ICW4不用缓冲方式,正常中断结束, 非特殊的全嵌套方式 OUT DX,AL
; 开中断
第6章 中断系统与可编程8259A
AGAIN :HLT JMP AGAIN MOV DX,201H NOT BL ;等待
INT0 PROC NEAR
;求反
; IR1中断服务程序
;8255的PB口地址
MOV AL,BL
OUT DX,AL MOV DX,210H MOV AL,20H OUT DX,AL IRET INT1 ENDP ; OCW2发结束命令EOI=1 ;PB0输出
图6-5 8086CPU的中断源
第6章 中断系统与可编程8259A
(5) 禁止中断与中断屏蔽 在有些情况下,CPU不允许响应可屏蔽中断INTR,当中断源向 CPU申请中断后,CPU不能终止当前正在运行的程序并转到中断服务 程序,这种情况就是禁止中断。 在另一些情况下,例如有多个中断源发出申请时,CPU只响应其 中某些中断,而屏蔽其他类型的中断,这就叫中断屏蔽。中断屏蔽可 以通过中断屏蔽触发器来实现。将中断源对应的中断屏蔽触发器置1, 则中断源的中断请求被屏蔽,否则该中断源的中断请求被允许。 2.中断类型与中断向量表 8086CPU的中断系统能够处理256个不同的中断源,每个中断源都 有一个为它服务的中断处理程序。CPU响应中断后,就要转入相应的中 断处理程序中。下面就介绍CPU如何转入中断处理程序的。 ●中断类型号:就是为每个中断源指定一个编号,称为中断类型号。 ●中断矢量: 每一个中断服务程序有一个确定的入口地址,该地址称为 中断矢量。 ●中断矢量表: 把系统中所有的中断矢量集中起来,按中断类型号从小 到大的顺序安排到存储器的某一个区域内,这个存放中断矢量的存储 区叫中断矢量表。
图6-4 中断嵌套流程图
第6章 中断系统与可编程8259A (4)中断源 引发中断的事件称为中断源。8086CPU的中断源有两类: 一是内部中断源,由CPU内部的标志TF为1或执行一条软件中断 指令而引起;二是外部中断,由外部请求信号引起。外部中断又 分为可屏蔽中断(INTR)和非屏蔽中断(NMI)。中断源形式如图 6-5所示。
第6章 中断系统与可编程8259A
3.项目电路原理框图 项目电路原理框图如图6-1所示继电器及驱动和脉冲按钮UP组成。
图6-1 外部中断控制继电器电路图
第6章 中断系统与可编程8259A
4.项目程序设计 (1)程序流程图 外部中断控制继电器程序流程图如6-2所示。
第6章 中断系统与可编程8259A
80x86 CPU的中断 矢量表位于主存储器 最低地址00000H~
003FFH中,共占用
1024个存储器单元。 中断矢量表中共有
256项,能处理256级
中断矢量,对应中断 类型号是00H~0FFH,
中断矢量表的结构如
图6-6所示。
图6-6 中断矢量表结构图
第6章 中断系统与可编程8259A
第6章 中断系统与可编程8259A
6.1 8086中断系统 6.1.1项目1:外部中断控制继电器
6.1.2知识讲解 6.2 8259A芯片引脚和内部结构 6.2.1项目2:用8259A中断控制LED灯左循环亮 6.2.2知识讲解 6.3 8259A控制字及编程应用 6.3.1项目3:外部中断次数显示 6.3.2知识讲解 6.4 项目扩展与工程应用 6.4.1项目4:中断控制跑马灯 6.4.2项目5:两个外部中断源中断
第6章 中断系统与可编程8259A
③实现中断嵌套 当CPU响应某一中断时,若有中断优先级更高的中断源发出中断请求, CPU会暂停正在执行的中断服务程序,并保留这个程序的断点,转向执行 中断优先级更高的中断源的中断服务程序,等处理完这个高优先级的中断 请求后,再返回来继续执行被暂停的中断服务程序。这个过程称为中断嵌 套。中断嵌套流程图如图6-4所示。
第6章 中断系统与可编程8259A
MOV AX,0 ; 清零
MOV DS,AX
LEA AX,INT0
; 数据段清零
; 写8259中断程序的入口地址
MOV DS:[4*8],AX; 把中断服务程序的入口地址偏移量送中断矢量表 MOV AX,CS
MOV DS:[4*8+2],AX; 把中断服务程序的入口地址段地址送中断矢量 IN AL,DX AND AL,0FEH OUT DX,AL MOV DX,203H MOV AL,80H OUT DX,AL MOV BL,01H STI ;置继电器动作初值 ; 8255初始化 ; B口输出,方式0 ; 读中断屏蔽寄存器IMR, ; 屏蔽IR1~IR7,允许IR0中的中断请求
知识讲解
2.项目电路连接与说明 (1)项目电路连接:如图6-1所示的粗线为要接的连线,接线描述如 下:8259A的片选CS连至地址译码处的210H~217H插孔;8255A 的片选CS连至地址译码处的200H~207H插孔;PB0接到继电器的 控制端上;将UP脉冲按钮连接至8259A的IR0插孔。 (2)项目说明:8086需要外接中断控制器才能对外部中断进行处理。 8259可外接8个中断源,本项目只响应IR0中断。将单脉冲信号UP接 到8259的IR0脚,每次中断时,可以看到继电器控制的LED灯闪烁。
中断服务程序的入口地址在中断矢量表中,占4个字节,
其中两个低地址字节中存放中断服务程序入口地址的段内地 址偏移量(IP)部分,两个高地址字节中存放中断服务程序入口
地址的段地址(CS)部分。
在中断矢量表中,各个中断矢量表按中断类型码从0到 255顺序存放。这样,知道了中断类型码,很快就可计算出 相应中断矢量的存放位置,从而取出中断矢量。而每个中断 矢量的地址可由中断类型码乘以4计算出来。CPU响应中断 时,只要把中断类型码N左移2位(乘以4),即可得到中断 矢量在中断矢量表中的对应地址4N,然后把两个低地址字节 中存放中断服务程序入口地址的段内地址偏移量(IP)部分,两 个高地址字节中存放中断服务程序入口地址的段地址(CS)部 分。
第6章 中断系统与可编程8259A
6.1 8086中断系统 6.1.1项目1:外部中断控制继电器 1.项目要求与目的 (1)项目要求:用8086CPU控制8259可编程中断控制器,实现对外 部中断的响应和处理。要求程序中对IR0每次中断,去控制继电器动 作,使LED闪烁。 (2)项目目的: ●了解8086中断的概念。 ●了解8086的中断类型。 ●了解8086的中断矢量表。 ●了解8086的中断过程。
CODE ENDS
END START
第6章 中断系统与可编程8259A
6.1.2知识讲解 1.中断基本概念 (1)中断 中断是通过硬件来改变CPU的运行方向的。当CPU在执行程序 时,由内部或外部的原因引起的随机事件要求CPU暂时停止正在 执行的程序,而转向执行一个用于处理该随机事件的程序,处理 完后又返回被中止的程序断点处继续执行,这一过程就称为中断。 中断之后所执行的相应的处理程序通常称之为中断服务或中断 处理子程序,原来正常运行 的程序称为主程序。主程序 被断开的位置(或地址)称 为“断点”。引起中断的原因, 或能发出中断申请的来源, 称为“中断源”。中断源要求 服务的请求称为“中断请求” (或中断申请)。中断示意 图如图6-3所示。
相关文档
最新文档