《微机原理与接口技术》教学课件1《微机原理与接口技术》第八章中断系统《微机原理与接口技术》教学课件2第八章中断系统1.中断系统基本概念2.中断分类3.中断指令4.中断向量(矢量)5.8259A中断控制器应用《微机原理与接口技术》教学课件38.1、中断的基本概念1)什么是中断?2)中断源3)中断系统的基本功能4)中断处理过程P.153《微机原理与接口技术》教学课件4一、中断二、中断源在CPU正常运行程序时,由于内部或外部某个非预料事件的发生,使CPU暂停正在运行的程序,而转去执行处理引起中断事件的程序,然后再返回被中断了的程序,继续执行。这个过程就是中断。能够引发中断的信息源,可以是内部的,也可以是外部的。P.153《微机原理与接口技术》教学课件5中断服务程序1中断服务程序2非预料事件2非预料事件1三、CPU执行流程P.157《微机原理与接口技术》教学课件6四、中断系统基本功能为了实现中断而采取的硬件和软件措施。基本功能:①.对于硬件设备的中断请求,应该具有屏蔽和开放的性能。②.有多个中断请求时,能够响应优先级别较高的中断,即“中断判优”。③.较高级别的中断源能够中断较低级别的中断服务程序,即“中断嵌套”功能。④.响应中断后,能够自动转入中断处理;中断结束能够自动返回。P.154《微机原理与接口技术》教学课件7五、中断处理全过程①.中断检测CPU在每条指令结束时检测外部是否有中断请求或该指令是否满足异常条件。②.中断响应(CPU内部硬件自动完成)㈠.中断判别㈡.中断周期(IF=0)㈢.装入中断服程序[CS:IP]③.中断服务(用户自行编制)由保护现场、具体处理、恢复现场等7个步骤组成。《微机原理与接口技术》教学课件88.2、微机系统的中断分类按照中断源可分:外(硬件)中断、内(软件)中断。中断外部(硬件)中断内部(软件)中断可屏蔽中断INTR非屏蔽中断NMI执行指令或特殊操作产生P.158《微机原理与接口技术》教学课件9一、软件中断——中断指令和特殊操作P.194~195软件中断的中断源在CPU的内部,主要是由INT指令、运算过程中错误、设置的断点、单步执行而引起的中断。软件中断又称内部中断。中断号标准应用00H除以零出错中断01H单步(用于Debug)中断02H非屏蔽中断(CPU的NMI引脚)03H断点(用于Debug)中断04H溢出中断05H屏幕打印中断06H保留07H保留《微机原理与接口技术》教学课件10二、硬件中断硬件中断CPU在每执行一条指令的最后一个机器周期,都要检测NMI和INTR引脚,如果有中断请求,CPU都将进行响应和处理。响应中断的条件①.可屏蔽中断㈠.INTR=1,NMI=0且没有DMA请求。㈡.CPU当前指令执行完毕。㈢.IF=1。包括:非屏蔽中断、可屏蔽中断。P.159《微机原理与接口技术》教学课件11②.非屏蔽中断㈠.NMI=1,系统没有DMA请求。㈡.CPU当前指令执行完毕。中断优先权DMANMIINTR高低内部中断《微机原理与接口技术》教学课件128.3、80x86的中断指令1)开中断指令(STI)2)关中断指令(CLI)3)软件中断指令(INTN)4)中断返回指令(IRET)P.189《微机原理与接口技术》教学课件13一、软件中断指令(INTN)中断类型NN=0~255执行功能:调用N型中断服务程序。执行过程①.FLAG内容压栈保存②.使TF=0和IF=0③.断口地址[CS:IP]内容入栈DOS中断和BIOS中断2种类型。《微机原理与接口技术》教学课件148.4、中断向量(矢量)P.161一、中断向量(矢量)微机系统最多允许256种中断,每一种中断分配有一个中断号(也称中断类型号)。每一种中断对应一个中断服务程序,因此每一种中断有一个中断向量。中断服务程序的入口地址就是中断向量(矢量)。中断向量(矢量)由2部分组成:①.服务程序所在代码段的段基址。②.服务程序入口的偏移地址。二、中断向量表《微机原理与接口技术》教学课件15每一种中断向量的为4个字节,256种中断共占1KB空间。这些中断向量存放在RAM的00000H~003FFH,这些单元就构成了中断向量表。因此,存放中断向量的空间就称为中断向量表。N型服务程序所在代码段的段基址N型服务程序入口的偏移地址4N+04N+14N+24N+3P.161《微机原理与接口技术》教学课件16三、中断向量的引导作用MOVAH,1INT21HNext:MOVDL,ALFLAG寄存器Next的段基址Next的有效地址堆栈区①CSIP②③·······IRET服务程序XX:YYXXYY中断向量表CSIPFLAG⑤④P.191《微机原理与接口技术》教学课件17四、中断类型号①.中断号N是CPU系统分配给每个中断源的代号。中断号是固定的,但是中断向量是可以修改的,即一个中断号所对应的中断服务程序可以不是唯一的。这为用户使用系统中断资源提供了方便。④.中断号是固定不变的,一经系统指定,不再变化。②.系统外部中断与内部中断、硬中断与软中断一律统一编号。③.中断号共有256个,其中一部分已经分配给了中断源,尚有相当一部分空闲未用。《微机原理与接口技术》教学课件18①.CPU执行除零或OF=1执行INT0H指令固定类型号(00H或04H)②.使用DEBUG下的单步和断点操作固定类型号(01H或03H)内中断③.执行中断调用指令INTN由指令中给出①.非屏蔽中断引脚NMI上有中断申请信号(上升沿触发)(固定类型号02H)外中断②.可屏蔽中断(外部接口送上类型号)当IF=1,引脚INTR上有中断申请信号,CPU按中断响应周期时序,从数据总线上获取中断类型号《微机原理与接口技术》教学课件218.5、8259A中断控制器1)内部结构2)引脚定义3)中断过程4)中断管理方式5)8259A初始化6)8259A的级连8259A中断控制器的功能是管理中断源,它是一个可编程器件。P.163《微机原理与接口技术》教学课件22一、内部结构P.164内部总线BUFFERD7~D0读/写逻辑A0RDCSCAS0CAS1CAS2SP/EN控制逻辑INTAINT中断屏蔽IMRISR优先电路IRRWR级连/缓冲比较器《微机原理与接口技术》教学课件24二、引脚定义D7~D0:双向三态数据总线IR7~IR0:中断申请信号WR:写命令信号线RD:读命令信号线CS:片选信号线,高位地址线A0:寄存器选择信号CAS0~CAS2:级连信号SP/EN:从片/开启缓冲器信号8259AVccA0INTAIR7IR0······INTSP/ENCAS2···CSRDWRD7D0···CAS0CAS1GNDP.163《微机原理与接口技术》教学课件25三、中断过程①.IRR保存IR0~IR7上的中断请求(置1)。②.将没有被屏蔽的中断请求送优先权电路判优。③.将级别最高的中断源送CPU。④.满足一定条件后,CPU向8259A发出2个负脉冲响应中断。⑤.第一个负脉冲,分别置ISRi和清IRRi中对应的位置。⑥.第二个负脉冲,送中断源类型码N。⑦.取中断向量,转入中断服务程序。P.165《微机原理与接口技术》教学课件26四、中断管理方式触发方式边沿触发电平触发屏蔽方式常规屏蔽方式特殊屏蔽方式优先级管理方式安全嵌套方式特殊嵌套方式优先解循环方式常规EOI循环自动EOI循环特殊EOI循环结束方式自动EOI方式非自动EOI方式常规EOI特殊EOI总线连接方式缓冲方式非缓冲方式P.165《微机原理与接口技术》教学课件27边沿触发常规屏蔽方式安全嵌套方式固定优先级方式。高打断低,同级按序。IR0IR7中断屏蔽寄存器(IMR)对应位置置1,即可屏蔽相应级别得中断请求。8259A收到第一个负脉冲之前,同一个输入端上不应当出现第2次上跳沿。《微机原理与接口技术》教学课件28常规EOI方式在安全嵌套方式下,应当使用常规EOI命令结束中断。缓冲方式8259A通过总线驱动器与系统数据线相连。在执行IRET之前,向8259A送一个“常规中断结束”命令。《微机原理与接口技术》教学课件29五、8259A初始化P.1678259A可以接受2种命令字对它进行工作方式的设定和启动规定的操作。ICW(InitializationCommandWords)初始化命令字:ICW1~ICW4OCW(OperationCommandWords)操作命令字:OCW3~OCW1《微机原理与接口技术》教学课件30①初始化命令字(ICW)ICW1和ICW2是必须写入的,而ICW3和ICW4则由工作方式决定(ICW1的有关位)。ICW写入流程图:ICW1ICW2级连?YICW3需ICW4?NYICW4N准备接收中断《微机原理与接口技术》教学课件31ICW1(初始化字)8259A最初写入的必定是ICW1,由A0=0和ICW1内的D4=1确定。IC4SNGLADILTIM1A7A6A50A0D7~D5D4D3D2D1D0①.A7A6A5和ADI:8086/8088CPU不用。②.LTIM:设定中断触发方式。=0,边沿触发=1,电平触发③.SNGL:设定单片/级连方式。④.IC4:设定是否写入ICW4。=0,级连方式=1,单片方式=0,不写ICW4=1,要写ICW4P.167《微机原理与接口技术》教学课件32ICW1写入后,8259A内部状态有一初始化过程,它的动作是:①.顺序逻辑复位,准备按ICW2、ICW3和ICW4接收其余ICW;②.清除ISR和IMR;③.设定固定优先级;④.从片方式的地址置为7(对应IR7);⑤.设定普通屏蔽方式;⑥.采用非自动中断结束方式;⑦.状态读出电路预置为IRR。《微机原理与接口技术》教学课件33ICW2(中断向量字)A10A9A8A11/T3A12/T4A13/T5A14/T6A15/T71A0D7D6D5D4D3D2D08259A与8086/8088CPU连用时,A10~A8不用,用T7~T3作为中断类型号的高5位,而低3位由8259A自动按IR输入端确定。IR0:000IR1:001········IR7:111对应关系:P.167《微机原理与接口技术》教学课件34ICW3(级连控制字)8259A在级连工作方式时,要写入ICW3。主片和从片8259A都必须写入ICW3,但两者含义不同。S0/ID0S1/ID1S2/ID2S3S4S5S6S71A0D7D6D5D4D3D2D1D0①.对主8259A:ICW3每一位S0~S7表明IR0~IR7上哪些接有从片。Si=0,IRi没有连接从片=1,IRi接有从片P.168《微机原理与接口技术》教学课件35②.对从8259A:ICW3低3位ID0~ID2有效,说明从片INTR引脚接到主片的哪一个IR引脚上。ID2ID1ID0IR000IR0001IR1010IR2011IR3100IR4101IR5110IR6111IR7《微机原理与接口技术》教学课件36ICW4(中断方式字)μPMAEOIM/SBUFSFMN0001A0D7~D5D4D3D2D1D0①.μPM:选用CPU类型μpm=1,8086/8088;μpm=0,8080/8085CPU②.AEOI:中断结束方式AEOI=1,自动中断结束;AEOI=0,非自动中断结束③.M/S:说明8259A是主片还是从片M/S=1,主片;M/S=0,从片④.SFMN:说明8259A的嵌套方式SFMN=1,特殊嵌套;SFMN=0,普通嵌套P.168《微机原理与接口技术》教学课件37⑤.BUF:说明8259A是否工作于缓冲方式。BUF=1,缓冲方式;BUF=0,非缓冲方式缓冲方式是指8259A工作于级连系统时,其数据总线需加一缓冲器予以驱动。这是8259A把SP/EN引脚作为输出端,输出一允许信号,用以锁存或开启缓冲器。在非缓冲方式时,若级连,SP/EN引脚为输入端,由其确定主片或从片。μPMAEOIM/SBUFSFMN0001A0D7~D5D4D3D2D1D0《微机原理与接口技术》教学课件38②操作命令字(