第7章 中断系统和中断控制器8259A_第1页
第7章 中断系统和中断控制器8259A_第2页
第7章 中断系统和中断控制器8259A_第3页
第7章 中断系统和中断控制器8259A_第4页
第7章 中断系统和中断控制器8259A_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第7章中断系统和中断控制器8259A

主要内容1.中断的基本概念2.8086系统的中断系统3.中断控制器8259A及应用学习要点:1.掌握8086内部中断的特点;2.掌握中断的基本概念,掌握对外部中断响应的区别;3.深刻理解中断类型码、中断矢量和中断向量表的概念,以及如何对中断服务程序寻址;4.了解8259A的编程结构,理解8259A工作方式、掌握8259有关命令和初始化编程及其应用方法。

7.1.1中断及中断源

(2)中断源——能够引起中断的事件。

中断源:◆一般的I/O设备。如键盘、打印机等;◆数据通道中断源。如磁盘、磁带机等;◆实时时钟;◆故障引起的中断。如电源掉电;◆中断指令或软件故障。如系统功能调用、除数为0等。(1)中断——由于外设的请求或某事件的发生使CPU暂停执行现行程序,转去执行处理相应请求或事件的中断服务程序,处理完毕再返回运行原程序,这样的过程为中断。7.1中断的基本概念(3)中断系统

——实现中断功能的控制逻辑与管理软件称为中断系统。不同的微型计算机的中断系统虽然各不相同,但中断系统的基本功能是相同的。

中断系统应具备的功能:◆中断源的识别、响应及返回——完成一次中断过程;◆中断优先权排队——给中断源按轻重缓急排队;◆中断嵌套——优先权高的中断源能中断优先权低的中断处理。

7.1.2中断处理过程

中断请求信号是随机发生的,因此,CPU一般隔一定时间检测一次中断请求信号确定是否有中断请求。(1)中断请求

——中断源向CPU发出的请求中断服务的信号。必须满足条件:●中断源已准备好;●系统允许该中断源发出中断信号。

设置中断屏蔽触发器加以控制中断屏蔽触发器=1,允许向CPU申请中断。

中断屏蔽触发器=0,禁止向CPU申请中断。

中断请求→中断排队→中断响应→中断服务→中断返回

中断响应是指CPU在接到中断请求信号后,确定可以响应时自动完成的操作:

①发中断响应信号,同时内部关中断(IF←0),以禁止其它可屏蔽中断请求;

②保护断点——程序断点处的CS、IP内容压栈,以便中断处理完后能正确地返回主程序;③

保护现场——

保护标志寄存器

F的内容;④中断识别并形成中断服务程序入口地址——使段地址→CS,偏移地址→IP,转入中断服务程序执行。(2)中断排队及中断响应

——系统中有多个中断源,当两个以上中断源同时向CPU发出中断请求信号,则CPU能先响应重要的、紧急的中断,即优先权高的中断源。这就是中断排队的工作。(3)中断服务及中断返回

在中断服务程序中,需做以下事情

1)保护现场——保护有关寄存器的内容;(如压入堆栈保护)

2)开中断——(IF←1)为了实现中断的嵌套;

3)中断处理服务——对中断源作相应的处理。例如进行数据传送等。这是服务程序的实质性环节。

4)关中断——为恢复现场做准备;

5)恢复现场;

6)中断返回——中断返回指令使得CPU自动地将堆栈中保存的F

和程序断点处的CS、IP值弹到F、CS、IP中,使CPU返回主程序断点处继续执行主程序,同时中断返回指令使得IF自动恢复响应中断前的开中断状态。中断服务程序框图:7.1.3中断优先权管理

——将中断源按轻重缓急排队,确定各中断优先权次序。优先权管理是指判别和确定各中断源的中断优先权次序。中断优先权判别方法有两种:

软件排队和硬件排队

1.软件排队

——用软件查询哪个中断源有中断请求,先查询到的先响应。即:查询次序确定各中断优先权次序,先查询的优先权最高。A0~A15锁存器INTR三态缓冲器译码

