您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 微机原理与接口技术课件第七章
第七章微型计算机中断系统微机原理与接口技术2主要内容一、与中断相关的几个概念二、外部中断处理的一般过程三、8086中断系统四、8259A的原理及应用微机原理与接口技术3一、与中断相关的几个概念1.中断源引起中断过程的事件。2.中断响应对中断请求事件的回应。微机原理与接口技术43.中断向量表内存中用来存放中断服务程序入口地址的区域。4.中断优先级多个中断源同时提出请求时,CPU响应的次序。微机原理与接口技术55.中断屏蔽CPU可通过软件设定,不响应某个中断源的中断请求,称为中断屏蔽。微机原理与接口技术6二、外部中断处理的一般过程中断请求中断源识别及中断判优中断响应中断处理(服务)中断返回微机原理与接口技术7中断请求中断请求是指外部中断源在CPU的INTR引脚上产生的有效中断信号。微机原理与接口技术8中断源识别CPU在执行每条指令的最后,探测外部中断引脚,以发现是否有来自外部的中断请求。微机原理与接口技术9中断判优要解决的问题对同时产生的中断:首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则。对非同时产生的中断:低优先级的中断程序允许被高优先级的中断源所中断中断嵌套微机原理与接口技术10软件判优顺序查询中断请求,先查询的先服务(即先查询的优先级别高)硬件判优链式判优、并行判优(中断向量法)中断判优控制方法微机原理与接口技术11菊花链逻辑电路++设备1接口1中断回答中断请求INTRINTA++设备2接口2中断回答中断请求+5VCPU微机原理与接口技术12中断响应向中断源发出INTA中断响应信号;保护现场和断点。包括FLAGS、CS和IP获得中断服务程序入口地址固定入口法中断向量法微机原理与接口技术13中断服务子程序完成的工作进一步保护现场开中断(STI)中断处理关中断(CLI)恢复现场中断返回微机原理与接口技术14中断返回执行IRET指令,使IP、CS和FLAGS从堆栈弹出微机原理与接口技术15三、8086中断系统内部中断外部中断除法错中断溢出中断单步中断软件中断非屏蔽中断可屏蔽中断256个中断源微机原理与接口技术16可屏蔽中断请求NMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259APIC8086/8088CPU内部中断逻辑断点中断n430128086中断源类型:微机原理与接口技术17中断向量表┇┇00000H003FFH1KB微机原理与接口技术18中断向量表存放各类中断的中断服务程序的入口地址每个入口占用4Bytes,低字为段内偏移,高字为段基址表的地址位于内存的00000H~003FFH,大小为1KB,共256个入口微机原理与接口技术19中断向量表的初始化将用户自定义的中断服务程序入口地址放入向量表例:将中断向量码为48H的服务程序入口地址INT1放入向量表微机原理与接口技术20中断向量表的初始化方法一MOVAX,0000HMOVDS,AXMOVSI,0120HMOVBX,OFFSETINT1MOV[SI],BXMOVBX,SEGINT1MOV[SI+2],BX微机原理与接口技术21方法二MOVAX,0MOVES,AXMOVDI,0120HMOVAX,OFFSETINT1CLDSTOSWMOVAX,SEGINT1STOSW微机原理与接口技术22方法三MOVDX,SEGINT1MOVDS,DXMOVDX,OFFSETINT1MOVAL,48HMOVAH,25HINT21H微机原理与接口技术238086内部中断响应过程特点:无INTA周期中断类型码固定或由指令给出微机原理与接口技术248086内部中断响应过程响应过程步骤:①PUSHFLAG②CLEARIF,TF③PUSHCS④PUSHIP⑤(IP)=(TYPE*4+1):(TYPE*4+0)⑥(CS)=(TYPE*4+3):(TYPE*4+2)微机原理与接口技术258086外部中断响应过程可屏蔽中断:①第1个INTA,PIC进行优先级排队判优处理②第2个INTA,PIC把中断类型码放到DB上,由CPU读入③PUSHFLAG④CLEARIF,TF⑤PUSHCS⑥PUSHIP⑦(IP)=(TYPE*4+1):(TYPE*4+0)⑧(CS)=(TYPE*4+3):(TYPE*4+2)NMI中断响应过程与内部中断类似微机原理与接口技术268088/8086中断系统的优先级优先级从高到低的顺序为:•内部中断•NMI中断•INTR中断•单步中断微机原理与接口技术27中断处理过程当NMI、INTR、单步和除法错中断同时产生时,响应顺序为:响应除法错中断响应NMI中断响应INTR中断响应单步中断级别高的中断可以中断级别低的中断服务程序微机原理与接口技术28四、中断控制器8259A了解:8259A的主要引脚及结构掌握:8259A的各种工作方式8259A的初始化编程中断程序设计的一般过程和方法微机原理与接口技术29●只负责管理外设的中断请求信号,不负责数据传输等具体任务。(一)8259A的主要功能●一片8259A可对8个中断源进行管理,9片级联可管理64个中断源;●通过编程可以为每个中断源提供中断类型号;●通过编程可在多种方式下工作;微机原理与接口技术30(二)8259A的内部结构原理内部总线CAS0CAS1CAS2IRRPRISRIMR控制电路数据总线缓冲器读/写控制逻辑级联缓冲/比较···IR0IR1IR7D7~D0RDWRA0CSSP/ENINTRINTA微机原理与接口技术31微机原理与接口技术32RRDWR微机原理与接口技术33(三)8259A的工作方式8259A工作方式中断优先权管理1.全嵌套方式(固定优先级,0最高,同级不嵌套)3.自动循环方式(多个源优先级相等初始IR0最高。特殊循环方式初始程序指定)4.中断屏蔽方式2.特殊全嵌套方式(允许同级嵌套,级联时主片使用)中断结束管理1.普通EOI方式2.特殊EOI方式3.自动EOI方式4.级联时结束方式(ISR清零方式)微机原理与接口技术341.完全嵌套方式8259A的中断请求输入端引入的中断具有固定的优先权排队顺序,IR0为最高优先级,IR1为次高优先级,依次类推,IR7为最低优先级。2.特殊全嵌套方式特殊全嵌套方式和全嵌套方式基本相同,只有一点不同,就是在特殊全嵌套方式下,当处理某一级中断时,如果有同级的中断请求,那么,也会给予响应,从而实现一种对同级中断请求的特殊嵌套。特殊全嵌套方式一般用在8259A级连的系统中。(1)、中断优先权管理微机原理与接口技术353.自动循环方式从IR0—IR7引入的中断轮流具有最高优先权。初始优先级队列规定为IR0IR1IR2IR3IR4IR5IR6IR7如果IR0端正好有中断请求,处理完后IR1IR2IR3IR4IR5IR6IR7IR0如果IR4端正好有中断请求,处理完后IR5IR6IR7IR0IR1IR2IR3IR44.优先级特殊循环方式最低优先级是由编程确定的,从而最高优先级也由此而定。比如定IR5最低,则IR6最高IR6IR7IR0IR1IR2IR3IR4IR5微机原理与接口技术36可采用三种中断结束方式:自动EOI方式/INTA清除中断服务寄存器高级别位一般EOI方式程序对8259发中断结束命令,清除中断服务寄存器高级别位特殊EOI方式程序对8259发中断结束命令,清除中断服务寄存器指定位(2)、8259A中断结束的管理方式微机原理与接口技术37(四)8259A的编程8259A编程向其控制端口写入特定的控制字初始化命令字ICW操作命令字OCW微机原理与接口技术38初始化命令字ICW1-ICW4ICW1命令格式8259AA00D0D1D2D3D4D5D6D71SNGLLTIM1××××8086系统1:单片0:级联0:上升沿有效1:高电平有效标志位固定为1例:MOVAL,13HOUT20H,AL微机原理与接口技术39ICW2命令格式--中断类型号设置8259AA01D0D1D2D3D4D5D6D7××T7×T6T5T4T3例:MOVAL,08HOUT21H,AL微机原理与接口技术40从片:表示该从片接在主片的哪个引脚上ICW3命令格式--级联时使用8259AA01D0D1D2D3D4D5D6D7S7S6S5S4S3主片:表示哪个引脚上接有从片S2S1S0例:MOVAL,08HOUT21H,AL8259AA01D0D1D2D3D4D5D6D7×××ID2ID1××ID0例:MOVAL,04HOUT21H,AL微机原理与接口技术41ICW4命令格式8259AA01D0D1D2D3D4D5D6D71M/S0AEOI00SFNMBUF0:非自动EOI1:自动EOI0:不采用特殊全嵌套方式1:采用特殊全嵌套方式D3D2SP/EN引脚1主片=1CPU0从片=00×SP=1主片=0从片EN(OUT)18259A8259ACPU(IN)例:MOVAL,11HOUT21H,AL微机原理与接口技术428259A初始化命令流程ICW1ICW2单片?ICW3ICW4NY必须严格按顺序写入!!(8259A的A0=0端口)(8259A的A0=1端口)8259A在任何情况下从A0=0的端口接收到一个D4=1的命令字一定是ICW1,其后接着写入的一定是ICW2~ICW4,进入初始化状态。可接收来自IRn端的中断请求,并准备接收来自CPU的操作命令字。微机原理与接口技术43MOVAL,13H;单片,上升沿触发OUT20H,ALMOVAL,08H;中断类型号基值为08HOUT21H,ALMOVAL,09H;缓冲、非自动结束OUT21H,AL微机原理与接口技术44操作命令字OCW1-OCW3OCW1----中断屏蔽操作命令字8259AA01D0D1D2D3D4D5D6D7M7M6M5M4M3M2M1M0Mn=1:禁止IRn引脚上的中断请求进入。Mn=0:允许IRn引脚上的中断请求进入。例:MOVAL,11HOUT21H,AL微机原理与接口技术45OCW2----中断管理操作命令字8259AA00D0D1D2D3D4D5D6D7RSLEOI00L2L1L0SL=1时,L2L1L0三位编码指定相应的IR端SL=0时,此三位无效。RSLEOI功能001普通EOI方式011特殊的EOI方式101普通EOI循环方式111特殊EOI循环方式000清除自动EOI循环方式100设置自动EOI循环方式110置位优先级循环010无效例:MOVAL,66HOUT20H,AL微机原理与接口技术468259AA00D0D1D2D3D4D5D6D7×ESMMSMM01PRRRISOCW3----控制中断屏蔽和读取寄存器的状态0×:无效10:读IRR11:读ISRIMR内容随时可从奇地址端口读出0×:无效10:取消特殊屏蔽方式,恢复原先的优先级控制。11:设置特殊屏蔽方式,只屏蔽本级中断进入1:查询8259A状态0:不查询例:MOVAL,6AHOUT20H,ALINAL,20H微机原理与接口技术478259AA00D0D1D2D3D4D5D6D7IR××××W2W1W0查询字格式IR=1:表示当前有中断请求正在处理;IR=0:表示没有。W2,W1,W0:编码表示当前正在处理的最高优先级IRn。微机原理与接口技术48ICW1、OCW2、OCW3的区分:D4=1ICW1D4=0D3=1D3=0OCW2OCW3微机原理与接口技术4931H35H45H44H8259A的级联使用ABCBDBIR0IR7IR4IR0IR7INTIR3CAS0CAS1CAS2CAS0CAS1CAS2INTSPVCCSPCSCSA0A0INTAINTAD0~D7D0~D7主8259A从8259AIR3IR5IR1IR6IR5IR42000H3600H2000H4500H1000H2000H1000H3000H微机原理与接口技术50(1)设置中断向量MOVAX,1000HMOVDS,AXMOVDX,2000H
本文标题:微机原理与接口技术课件第七章
链接地址:https://www.777doc.com/doc-3201609 .html