第08章 中断技术及8259A的使用.ppt

上传人:s****8 文档编号:67227620 上传时间:2022-12-24 格式:PPT 页数:44 大小:412.50KB
返回 下载 相关 举报
第08章 中断技术及8259A的使用.ppt_第1页
第1页 / 共44页
第08章 中断技术及8259A的使用.ppt_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《第08章 中断技术及8259A的使用.ppt》由会员分享,可在线阅读,更多相关《第08章 中断技术及8259A的使用.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第 8 8 章章中断技术中断技术教学要求理解理解:1)中断、中断源、中断向量、中断过程;)中断、中断源、中断向量、中断过程;2)8086中断系统结构、中断类型码、中断过程;中断系统结构、中断类型码、中断过程;外部中断的响应条件外部中断的响应条件掌握掌握:1)8086中断方式及中断入口地址形成方式;中断方式及中断入口地址形成方式;2)8086中断处理过程;中断处理过程;4)中断向量的设置过程;)中断向量的设置过程;3)中断的使用中断的使用8.1 中断的概述中断的概述 中断是微机原理中的一种非常重要的中断是微机原理中的一种非常重要的技术,也是技术,也是CPU和外部设备进行数据交换和外部设备进行数

2、据交换的一种很有效的方法的一种很有效的方法 中断的概念中断的概念 所谓中断(所谓中断(Interrupt),是指计算机在运),是指计算机在运行过程中,当有某些紧急事件或外设请求行过程中,当有某些紧急事件或外设请求发生时,迫使发生时,迫使CPU暂时中断现行程序的运暂时中断现行程序的运行而去处理紧急情况或外设请求,即去执行而去处理紧急情况或外设请求,即去执行其对应的行其对应的中断服务程序中断服务程序;等到事件处理;等到事件处理完毕,又返回原程序的中断点处,继续执完毕,又返回原程序的中断点处,继续执行被中断的程序。这个行被中断的程序。这个过程和机制过程和机制称为中称为中断。断。中断有什么用途呢中断有

3、什么用途呢中断有什么用途呢中断有什么用途呢 CPU与与I/O设备并行工作设备并行工作实现实时处理实现实时处理多道程序或多重任务的运行多道程序或多重任务的运行故障处理故障处理中断源及其来源分类中断源及其来源分类 引起中断的原因,或能发出中断申请的来源,引起中断的原因,或能发出中断申请的来源,称为中断源。称为中断源。通常中断源有以下几种:通常中断源有以下几种:一般的输入、输出设备。如键盘、纸带读入机、一般的输入、输出设备。如键盘、纸带读入机、行打印机等。行打印机等。数据通道中断源。如磁盘、磁带等。数据通道中断源。如磁盘、磁带等。实时时钟实时时钟 故障源故障源 为调试程序而设置的中断源为调试程序而设