80HD0~D7中断A中断B中断C……IOR或门或门1)接口电路3)特点:方法简单,硬件电路省,但中断源多时,查询速度慢,影响中断响应速度。2)查询程序INAL,80HTESTAL,80HJNZASEV;转A服务程序TESTAL,40HJNZBSEV;转B服务程序

……作用:(1)能够送出当前有中断请求的中断源中优先权最高的中断请求。(2)当一个中断源的中断请求被CPU响应后,比它低优先权的中断源被屏蔽。2.硬件排队

1)链式排队电路2)优先权编码电路IEIIEO5VIEIIEOIEIIEOINTR1INTR2INTR3如:7.28086/8088的中断系统

8086/8088具有功能很强的中断系统,能够处理256个中断源。7.2.18086/8088的中断指令中断指令格式:INTn或INT;n=0~255,为中断类型码。

功能:SP←SP-2,SS:[SP]←RF

IF←0,TF←0SP←SP-2,SS:[SP]←CS,

SP←SP-2,SS:[SP]←IP

IP←0:[n*4]

CS←0:[n*4+2]

---ZZZZYYYYXXXX?--RFLRFHSS:SPSS:SP-2SS:SP-2CSLCSHSS:SP-2IPLIPH…AABBCCDDCSLCSH0000:n*4IPLIPH0000:n*4中断指令完成关中断、保护F和断点CS:IP,形成中断服务程序入口地址DDCC:BBAA的功能。单字节,n固定为3

2.溢出中断

格式:INTO

单字节指令,(n=4)指令功能:放在算术运算指令之后,若运算结果有溢出,则OF=1,产生溢出中断,若运算结果无溢出,则OF=0,不产生溢出中断。

3.中断返回指令

格式:IRET

指令的操作:

(IP)←((SP+1),(SP)),(SP)←(SP)+2(CS)←((SP+1),(SP)),(SP)←(SP)+2(FR)←((SP+1),(SP)),(SP)←(SP)+2指令执行后(SP)=(SP)+67.2.28086/8088的中断分类8086/8088的中断系统采用向量中断方法,能够处理256个中断,用中断向量号0~255区别。中断系统有如下分类:可屏蔽中断:从CPU的INTR引脚输入,受中断允许标志IF状态影响;非屏蔽中断:从CPU的NMI引脚输入。7.2.2.1

内部中断内部中断是通过软件指令或软件陷阱而调用的非屏蔽中断(指不受IF状态影响),这是由程序运行的状态和指令代码执行后自动启动而不是由外界中断请求来调用的。内部中断按其性质又可分为软件陷阱和软件中断:

软件陷阱——在某些指令执行期间FR的标志位满足设定的条件或CPU的状态符合某种情况从而触发CPU内部逻辑去启动所需要的中断服务子程序,如除法出错中断和单步中断。软件中断——通过指令来调用中断服务子程序。

1.除法出错中断——中断类型码n=

0在执行除法指令时,若除数为0或商超过了寄存器所能表达的范围,则产生一个类型号为0的内部中断,称为除法错中断。注意点:除法错误中断是由内部电路自动生成的,没有对应的中断指令。

2.单步中断——中断类型码n=1

为了用户调试上机的方便,当TF=1时,则在每执行一条指令后,可以产生一个类型号为1的中断。在中断处理程序的控制下,可以给出有关寄存器的内容或状态标志位的状态,以便了解程序的执行情况。例如:DEBUG.EXE调试程序的单步命令T就利用单步中断实现对程序的单步调试3.断点中断——中断类型码n=

3

断点中断也是提供给用户的一种程序调试手段。在相应的程序语句后设置断点,就可以使程序运行一段后进入断点中断,检查程序是否达到要求。实现分段落调试程序。

4.溢出中断——中断类型码n=4

