《中断控制器课件》由会员分享,可在线阅读,更多相关《中断控制器课件(74页珍藏版)》请在金锄头文库上搜索。
1、第第7 7章章 中断控制器中断控制器本章引入本章引入-中断技术概念中断技术概念v中断:指当中断:指当CPUCPU检测到某种服务请求后,检测到某种服务请求后,暂时中止现行程序而转去执行一个特定的暂时中止现行程序而转去执行一个特定的中断服务程序,当中断程序执行完毕后,中断服务程序,当中断程序执行完毕后,返回到原来的程序的中断处继续执行。返回到原来的程序的中断处继续执行。v中断过程中断过程 :中断申请中断申请 中断排队中断排队 中断响应中断响应 中断服务中断服务 中断返回中断返回中断控制器一、中断申请一、中断申请v中断申请:是由中断源发出的请求服务的中断申请:是由中断源发出的请求服务的信号。信号。v
2、中断源:能够发出中断请求信号的来源中断源:能够发出中断请求信号的来源中断控制器一、中断申请一、中断申请v中断源通常有如下几种:中断源通常有如下几种: 1. 1. 一般的一般的I/OI/O设备设备, ,如键盘、打印机等。如键盘、打印机等。 2. 2. 实时时针及过程,如时针电路,实时时针及过程,如时针电路,A/DA/D转转换等。换等。 3. 3. 故障源:包括硬件故障及软件故障,故障源:包括硬件故障及软件故障,如电源掉电,存储器故障,运算举出等。如电源掉电,存储器故障,运算举出等。 4. 4. 软件设置中断源,如在程序中用中断软件设置中断源,如在程序中用中断指令而产生的中断。指令而产生的中断。中
3、断控制器一、中断申请一、中断申请v中断源能够产生中断申请信号的两个条件中断源能够产生中断申请信号的两个条件 1. 1.中断源自身工作已经中断源自身工作已经 准备就绪准备就绪 2.CPU 2.CPU允许该中断源申请中断允许该中断源申请中断BACKBACK中断控制器二、中断排队二、中断排队v在中断系统中,根据中断源的轻重缓急,在中断系统中,根据中断源的轻重缓急,为每一个中断源规定一个服务优先级别,为每一个中断源规定一个服务优先级别,这就是所谓的中断优先级或叫中断优先权。这就是所谓的中断优先级或叫中断优先权。v中断优先级排队一般有两种方法:即软件中断优先级排队一般有两种方法:即软件查询法和硬件排队法
4、。查询法和硬件排队法。中断控制器二、中断排队二、中断排队v软件查询法:用软件查询中断源,根据查软件查询法:用软件查询中断源,根据查询的顺序先后来确定中断源的优先级。先询的顺序先后来确定中断源的优先级。先查询的优先级就高,后查询的优先级就低。查询的优先级就高,后查询的优先级就低。只要改变查询的顺序,就可以改变中断源只要改变查询的顺序,就可以改变中断源的优先级。的优先级。v硬件排队法:用硬件判优逻辑电路来确定硬件排队法:用硬件判优逻辑电路来确定申请中断中的最高优先级,系统中各中断申请中断中的最高优先级,系统中各中断源的优先级是由它们在判优电路中的位置源的优先级是由它们在判优电路中的位置确定的。分为
5、一般硬件法和专用硬件法确定的。分为一般硬件法和专用硬件法(8259A8259A)中断控制器二、中断排队二、中断排队- -菊花链法菊花链法中断控制器二、中断排队二、中断排队- -菊花链法菊花链法中断控制器二、中断排队二、中断排队- -专用硬件法专用硬件法中断控制器二、中断排队二、中断排队v三种方法比较:三种方法比较: 软件查询方式:电路简单。缺点:由外设发软件查询方式:电路简单。缺点:由外设发软件查询方式:电路简单。缺点:由外设发软件查询方式:电路简单。缺点:由外设发出中断请求到出中断请求到出中断请求到出中断请求到CPUCPU转入相应的服务程序入口转入相应的服务程序入口转入相应的服务程序入口转入
6、相应的服务程序入口的时间较长,特别是中断源比较多时。的时间较长,特别是中断源比较多时。的时间较长,特别是中断源比较多时。的时间较长,特别是中断源比较多时。 菊花链法:中断优先级不可调。菊花链法:中断优先级不可调。菊花链法:中断优先级不可调。菊花链法:中断优先级不可调。 专用硬件方式:成本高。专用硬件方式:成本高。专用硬件方式:成本高。专用硬件方式:成本高。BACKBACK中断控制器三、中断响应三、中断响应v中断响应的条件:中断响应的条件: 1. 1. 外部设备有中断请求外部设备有中断请求 2. CPU 2. CPU自身允许中断自身允许中断 3. 3. 没有更高级的中断正在被服务没有更高级的中断
7、正在被服务 4. CPU 4. CPU在每条指令结束后响应中断在每条指令结束后响应中断中断控制器三、中断响应三、中断响应v在中断响应周期,硬件自动完成一些必要在中断响应周期,硬件自动完成一些必要的操作:的操作: 1 1、关中断、关中断 2 2、保护断点、保护断点 3 3、将中断服务程序的入口地址送入、将中断服务程序的入口地址送入CSCS,IPIP,从而实现转入相应的中断服务程序。,从而实现转入相应的中断服务程序。BACKBACK中断控制器四、中断服务四、中断服务v保护现场(部分寄存器的内容)保护现场(部分寄存器的内容)v执行中断服务程序执行中断服务程序v恢复现场恢复现场BACKBACK中断控制
8、器8086/80888086/8088的中断系统的中断系统v80888088可以处理可以处理256256种不同类型的中断,类种不同类型的中断,类型号为型号为0-2550-255v80888088的中断分为内部中断和外部中断两类的中断分为内部中断和外部中断两类v外部中断:由外部中断:由CPUCPU外部引起,需要外设产外部引起,需要外设产生一个信号来通知生一个信号来通知CPUCPU,包括非屏蔽中断,包括非屏蔽中断和可屏蔽中断。和可屏蔽中断。v内部中断:由内部中断:由CPUCPU状态的改变或执行中断状态的改变或执行中断指令而产生的中断,它不受指令而产生的中断,它不受IFIF控制。控制。v内部中断:除
9、法错中断、单步中断、溢出内部中断:除法错中断、单步中断、溢出中断、软件中断中断、软件中断中断控制器第第7 7章章 目录目录v7.1 7.1 8259A8259A引脚功能及编程结构引脚功能及编程结构v7.2 7.2 8259A8259A工作方式工作方式v7.3 7.3 8259A8259A初始化命令字及初始化编程初始化命令字及初始化编程v7.4 8259A7.4 8259A操作命令字操作命令字v7.5 8259A7.5 8259A使用举例使用举例中断控制器7.1 8259A7.1 8259A的引脚信号、编程结构和工作原理的引脚信号、编程结构和工作原理8259A的的工作特点工作特点: 能管理能管理
10、8级中断级中断,可嵌套:,可嵌套:9片;具有片;具有8级优先级优先权控制,通过芯片级联可扩展到权控制,通过芯片级联可扩展到64级。级。每一级中断均可通过编程屏蔽或允许。每一级中断均可通过编程屏蔽或允许。有多种工作方式,可通过编程选择。有多种工作方式,可通过编程选择。 可以与可以与CPU直接连接,不需外加硬件电路。直接连接,不需外加硬件电路。 中断控制器7.1 8259A7.1 8259A的引脚信号、编程结构和工作原理的引脚信号、编程结构和工作原理v7.1.1 7.1.1 8259A8259A的外部信号和含义的外部信号和含义v7.1.2 8259A7.1.2 8259A的编程结构和工作原理的编程
11、结构和工作原理中断控制器7.1.1 8259A7.1.1 8259A的外部信号和含义的外部信号和含义中断控制器7.1.1 8259A7.1.1 8259A的外部信号和含义的外部信号和含义vCS#:片选信号。低电平有效。片选信号。低电平有效。 v D7D0:数据线。:数据线。v INT :中断请求信号。:中断请求信号。v INTA#:中断响应信号中断响应信号。v RD#:读出信号读出信号。vWR#:写入信号写入信号。中断控制器7.1.1 8259A7.1.1 8259A的外部信号和含义的外部信号和含义v vIR7IR0 :I/O:I/O设备的中断请求信号。设备的中断请求信号。v CAS2CAS0
12、:从片选择信号。从片选择信号。v SP/EN:主从和从片的选择和驱动信号:主从和从片的选择和驱动信号中断控制器BACK中断控制器7.1.2 8259A7.1.2 8259A的编程结构和工作原理的编程结构和工作原理中断控制器v中断请求寄存器中断请求寄存器(IRR):(IRR):寄存所有寄存所有IRIR输入的中输入的中断请求信号,即保存正在请求服务的中断源。断请求信号,即保存正在请求服务的中断源。v中断服务寄存器中断服务寄存器(ISR)(ISR):保存当前被:保存当前被CPUCPU服务服务的中断级,即记录正在被处理的中断请求。的中断级,即记录正在被处理的中断请求。v中断屏蔽寄存器中断屏蔽寄存器(I
13、MR): (IMR): 对各中断源的中断对各中断源的中断请求信号(实现开关控制)请求信号(实现开关控制)7.1.2 8259A7.1.2 8259A的编程结构和工作原理的编程结构和工作原理中断控制器v8259A8259A会接收来自会接收来自CPUCPU的两个负脉冲的两个负脉冲INTRINTR。v第一个负脉冲:使第一个负脉冲:使IRRIRR的锁存功能失效;的锁存功能失效; 使使ISRISR的相应位置的相应位置“1”“1”; 使使IRRIRR的相应位清的相应位清“0”“0”。v第二个负脉冲:将中断类型码第二个负脉冲:将中断类型码(ICW2)(ICW2)送送DBDB; 如果为中断自动结束方式如果为中
14、断自动结束方式 (ICW4) (ICW4),即将当前,即将当前ISRISR的相应的相应 位清位清“0”“0”。7.1.2 8259A7.1.2 8259A的编程结构和工作原理的编程结构和工作原理BACK中断控制器v设置优先级的方式设置优先级的方式v屏蔽中断源的方式屏蔽中断源的方式v结束中断处理的方式结束中断处理的方式v连接系统总线的方式连接系统总线的方式v引入中断请求的方式引入中断请求的方式7.2 8259A7.2 8259A的工作方式的工作方式中断控制器v全嵌套方式全嵌套方式v特殊全嵌套方式特殊全嵌套方式v优先级自动循环方式优先级自动循环方式v优先级特殊循环方式优先级特殊循环方式7.2 82
15、59A7.2 8259A的工作方式的工作方式- -设置优先级方式设置优先级方式设置优先级方式设置优先级方式BACK中断控制器v8259A8259A初始化工作完成后,若求设定其它工初始化工作完成后,若求设定其它工作方式,就自动进入全嵌套方式。作方式,就自动进入全嵌套方式。v该工作方式由该工作方式由ICW4ICW4的的D4=0D4=0来确定。来确定。7.2 8259A7.2 8259A设置优先级方式设置优先级方式- - - -全嵌套方式全嵌套方式全嵌套方式全嵌套方式中断控制器v全嵌套方式特点:全嵌套方式特点: 1. 1.中断请求的优先级固定。中断请求的优先级固定。 2.ISR 2.ISR保存优先级
16、状态,直到保存优先级状态,直到CPUCPU发出中断发出中断结束命令为止。结束命令为止。 3. 3.在在ISRISR置位期间,不在响应同级及较低置位期间,不在响应同级及较低级的中断请求。级的中断请求。 4.IR7-IR0 4.IR7-IR0受受IMRIMR的的D7-D0D7-D0位的屏蔽与允许。位的屏蔽与允许。7.2 8259A7.2 8259A设置优先级方式设置优先级方式- - - -全嵌套方式全嵌套方式全嵌套方式全嵌套方式BACK中断控制器v特殊全嵌套方式特点:特殊全嵌套方式特点: 1. 1.和全嵌套方式基本相同,只有一点差别:和全嵌套方式基本相同,只有一点差别:就是在特殊全嵌套方式下,当处
17、理某级中就是在特殊全嵌套方式下,当处理某级中断时,如果有断时,如果有同级的中断请求同级的中断请求时,也会给时,也会给予响应。予响应。 2.2.特殊全嵌套方式一般用于特殊全嵌套方式一般用于8259A8259A级联的级联的系统中。系统中。7.2 8259A7.2 8259A设置优先级方式设置优先级方式- - - -特殊全嵌套方式特殊全嵌套方式特殊全嵌套方式特殊全嵌套方式BACK中断控制器v优先级自动循环方式特点:优先级自动循环方式特点: 1. 1.各设备的优先级相同,当某一设备受到服各设备的优先级相同,当某一设备受到服务后,它的优先级自动排到最后。务后,它的优先级自动排到最后。 2. 2.初始优先
18、级为:初始优先级为: IR IR0 0 IRIR1 1 IRIR2 2 IRIR3 3 IRIR4 4 IRIR5 5 IRIR6 6 IRIR7 7- - 3. 3.有一个最低优先级指针,哪一设备刚被服有一个最低优先级指针,哪一设备刚被服务后,就被赋予最低优先级。务后,就被赋予最低优先级。 4. 4.自动循环优先级由自动循环优先级由OCW2OCW2的的R=1R=1,SL=0SL=0确定。确定。7.2 8259A7.2 8259A设置优先级方式设置优先级方式- - - -优先级自动循环方式优先级自动循环方式优先级自动循环方式优先级自动循环方式BACK中断控制器v优先级特殊循环方式特点:优先级特
19、殊循环方式特点: 1. 1.各设备的优先级相同,当某一设备受到服各设备的优先级相同,当某一设备受到服务后,它的优先级自动排到最后。务后,它的优先级自动排到最后。 2. 2.不同之处:在特殊循环优先权方式中,是不同之处:在特殊循环优先权方式中,是通过编程来确定某一设备为最低优先权通过编程来确定某一设备为最低优先权。 3. 3.自动循环优先级由自动循环优先级由OCW2OCW2的的R=1R=1,SL=1SL=1确定。确定。 而而L L2 2L L1 1L L0 0用于指定最低优先级的二进制编码。用于指定最低优先级的二进制编码。7.2 8259A7.2 8259A设置优先级方式设置优先级方式- - -
20、 -优先级特殊循环方式优先级特殊循环方式优先级特殊循环方式优先级特殊循环方式BACK中断控制器v每个中断请求输入信号可由每个中断请求输入信号可由IMRIMR的相应位的相应位进行屏蔽,进行屏蔽,IMRIMR的的D D0 0位对应位对应IRIR0 0.。vIMRIMR相应位为相应位为“1”“1”则屏蔽,为则屏蔽,为“0”“0”则允则允许。许。vIMRIMR由由OCWOCW1 1进行设置。进行设置。v屏蔽方式有两种:普通屏蔽方式屏蔽方式有两种:普通屏蔽方式 特殊屏蔽方式特殊屏蔽方式7.2 8259A7.2 8259A的工作方式的工作方式- -屏蔽中断源方式屏蔽中断源方式屏蔽中断源方式屏蔽中断源方式B
21、ACK中断控制器v普通屏蔽方式普通屏蔽方式v特殊屏蔽方式特殊屏蔽方式7.2 8259A7.2 8259A的工作方式的工作方式- -屏蔽中断源方式屏蔽中断源方式屏蔽中断源方式屏蔽中断源方式BACK中断控制器7.27.2屏蔽中断源的方式屏蔽中断源的方式- -普通屏蔽方式普通屏蔽方式普通屏蔽方式普通屏蔽方式v每一个屏蔽位对应一个中断请求输入信号。每一个屏蔽位对应一个中断请求输入信号。v屏蔽某一个中断请求输入信号对其他请求屏蔽某一个中断请求输入信号对其他请求没有影响。没有影响。v未被屏蔽的中断请求输入信号按设定的优未被屏蔽的中断请求输入信号按设定的优先级顺序工作,同级和低级的中断请求被先级顺序工作,同
22、级和低级的中断请求被禁止,如果禁止,如果CPUCPU允许中断,可实现中断嵌允许中断,可实现中断嵌套。套。BACK中断控制器7.27.2屏蔽中断源的方式屏蔽中断源的方式- -特殊屏蔽方式特殊屏蔽方式特殊屏蔽方式特殊屏蔽方式v设置特定屏蔽方式后,设置特定屏蔽方式后,IMRIMR中为中为“1”“1”的位的位仍然屏蔽相应的中断请求输入信号,但所仍然屏蔽相应的中断请求输入信号,但所有有未被屏蔽的位被全部开放未被屏蔽的位被全部开放,都可以申请,都可以申请中断。中断。v特定屏蔽方式由特定屏蔽方式由OCWOCW3 3的的ESMMESMM和和SMMSMM确定,设确定,设定是定是ESMM=1ESMM=1,SMM=
23、1SMM=1,复位时,复位时ESMM=1ESMM=1,SMM=0SMM=0BACK中断控制器v中断结束方式是指中断如何结束的方法。中断结束方式是指中断如何结束的方法。v这里的这里的“结束结束”不是指中断服务程序的结束不是指中断服务程序的结束( (中断服务程序的结束用中断服务程序的结束用IRETIRET指令可完成指令可完成) ),这里的这里的“结束结束”是指如何和何时使是指如何和何时使8259A8259A的的ISRISR中的相应位清中的相应位清“0”“0”。v8259A8259A的中断结束方式有三种。的中断结束方式有三种。7.2 8259A7.2 8259A的工作方式的工作方式- -结束中断处理
24、方式结束中断处理方式结束中断处理方式结束中断处理方式BACK中断控制器v中断自动结束方式中断自动结束方式v一般的中断结束方式一般的中断结束方式v特殊的中断结束方式特殊的中断结束方式7.2 8259A7.2 8259A的工作方式的工作方式- -结束中断处理方式结束中断处理方式结束中断处理方式结束中断处理方式BACK命令中断结束方式命令中断结束方式中断控制器v8259A8259A自动地在最后一个中断响应脉冲后,自动地在最后一个中断响应脉冲后,将将ISRISR相应位清相应位清“0”“0”。v过程:中断请求,过程:中断请求,CPUCPU响应,发第一个负响应,发第一个负脉冲,脉冲,ISRISR相应位置相
25、应位置“1”“1”,CPUCPU发第二个,发第二个,8259A8259A提供中断类型码,提供中断类型码,ISRISR相应位清相应位清“0”“0”。ISRISR的相应置的相应置“1”“1”位在位在CPUCPU中断响中断响应周期内自生自灭。应周期内自生自灭。ISRISR中不会有两个或中不会有两个或两个以上的置两个以上的置“1”“1”位。位。7.2 7.2 结束中断处理方式结束中断处理方式- - - -中断自动结束方式中断自动结束方式中断自动结束方式中断自动结束方式中断控制器v应用场合:单片系统,或不需嵌套的多级应用场合:单片系统,或不需嵌套的多级中断系统。中断系统。AEOIAEOI只能用于主片只能
26、用于主片8259A8259A,不,不能用于从片能用于从片8259A8259A。v由由ICW4ICW4的的AEOI=1AEOI=1确定。确定。7.2 7.2 结束中断处理方式结束中断处理方式- - - -中断自动结束方式中断自动结束方式中断自动结束方式中断自动结束方式BACK中断控制器v在中断服务程序返回之前,向在中断服务程序返回之前,向8259A8259A发中发中断结束命令(断结束命令(EOIEOI),使),使ISRISR中的相应位清中的相应位清“0”“0”。v一般中断结束方式用在全嵌套方式下。一般中断结束方式用在全嵌套方式下。v该命令能自动地把当前该命令能自动地把当前ISRISR中的最高优先
27、中的最高优先级的那一位清级的那一位清“0”“0”。7.2 7.2 结束中断处理方式结束中断处理方式- - - -一般的中断结束方式一般的中断结束方式一般的中断结束方式一般的中断结束方式BACK中断控制器v在中断服务程序返回之前,向在中断服务程序返回之前,向8259A8259A发中发中断结束命令(断结束命令(EOIEOI),使),使ISRISR中的相应位清中的相应位清“0”“0”。v工作在非全嵌套方式下。由于无法确定最工作在非全嵌套方式下。由于无法确定最后响应的是哪一级中断。的以应向后响应的是哪一级中断。的以应向8259A8259A发出特殊的发出特殊的EOIEOI命令,即指定哪一级中断命令,即指
28、定哪一级中断返回,使其返回,使其ISRISR中的相应位清中的相应位清“0”“0”。7.2 7.2 结束中断处理方式结束中断处理方式- - - -特殊的中断结束方式特殊的中断结束方式特殊的中断结束方式特殊的中断结束方式BACK中断控制器v缓冲方式缓冲方式v非缓冲方式非缓冲方式7.2 8259A7.2 8259A的工作方式的工作方式- -连接系统总线的方式连接系统总线的方式连接系统总线的方式连接系统总线的方式BACK中断控制器7.2 7.2 连接系统总线的方式连接系统总线的方式- -缓冲方式缓冲方式缓冲方式缓冲方式v即在即在8259A8259A与与DBDB之间挂接总线驱动器的方式。之间挂接总线驱动
29、器的方式。v在缓冲方式下,引脚(在缓冲方式下,引脚(SP/ENSP/EN)将输出一个有)将输出一个有效低电平,开启缓冲器工作。效低电平,开启缓冲器工作。v该方式多用于级联的大系统。该方式多用于级联的大系统。v缓冲方式由缓冲方式由ICW4ICW4的的BUF=1BUF=1确定。确定。BACK中断控制器7.2 7.2 连接系统总线的方式连接系统总线的方式- -非缓冲方式非缓冲方式非缓冲方式非缓冲方式v是相对于缓冲方式而言。是相对于缓冲方式而言。v当系统只有单片当系统只有单片8259A8259A或是在级联方式下,或是在级联方式下,但片数很少时,可以将它直接与但片数很少时,可以将它直接与DBDB相连。相
30、连。vSP/ENSP/EN做为输入端。做为输入端。v由由ICW4ICW4的的BUF=0BUF=0设置设置BACK中断控制器v8259A8259A的中断请求寄存器的中断请求寄存器IRRIRR中有中有8 8个中断个中断请求触发器,分别对应请求触发器,分别对应8 8个中断请求信号个中断请求信号的输入端的输入端IR0-IR7IR0-IR7。这些触发器的触发方。这些触发器的触发方式有两种:即边沿触发和电平触发。式有两种:即边沿触发和电平触发。7.2 8259A7.2 8259A的工作方式的工作方式- -引入中断请求的的方式引入中断请求的的方式引入中断请求的的方式引入中断请求的的方式BACK中断控制器7.
31、2 8259A7.2 8259A的工作方式的工作方式- -引入中断请求的的方式引入中断请求的的方式引入中断请求的的方式引入中断请求的的方式v边沿触发方式边沿触发方式v电平触发方式电平触发方式 v中断查询方式中断查询方式BACK中断控制器7.2 7.2 引入中断请求的方式引入中断请求的方式- -边沿触发边沿触发v当输入端有从低电平到高电平的正跳变时,当输入端有从低电平到高电平的正跳变时,则产生中断请求。则产生中断请求。vIRRIRR中相应位的触发器被触发置中相应位的触发器被触发置“1”“1”,而,而不是直接向不是直接向CPUCPU申请中断。申请中断。v此后,即使输入端仍然保持高电平也不会此后,即
32、使输入端仍然保持高电平也不会再产生中断。再产生中断。中断控制器7.2 7.2 引入中断请求的方式引入中断请求的方式- -边沿触发边沿触发BACK中断控制器v当输入端产生高电平时产生中断请求。当输入端产生高电平时产生中断请求。v高电平一直保持到中断输入端出现一个中高电平一直保持到中断输入端出现一个中断请求并得到响应之前。断请求并得到响应之前。v但需要注意的是,在电平触发方式下,在但需要注意的是,在电平触发方式下,在发出发出EOIEOI命令以前,或命令以前,或CPUCPU开放中断以前,开放中断以前,必须去掉中断请求信号(使其变为低电平)必须去掉中断请求信号(使其变为低电平),否则将产生第二次中断。
33、,否则将产生第二次中断。7.2 7.2 引入中断请求的方式引入中断请求的方式- -电平触发电平触发中断控制器7.2 7.2 引入中断请求的方式引入中断请求的方式- -电平触发电平触发BACK中断控制器v不使用中断,用软件寻找中断源。不使用中断,用软件寻找中断源。v在这种方式下,在这种方式下,8259A8259A不向不向CPUCPU发中断请求发中断请求INTINT信号,或信号,或CPUCPU禁止中断输入。禁止中断输入。v申请中断的优先级不是由申请中断的优先级不是由8259A8259A提供的中提供的中断类型码,而是由断类型码,而是由CPUCPU发查询命令得到的。发查询命令得到的。7.2 7.2 引
34、入中断请求的方式引入中断请求的方式- -中断查询方式中断查询方式中断查询方式中断查询方式中断控制器7.2 7.2 引入中断请求的方式引入中断请求的方式- -中断查询方式中断查询方式中断查询方式中断查询方式vv查询过程:查询过程:查询过程:查询过程: CPU CPU CPU CPU向向向向8259A8259A8259A8259A发查询命令。发查询命令。发查询命令。发查询命令。8259A8259A8259A8259A接到查询命令后,就把下一条接到查询命令后,就把下一条接到查询命令后,就把下一条接到查询命令后,就把下一条ININININ指令产生的读指令产生的读指令产生的读指令产生的读脉冲作为中断应答
35、信号。此时,如果有中断请求信脉冲作为中断应答信号。此时,如果有中断请求信脉冲作为中断应答信号。此时,如果有中断请求信脉冲作为中断应答信号。此时,如果有中断请求信号,则在号,则在号,则在号,则在ISRISRISRISR中相应位置中相应位置中相应位置中相应位置“1”“1”“1”“1”,并把该优先级送,并把该优先级送,并把该优先级送,并把该优先级送DBDBDBDB。8259A8259A8259A8259A提供提供提供提供CPUCPUCPUCPU读取查询的代码格式为:读取查询的代码格式为:读取查询的代码格式为:读取查询的代码格式为:I I0 00 00 00 0WW2 2WW1 1WW0 0BACK中
36、断控制器7.2 8259A7.2 8259A级联的方式级联的方式v级联方式的要点。级联方式的要点。1.1.一个一个8259A8259A至多带至多带8 8个从片,可扩展到个从片,可扩展到6464级。级。2.2.缓冲方式下,主片和从片的设定由缓冲方式下,主片和从片的设定由ICW4ICW4的的M/SM/S位确定的。位确定的。M/S=1M/S=1是主片,是主片,M/S=0M/S=0是从是从片。片。M/SM/S的状态在的状态在BUF=1BUF=1时才有意义。时才有意义。3.3.在非缓冲方式下,主片和从片由在非缓冲方式下,主片和从片由SP/ENSP/EN引引脚确定,脚确定,SP/EN=1SP/EN=1主片
37、,主片,SP/EN=0SP/EN=0从片。从片。4.4.主片和从片需要分别初始化,可设定为不主片和从片需要分别初始化,可设定为不同的工作方式。同的工作方式。中断控制器7.2 8259A7.2 8259A级联的方式级联的方式v级联系统中,每个从片的中断请求输出线级联系统中,每个从片的中断请求输出线INTINT直接连到主片的某个中断请求输入线直接连到主片的某个中断请求输入线上。上。v主片的主片的CASCAS0 0-CAS-CAS2 2是输出线,从片的是输出线,从片的CASCAS0 0- -CASCAS2 2是是输入线,接收主片发出的从片代是是输入线,接收主片发出的从片代码,以便与自身代码相比较。码
38、,以便与自身代码相比较。中断控制器BACK中断控制器v8259A8259A内部有内部有7 7个寄存器,分为两组:初始化个寄存器,分为两组:初始化寄存器组和操作寄存器组。寄存器组和操作寄存器组。v初始化寄存器组包括初始化寄存器组包括4 4个寄存器:个寄存器:ICWICW1 1-ICW-ICW4 4v操作寄存器组包括操作寄存器组包括3 3个寄存器:个寄存器:OCWOCW1 1-OCW-OCW3 37.3.1 8259A7.3.1 8259A的初始化流程的初始化流程中断控制器v8259A8259A的命令控制字包括两个部分的命令控制字包括两个部分: :初始化初始化命令字和操作命令字命令字和操作命令字.
39、 .v初始化命令字初始化命令字: :一般在系统复位后的初始一般在系统复位后的初始化编程中设置化编程中设置, ,于确定于确定8259A8259A的基本工作方的基本工作方式式, ,设置以后一般保持不变设置以后一般保持不变. .v操作命令字操作命令字: :是在初始化以后的正常工作是在初始化以后的正常工作中写入的中写入的, ,它实现对它实现对8259A8259A的状态的状态, ,中断方中断方式和过程的动态控制式和过程的动态控制, ,在工作中可随时修在工作中可随时修改改. .7.3.1 8259A7.3.1 8259A的初始化流程的初始化流程中断控制器v8259A8259A只有一条地址线只有一条地址线A
40、0A0,所以系统只提供两,所以系统只提供两个端口地址,一个奇地址,一个偶地址。个端口地址,一个奇地址,一个偶地址。v采取措施:采取措施: 第一、以端口地址来区分第一、以端口地址来区分第一、以端口地址来区分第一、以端口地址来区分 第二、把命令字中的某些位作为特征码来区分第二、把命令字中的某些位作为特征码来区分第二、把命令字中的某些位作为特征码来区分第二、把命令字中的某些位作为特征码来区分 第三、以命令字的写入顺序来区分。第三、以命令字的写入顺序来区分。第三、以命令字的写入顺序来区分。第三、以命令字的写入顺序来区分。v在在PC/XTPC/XT中,中,8259A8259A的两个端口地址分别为的两个端
41、口地址分别为20H20H和和21H21H 7.3.1 8259A7.3.1 8259A的初始化流程的初始化流程中断控制器7.3 8259A7.3 8259A的初始化命令字和初始化流程的初始化命令字和初始化流程v全嵌套方式,特殊全嵌套方式,中断请求全嵌套方式,特殊全嵌套方式,中断请求触发方式,缓冲方式,级联方式,自动中触发方式,缓冲方式,级联方式,自动中断结束方式等是由初始化命令字断结束方式等是由初始化命令字ICWICW来设来设定。定。v优先级循环方式,特定屏蔽方式,查询方优先级循环方式,特定屏蔽方式,查询方式,命令中断结束方式,读式,命令中断结束方式,读8259A8259A状态等状态等是由操作
42、命令字是由操作命令字OCWOCW来设定。来设定。中断控制器7.3.1 8259A7.3.1 8259A的初始化流程的初始化流程 系系系系统统统统上上上上电电电电或或或或复复复复位位位位后后后后,第第第第一一一一件件件件要做的工作就是初始化要做的工作就是初始化要做的工作就是初始化要做的工作就是初始化ICW1ICW1ICW1ICW1写写写写入入入入偶偶偶偶端端端端口口口口,ICW2ICW2ICW2ICW2ICW4ICW4ICW4ICW4写入奇端口写入奇端口写入奇端口写入奇端口 ICW1ICW1ICW1ICW1ICW4ICW4ICW4ICW4的设置次序固定的设置次序固定的设置次序固定的设置次序固定
43、ICW1ICW1ICW1ICW1和和和和 ICW2ICW2ICW2ICW2必必必必 须须须须 设设设设 置置置置 , ICW3ICW3ICW3ICW3和和和和ICW4ICW4ICW4ICW4非非非非必须必须必须必须 在在在在级级级级联联联联时时时时,主主主主片片片片和和和和从从从从片片片片各各各各设设设设置置置置ICW3ICW3中断控制器7.3.2 8259A7.3.2 8259A初始化命令字初始化命令字-ICW1-ICW1vvICW1ICW1ICW1ICW1:芯片控制初始化命令字。:芯片控制初始化命令字。:芯片控制初始化命令字。:芯片控制初始化命令字。确定级联方式与触发方式确定级联方式与触发
44、方式确定级联方式与触发方式确定级联方式与触发方式. . . .vv格式及含义:格式及含义:格式及含义:格式及含义:vvD7-D5D7-D5D7-D5D7-D5:不使用。:不使用。:不使用。:不使用。vvD4D4D4D4:标识位:标识位:标识位:标识位vvLTIMLTIMLTIMLTIM:中断请求信号的形式:中断请求信号的形式:中断请求信号的形式:中断请求信号的形式 1 1 1 1:边沿触发:边沿触发:边沿触发:边沿触发 0 0 0 0:电平触发:电平触发:电平触发:电平触发vvADIADIADIADI:不起作用。:不起作用。:不起作用。:不起作用。vvSNGLSNGLSNGLSNGL:是否级联
45、。:是否级联。:是否级联。:是否级联。 1 1 1 1:只有一片:只有一片:只有一片:只有一片 0 0 0 0:多片:多片:多片:多片vvIC4IC4IC4IC4:是否设置:是否设置:是否设置:是否设置ICW4ICW4ICW4ICW4。vvICW1ICW1ICW1ICW1写入偶地址。写入偶地址。写入偶地址。写入偶地址。中断控制器7.3.2 8259A7.3.2 8259A初始化命令字初始化命令字-ICW1-ICW1v写入写入ICW1ICW1后后,8259A,8259A内部自动复位内部自动复位, ,其复位功其复位功能为能为: :1.1.初始化命令字顺序逻辑重新置位初始化命令字顺序逻辑重新置位,
46、,准备接收准备接收ICW2-ICW4ICW2-ICW42.2.清除清除IMRIMR和和ISRISR3.3.IRRIRR状态可读状态可读4.4.优先级排队优先级排队,IR0,IR0最高最高5.5.特殊屏蔽方式复位特殊屏蔽方式复位6.6.设定为边沿触发有效设定为边沿触发有效7.7.自动自动EOIEOI循环方式复位循环方式复位中断控制器vvICW2ICW2ICW2ICW2写入奇地址。写入奇地址。写入奇地址。写入奇地址。vv是设置中断类型码的初始是设置中断类型码的初始是设置中断类型码的初始是设置中断类型码的初始化命令字。化命令字。化命令字。化命令字。vvICW2ICW2高高高高5 5位影响中断类型位影
47、响中断类型位影响中断类型位影响中断类型码,而中断类型码的低码,而中断类型码的低码,而中断类型码的低码,而中断类型码的低3 3位由位由位由位由IR0IR0IR7IR7决定决定决定决定中断控制器7.3.2 8259A7.3.2 8259A初始化命令字初始化命令字-ICW2-ICW2中断控制器7.3.2 8259A7.3.2 8259A初始化命令字初始化命令字-ICW3-ICW3vvICW3ICW3ICW3ICW3:标志主片和从片的:标志主片和从片的:标志主片和从片的:标志主片和从片的初始化命令字。初始化命令字。初始化命令字。初始化命令字。vvICW3ICW3ICW3ICW3写入偶地址。写入偶地址。
48、写入偶地址。写入偶地址。vv由由由由ICW1ICW1ICW1ICW1的的的的SNGLSNGLSNGLSNGL位位位位=0=0=0=0时,时,时,时,ICW3ICW3ICW3ICW3才需要设置。才需要设置。才需要设置。才需要设置。主片主片主片主片ICW3ICW3从片从片从片从片ICW3ICW3中断控制器7.3.2 8259A7.3.2 8259A初始化命令字初始化命令字-ICW4-ICW4vvICW4ICW4ICW4ICW4:方式控制初始化命令字。:方式控制初始化命令字。:方式控制初始化命令字。:方式控制初始化命令字。vv格式及含义:格式及含义:格式及含义:格式及含义:vvD7-D5D7-D5D
49、7-D5D7-D5:标识码。:标识码。:标识码。:标识码。vvSFNMSFNMSFNMSFNM:1 1 1 1:特殊全嵌套方式。:特殊全嵌套方式。:特殊全嵌套方式。:特殊全嵌套方式。vvBUFBUFBUFBUF:是否缓冲方式。:是否缓冲方式。:是否缓冲方式。:是否缓冲方式。 1 1 1 1:缓冲方式:缓冲方式:缓冲方式:缓冲方式 0 0 0 0:非缓冲方式:非缓冲方式:非缓冲方式:非缓冲方式vvM/SM/SM/SM/S:主片还是从片。:主片还是从片。:主片还是从片。:主片还是从片。vv 1 1 1 1:主片:主片:主片:主片 O O O O:从片:从片:从片:从片vvAEOIAEOIAEOIA
50、EOI:是否自动结束方式。:是否自动结束方式。:是否自动结束方式。:是否自动结束方式。vvUPMUPMUPMUPM:为:为:为:为1 1 1 1表示当前表示当前表示当前表示当前8259A8259A8259A8259A所在系所在系所在系所在系统为非统为非统为非统为非8 8 8 8位系统。位系统。位系统。位系统。BACKBACK中断控制器7.3 7.3 初始化程序举例初始化程序举例v8259A8259A端口地址为端口地址为80H80H,81H81HvMOV ALMOV AL,13H13HvOUT 80HOUT 80H,ALALvMOV ALMOV AL,18H18HvOUT 81HOUT 81H,
51、ALALvMOV AL MOV AL ,0DH0DHvOUT 81HOUT 81H,AL AL 中断控制器7.4 8259A7.4 8259A操作命令字操作命令字v在初始化命令字写在初始化命令字写8259A8259A后,后,8259A8259A就准备就准备接收中断请求输入信号了。接收中断请求输入信号了。v在在8259A8259A工作期间,工作期间,CPUCPU可以随时通过操作可以随时通过操作命令字使命令字使8259A8259A完成各种不同的工作方式。完成各种不同的工作方式。v8259A8259A有三种操作命令字:有三种操作命令字:OCW1 OCW2 OCW1 OCW2 OCW3OCW3v在写入
52、时,它们与初始化命令字不同,它在写入时,它们与初始化命令字不同,它们不是按一定顺序写入,而是按设计者的们不是按一定顺序写入,而是按设计者的要求写入。要求写入。中断控制器7.4 8259A7.4 8259A操作命令字操作命令字-OCW1-OCW1中断控制器7.4 8259A7.4 8259A操作命令字操作命令字-OCW2-OCW2(1)设置优先级循环方式)设置优先级循环方式(2)组成两类中断结束命令:)组成两类中断结束命令:一般的中断结束命令一般的中断结束命令一般的中断结束命令一般的中断结束命令特殊的中断结束命令特殊的中断结束命令特殊的中断结束命令特殊的中断结束命令中断控制器7.4 8259A7.4 8259A操作命令字操作命令字-OCW3-OCW3功能:功能:(1)设置和撤销特殊屏蔽方式)设置和撤销特殊屏蔽方式(2)设置中断查询方式)设置中断查询方式(3)设置对内部寄存器的读出命令)设置对内部寄存器的读出命令 中断控制器7.5 7.5 中断嵌套举例中断嵌套举例中断控制器7.5 7.5 如何使用中断结束命令举例如何使用中断结束命令举例中断控制器