文档详情

微机原理与接口技术中断系统.ppt

发布:2025-04-03约3.13千字共10页下载文档
文本预览下载声明

七、中断服务子程序的设计设计中断服务子程序的步骤如下:(1)选择一个中断矢量。如果是硬件中断,则要使用硬件决定的中断矢量。如果是采用软件中断,即用INTn指令的方式,则可在系统保留给用户的中断矢量号中选一个中断矢量。例如选50H号中断矢量。(2)将中断子程序的入口地址置入中断矢量表的相应表项中,其置入方法有两种:一种是用数据传送指令将中断服务子程序的入口的偏移地址放在中断矢量表4×n的字单元中,将中断服务子程序的入口的段地址放在中断矢量表4×n+2的字单元中。二是采用DOS功能调用,这在前面已讲过。(3)编写中断服务子程序第三节可编程中断控制器8259A8259A是一个可编程中断控制器,能控制8级向量中断,1通过级联方式(用9片8259A),最多可构成64级向量中2断系统。在8259A中能判断一个中断请求输入是否有效,3是否被屏蔽和进行优先级判决,并在CPU响应中断后,4将中断类型码发给CPU。58259A的引脚6如图6.11所示,它有28个引脚,为标准芯片,即左下角为地,右上角为电源。7020304050601位和第6位置1,待第2级中断处理完,CPU向8259A发回普通前正在处理IR2和IR6引入的中断请求,因此ISR寄存器中第2EOI命令,ISR中级别高的第2位清0,并将优先级由原定义的待第6级中断处理完后也如此处理。第2级改为最低级(第7级),而将最高级(第0级)赋给原来的第3级(IR3),其它级的优先权按循环方式依次改变级别。例2:特殊EOI循环方式举例,参见表6.3。01当前正在处理第2级和第6级中断,它们以嵌套方式引入02系统。如果当前CPU正在执行优先级高的第2级中断服务03程序,用户在该中断服务程序中安排了一条优先权置位04命令,将最低级优先权赋给IR4,那么待这条指令执行完058259A的级联使用如图6.13所示,一片8259A为主片(SP/EN=1),其余8片8259A为从片(图中从片只画出了两片),从片的SP/EN=0。主片与从片的CAS0-CAS2相连。每片从片的INT接到主片相应的IRi上,主片的INT则与CPU相连。8259A在级联方式下的中断响应时序如图6.14所示。第一个INTA周期,主8259A将响应中断的级联地址从CAS0-CAS2发给所有的从8259A。第二个INTA周期,与该级联地址相符的从8259A向CPU发送中断类型码n。当从片8259A的中断请求处理结束时,CPU应发送两个EOI命令分别给主片和从片。图6.138259A的级联使用去CPUINTA0D7D6D5D4D3D2D1D00A7A6A51LTIMADISNGLIC4A0D7D6D5D4D3D2D1D01T7T6T5T4T3000第六章中断系统第一节基本概念中断维持系统正常工作,提高系统效率;实时处理;为故障处理作准备。中断系统的目的中断分外部中断和内部中断两大类;其中外部中断分为两类:可屏蔽中断INTR,由标志寄存器中的IF位控制;不可屏蔽中断NMI,不受IF位控制。中断分类中断处理:发现中断请求、响应中断请求、执行中断服务程序、中断返回。中断系统功能中断控制:中断优先权排队、中断嵌套当系统中有多个中断时,有可能出现两个或两个以上的中断源同时提出中断请求,这时要求CPU根据中断优先权由高到低依次处理。中断嵌套如图6.1所示。假定有两个中断源A和B,A的级别高于B,当CPU正在处理B中断时,允许A能中断B的中断处理,转去执行A的中断服务程序,在高级中断A处理完后,返回到原来打断处,继续处理B的中断服务程序。图中为两级中断,还可以进行多级中断。010302图6.1中断嵌套示意图图6.2CPU内设置中断允许触发器IFF中断请求与中断屏蔽触发器图6.3是具有中断请求与中断屏蔽的接口电路。每一个中断源都有一个中断请求触发器和一个中断屏蔽触发器。只有当该中断源不屏蔽时,它的中断请求信号才能发给CPU。图6.3具有中断请求与中断屏蔽的接口电路图6.4中断时序流程图图6.5中断响应服务及返回流程图开中断:在中断服务的最后要开中断,以便CPU能响应新的中断请求。如果实现中断嵌套,可以在中断服务程序中,在适当时候重新开放中断,以便允许响应较高级的中断。中断返回:将堆栈内的断点值弹出。上述过程如图恢复现场:将压入堆栈的有关寄存器的内容弹出。中断优先级和

显示全部
相似文档