溢出中断是通过INTO中断指令实现的,该指令跟在有符号数的算术运算指令以后在执行溢出中断指令INTO时,若溢出标志OF为1,则产生一个向量号为4的内部中断。并转入溢出中断处理。

例:MOVBL,126MOVAL,5ADDAL,BL→执行到此指令后,将OF置1INTO→执行到此产生中断5.软件中断——中断类型码n由用户定义以软中断指令INTn方式实现中断服务程序,5≤n≤255

。其中5~3FH为系统备用中断,一般不允许用户改作其它用途,如系统功能调用INT21H。

40H~FFH为用户可用的中断,用户可自行设计一些中断服务程序,这与调用子程序相似。

7.2.2.2外部中断

外部中断是由于外部提出中断请求引起的程序中断,也称为硬中断。利用外部中断,微机系统可以实时响应外部设备的数据传送请求,能够及时处理外部意外或紧急事件。外部中断的原因是处理器外部随机产生的,所以是真正的中断(Interrupt)。

硬中断又分可屏蔽中断与非屏蔽中断。1.非屏蔽中断——中断类型码n=2

非屏蔽中断请求由NMI引脚送入。所谓非屏蔽,指该中断请求不受中断允许标志IF状态的影响,在当前指令执行完后,CPU就响应。

非屏蔽中断用于较重要、紧急的中断请求。2、可屏蔽中断——中断类型码n由申请中断的中断源提供。可屏蔽中断请求由INTR引脚送入。所谓可屏蔽,指该中断请求须由中断允许标志IF的状态决定其是否被CPU响应。

IF的设置可由指令实现。

STI ;IF=1,允许中断CLI ;IF=0,禁止中断当IF=1,INTR有效时,CPU将送出中断响应信号。中断源接到该信号,将其中断类型码送给CPU。7.2.3中断向量表1、中断向量表

中断向量即中断服务程序的入口地址(首地址)

,用32位逻辑地址表示。中断向量表是一个存储区,该存储区存放所有中断向量。表内容:所有中断服务程序的入口地址,即256个中断向量。表长度:一个中断向量4个字节,256个中断向量共256×4=1024字节,即占用1K存储空间。表位置:在0段内偏移地址为0000~03FFH的范围内,即实际地址为00000~003FFH。存放次序:按中断类型码从小到大依次存放。每个中断向量占用的4个单元中,小地址的存放偏移地址,大地址的存放段地址。

每一个中断服务程序入口地址与表内的中断向量有一一对应的关系向量号为n的中断向量存放首地址=n×4例:设某中断源的类型码为13H,该中断源的中断服务程序的入口地址为FF00H:2200H,试画出中断矢量表。

解:n=13,4n=13H*4=4CH则中断向量存放首地址(偏移量)为:004CH

例:某一中断源的中断类型码为45H,则该中断源的中断向量在中断向量表的位置是:45H×4=00114H若中断向量表部分单元内容如图示,则该中断源的中断向量为:3400H:1020H。地址存储单元内容00114H20H00115H10H00116H00H00117H34H00118H即该中断服务程序的入口地址为35020H。2、中断向量表的设置中断向量表的设置——将中断源的中断向量存入中断向量表对应的位置。方法一——用系统功能调用设置。实现:(1)功能号:25H

(2)调用参数:DS←中断向量的段基址

DX←中断向量的偏移地址

AL←中断类型码N例:某中断源的中断类型码为70H,其中断服务程序入口地址为IRQ0。该中断源的中断向量表设置程序:

PUSH DS MOV AX, SEGIRQ0 MOV DS, AX ;段基址送入DS MOV DX, OFFSETIRQ0 ;偏移地址送入DX MOV AX, 2570H ;类型码送AL,功能号送AH INT 21H ;系统功能调用

POP DS方法二、用传送指令设置地址中断向量表0000:N×4偏移地址高8位偏移地址低8位段基址高8位段基址低8位例:某中断源的中断类型码为72H,其中断服务程序入口地址为IRQ2。该中断源的中断向量表设置程序:72H×4=01C8H

