《《微机原理与应用教学资料》第七章中断.ppt》由会员分享,可在线阅读,更多相关《《微机原理与应用教学资料》第七章中断.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 1第七章:中断操作和中断系统第七章:中断操作和中断系统7-1 7-1 概述概述概述概述7-27-2中断处理过程中断处理过程中断处理过程中断处理过程7-3 7-3 中断优先级和中断嵌套中断优先级和中断嵌套中断优先级和中断嵌套中断优先级和中断嵌套7-4 7-4 可编程中断控制器可编程中断控制器可编程中断控制器可编程中断控制器8259A8259A电气学院学习部资料库电气学院学习部资料库27-1 概述实时实时操作操作 外外设设 CPU,再再CPU 外外设设例例:外外设设键键盘盘,原原为为空空闲闲状状态态,现现开开始始工工作作,CPU如如何何知知道道键盘键盘何何时时工作呢?工作呢?两种方法两种方法:
2、a.每隔一段每隔一段时间时间采采样样b.中断中断请请求求 显显然,中断然,中断请请求的方法求的方法较较合理合理中中断断定定义义:当当有有外外部部数数据据输输入入或或内内部部异异常常时时,发发送送请请求求给给CPU,CPU暂暂时时停停止止正正在在运运行行的的程程序序,处处理理中中断断结结束束后后,返回返回继续继续运行先前的程序。运行先前的程序。两个最重要的特点两个最重要的特点:可返回性,可返回性,现场现场保保护护(断点保(断点保护护)发送请求发送请求控制信号控制信号电气学院学习部资料库3一一.中断概念中断概念1.中断源中断源 引起程序中断的事件引起程序中断的事件 内部中断内部中断 外部中断外部中
3、断2.中断响应中断响应 对外部中断而言对外部中断而言 INTA对对INTR的响应的响应3.中断向量,中断向量表中断向量,中断向量表 中断源中断源i中断服中断服务务子程序子程序i 中中断断向向量量:中中断断服服务务子子程程序序的的入入口口地地址址(逻逻辑辑地地址址)CS:IP 中中断断类类型型码码:中中断断向向量量的的编编号号。0-255,与与中中断断向向量量是是一一一一对应对应的的 中断向量表中断向量表:内存中开出的一定区域,用来存:内存中开出的一定区域,用来存储储中断向量中断向量4.中断优先级:中断优先级:当同时有多个中断请求,先响应优先级高的当同时有多个中断请求,先响应优先级高的 当一个中
4、断服务程序正在执行时,又一个中断源申请当一个中断服务程序正在执行时,又一个中断源申请中断:高不睬低,停低转高中断:高不睬低,停低转高 中断嵌套中断嵌套5.中断屏蔽中断屏蔽中断源中断源硬件屏蔽硬件屏蔽CPU的的IFCPU电气学院学习部资料库4二二.中断分中断分类类1 1、内部中断(、内部中断(软软件中断)件中断)中断指令中断指令 INT nINT n n-n-中断中断类类型型码码 n=0n=0255255由由CPUCPU的运算的运算错误错误引起的:引起的:a.a.除法除法错错中断:中断:INT 0INT 0(除数(除数为为零或商超零或商超过过范范围围,自,自动产动产生中断)生中断)b.b.溢出中
5、断:溢出中断:INT 4 INT 4 (当(当OF=1OF=1,且在程序中有,且在程序中有INTOINTO指令,指令,产产生中断)生中断)由由调试调试程序程序debugdebug设设置的中断置的中断 a.a.单单步中断:步中断:INT 1 INT 1(当(当TF=1TF=1,每,每执执行完一条指令,行完一条指令,产产生生中断)中断)b.b.断点中断:断点中断:INT 3 INT 3(利用(利用G G命令设置断点,当程序执行到断点,产生中断)命令设置断点,当程序执行到断点,产生中断)电气学院学习部资料库5特点:特点:由指令产生,中断类型码包括在指令中,不需要取中断类由指令产生,中断类型码包括在指
6、令中,不需要取中断类型码型码是可预见性的,是人为预先安排,中断处理子程序与主程是可预见性的,是人为预先安排,中断处理子程序与主程序间有数据的传送。而硬件中断,两者之间则是相互独立。序间有数据的传送。而硬件中断,两者之间则是相互独立。2 2、外部中断(硬件中断)、外部中断(硬件中断)不可屏蔽中断不可屏蔽中断NMINMI a.a.上升沿触上升沿触发发 图图 b.CPU b.CPU必必须须予以响予以响应应,不能用,不能用IFIF屏蔽屏蔽 c.c.INT INT 2 2,中中断断类类型型码码为为2,中中断断向向量量固固定定存存放放于于00000000:0008H0008H 00000000:000BH
7、000BH d.d.用于用于发发生重大故障生重大故障时时申申请请中断中断电气学院学习部资料库6可屏蔽中断可屏蔽中断 INTRINTR a.a.电电平触平触发发 图图 b.b.是否响是否响应应,与,与IFIF有关;有关;对对INTRINTR的响的响应应INTAINTA c.c.中断中断类类型号由硬件型号由硬件连线连线决定决定 d.d.一般事件申一般事件申请请中断中断电气学院学习部资料库77-2 中断处理过程一一.CPU响应中断的过程响应中断的过程P268 流程图流程图CPUCPU自自动动完成的工作完成的工作STEP STEP 1 1STEP STEP 2 2STEP STEP 3 3STEP S
8、TEP 4 4STEP STEP 5 5STEP STEP 6 6STEP STEP 7 7STEP STEP 8 8按优按优先级先级顺序顺序查有查有否申否申请中请中断断 取中取中断类断类型码型码PSWPSW入栈入栈清除清除IF IF(自自动关动关中断中断)、)、TFTFCSCS入栈入栈IPIP入栈入栈中断中断向量向量偏移偏移地址地址装入装入IPIP中断中断向量向量段地段地址装址装入入CSCS电气学院学习部资料库8由流程图可见,由流程图可见,CPU内部规定的优先级别:内部规定的优先级别:内部中断(除法错,溢出,内部中断(除法错,溢出,INT n)NMIINTRTF单步单步中断中断 高高低低内部
9、中断、内部中断、NMINMI中断、中断、单单步中断,均无步中断,均无须须取中断取中断类类型型码码。事事先由系先由系统约统约定好了定好了断点保断点保护护(可返回可返回)由由CPUCPU自自动动完成;完成;现场现场保保护护由由编编程完成程完成 转入中断子程序和调用子程序不同处:多了标志(转入中断子程序和调用子程序不同处:多了标志(PSW)入)入栈栈 CPU自动关中断。若想在中断响应过程中,允许中断嵌套,自动关中断。若想在中断响应过程中,允许中断嵌套,必须在子程序中开中断必须在子程序中开中断(STI)。运行中断子程序中,仍可响应运行中断子程序中,仍可响应NMI注:注:流程图中流程图中CSCS、IPI
10、P为为被中断程序的下一条指令的地址被中断程序的下一条指令的地址电气学院学习部资料库9二.中断向量表中断向量表1.寻寻找中断源方法:找中断源方法:查询查询中断中断 用程序依次用程序依次查询查询,费时费时 例:例:图图7-3 开开头头循循环查询环查询部分部分矢量中断矢量中断 各个各个设备设备的中断服的中断服务务子程序的入口地址集中子程序的入口地址集中在一个表(中断向量表)中,在一个表(中断向量表)中,CPU响响应应中断后,根据中中断后,根据中断源提供的中断断源提供的中断类类型号型号 i,*4在中断向量表在中断向量表查查找找对对应应的中断服的中断服务务子程序子程序 i 的入口地址,装入的入口地址,装
11、入CS、IP,转转而而执执行中断服行中断服务务子程序子程序 i中断向量表位置:内存中中断向量表位置:内存中0段段 00000H00000H003FFH 1K003FFH 1K字字节节 表表7-47-41 1个中断向量必个中断向量必须须用用4 4个存个存储单储单元来存元来存储储(1 1个地址个地址CS CS:IPIP)地址低地址低高高 IP IP:CS CS 如如图图电气学院学习部资料库10 例例1 1:中断中断类类型号型号 中断向量地址中断向量地址 4 10H4 10H13H13H 32H C8H 32H C8HCBHCBH例例2 2:中中断断类类型型号号64D=40H64D=40H,中中断断
12、操操作作过过程:程:中断向量地址中断向量地址64D*4=256D=0100H64D*4=256D=0100H。若若中中断断向向量量中中内内容容如如图图 则则CS CS:IP=1312 IP=1312:11101110转转向中断服向中断服务务程序程序中中断断返返回回到到INT INT 40H40H指指令令的的下下一一条条指令指令IP 低低8IP 高高8CS 低低8CS 高高8n n+1 n+2 n+310H11H12H13H0100H 0101H 0102H 0103H电气学院学习部资料库112.2.中断向量的中断向量的设设置置预预置:置:AL=AL=中断中断类类型号型号 DS DS:DX=DX
13、=中断服中断服务务程序入口地址程序入口地址 AH=25H AH=25H执执行:行:INT21H INT21H 3.3.中断中断类类型型码码的的获获取取除除法法错错、单单步步、NMINMI、断断点点中中断断、溢溢出出:由由CPUCPU自自动动提供,分提供,分别为别为0 04 4软软中中断断指指令令 INT INT n n :nn中中断断类类型型号号,由由指指令令提提供供外外部部中中断断INTR INTR:中中断断类类型型号号由由可可编编程程控控制制器器8259A8259A获获得得电气学院学习部资料库12三三.中断中断处处理子程序理子程序结结构如构如图图开开中中断断:响响应应中中断断时时,CPUC
14、PU已已自自动动关关中中断断,为为允允许许中中断断嵌套,需重开中断嵌套,需重开中断关关中中断断:恢恢复复现现场场时时不不允允许许被中断被中断执行执行IRET指令指令:从堆栈中依次弹出程序断从堆栈中依次弹出程序断点点,送到送到IP和和CS寄存器中寄存器中弹出弹出PSW的内容的内容(恢复(恢复标志、开中断);标志、开中断);按按CS:IP的值使的值使CPU返回返回断点,继续执行原来被中断点,继续执行原来被中断的程序。断的程序。保护中断现场保护中断现场PUSH 开中断开中断 中断处理具体内容中断处理具体内容关中断关中断恢复中断现场恢复中断现场POP中断返回指令中断返回指令IRET电气学院学习部资料库
15、13四四.中断时序(对可屏中断时序(对可屏蔽中断而言)蔽中断而言)INTRINTACPU AD0AD7INTINTA8259D0D7 INTAT1 T2 T3T4T1 T2T3第一个第一个INTA周期周期T4中断类型号中断类型号nD0D7电气学院学习部资料库147-3 中断优先级和中断嵌套一一.可屏蔽中断可屏蔽中断INTRINTR优先级的设定优先级的设定软件查询:在中断处理子程序中安排查询,查询程序软件查询:在中断处理子程序中安排查询,查询程序的次序,决定了优先级的高低的次序,决定了优先级的高低.见后页见后页简单硬件:菊花链法,越靠前的优先级越高。图简单硬件:菊花链法,越靠前的优先级越高。图8
16、-88-8专用硬件:专用硬件:8259A8259A,可编程的,可编程的二二.中断嵌套中断嵌套 图图7-101.同时申请中断时,响应高优先级的,正在执行中断时,同时申请中断时,响应高优先级的,正在执行中断时,高不睬低,停低转高。高不睬低,停低转高。2.中断程序在保护现场后,须开中断,才能实现嵌套。中断程序在保护现场后,须开中断,才能实现嵌套。3.中断服务结束后,须用中断服务结束后,须用EOI指令清除指令清除8259A中中ISR的的对应位,使低级中断申请得以响应,然后紧接着须有对应位,使低级中断申请得以响应,然后紧接着须有IRET,返回断点。,返回断点。电气学院学习部资料库15查询方式查询方式IN
17、TR0INTR1INTR nINTR0CS+INTR CPU D0 D1INTR174LS244INTR0中断程序中断程序输入状态输入状态D0=1?D1=1?INTR1中断程序中断程序电气学院学习部资料库16菊花链电路菊花链电路+INTAINTR中断回答中断回答中断请求中断请求电气学院学习部资料库177-4中断优先级控制器中断优先级控制器8259A8259A特点:特点:1.一片一片8259A可管理可管理8个中断源,通过级个中断源,通过级连,可用连,可用9片组成片组成64级主从式中断管理系级主从式中断管理系统。统。2.可编程,使用灵活可编程,使用灵活3.每一个中断可通过编程单独屏蔽或允许中每一个
18、中断可通过编程单独屏蔽或允许中断断4.可提供中断类型号给可提供中断类型号给CPU电气学院学习部资料库18一、一、8259A引腿信号引腿信号1.CS :片选。通过译码电路与:片选。通过译码电路与CPU高位地址总线相连,高位地址总线相连,即与译码电路的输出端相连即与译码电路的输出端相连2.A0:片内选址。连:片内选址。连CPU低位地址线,选择低位地址线,选择8259A的两个的两个端口端口3.、:连连CPU的的 、。(最小模式)。(最小模式)连连8288总线控制器(最大模式)总线控制器(最大模式)4.D7D0:数据总线:数据总线5.INT:连连CPU的的INTR端,向端,向CPU发出中断请求信号发出
19、中断请求信号6.:连连CPU的的 (最小模式),(最小模式),CPU给给8259A 的中断响应信号,两个负脉冲的中断响应信号,两个负脉冲 响应中断响应中断 读取中断类型号读取中断类型号 连连8288总线控制器(最大模式)总线控制器(最大模式)7.IR7-IR0:连:连外设外设的中断请求信号线,中断级联时,连从的中断请求信号线,中断级联时,连从片片INT端端电气学院学习部资料库198.CAS2CAS0 级联级联 单片单片8259A8259A时,接高电平时,接高电平 SP/EN 二、二、8259A编程结构及工作原理编程结构及工作原理数据总线缓冲器:写入控制字,读出数据总线缓冲器:写入控制字,读出8
20、259A8259A状态,送出中状态,送出中断类型号,接断类型号,接D0-D7 D0-D7 请求请求IRRIRR:锁存外部中断请求信号:锁存外部中断请求信号IR0IR0IR7IR7,有中断请求,有中断请求时,对应位置时,对应位置1 1,中断请求被响应时,对应位复位,中断请求被响应时,对应位复位屏蔽屏蔽IMRIMR:设置是否屏蔽:设置是否屏蔽IRRIRR中相应位的中断请求,置中相应位的中断请求,置1 1则屏蔽则屏蔽优先级判别优先级判别PRPR:管理、识别中断源的优先级别。完全嵌套:管理、识别中断源的优先级别。完全嵌套方式下,方式下,IR0IR0最高最高中断服务寄存器中断服务寄存器ISRISR:存放
21、:存放正在处理中的所有正在处理中的所有中断请求信中断请求信号,中断嵌套时,多位被置号,中断嵌套时,多位被置1 1。为以后的中断优先级裁决。为以后的中断优先级裁决提供依据。提供依据。电气学院学习部资料库20电气学院学习部资料库21控制电路控制全过程:控制电路控制全过程:根据根据IRR的置位情况和的置位情况和IMR的设置情况,通过的设置情况,通过PR判定优先判定优先级,选出需处理的中断请求信号,送入级,选出需处理的中断请求信号,送入ISR向向CPU发送发送INT中断申请中断申请 INTR。接收接收CPU发出的第一个响应发出的第一个响应INTA负脉冲,负脉冲,ISR相应位置相应位置1,IRR相应位清
22、相应位清0第二个负脉冲时,向第二个负脉冲时,向CPU送出中断类型码,使送出中断类型码,使CPU转入中断转入中断程序。程序。三、三、8259A8259A中断管理方式中断管理方式1.优先级设置方式优先级设置方式完全嵌套方式完全嵌套方式 默认默认特点:特点:中断优先级次序固定。中断优先级次序固定。IR0最高,最高,IR7最低最低中断嵌套时,允许优先处理更高级的中断,禁止同级或低级中断嵌套时,允许优先处理更高级的中断,禁止同级或低级中断中断ICW4中,中,SFNM=0;OCW2中,中,R.SL=0 0电气学院学习部资料库22特殊全嵌套工作方式特殊全嵌套工作方式特点:特点:中断优先级次序固定。中断优先级
23、次序固定。IR0最高,最高,IR7最低最低中断嵌套时,允许优先处理更高级或中断嵌套时,允许优先处理更高级或同级同级的中断的中断ICW4中,中,SFNM=1,OCW2中,中,R、SL=0 0专门用于多片专门用于多片8259A级联级联的系统的系统优先级自动循环方式优先级自动循环方式特点:特点:优先级次序可以改变,初始次序为优先级次序可以改变,初始次序为IR0最高,最高,IR7最低,但当任何一级中断被处理完后,它的优先级变为最最低,但当任何一级中断被处理完后,它的优先级变为最低,将最高优先级赋给原先比它低一级的中断请求。低,将最高优先级赋给原先比它低一级的中断请求。例:响应处理完例:响应处理完IR3
24、,则优先级次序为,则优先级次序为IR4、IR5、IR6、IR7、IR0、IR1、IR2、IR3OCW2中,中,R、SL=1 0适用在多个中断源优先级相等的场合适用在多个中断源优先级相等的场合优先级特殊循环方式优先级特殊循环方式特点:特点:优先级次序可以改变,优先级次序可以改变,初始的初始的优先级次序由优先级次序由程序程序决决定定OCW2中,中,R.SL=1 1电气学院学习部资料库233.3.中断结束方式中断结束方式(什么时刻使什么时刻使ISRISR中对应位置中对应位置“0”0”,就产生,就产生不同的中断结束方式)不同的中断结束方式)ICW4ICW4,OCW2OCW2中断结束处理的必要性:中断结
25、束处理的必要性:中断优先裁决的依据中断优先裁决的依据(一)固定优先级方式(一)固定优先级方式 *普通普通EOIEOI结束方式结束方式 :用中断结束命:用中断结束命非自动非自动EOIEOI结束方式结束方式 令使令使ISRISR对应位置对应位置“0”0”*特殊特殊EOIEOI结束方式结束方式*自动自动AEOIAEOI结束方式:不执行结束命令结束方式:不执行结束命令(二)循环优先级方式(二)循环优先级方式 *普通普通EOIEOI循环方式循环方式非自动非自动EOIEOI循环方式循环方式 *特殊特殊EOIEOI循环方式循环方式*自动自动EOIEOI循环方式循环方式 (1 1)自动)自动EOIEOI结束方
26、式结束方式 建议避免使用,以免重复嵌套建议避免使用,以免重复嵌套中断响应后,当中断响应后,当8259A8259A收到第二个脉冲后,即自动将收到第二个脉冲后,即自动将ISRISR中中正在服务的相应位置正在服务的相应位置“0”0”ICW4ICW4中中AEOIAEOI位置位置“1”1”电气学院学习部资料库24(2 2)普通)普通EOIEOI结束方式结束方式一旦中断处理结束,一旦中断处理结束,CPUCPU向向8259A8259A传送传送EOIEOI结束命令字(即结束命令字(即设置设置OCW2OCW2),),EOIEOI结束命令字必须放在中断服务子程序中结束命令字必须放在中断服务子程序中的返回指令的返回
27、指令IRETIRET前前8259A8259A收到收到EOIEOI结束命令字后,将结束命令字后,将ISRISR中中优先级别最高优先级别最高的置的置“1”1”位清位清“0”0”ICW4ICW4中中AEOIAEOI位置位置“0”0”,OCW2OCW2中,中,R R、SLSL、EOI=0 0 1EOI=0 0 1(3 3)特殊)特殊EOIEOI结束方式结束方式当中断处理结束,当中断处理结束,CPUCPU向向8259A8259A送特殊送特殊EOIEOI结束命令,指定结束命令,指定清清“0”ISR0”ISR中的哪一位中的哪一位8259A8259A收到特殊收到特殊EOIEOI结束命令后,将结束命令后,将IS
28、RISR中由中由L2L2L0L0指定的指定的相应位清相应位清“0”0”ICW4ICW4中中AEOIAEOI位置位置“0”0”。OCW2OCW2中中R R、SLSL、EOI=0 1 1EOI=0 1 1电气学院学习部资料库254.循环优先级的循环方法循环优先级的循环方法 OCW2(1)自动)自动EOI循环方式循环方式 小心使用小心使用中断响应后,当中断响应后,当8259A8259A收到第二个脉冲后,即自动将收到第二个脉冲后,即自动将ISRISR中中正在服务的相应位置正在服务的相应位置“0 0。同。同11同时自动改变各级中断的优先级别同时自动改变各级中断的优先级别 本级(本级(ISR3ISR3)最
29、低优先级最低优先级 下一级(下一级(ISR4ISR4)最高优先级最高优先级OCW2OCW2中,中,R R、SLSL、EOI=1 0 0EOI=1 0 0(2)2)普通普通EOIEOI循环方式循环方式当当中断处理结束,中断处理结束,CPU向向8259A传送普通传送普通EOI循环命令循环命令字(即设置字(即设置OCW2),),同同228259A收到收到EOI结束命令字后,将结束命令字后,将ISR中优先级别最高的中优先级别最高的置置“1”位清位清“0”,同同22,同时自动改变中断优先级别,同时自动改变中断优先级别OCW2OCW2中,中,R R、SLSL、EOI=1 0 1EOI=1 0 1例例7-1
30、0 IR07-10 IR0最高,最高,IR7IR7最低,最低,IR2IR2、IR5 IR5 普通普通EOIEOI循环循环电气学院学习部资料库26(3)(3)特殊特殊EOIEOI循环方式循环方式当中断处理结束,当中断处理结束,CPUCPU向向8259A8259A送特殊送特殊EOIEOI结束命令,同结束命令,同33。8259A 8259A收到特殊收到特殊EOIEOI结束命令后,将结束命令后,将ISRISR中由中由L2L2L0L0指定指定的相应位清的相应位清“0”0”,同,同33。同时自动改变优先级别。同时自动改变优先级别 OCW2 OCW2中,中,R R、SLSL、EOI=1 1 1EOI=1 1
31、 1原始原始状态状态ISR内容内容ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR000100100优先级优先级76543210处理处理完完IR2ISR内容内容00100000优先级优先级43210765处理处理完完IR5ISR内容内容00000000优先级优先级10765432电气学院学习部资料库275.5.中断源屏蔽方式中断源屏蔽方式 OCW1OCW1(1 1)CLICLI关中断指令关中断指令禁止所有的可屏蔽中断禁止所有的可屏蔽中断 (以下两种是对中断请求单独屏蔽)以下两种是对中断请求单独屏蔽)(2 2)普通屏蔽方式)普通屏蔽方式将将IMRIMR的某一位置的某一位置“1”1”
32、,即可屏蔽对应位的中断请求,即可屏蔽对应位的中断请求设置中断屏蔽操作命令字设置中断屏蔽操作命令字OCW1OCW1。例:例:IR7IR7、IR5IR5、IR1IR1被屏蔽。若此时被屏蔽。若此时IR3IR3正被处理,则正被处理,则IR3IR3及及比比IR3IR3低的中断申请被屏蔽,只有低的中断申请被屏蔽,只有IR0IR0和和IR3IR3的中断源可以的中断源可以产生中断嵌套。产生中断嵌套。电气学院学习部资料库28(3 3)特殊屏蔽方式)特殊屏蔽方式希望在中断处理子程序中,对本级中断进行屏蔽,而允许希望在中断处理子程序中,对本级中断进行屏蔽,而允许较高或较低优先级的中断进入较高或较低优先级的中断进入先
33、设置先设置OCW3OCW3中中ESMM.SMM=1 1ESMM.SMM=1 1,再设置,再设置OCW1OCW1,使,使IMRIMR中本级中本级中断对应位置中断对应位置“1”1”中断服务子程序结束后,取消特殊屏蔽方式,恢复原先优中断服务子程序结束后,取消特殊屏蔽方式,恢复原先优先级的控制先级的控制 (设置(设置OCW1OCW1,使复位;再设置,使复位;再设置OCW3OCW3中中ESMM.SMM=1 0ESMM.SMM=1 0)低低 高高IR7 IR0ISR中断服中断服务务00001000IMR中断中断屏蔽屏蔽10100010IRR中断中断请求请求11111111电气学院学习部资料库296.中断请
34、求引入方式中断请求引入方式(1)边沿触发方式)边沿触发方式 (2)高电平触发方式)高电平触发方式 8259A CPU,第二,第二 个个 负脉冲,读中断类型号负脉冲,读中断类型号(3)中断查询方式)中断查询方式外设发出中断请求,外设发出中断请求,8259A 在在ISR中相应位置中相应位置1CPU使用软件查询来确定使用软件查询来确定 中断源中断源CPU执行的查询程序应包括如下过程:执行的查询程序应包括如下过程:a、CPU关中断关中断b、CPU 8259A 偶地址偶地址 OCW3:D7 D6 D5 D4 D3 D2 D1 D00001100CPUINT8258A IR0外设外设XDB电气学院学习部资
35、料库30c、CPU 8259A 偶地址偶地址查询字:查询字:D7 D2 D1 D0IR=1:有外设请求中断:有外设请求中断 W2、W1、0IRi 0:无外设请求中断:无外设请求中断 组成的代码表示当前中断请组成的代码表示当前中断请求的最高优先级求的最高优先级例:优先级次序为例:优先级次序为IR3、IR4、IR5、IR1、IR2若有中断请求若有中断请求IR2、IR4,则,则W2 W1 W0=1 0 0四、四、8259A8259A的中断级联的中断级联1.8259A1.8259A与系统总线相连的方式:由初始化命令字与系统总线相连的方式:由初始化命令字ICW4ICW4来来设置设置缓冲方式缓冲方式825
36、9A8259A通过总线驱动器和数据总线相连通过总线驱动器和数据总线相连IRW2 W1 W0电气学院学习部资料库31编程编程/双向使能缓冲端双向使能缓冲端SP/EN SP/EN 为输出端,与总线驱动器允许为输出端,与总线驱动器允许端相连端相连 =0 =0 控制控制 8259A CPU8259A CPU =1 8259ACPU=1 8259ACPU非缓冲方式非缓冲方式8259A8259A直接与数据总线相连直接与数据总线相连 SP/EN SP/EN为输入端,用来决定本片为输入端,用来决定本片8259A8259A是主片还是从片是主片还是从片 SPSP =1 =1 主片主片 SP=0 SP=0 从片从片
37、2.CAS02.CAS0CAS2 CAS2 指出具体的从片。指出具体的从片。当主片检测到中断请求来自当主片检测到中断请求来自从片,将从片的级联地址从从片,将从片的级联地址从CAS0CAS0CAS2CAS2输出到所有从片,输出到所有从片,只有级联地址与只有级联地址与CAS0CAS0CAS2CAS2相同的从片才能选通。相同的从片才能选通。电气学院学习部资料库32五、五、硬件连接及初始化程序硬件连接及初始化程序一、硬件连接一、硬件连接 图图7-147-14 1 1、两级级联:、两级级联:1 1片主片,片主片,2 2片从片片从片 2 2、非缓冲方式:无数据总线驱动器、非缓冲方式:无数据总线驱动器 3
38、3、CAS0CAS0CAS2CAS2:主片:主片从片从片 4 4、INTINT:主:接主:接CPUCPU的控制总线的控制总线 从:接主片的从:接主片的IRiIRi端端 5 5、:主:输入主:输入 =1=1,接,接Vcc +5VVcc +5V 从:输入从:输入 =0=0,接地,接地 6 6、D7D7D0D0:接数据总线低:接数据总线低8 8位位 7 7、,A0A0:接地址总线:接地址总线 A0CPUA0CPU的的A1A1 接接LS138LS138译码输出,决定译码输出,决定 端口地址端口地址 8 8、:接控制总线:接控制总线电气学院学习部资料库33CS A0 D7D0 INTA INT CAS0
39、 从从 8259A CAS1 CAS2SP/EN IR0 IR1.IR7 CS A0 D7D0 INTA INT CAS0 从从 8259A CAS1 CAS2SP/EN IR0 IR1.IR7 CS A0 D7D0 INTA INTCAS0CAS1 主主8259A CAS2SP/EN IR0 IR1.IR7 GNDGNDVCCABCBDB图图7-14电气学院学习部资料库34六、六、8259A8259A的编程方式(自学)的编程方式(自学)两类命令字:初始化命令字ICW;操作命令字OCW初始化命令字ICW1ICW4:由初始化程序设置的 初始化命令字一旦设定,在系统工作过程中将不再改变 初始化命令
40、字必须顺序填写 ICW1、ICW2必须预置,ICW3、ICW4不一定,是否设置体现在ICW1电气学院学习部资料库35操作命令字OCW1OCW3由应用程序设定,用来对中断处理过程进行控制在系统运行过程中,操作命令字可以重新设置设置OCW,次序上没有严格要求 (OCW2命令字定义中断方式时,通常放在中断服务子程序中)一、初始化命令字一、初始化命令字ICWICWICW1芯片控制初始化命令字 A0 D7 D4 D3 D2 D1 D001LTIM0SNGLIC4标志位1:电平触发 0:上升沿触发 1:单级使用 0:级联 1:需要设置ICW4 0:不需要设置ICW4 电气学院学习部资料库36A0:写入命令
41、字的端口地址。A0=0,表示ICW1必须写入8259A的偶地址端口中,例20H 例1:系统中8259A为单片方式,电平触发,要求设置ICW4则初始化ICW1的指令为:MOV AL,1BH OUT 20H,ALICW2设置中断类型号初始化命令字 A0 D7 D4 D3 D2 D1 D0 中断类型的高5位 作用:用来设置中断类型号的基值,即IR0端对应的中断类型号例2:若T7T3=00001,IR0的类型号为08H,IR0IR7:08H0FH 则初始化ICW2的指令为:MOV AL,08H OUT 21H,ALICW3标识主片/从片初始化命令字(当ICW1中SNGL=0时才设置)1T7T6T5T4
42、T3000电气学院学习部资料库37主片A0 D7 D0 Si=0:表示IRi端上未接有8259A从片 1:表示IRi端上接有8259A从片从片 A0 D7 D0 ID2ID0=000111 表示从片接在主片的哪个IRi端ICW4方式控制初始化命令字(当ICW1中IC4=1时才设置)1S7S6S5S4S3S2S1S0100000ID2ID1ID0电气学院学习部资料库38A0 D7 D4 D3 D2 D1 D01000SFNMBUFM/SAEOIPM1:8086/8088配置 0:8080/8085 1:自动EOI方式0:非自动EOI方式 0:非缓冲方式 1:缓冲方式 1:特殊全嵌套工作方式 0:
43、完全嵌套工作方式 电气学院学习部资料库39二、操作命令字二、操作命令字OCW1中断屏蔽操作命令字A0 D7 D0 Mi=1:屏蔽由IRi引入的中断请求 0:允许 例:系统要求屏蔽IR4、IR7 MOV AL,10010000B OUT 21H,ALOCW2优先权循环方式和中断结束方式操作字1M7M6M5M4M3M2M1M0电气学院学习部资料库40A0 D7 D4 D3 D2 D1 D00RSLEOI00L2L1L0000:IR0 001:IR1 111:IR7001:普通EOI方式 011:特殊EOI方式101:普通EOI循环方式111:特殊EOI循环方式 000:自动EOI循环(复位)100
44、:自动EOI循环(置位)110:置位优先权命令 010:无效 标志位电气学院学习部资料库41A0 D7 D4 D3 D2 D1 D00EXMMSMM01PRRRIS0X:无效 10:下次有效,读IRR 11:下次有效,读ISR 1:查询8259A状态 0:不查询 0X:无效 10:特殊屏蔽方式复位 11:特殊屏蔽方式置位标志位电气学院学习部资料库42三、例:图7-14 中断向量的形成:将中断入口地址写入中断向量表 MOV AX,1000H MOV DS,AX ;功能量AH=25H的中断21H调用 MOV DX,5020H 设置中断向量 DS:DX=中断向量 MOV AL,50H AL:中断类型
45、号 MOV AH,25H INT 21H ;设置IR0,中断类型号50H MOV DX,6100H MOV AL,52H INT 21H ;设置IR2:52H MOV DX,3250H MOV AL,54H INT 21H ;设置IR4:54H电气学院学习部资料库43初始化编程 MOV AL ,13H OUT 20H,AL ;设置ICW1,边沿触发,单级使用,需要设置ICW4 MOV AL ,50H OUT 21H,AL ;设置ICW2,中断类型号50H57H MOV AL ,01H ;OUT 21H,AL ;设置ICW4,完全嵌套方式,非缓冲方式,非自动EOI结束方式 MOV AL ,OEAH OUT 21H,AL ;定义OCW1,允许IR0、IR2、IR4,其余屏蔽。11101010B MOV AL ,20H OUT 20H,AL ;定义OCW2,普通EOI结束电气学院学习部资料库44谢谢大家!谢谢大家!作业:作业:2,10,15,16(选做)(选做)电气学院学习部资料库