4、置的中断源中断的分类中断的分类 就中断源及其性质讲,可分为就中断源及其性质讲,可分为内部中断内部中断和和外部中断外部中断 外部中断外部中断:一般是指:一般是指I/O设备或其它硬件电路所引起的设备或其它硬件电路所引起的中断。它的特点是通过硬件向中断。它的特点是通过硬件向CPU发出中断请求信号,发出中断请求信号,经常称外部中断为经常称外部中断为硬件中断硬件中断。外部中断又分为非屏蔽。外部中断又分为非屏蔽中断(中断(NMI)和可屏蔽中断()和可屏蔽中断(INTR)内部中断内部中断:主要指:主要指CPU内部的中断,是通过指令设置内部的中断,是通过指令设置的中断。所以内部中断也称为的中断。所以内部中断也

5、称为软件中断软件中断。使用软件中。使用软件中断,其功能类似于子程序调用。只是这些子程序大部断,其功能类似于子程序调用。只是这些子程序大部分是系统提供的,所以这类子程序的调用相当于高级分是系统提供的,所以这类子程序的调用相当于高级语言中的库函数的调用。语言中的库函数的调用。8.2 中断的一般过程中断的一般过程 中断请求中断请求中断响应中断响应中断服务中断服务中断返回中断返回中断请求中断请求 中断请求信号是由中断源向中断请求信号是由中断源向CPU发出的。发出的。中断源可以是中断源可以是外部事件外部事件,也可以是,也可以是CPU的的内部事件内部事件。外部事件的中断请求是外部设。外部事件的中断请求是外

6、部设备向备向CPU中断请求引脚发出的电平或边沿中断请求引脚发出的电平或边沿信号。内部事件的中断请求可以是信号。内部事件的中断请求可以是CPU执执行一条中断指令使行一条中断指令使CPU进入中断处理过程,进入中断处理过程,也可以是也可以是CPU执行程序的结果使执行程序的结果使CPU进入进入中断处理过程。中断处理过程。中断响应中断响应若为非屏蔽中断申请,则若为非屏蔽中断申请,则CPU执行完正在执行的那一条指令后,做好执行完正在执行的那一条指令后,做好保护工作即可去响应;保护工作即可去响应;若为可屏蔽中断申请,若为可屏蔽中断申请,CPU只有得到允许才能去响应。这就是说只有得到允许才能去响应。这就是说C

7、PU能否在接到中断申请后立即响应要视情况而定。能否在接到中断申请后立即响应要视情况而定。对可屏蔽的中断申请,对可屏蔽的中断申请,CPU要响应,必须满足以下三个条件:要响应,必须满足以下三个条件:p无总线请求;无总线请求;pCPU允许中断;允许中断;pCPU执行完现行指令。执行完现行指令。CPU响应中断要自动完成三项任务:响应中断要自动完成三项任务:u关闭中断;关闭中断;uCS,IP以及以及PSW的内容推入堆栈(保护断点);的内容推入堆栈(保护断点);u取得中断服务程序入口地址,进入中断服务。取得中断服务程序入口地址,进入中断服务。中断服务中断服务中断服务包括以下六个过程:中断服务包括以下六个过

8、程:保护现场保护现场 开中断开中断 中断服务程序中断服务程序 关中断关中断 恢复现场恢复现场 中断返回中断返回 大家考虑在终端返回时,是否需要开中断?大家考虑在终端返回时,是否需要开中断?中断返回中断返回 在中断服务程序最后安排一条中断返回指在中断服务程序最后安排一条中断返回指令,使断点送回程序计数器令,使断点送回程序计数器IP,继续执行被,继续执行被中断的程序。中断的程序。8.3 8086中断系统中断系统NMIINTR硬件中断硬件中断可可屏屏蔽蔽中中断断请请求求INT n 指令指令非屏蔽中断请求非屏蔽中断请求中中 断断 逻逻 辑辑INT3指令指令INTO指令指令单步单步中断中断除数为除数为0

9、中中 断断中中断断控控制制系系统统(8259A)8086的中断分类的中断分类软件中断软件中断中断向量及中断向量表中断向量及中断向量表 所谓中断向量,实际上就是中断处理子程序的入口地址,所谓中断向量,实际上就是中断处理子程序的入口地址,每个中断类型对应一个中断向量。每个中断类型对应一个中断向量。8086的中断系统是以位于内存的中断系统是以位于内存0段的段的03FFH区域的中断区域的中断向量表为基础的,中断向量表中最多可以容纳向量表为基础的,中断向量表中最多可以容纳256个中断个中断向量。向量。中断向量并不是任意存放的。一个中断向量占中断向量并不是任意存放的。一个中断向量占4个存储单个存储单元,其

10、中,前元,其中,前2个单元存放中断处理子程序入口地址的偏个单元存放中断处理子程序入口地址的偏移量(移量(IP),低位在前,高位在后,后),低位在前,高位在后,后2个单元存放中断个单元存放中断处理子程序入口地址的段地址(处理子程序入口地址的段地址(CS),同样也是低位在),同样也是低位在前、高位在后。按照中断类型的序号,对应的中断向量在前、高位在后。按照中断类型的序号,对应的中断向量在内存的内存的0段段0单元开始有规则地进行排列。单元开始有规则地进行排列。8086中断处理的优先级中断处理的优先级 8086CPU的中断优先权排列从高到低为:的中断优先权排列从高到低为:除法出错中断,溢出中断,除法出

11、错中断,溢出中断,INT n,断点中断断点中断 NMI INTR 单步中断单步中断8086中断类型号的获取方法中断类型号的获取方法有两种方法获取类型号。有两种方法获取类型号。第一种是用指令直接获取。对于类型号第一种是用指令直接获取。对于类型号04的中的中断,由于断,由于8086CPU已规定了产生中断的原因,所已规定了产生中断的原因,所以可以直接获取类型号。而以可以直接获取类型号。而INT N类型的中断可以类型的中断可以由指令直接得到中断类型号。由指令直接得到中断类型号。第二种是由外部引入的第二种是由外部引入的INTR中断,当中断,当CPU响应中响应中断时必须由硬件提供中断类型号。在可屏蔽中断断

12、时必须由硬件提供中断类型号。在可屏蔽中断响应周期进行到第二个周期时,类型号放入数据响应周期进行到第二个周期时,类型号放入数据总线,总线,CPU从数据总线上获取类型号从数据总线上获取类型号 8086响应中断时的自动过程响应中断时的自动过程 -可屏蔽中断可屏蔽中断首先将状态寄存器的内容压入堆栈中。首先将状态寄存器的内容压入堆栈中。置置TF=0,暂停单步中断,并置,暂停单步中断,并置IF=0,用以屏蔽,用以屏蔽以后的可屏蔽中断。以后的可屏蔽中断。断点地址断点地址CS:IP压入堆栈。压入堆栈。识别中断源,首先获取中断类型号。识别中断源,首先获取中断类型号。根据中断类型号,获取中断向量,得到中断服根据中

13、断类型号,获取中断向量,得到中断服务子程序的入口地址送入务子程序的入口地址送入CS:IP中断的使用及相应处理中断的使用及相应处理1在计算机系统中只有自己使用的中断在计算机系统中只有自己使用的中断2为以后程序使用的中断为以后程序使用的中断3系统中已经在使用的中断系统中已经在使用的中断 以上三种情况主程序的处理过程以上三种情况主程序的处理过程4 计算机系统已经使用的中断计算机系统已经使用的中断 主程序以及中断服务子程序要配合主程序以及中断服务子程序要配合PC机的中断安排PC机的中断安排(续)8.4 中断控制器中断控制器8259AIntel 8259A的功能的功能 8259A的结构及引脚的结构及引脚

14、 8259A的中断管理方式的中断管理方式 Intel 8259A的功能的功能 Intel 8259A是与是与8080/8085系列以及系列以及8088/8086系列兼容的可编程的中断控制器。它的主要功能系列兼容的可编程的中断控制器。它的主要功能为:为:具有具有8级优先权控制,通过级连可扩展至级优先权控制,通过级连可扩展至64级优级优先权控制。先权控制。每一级中断都可以屏蔽或允许。每一级中断都可以屏蔽或允许。在中断响应周期,在中断响应周期,8259A可提供相应的中断类型可提供相应的中断类型号,从而能迅速地转至中断服务程序。号,从而能迅速地转至中断服务程序。8259A有几种工作方式,可以通过编程来

15、进行选有几种工作方式,可以通过编程来进行选择。择。8259A内部结构图 中断请求寄存器(中断请求寄存器(IRR)该寄存器用来存放由外部输入的中断请求信号该寄存器用来存放由外部输入的中断请求信号IR7IR0,当某个输入端为高电平时,该寄存器的相应位置当某个输入端为高电平时,该寄存器的相应位置“1”。中断服务寄存器(中断服务寄存器(ISR)该寄存器记录正在处理中的中断请求,当任何一级中断被该寄存器记录正在处理中的中断请求,当任何一级中断被响应,响应,CPU正在执行它的中断服务程序时,正在执行它的中断服务程序时,ISR寄存器中寄存器中的相应位置的相应位置“1”,一直保持到该级中断处理过程结束为,一直

16、保持到该级中断处理过程结束为止。多重中断情况下,止。多重中断情况下,ISR寄存器中可有多位被同时置寄存器中可有多位被同时置“1”。优先权判别器(优先权判别器(PR)当输入端当输入端IR7IR0中有多个中断请求信号同时产生时,由中有多个中断请求信号同时产生时,由PR判定哪个中断请求具有最高优先权,并在脉冲期间把判定哪个中断请求具有最高优先权,并在脉冲期间把它置入中断服务寄存器它置入中断服务寄存器ISR的相应位。的相应位。8259A内部结构图的说明8259A内部结构图的说明(续)中断屏蔽寄存器(中断屏蔽寄存器(IMR)该寄存器中存放有关被屏蔽的中断线上的信息。当某位置该寄存器中存放有关被屏蔽的中断

17、线上的信息。当某位置“1”时,表示禁止这一级中断请求进入系统,通过时,表示禁止这一级中断请求进入系统,通过IMR寄寄存器可实现对各级中断的有选择的屏蔽。存器可实现对各级中断的有选择的屏蔽。级联缓冲级联缓冲/比较器比较器 一片一片8259A只能接收只能接收8级中断,当超过级中断,当超过8级时,可用多片级时,可用多片8259A级联使用,构成主从关系。对于主级联使用,构成主从关系。对于主8259A,其级联,其级联信号信号CAS2CAS0是输出信号,而对于从是输出信号,而对于从8259A,级联信,级联信号号CAS2CAS0是输入信号。是输入信号。此时,主此时,主8259A的的 端为端为“1”,从,从8

18、259A的的 端为端为“0”,且从,且从8259A的的INT输出接到主输出接到主8259的中断输入端的中断输入端IR上,因而可把中断扩展到上,因而可把中断扩展到64级。级。8259A的管脚分配的管脚分配 F8259A的引脚信号的引脚信号28脚双列直插式封装脚双列直插式封装D7D0:数据线。用于与数据线。用于与CPU之间传送命令、状态、之间传送命令、状态、中断类型码。中断类型码。:读出信号。通知:读出信号。通知8259把某个内部寄存器的值把某个内部寄存器的值送数据线送数据线D7D0。:写入信号。通知写入信号。通知8259把数据线把数据线D7D0上的值上的值写入内部某个寄存器。写入内部某个寄存器。

19、IR7IR0:8级中断请求输入级中断请求输入。F8259A的引脚信号的引脚信号A0:选择内部寄存器的端口地址。选择内部寄存器的端口地址。在标准在标准AT机中,使用两片机中,使用两片8259构成主从式中断系统,构成主从式中断系统,主主8259的端口地址:的端口地址:20H,21H从从8259的端口地址:的端口地址:A0H,A1HINT:把把IR7IR0上的最高优先级请求传送到上的最高优先级请求传送到CPU的的INTR引脚引脚 :接收:接收CPU的中断响应信号。的中断响应信号。CPU发出的中断响发出的中断响应信号为两个负脉冲。第一个负脉冲作为中断应答信应信号为两个负脉冲。第一个负脉冲作为中断应答信

20、号,第二个负脉冲到来时,号,第二个负脉冲到来时,8259从数据线从数据线D7D0上发上发出中断类型码。出中断类型码。F8259A的引脚信号的引脚信号 :片选输入端。片选输入端。CAS2CAS0:主主8259与从与从8259间的级联线。主间的级联线。主8259的的CAS2CAS0为输出,从为输出,从8259的的CAS2CAS0为输入。为输入。:双功能引脚:双功能引脚8259数据线与系统数据总线间连接方式采用非缓冲数据线与系统数据总线间连接方式采用非缓冲方式(即直接相连,无数据总线驱动器)时,作为方式(即直接相连,无数据总线驱动器)时,作为输入。主输入。主8259接高电平,从接高电平,从8259接

21、低电平。接低电平。8259数据线与系统数据总线间连接方式采用缓冲方数据线与系统数据总线间连接方式采用缓冲方式(即有数据总线驱动器)时,作为输出,用于启式(即有数据总线驱动器)时,作为输出,用于启动数据总线驱动器。动数据总线驱动器。F8259A的引脚信号的引脚信号F8259A的编程结构的编程结构8259的编程结构由三组共的编程结构由三组共10个寄存器构成,每个寄存个寄存器构成,每个寄存器均为器均为8位。位。8259A的编程的编程 初始化编程初始化编程8259A开始工作前,必须进行初始化编程开始工作前,必须进行初始化编程给给8259A写入写入初始化命令字初始化命令字ICW中断操作编程中断操作编程在

22、在8259A工作期间工作期间可以写入可以写入操作命令字操作命令字OCW将选定的操作传送给将选定的操作传送给8259A,使之按新的要求工作,使之按新的要求工作还可以读取还可以读取8259A的信息,以便了解他的工作的信息,以便了解他的工作状态状态ICW1 ICW1用来确定用来确定8259的链接方式和触发类型的链接方式和触发类型D1 为为1,表示本系统只用,表示本系统只用1片片8259,否则是多片级,否则是多片级联方式联方式D3 为为0,本,本8259中断请求输入为上升沿有效,否中断请求输入为上升沿有效,否则为高电平有效(是对于则为高电平有效(是对于IRx的)的)D4 CPU类型,若类型,若CPU为

23、为8086,则该位为,则该位为1初始化控制字ICWA0D7D6D5D4D3D2D1D00*IC4LTIM*SNGL1ICW2ICW2用来规定本用来规定本8259各个中断请求端的中断类型各个中断请求端的中断类型号,只有高号,只有高5位有效,低三位可以为任意值,不位有效,低三位可以为任意值,不影响。中断类型号的确定即为该高影响。中断类型号的确定即为该高5为与请求端为与请求端的编号组合。的编号组合。初始化控制字ICW(续)A0D7D6D5D4D3D2D1D01T7T6T5T4T3*ICW3 只在级联情况下使用,如果系统中只有只在级联情况下使用,如果系统中只有1片片8259,则,则不使用不使用ICW3

24、,ICW3用来说明级联的详细情况。主用来说明级联的详细情况。主8259与从与从8259的的ICW3不同。不同。主主8259的的ICW3表示那个引脚有级联,而从表示那个引脚有级联,而从8259的的ICW3则则用来说明,级联到主用来说明,级联到主8259的那个引脚上的那个引脚上。主主8259从从8259初始化控制字ICW(续)A0D7D6D5D4D3D2D1D01S7S6S5S4S3S2S1S0A0D7D6D5D4D3D2D1D01*ID2ID1ID0ICW4 8086CPU必须设置必须设置ICW4 D1=1 自动结束中断,否则为非自动结束自动结束中断,否则为非自动结束其余一般不关心,为其余一般不

25、关心,为0初始化控制字ICW(续)A0D7D6D5D4D3D2D1D01000SFNMBUFM/SAEOI18259A芯片的初始化流程写写ICW1 A0=0,D4=1写写ICW2 A0=1SNGL=1 IC4=1写写ICW3 A0=1写写ICW4 A0=1是是否否是是否否按顺序对按顺序对A0=1端端口写入命令字口写入命令字初始化命令字的功能:(1)按)按8259A的选用情况规定是单一式的选用情况规定是单一式还是主从式;还是主从式;(2)可设置八个中断请求设备的类型号;)可设置八个中断请求设备的类型号;(3)若为主从式则规定主)若为主从式则规定主8259A中每个中每个IR端是否带从端是否带从82

26、59A,从,从8259A则要规定从则要规定从主主8259A的哪个的哪个IR端引入;端引入;(4)完成中断管理方式的设定。)完成中断管理方式的设定。OCW1 OCW1用来设定用来设定8259的中断屏蔽,对应位为的中断屏蔽,对应位为1,则该,则该IRx的请求被屏蔽。为的请求被屏蔽。为0则允许则允许操作控制字OCWA0D7D6D5D4D3D2D1D01M7M6M5M4M3M2M1M0OCW2 OCW2用来设定用来设定8259的中断优先级和发出中的中断优先级和发出中断结束命令,在断结束命令,在PC机中,主要用来发中断结束机中,主要用来发中断结束命令命令操作控制字OCW(续)A0D7D6D5D4D3D2

27、D1D00RSLEOI00L2L1L0OCW3 OCW3用来控制用来控制8259的中断屏蔽和读取的中断屏蔽和读取8259内部的寄存器,一般不使用。内部的寄存器,一般不使用。操作控制字OCW(续)A0D7D6D5D4D3D2D1D00ESMMSMM01PRRRIS主片主片8259A-初始化初始化ICW1A EQU 20H;主片端口地址主片端口地址ICW2A EQU ICW1A+1ICW3A EQU ICW2AICW4A EQU ICW2A.MOV AL,11H ;ICW1,边沿触发,多片,需设置边沿触发,多片,需设置ICW4OUT ICW1A,ALNOP ;I/O端口延时端口延时MOV AL,0

28、8H ;ICW2,中断类型码中断类型码OUT ICW2A,ALNOPMOV AL,04H ;ICW3,IR2接从片接从片OUT ICW3A,ALNOPMOV AL,01H ;ICW4,非缓冲,全嵌套优先级方式,非自动结束非缓冲,全嵌套优先级方式,非自动结束OUT ICW4A,ALNOPBIOS中主片的初始化中主片的初始化FPC机中对机中对8259的初始化的初始化;-从片从片8259A-MOV AL,11H ;ICW1,边沿触发,多片,需边沿触发,多片,需ICW4OUT ICW1B,ALNOPMOV AL,70H ;ICW2,中断类型码中断类型码OUT ICW2B,ALNOPMOV AL,02H ;ICW3,INT接主片的接主片的IR2OUT ICW3B,ALNOPMOV AL,01H ;ICW4,非缓冲,全嵌套,非自动结束非缓冲,全嵌套,非自动结束OUT ICW4B,ALNOP从片从片8259A-初始化初始化FPC机中对机中对8259的初始化的初始化结 束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