CLI PUSH DS MOV AX, 0 MOV DS, AX ;中断向量表段基址为0 MOV[01C8H], OFFSETIRQ0 ;存入偏移地址

MOV[01CAH], SEGIRQ0 ;存入段基址

POP DS7.2.4中断处理过程当前指令执行结束,CPU检测各中断,决定是否中断响应。当:内部中断发生;NMI中断发生;INTR中断发生,且IF=1,CPU将响应中断。1、中断响应条件

特殊情况:①当CPU执行封锁指令(LOCK)时,要待后面的指令执行完后才响应中断。②设置段寄存器内容的指令和下条指令之间不允许中断。③等待指令和重复串操作指令执行过程中,可响应中断,但必须在一个基本操作完成后。中断处理过程可分为:中断请求、中断排队、中断响应(关中断、保护断点、查找中断源等)、中断处理、中断返回。2、中断处理顺序(1)中断处理次序:内部中断、非屏蔽中断、可屏蔽中断、单步中断(2)可屏蔽中断INTR必须在IF=1在条件下才响应。

(4)中断响应: 标志寄存器入栈

TF→暂存器TEMP,TF=0,IF=0 CS、IP入栈 由中断类型码N获取中断向量

(3)中断类型码的获取: 内部中断——指令中断由指令本身提供,其余固定。 非屏蔽中断——固定为2。 可屏蔽中断——从数据总线读取中断源提供的类型码。8086/8088的中断处理过程标志寄存器FR入栈令TEMP=TFCS和IP入栈清除TF和IF调中断服务程序标志寄存器FR出栈完成当前指令获取中断类型码IP和CS出栈执行中断服务程序内部中断?NMI中断?INTR中断?执行下一条指令YYYNNNIF=1?TF=1?从外部获取中断类型码YN有NMI中断TEMP=1?获取中断类型码YN转入NMI中断服务转入单步中断服务NNYYINTR中断必须是IF=1才响应TF陷阱标志,TF=1单步中断3、中断响应过程1)执行两个中断响应总线周期,CPU接收8位中断类型码;2)执行一个总线写周期,FR→推入堆栈;3)把IF和TF置0;4)执行一个总线写周期,把CS的内容推入堆栈。5)执行一个总线写周期,把IP的内容推入堆栈。6)执行一个总线读周期,读入IP。7)执行一个总线读周期,读入CS。

对非屏蔽中断或内部中断,则由第2步开始执行。7.3中断控制器8259A7.3.18259A的主要功能主要功能:

1)每片8259A能管理8级中断,也可多片芯片级联构成 两级主从式中断管理系统,最多(一个主片和8个从片)可扩展至64级中断。

2)每级中断都可以被屏蔽或允许。

3)可提供中断源的中断类型码给CPU。

4)允许中断嵌套,提供多种优先权排队方式。

5)提供多种不同的工作方式供用户编程选择。

6)提供中断查询方式。——8259A是可编程中断控制专用芯片,用于微机系统中多中断源的管理。7.3.28259的结构及引脚

——由8个基本功能部件组成,包括:中断请求触发器IRR、优先权判别器PR、中断服务寄存器ISR、中断屏蔽寄存器IMR、数据总线缓冲器、读写控制逻辑、级连缓冲器、控制逻辑。1、内部结构2、引脚信号

——双列28引脚8259A引脚信号:1)中断请求引脚——IR0~IR72)与CPU相连数据线——D0~D73)CPU控制线

——A0、

、、4)中断——INT、5)级联——CAS0、CAS1、CAS26)主从编程/缓冲使能——7)电源、地7.3.38259的工作过程

⑤中断服务寄存器ISR中对应位置1; ⑥中断服务中,若有新的中断请求,由PR、ISR判优,决 定是否再次送出INT; ⑦中断结束时,清除ISR中被置位的位。8259A初始化设定工作方式后:

①当IRi中断请求有效,存入IRR; ②由中断屏蔽寄存器IMR的内容判别是否屏蔽; ③由优先权判别器PR判别最高优先权的那个中断请求,通过INT送出;④接收到CPU发回的后,将该中断源的中断类型码送至DB;

7.3.48259的工作方式

——解决中断有效、中断屏蔽、中断排队、中断嵌套、中断结束等问题。

1.中断请求触发方式

2.屏蔽中断方式

3.中断优先权设置方式

4.中断结束方式

5.连接系统总线方式7.3.58259的命令字和操作命令字

7.3.5.1.初始化命令字初始化命令字ICW最多有4个,ICW1和ICW2是必须送的,ICW3和ICW4由工作方式决定。

由于8259A只占用两个I/O端口地址,但要写入四个方式控制字和三个操作命令字。因此,要求写入次序固定,依次为ICW1、ICW2、ICW3(需要时)、ICW4。其中,ICW1写入偶地址,其余写入奇地址。

1)8259A开始正常工作之前,必须用初始化命令字建立起8259A操作的初始状态。初始化编程是通过CPU对8259A送4个方式控制字ICW1、ICW2、ICW3、ICW4来实现。

2)在8259A工作期间可以写入操作命令字OCW(OCW1、OCW2、OCW3)将选定的操作传送给8259A,使之按新的要求工作,还可以读取8259A的信息,以便了解他的工作状态。初始化命令字ICW的格式及功能如下

1、ICW1——中断请求方式的设置及8259A级连方式选择

D7D6D5D4D3D2D1D0XXX1LTIMADISNGLIC4LTIM——0:边沿触发;1:电平触发SNGL——0:级联使用;1:单片使用IC4——0:不需要ICW4;1:需要ICW4ADI——8086/8088不用D4=1——表示设置ICW1D7D6D5D4D3D2D1D0T7T6T5T4T3XXX

2、ICW2

——中断类型码的设置中断类型码高5位3、ICW3

——中断级连方式的设置D7D6D5D4D3D2D1D0IR7IR6IR5IR4IR3IR2IR1IR0中断类型码低3位,自动填入IR0为000、IR1为001、……、IR7为111。主片:D7~D0对应的IR7~

IR0输入端有从片信号引入时写1,否则写0;从片:D7~D3不用,D2~D0作为请求线INT接入主片IRi引脚的编码。4、ICW4

——方式控制初始化命令字D7D6D5D4D3D2D1D0000SFNMBUFM/SAEOIμPM0:8080/85系统1:8086/88系统0:非自动EOI1:自动EOI0:非特殊全嵌套1:特殊全嵌套10:缓冲从片11:缓冲主片中断结束方式设8259的端口地址为20H,21H,分析下列初始化结果。

MOVAL,13HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,0DHOUT21H,AL命令字=00010011B:边沿触发,单片使用,需要ICW4ICW1送偶地址中断类型码08H中断类型码送奇地址方式控制命令字00001101B:普通全嵌套方式,缓冲方式,非自动中断结束8259初始化举例:

2.操作命令字

OCW1设置各中断源普通屏蔽;OCW2设置优先权循环、EOI命令,OCW3设置特殊屏蔽、查询方式、读IRR和ISR寄存器。初始化命令字设置完后,8259A处于设定的状态随时准备接受中断请求信号,按要求对中断进行管理,并自动进入操作命令状态。OCW1~OCW3,可在系统运行时随时修改。由写入不同端口和标志位方式区分。其中,OCW1写入奇地址,其余写入偶地址。

1、OCW1——中断屏蔽命令字。D7~D0分别控制对应的IRQ7~IRQ0上的中断请求被屏蔽还是开放。“1”是屏蔽,“0”是开放。

D7D6D5D4D3D2D1D0M7M6M5M4M3M2M1M02、OCW2是用来设置中断优先级循环方式和发送EOI命令。通过偶地址写OCW2且命令字的D4D3位都是“0”,标志着是对OCW2设置。

D7D6D5D4D3D2D1D0RSLEOI00L2L1L0

1)L2~L0(D2~D0):当SL=1时有效,两个用途:A:当OCW2设置为特殊EOI结束命令时,由L2~L0三位指出要将ISR寄存器中的哪一位清除;

B:当OCW2设置为特殊优先级循环方式时,由L2~L0指出循环开始时哪一个中断源的优先级最低。2)EOI(D5):中断结束命令位。EOI=1,为非自动中断结束命令EOI,执行中断结束操作,清除中断服务寄存器ISR中由L2~L0指定的位。3)SL(D6):L2~L0有效控制位。SL=1,L2~L0有效4)R(D7:)中断优先权循环控制位。R=1采用轮换优先级方式,并按SL、EOI、及L2~L0各位的组合执行优先级轮换;R=0时采用固定优先级。

3、OCW3用于控制读中断状态、查询及屏蔽方式,此时要求8259A的引脚A0为0即偶地址。D4D3位是01标志着是对OCW3设置。D7D6D5D4D3D2D1D0XESMMSMM01PRRRIS特殊屏蔽方式控制0X:无意义10:撤消特殊屏蔽11:设置特殊屏蔽中断查询方式控制

P=1:中断查询方式0X:无意义10:读IRR寄存器11:读ISR寄存器8259A的应用编程一般包括三个部分:1)初始化——写入命令字初始化命令字ICW1~4,在PC机系统中上电时已由系统软件做好,不需要也不允许用户自己去设置。8259A初始化,一般只在没有配置完善的操作系统的单板微机上进行。写入命令字安排在程序的开始,一旦设定在工作过程中不再改变。2)预置中断向量表3)中断服务程序——设置操作命令字

如果是在PC微机上开发中断程序,只需使用8259A的两个操作命令OCW1和OCW2进行中断屏蔽/开放和中断结束命令。操作命令字则是由应用程序设定的用于中断处理过程的动态控制,在程序中可多次使用。初始化流程8259A初始化编程举例例1:单片使用的8259A的应用编程,端口地址20H、21H;IR0~IR7均为边沿触发;采用完全嵌套方式IR0最高,IR7为最低级;设0级中断请求的中断号8,1级为9依次类推。1)分析要求:单片方式CAS2~CAS0不用,/SP接5V;2)硬件如图3)初始化编程如下:

MOVAL,13H;ICW1,边沿触发,单片,要ICW4OUT20H,ALMOVAL,08H;ICW2,中断类型码为08HMOV21H,ALMOVAL,09H;ICW4,全嵌套,非自动结束方式

OUT2IH,AL

例2:设系统中使用单片8259A,中断请求上升沿触发、中断类型码40H、普通全嵌套方式、非缓冲、用于8086/8088系统、非自动结束方式。命令字:ICW1=13H,ICW2=40H,ICW4=01H例3.在中断服务程序中修改中断屏蔽寄存器的内容,使IR5的请求被屏蔽,开放IR3的请求,其余不变。程序段如下:

INAL,21H;读IMRANDAL,0F7H;D3=0ORAL,20H;D5=1OUT21H,AL结束(1)中断请求触发器IRR

——8位锁存器,存放8个中断源的中断请求信号。有中断请求时,对应的位置1。 此寄存器可读。返回IMR控制逻辑(2)优先权判别器PR

——用于识别各中断请求的优先级别,进行优先权管理。优先权级别可以有编程定义或修改。主要工作:1)多个中断同时申请中断时,判定优先权最高的先响应。2)中断服务中有中断请求,判别是否比正在处理的中断优先权高。是,中断嵌套;否,不响应新的中断请求。返回(3)中断服务触发器ISR

——8位寄存器,用于记录正在处理的中断请求。有中断请求且CPU响应时,对应的位置1,表示CPU正在执行该中断服务。该寄存器可读,对该寄存器的写是自动/编程命令进行。例:CPU正在执行主程序,此时IR4,IR7有中断请求且不被屏蔽,由优先权判别器PR判别IR4优先权高,若CPU的IF=1,则响应该中断请求,8259A自动设置ISR=00010000。

若此时IR2有中断请求且不被屏蔽,PR判别IR2比当前中断的优先权高,则送该中断请求信号给CPU,若IF=1,则再次响应中断,ISR=00010100,表示中断嵌套。注意,当一个中断服务结束,ISR中对应的位必须清0。ISR清0的工作为中断结束(EOI)。返回(4)中断屏蔽寄存器IMR

——8位锁存器,存放对8个中断请求的屏蔽信息。当某位为1时,表示相应位的中断请求被屏蔽(该中断请求不能送出)。该寄存器可读可写。例:IMR=00001010,表示此时8个中断源中的IR1、IR3的中断请求被屏蔽。ISRPRIRR返回(5)数据总线缓冲器

——双向8位三态缓冲器,是8259A与CPU间数据传输的通道。8259A内部数据线返回(6)读/写控制逻辑

——接收来自CPU的片选、读/写控制信号,完成规定的操作。控制逻辑返回(7)级联缓冲/比较器

——多片8259A级联使用时,构成主-从关系。控制逻辑返回(8)控制逻辑

——管理8259A的工作。接收来自CPU的命令字,按此工作。根据IRR、IMR和PR向CPU发出中断请求,接收中断响应信号,送出中断类型码,进入中断服务状态。实现中断嵌套,中断结束时,退出中断服务。返回(1)中断请求信号IR0~IR7

——输入信号,接受来自中断源的中断请求信号或在主-从系统中,接受来自8259A从片的中断请求INT信号。可设置为上升沿触发或高电平触发。返回(2)CPU控制线A0——输入信号,用以选择8259A内部不同寄存器,A0=0,偶地址端口;A0=1,奇地址端口。

8086系统中,若8259A的D7~D0与系统数据线低8位相连,因CPU通过低8位数据线与偶地址传递数据信息,所以A0应与系统地址总线的A1相连,系统地址总线A0应为0。8088系统中,A0与系统地址总线的A0相连。

下一页——8259A的片选信号。由系统地址总线高位译码确定,与A0组成8259A的端口地址。、——输入信号,读/写控制信号。例:设系统中的8259A与系统地址总线连接如图示,确定8259A的端口。由图中可确定,A7A6A5A4A3A2A1=0010000,则8259A的偶地址端口为00100000=20H

奇地址端口为00100001=21H返回(3)中断信号线

INT——输出信号,送出中断请求信号。连至CPU的可屏蔽中断输入端INTR。返回——输入信号,接受来自CPU的中断响应信号。8259A通过INT引脚将中断请求信号送给CPU,当接到CPU发回的中断响应信号,送出中断类型码。(1)中断请求触发方式◆电平触发方式——IRi端出现高电平◆边沿触发方式——IRi端出现由低到高的上升沿返回(2)屏蔽中断源方式◆普通屏蔽方式

——对IMR寄存器中的位置位或复位可设置对应的中断请求被屏蔽或允许。◆特殊屏蔽方式

——在中断服务中设置命令使ISR对应的位清0(当一个中断被响应时会使该位为1),并屏蔽该中断源,从而开放了比当前低优先权的中断请求。 一般用于较长中断服务程序中。返回(3)中断优先权设置方式◆普通全嵌套方式——8个中断请求的优先权次序为: (最高)IR0→IR7(最低)下一页◆特殊全嵌套方式——优先权次序与普通全嵌套方式相同。在这种方式下允许同级中断源的中断请求。一般用于8259A级联方式中的主片。——这是8259A最常用、最基本的工作方式,系统初始化没有设置其他优先权方式时默认的方式。◆优先权自动循环方式——初始时,8个中断请求的优先权次序为:(最高)IR0→IR7(最低)IR0IR1IR2IR3IR4IR5IR6IR7IR0→IR1→IR2→IR3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论