微机原理:第九章 中断

上传人:新** 文档编号:569484077 上传时间:2024-07-29 格式:PPT 页数:127 大小:2.13MB
返回 下载 相关 举报
微机原理:第九章 中断_第1页
第1页 / 共127页
微机原理:第九章 中断_第2页
第2页 / 共127页
微机原理:第九章 中断_第3页
第3页 / 共127页
微机原理:第九章 中断_第4页
第4页 / 共127页
微机原理:第九章 中断_第5页
第5页 / 共127页
点击查看更多>>
资源描述

《微机原理:第九章 中断》由会员分享,可在线阅读,更多相关《微机原理:第九章 中断(127页珍藏版)》请在金锄头文库上搜索。

1、第九章第九章中断与中断管理中断与中断管理中断原理中断原理中断系统组织及其功能中断系统组织及其功能中断源识别及中断优先级中断源识别及中断优先级8086中断系统中断系统8086CPU的中断管理的中断管理可编程中断控制器可编程中断控制器8259A第九章第九章 中断与中断管理中断与中断管理快速的快速的CPUCPU与慢速的外设之间数据传送与慢速的外设之间数据传送查询方式查询方式中断方式中断方式 9.1 9.1 中断原理中断原理 9.1.1 9.1.1 从无条件传送、条件传送到中断传送从无条件传送、条件传送到中断传送条件传送的缺点是条件传送的缺点是CPUCPU花大量的时间对状态花大量的时间对状态线进行查询

2、,降低了整个系统的工作效率。线进行查询,降低了整个系统的工作效率。 具有中断功能的具有中断功能的CPUCPU中,有硬件部件专门用于中,有硬件部件专门用于检测外设的状态线。检测外设的状态线。 查询方式查询方式中断方式中断方式INTE&STBIBFINTRRD数据数据A/B口口19.1.2 9.1.2 中断概念中断概念9.1.2 9.1.2 中断概念中断概念在中断传送方式下,当外部设备准备好向在中断传送方式下,当外部设备准备好向CPUCPU传传送数据送数据( (或者接收或者接收CPUCPU的数据的数据) ),或者有某些紧急,或者有某些紧急情况要求处理,或者是定时时间到等等情况要求处理,或者是定时时

3、间到等等, ,外设向外设向CPUCPU发出中断请求,发出中断请求,CPUCPU接收到请求并在一定条接收到请求并在一定条件下,暂停执行原来的程序而转去中断处理件下,暂停执行原来的程序而转去中断处理,处理好中断服务再返回来执行原来程序,这就处理好中断服务再返回来执行原来程序,这就是中断。是中断。 9.1.3 9.1.3 中断应用中断应用一、实时故障处理一、实时故障处理存储器出错检测电路存储器出错检测电路 二、分时操作,同时处理二、分时操作,同时处理 多个外设同时工作。多个外设同时工作。CPUCPU在不同的时间为不在不同的时间为不同的外设服务,极大地发挥了同的外设服务,极大地发挥了CPUCPU高速性

4、的高速性的特点。特点。 处理处理任务任务1处理处理任务任务2处理处理任务任务39.1.3 9.1.3 中断应用中断应用9.2 9.2 中断系统组成及其功能中断系统组成及其功能9.2.1 9.2.1 与中断有关的触发器与中断有关的触发器1 1、中断请求触发器、中断请求触发器两个特点两个特点:在满足一定条件的情况下把中断请求信号发在满足一定条件的情况下把中断请求信号发送给送给CPUCPU,并在,并在CPUCPU未响应时一直保持下去;未响应时一直保持下去;当当CPUCPU满足一定条件下响应了该中断请求,满足一定条件下响应了该中断请求,执行了相关的操作后,该中断请求信号被撤执行了相关的操作后,该中断请

5、求信号被撤销销。 中断请求触发器中断请求触发器8255A工作在方式工作在方式1输入输入选通信号,有效时,外设把选通信号,有效时,外设把数据打入端口的输入缓冲器数据打入端口的输入缓冲器 端口的输入缓冲器端口的输入缓冲器“满满”信信号。号。 中断请求。有效时,中断请求。有效时,8255A8255A的的向向CPUCPU申请中断,要求申请中断,要求CPUCPU从从端口取数端口取数 中断允许中断允许 INTE&STBIBFINTRRD数据数据A/B口口1STB数据锁存INTR9.2.1 9.2.1 与中断有关的触发器与中断有关的触发器2 2、中断屏蔽触发器、中断屏蔽触发器决定中断请求触发器的输出信号是否

6、可以决定中断请求触发器的输出信号是否可以作为中断请求信号发送给作为中断请求信号发送给CPUCPU,通过对中断,通过对中断屏蔽触发器的设置就可以控制中断源的。屏蔽触发器的设置就可以控制中断源的。 中断屏蔽中断屏蔽触触发发器器8255A工作在方式工作在方式1输入输入选通信号,有效时,外设把选通信号,有效时,外设把数据打入端口的输入缓冲器数据打入端口的输入缓冲器 端口的输入缓冲器端口的输入缓冲器“满满”信信号。号。 中断请求。有效时,中断请求。有效时,8255A8255A的的向向CPUCPU申请中断,要求申请中断,要求CPUCPU从从端口取数端口取数 中断允许中断允许 INTE&STBIBFINTR

7、RD数据数据A/B口口1MOVAL,00001001;允许中断允许中断MOV控制口,控制口,ALMOVAL,00001000;屏蔽中断屏蔽中断MOV控制口,控制口,AL9.2.1 9.2.1 与中断有关的触发器与中断有关的触发器3 3、CPUCPU内部的中断允许触发器内部的中断允许触发器IF IF CPUCPU通过对它进行设置来决定是否对中断请通过对它进行设置来决定是否对中断请求信号进行响应。求信号进行响应。中断检测IF中断逻辑INTRCLICLI IF IF0 0 关中断关中断STISTI IF IF1 1 开中断开中断 8086CPU8086CPU设置了两种中断类型:设置了两种中断类型:可

8、屏蔽中断和不可可屏蔽中断和不可屏蔽中断屏蔽中断。可屏蔽中断受中断允许触发器控制,只有当可屏蔽中断受中断允许触发器控制,只有当IFIF为为1 1时,时,CPUCPU才能响应中断请求信号。才能响应中断请求信号。不可屏蔽中断不受中断允许触发器的控制,只不可屏蔽中断不受中断允许触发器的控制,只要中断请求信号有效,要中断请求信号有效,CPUCPU就响应。优先级高于就响应。优先级高于于可屏蔽中断。于可屏蔽中断。 中断检测IF中断逻辑INTRNMI不可屏蔽中断可屏蔽中断9.2.2 9.2.2 中断条件中断条件外设的中断请求信号要得到外设的中断请求信号要得到CPUCPU的的响应响应,必,必须要满足如下两个条件

9、:须要满足如下两个条件:1、中断屏蔽触发器处于非屏蔽状态。、中断屏蔽触发器处于非屏蔽状态。2、CPUCPU是开中断的(是开中断的(IF=1)中断中断响应响应中断屏中断屏蔽蔽FF中断允中断允许许FFCPU内的中断逻辑内的中断逻辑中断申中断申请信号请信号INTR9.2.2 9.2.2 中断响应过程中断响应过程主要包括三个方面主要包括三个方面外设发中断请求信号给外设发中断请求信号给CPUCPU即即中断请求中断请求CPUCPU对中断请求信号所作出的反应即对中断请求信号所作出的反应即中断响中断响应应CPUCPU执行对外设操作的子程序即执行对外设操作的子程序即中断处理中断处理。 一、中断请求一、中断请求中

10、断屏蔽触发器状态为中断屏蔽触发器状态为1 1(允许),中断请(允许),中断请求触发器输出中断请求信号。求触发器输出中断请求信号。二、中断响应二、中断响应CPUCPU响应可屏蔽中断申请必须满足的条件响应可屏蔽中断申请必须满足的条件:无总线请求;无总线请求;CPUCPU被允许中断(被允许中断(IF=1);CPUCPU执行完现行指令执行完现行指令 三、中断处理三、中断处理 CPUCPU响应中断后要响应中断后要自动自动完成三项任务完成三项任务1 1、关闭中断、关闭中断(IF=0)(IF=0); 2 2、CSCS、IPIP以及以及FRFR的内容推入堆栈;的内容推入堆栈; 3 3、中断服务程序段地址送、中

11、断服务程序段地址送CSCS中中, ,偏移地址偏移地址送送IPIP中中 ( (转入中断服务程序转入中断服务程序) 。pushax;1、保护现场、保护现场pushbxsti;2、开中断、开中断;3、中断处理、中断处理cli;4、关中断、关中断popbx;5、恢复现场、恢复现场popaxsti;6、开中断和、开中断和中断返回中断返回iret中断服务程序的结构中断服务程序的结构9.3 9.3 中断源识别及中断优先权中断源识别及中断优先权在在中中断断系系统统中中CPUCPU如如何何识识别别发发出出的的中中断申请的中断源?断申请的中断源?如如何何正正确确地地转转到到相相应应的的中中断断服服务务程程序序?确

12、确定定中中断断源源的的方方法法被被称称为为中中断断源源识识别别或或中断方式中断方式。 A B CCPUINTR中断源识别中断源识别包括两个方面:包括两个方面:1、确定中断源,、确定中断源,2、找到该中断服务程序的首地址。、找到该中断服务程序的首地址。9.3.1 9.3.1 中断源识别中断源识别一、查询中断一、查询中断查询中断程序查询中断程序INAL,IPORT;从输入接口取中断信息;从输入接口取中断信息TESTAL,80H;是;是0号设备请求吗号设备请求吗?JNZSEV0;是,转;是,转0号设备服务程序号设备服务程序TESTAL40H;否,是;否,是1号设备请求吗号设备请求吗?JNZSEV1;

13、是,转;是,转1号设备服务程序号设备服务程序TESTAL20H;否,是;否,是2号设备请求吗号设备请求吗?JNZSEV2;是,转;是,转2号设备服务程序号设备服务程序TESTAL10H;否,是;否,是3号设备请求吗号设备请求吗?JNZSEV3;是,转;是,转3号设备服务程序号设备服务程序条件传送查询中断?条件传送查询中断? 9.3.1 9.3.1 中断源识别中断源识别二、矢量中断二、矢量中断中中断断申申请请信信号号INTR和和中中断断响响应信号应信号INTA是一对握手信号。是一对握手信号。中中断断请请求求表表示示外外设设请请求求CPUCPU为为之之服服务务。中中断断响响应应表表明明CPUCPU

14、可可以以为为这这个个外外设设服服务务,同同时时要求外设提供中断类型号。要求外设提供中断类型号。例:中断类型号例:中断类型号80H80H接口接口 CSTGs中断类型号中断类型号00_07H00_07H接口接口 9.3.2 9.3.2 中断优先权中断优先权 一、软件方案一、软件方案 软件查询确定优先权的缺点是,响应中断慢软件查询确定优先权的缺点是,响应中断慢 二、硬件方案二、硬件方案1 1、链形电路、链形电路 利用外设在系统中的物理位置来决定其利用外设在系统中的物理位置来决定其中断优先权的中断优先权的 中断申请中断申请中断申请中断申请中断申请中断申请中断允许入中断允许入IEI1,允许发中断允许发中

15、断中断允许出中断允许出IEOIEI&INTR0001易受电路延迟影响!二、硬件方案二、硬件方案2 2、编码电路、编码电路 74LSl4874LSl48是一个是一个8 8到到3 3线的优先权编线的优先权编码器码器 I0I1I7000I0I1I7I0I1I7001中断申请信号级联控制信号I7优先级最高9.4 80869.4 8086中断系统中断系统80868086中断系统有两大类型的中断源:中断系统有两大类型的中断源:一类是由外部设备产生的中断,称为一类是由外部设备产生的中断,称为硬件中断硬件中断,又称又称外中断外中断。硬件中断又分为。硬件中断又分为不可屏蔽中断不可屏蔽中断和和可屏蔽中断可屏蔽中断

16、,通过,通过CPUCPU芯片的芯片的INTRINTR管脚或管脚或NMINMI管管脚从外部引入的。脚从外部引入的。一类是由指令在某种运行结果时产生的中断,一类是由指令在某种运行结果时产生的中断,称为称为软件中断软件中断。 INT_PROCPROCFARPUSHAXPOPAXIRET?中断类型号和中断服务子程中断类型号和中断服务子程序的入口地址之间的关系是序的入口地址之间的关系是什么?什么? 根据中断类型号查中断矢量表根据中断类型号查中断矢量表即中断服务程序首地址表即中断服务程序首地址表9.4.1 9.4.1 不可屏蔽中断不可屏蔽中断不可屏蔽中断就是用户不能通过不可屏蔽中断就是用户不能通过CPUC

17、PU内的内的中断允许触发器中断允许触发器IFIF控制的中断。控制的中断。由由8086CPU8086CPU的的NMINMI管脚引入。管脚引入。NMINMI中断请求采用上升沿触发方式,这种中断请求采用上升沿触发方式,这种中断一旦产生,在中断一旦产生,在CPUCPU内部直接生成中断内部直接生成中断类型号类型号0202。 不可屏蔽中断响应过程不可屏蔽中断响应过程9.4.2 9.4.2 可屏蔽中断可屏蔽中断可屏蔽中断就是用户可以控制的中断,可屏蔽中断就是用户可以控制的中断,通过对通过对CPUCPU内的中断允许触发器内的中断允许触发器IFIF的设置的设置来禁止和允许来禁止和允许CPUCPU响应中断。响应中

18、断。可屏蔽中断由可屏蔽中断由8086CPU8086CPU的的INTRINTR管脚引入。管脚引入。这种中断请求需要设备提供中断类型号。这种中断请求需要设备提供中断类型号。 可屏蔽中断响应过程可屏蔽中断响应过程9.4.3 9.4.3 软件中断软件中断软件中断是由软件中断是由80868086指令系统中的某些指指令系统中的某些指令产生,或由这些指令运行后某种特定令产生,或由这些指令运行后某种特定的结果产生。的结果产生。1 1、除法中断、除法中断当进行除法运算时,若除数为当进行除法运算时,若除数为0 0或除数太小,或除数太小,使得商数大于相应寄存器所能表示的最大使得商数大于相应寄存器所能表示的最大值,被

19、称作除法出错。值,被称作除法出错。这时除法指令就相当于一个中断源,它向这时除法指令就相当于一个中断源,它向CPUCPU发出类型发出类型0 0中断。中断。 2 2、溢出中断、溢出中断当算术运算产生溢出时,将在当算术运算产生溢出时,将在INTOINTO指令控制指令控制下向下向CPUCPU发出类型发出类型4 4的中断,即溢出中断。的中断,即溢出中断。例如例如moval,40haddal,40hintoDATASEGMENTADD1DB?ADD2DB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOVAX,0MOV

20、ES,AX;置附加段基地址;置附加段基地址MOVDI,4*4;置附加段偏移地址;置附加段偏移地址MOVAX,OFFSETINTO1;置中断程序的偏移地址;置中断程序的偏移地址CLDSTOSW;填偏移地址到中断地址表;填偏移地址到中断地址表MOVAX,CS;置中断程序的段基地址;置中断程序的段基地址STOSWMOV BL,0MOV AL,ADD1ADDAL,ADD2INTOMOV AX,4C00HINT21HINTO1PROCPUSH AXMOVBL,0FFHPOPAXIRETINTO1ENDPCODEENDSEND3 3、单步中断和断点中断、单步中断和断点中断(1)(1)单步中断单步中断当当8

21、086CPU8086CPU的标志寄存器中的的标志寄存器中的TFTF标志为标志为1 1时,时,8086CPU8086CPU处于单步工作方式,这时处于单步工作方式,这时CPUCPU在每条在每条指令执行后自动产生类型指令执行后自动产生类型l l的中断。的中断。 (2)(2)断点中断断点中断INT3INT3指令指令 4 4、软中断、软中断软软中中断断是是由由中中断断指指令令引引起起的的。中中断断指指令令的的指指令令格格式式为为 INT INT n n ,操操作作数数n n就就是是中中断断类类型号。型号。当当CPUCPU执执行行完完毕毕中中断断指指令令INT INT n n后后,就就会会立立即产生一个中

22、断类型号为即产生一个中断类型号为n的中断。的中断。intncallfar4*n9.4.4 9.4.4 中断概念的再讨论中断概念的再讨论中断与调子程序之间的关系中断与调子程序之间的关系 1 1、类似:、类似:中断过程也是一个调用中断服务程序中断过程也是一个调用中断服务程序的过程。的过程。2 2、差别,、差别,调用子程序的过程是一个无条件过程,中断过程的调用子程序的过程是一个无条件过程,中断过程的中断服务程序的调用一般是有条件的。中断服务程序的调用一般是有条件的。子程序调用在整个程序执行中的时间是确定的。但子程序调用在整个程序执行中的时间是确定的。但硬件中断过程,在整个程序执行的时间是不确定的、硬

23、件中断过程,在整个程序执行的时间是不确定的、随机的。随机的。 MOV AL,10MOV BX,100MOV BL,100ADD AL,BLINT nINT n9.5 8086CPU9.5 8086CPU的中断管理的中断管理9.5.1 8086CPU9.5.1 8086CPU的中断处理顺序的中断处理顺序8086CPU8086CPU的中断优先权排列从高到低为:的中断优先权排列从高到低为:1 1、除法出错中断,溢出中断,、除法出错中断,溢出中断,INT nINT n;2 2、NMINMI;3 3、INTRINTR;4 4、单步中断。、单步中断。 9.5.2 8086CPU9.5.2 8086CPU的

24、中断服务入口地址表的中断服务入口地址表已知中断程序已知中断程序int_procint_proc和中断类型号和中断类型号n nint_proc farint_proc far pushpush iretiretint_proc endp int_proc endp CPU中断类型号中断类型号n?9.5.2 8086CPU9.5.2 8086CPU的中断服务入口地址表的中断服务入口地址表已知中断程序已知中断程序int_procint_proc和中断类型号和中断类型号n nint_proc farint_proc far pushpush iretiretint_proc endp int_proc

25、 endp CPU中断类型号中断类型号n把地址把地址int_proc放到放到4*n开开始的单元始的单元9.5.2 8086CPU9.5.2 8086CPU的中断服务入口地址表的中断服务入口地址表 9.5.3 9.5.3 中断入口地址设置中断入口地址设置一、一、用串指令用串指令 CLICLI ;关中断;关中断MOV AX,0MOV AX,0MOV ES,AXMOV ES,AX ;置附加段基地址;置附加段基地址MOV DI, n*4MOV DI, n*4 ;置附加段偏移地址;置附加段偏移地址MOV AX,OFFSET INT_VCE MOV AX,OFFSET INT_VCE ;置中断程序的偏移地

26、址;置中断程序的偏移地址CLDCLDSTOSWSTOSW ;填偏移地址到中断地址表;填偏移地址到中断地址表MOV AX, SEG INT_VCEMOV AX, SEG INT_VCE ;置中断程序的段基地址;置中断程序的段基地址STOSWSTOSW ;填段基地址到中断地址表;填段基地址到中断地址表STISTI ;开中断;开中断 二、用伪指令二、用伪指令 INTINTTBLTBLSEGMENT AT 0 SEGMENT AT 0 ;定义;定义INTINTTBLTBL段,段基地址为段,段基地址为0 0 ORG n*4ORG n*4;指定偏移地址;指定偏移地址 DD INTDD INTVCEVCE;

27、存中断程序入口地址;存中断程序入口地址INTINTTBL TBL ENDSENDS ;其他处理;其他处理 MCODE MCODE SEGMENTSEGMENT;主程序;主程序 ;其他处理;其他处理 INTINTVCE PROC FARVCE PROC FAR;中断类型;中断类型n的服务程序的服务程序 IRETIRET INT INTVCEVCEENDPENDP 三、用系统调用三、用系统调用使用使用25H25H功能:功能:ALAL中断类型号中断类型号DSDS:DXDX中中断断服服务务程程序序首首地地址址的的段段、偏偏移移地地址址注意注意DS保护保护 PUSHDSMOVDX,SEGINT60H;段

28、基地址送;段基地址送DSMOVDS,DXMOVDX,OFFSETINT60H;偏移地址送;偏移地址送DXMOVAL,60H;中断类型号送;中断类型号送ALMOVAH,25HINT21H;25H功能调用功能调用POPDS四、直接装入法四、直接装入法 若外设的中断类型号为若外设的中断类型号为6BH6BH,则此中断类型号,则此中断类型号对应的中断矢量表地址为从对应的中断矢量表地址为从00lACH00lACH开始的四开始的四个存储单元个存储单元设中断服务程序段地址是设中断服务程序段地址是1000H1000H,偏移地址为,偏移地址为2000H2000H。 MOVAX,,0MOVDS,AX;置数据段段基地

29、址为;置数据段段基地址为0MOVAX,2000HMOV01ACH,AX;对偏移地址为;对偏移地址为01AC的单元的单元MOVAX,1000H;送双字;送双字MOV01ACH+2,AX9.6 9.6 可编程中断控制器可编程中断控制器82598259外设状态线状态线CPUINTR发中断申请信号发中断申请信号中断屏蔽触发器中断屏蔽触发器发中断矢量发中断矢量中断优先权排队中断优先权排队中断控制器9.6.1 8259A9.6.1 8259A的内部结构及引脚的内部结构及引脚1 1、8259A8259A的内部结构的内部结构单级单级8259级联级联8259中中断断服服务务寄寄存存器器中断请求中断请求寄存器寄存

30、器IR0IR1IR7IR2IR3IR4IR5IR6IR0IR1IR2IR3IR4IR5IR6IR78259逻辑图逻辑图 28259A的引脚的引脚CS:片选信号。:片选信号。WR:写信号。:写信号。RD:读信号。:读信号。D7 D0:双向、三态数据线。:双向、三态数据线。IR7 IR0:中断请求信号。:中断请求信号。INT:8259A向向CPU发出的中断请求信号。发出的中断请求信号。INTA:中断响应信号。:中断响应信号。CAS0 CAS2:级级联联总总线线,输输入入或或输输出出,用用于于区区分分特特定定的的从从控控制制器器件件。8259A作作为为主主控控制制器器时时,该该总总线线为为输输出出,

31、作作为为从从控制器时,为输入。控制器时,为输入。SP/EN:从片:从片/允许缓冲信号,输入或输出,该引脚为双允许缓冲信号,输入或输出,该引脚为双功能引脚。功能引脚。9.6.2 8259A9.6.2 8259A的中断管理方式的中断管理方式一、中断优先权管理一、中断优先权管理1 1完全嵌套方式完全嵌套方式 8259A8259A的中断请求具有固定的优先权排队顺序,的中断请求具有固定的优先权排队顺序,IRIR0 0为为最高优先级,最高优先级,IRIR1 1为次高优先级,依次类推,为次高优先级,依次类推,IRIR7 7为最低为最低优先级。优先级。 2 2特殊全嵌套方式特殊全嵌套方式当处理某一级中断时,如

32、果有同级的中断请当处理某一级中断时,如果有同级的中断请求,那么,也会给予响应,从而实现一种对求,那么,也会给予响应,从而实现一种对同级中断请求的特殊嵌套。同级中断请求的特殊嵌套。特殊全嵌套方式一般用在特殊全嵌套方式一般用在8259A8259A级连的系统级连的系统中。中。 3 3自动循环方式自动循环方式IRIR0 0IRIR7 7的中断轮流具有最高优先权。的中断轮流具有最高优先权。初始优先级队列规定为初始优先级队列规定为 IR IR0 0IRIR1 1IRIR2 2IRIR3 3IRIR4 4IRIR5 5IRIR6 6IRIR7 7如果如果IRIR0 0端正好有中断请求,处理完后端正好有中断请

33、求,处理完后 IRIR1 1IRIR2 2IRIR3 3 IRIR4 4IRIR5 5IRIR6 6IRIR7 7IRIR0 0如果如果IRIR4 4端正好有中断请求,处理完后端正好有中断请求,处理完后 IRIR5 5IRIR6 6IRIR7 7IRIR0 0IRIR1 1IRIR2 2IRIR3 3IRIR4 4 4 4优先级特殊循环方式优先级特殊循环方式 最低优先级是由编程确定的,从而最高优先最低优先级是由编程确定的,从而最高优先级也由此而定。级也由此而定。比如定比如定IRIR5 5最低,则最低,则IRIR6 6最高最高 IRIR6 6IRIR7 7IRIR0 0IRIR1 1IRIR2

34、2IRIR3 3IRIR4 4IRIR5 5 有两种方法:有两种方法:1、普通屏蔽方式。、普通屏蔽方式。2、特殊屏蔽方式。、特殊屏蔽方式。系统正在处理高级中断时,可以响应低级系统正在处理高级中断时,可以响应低级别中断别中断二、中断屏蔽方式二、中断屏蔽方式 三三、8259A8259A中断结束的管理方式中断结束的管理方式三种中断结束方式:三种中断结束方式:自动自动EOI方式方式/INTA清除中断服务寄存器高级别位清除中断服务寄存器高级别位一般一般EOI方式方式程程序序对对8259发发中中断断结结束束命命令令,清清除除中中断断服服务寄存器高级别位务寄存器高级别位特殊特殊EOI方式方式程程序序对对82

35、59发发中中断断结结束束命命令令,清清除除中中断断服服务寄存器指定位务寄存器指定位四、中断触发方式四、中断触发方式电平触发方式电平触发方式以以IR端上出现的端上出现的高电平高电平作为中断请求信号。作为中断请求信号。请求一旦被响应,该高电平信号应及时撤除。请求一旦被响应,该高电平信号应及时撤除。边沿触发方式边沿触发方式以以IR端上出现由端上出现由低电平向高电平的跳变低电平向高电平的跳变作为作为中断请求信号,跳变后高电平一直保持中断请求信号,跳变后高电平一直保持,直到,直到被响应被响应。 五、五、与系统总线的连接方式与系统总线的连接方式1)缓冲方式缓冲方式主主要要用用于于多多片片8259A级级联联

36、的的大大系系统统中中。8259A通通过总线收发器过总线收发器(如如8286)和数据总线相连。和数据总线相连。2)非缓冲方式非缓冲方式主要用于单片主要用于单片8259A或片数不多的或片数不多的8259A级联的级联的系统中。系统中。8259A直接与数据总线相连直接与数据总线相连,9.6.3 8259A9.6.3 8259A的编程与应用的编程与应用8259A的的工工作作方方式式和和操操作作方方式式由由CPU发发命命令令字字进进行行控控制制。分分两两类类初初始始化化命命令令字字ICW和和操操作命令字作命令字OCW。计计算算机机启启动动时时,用用初初始始化化程程序序设设定定ICW,建建立立8259A操操

37、作作的的初初始始状状态态。OCW用用于于动动态态控控制制中中断断,是是在在需需要要改改变变或或控控制制8259A操操作作时时随随时时发发送的。送的。注注意意,当当发发出出ICW或或OCW时时,CPU中中断断申申请请引脚引脚INTR应关闭应关闭(使用使用CLI指令指令)。初始化命令字初始化命令字初始化开始初始化开始级连否级连否触发方式触发方式用用ICW4否否中断类型码中断类型码从片识别码从片识别码特殊嵌套否特殊嵌套否缓冲否缓冲否自动自动EOI否否写写ICW1写写ICW2级连吗?级连吗?需需ICW4?主片吗?主片吗?是是否否写写ICW3(连从片否)(连从片否)是是写写ICW3否否写写ICW4是是结

38、束结束否否 1初始化命令字初始化命令字1)ICW1设置工作方式。设置工作方式。XXXX2)ICW2设置中断类型号。设置中断类型号。中断类型号T7-T38086系统中,只需设置系统中,只需设置中断类型号的高中断类型号的高5位位,低三,低三位由位由8259A根据中断请求来自根据中断请求来自IR0 IR7的哪一个输入端,的哪一个输入端,自动填充(自动填充(000 111)。)。例如,在例如,在PC/XT中中ICW2为为00001000B,则从,则从IR0IR7上引入的各中断请求,其相应的中断类型号为上引入的各中断请求,其相应的中断类型号为08H、09H、0AH、0BH、0CH、0DH、0EH和和0F

39、H。3)ICW3设置级联设置级联只有系统中有级联时,才写入只有系统中有级联时,才写入ICW3。对对于于主主片片,指指明明了了IR0 IR7各各引引脚脚连连接接从从片片的的情情况况,置置1的位表示对应的引脚有从片级联。的位表示对应的引脚有从片级联。对对于于从从片片,用用D2 D0表表示示与与主主片片的的对对应应引引脚脚级级联联,例例如如,若若某某从从片片ICW3的的内内容容为为07H,说说明明该该从从片片的的INT引脚与主片的引脚与主片的IR7相连。相连。 4)ICW4设置设置8259A的工作方式。的工作方式。 2操作命令字操作命令字 系系统统初初始始化化完完成成以以后后,可可以以在在应应用用程

40、程序序中中随随时时向向8259A送送操操作作命命令令字字,以以改改变变8259A的的工工作作方方式式,读读出出8259A内部寄存器的值等。内部寄存器的值等。1)OCW1设置和清除中断屏蔽寄存器设置和清除中断屏蔽寄存器的相应位。的相应位。例如,要屏蔽例如,要屏蔽IR0和和IR1上的中断请求,上的中断请求,OCW1=03H 2)OCW2设置优先级循环方式和中断结束方式。设置优先级循环方式和中断结束方式。3)OCW3功能有三个方面:功能有三个方面:设置和撤消特殊屏蔽方式设置和撤消特殊屏蔽方式设置中断查询方式设置中断查询方式设置对设置对8259A内部寄存器的读出。内部寄存器的读出。查查询询方方式式下下

41、,8259A不不使使用用INT向向CPU发发请请求求,CPU用用软软件件查查询询的的方方法法,确确认认优优先先级级最最高高的的中中断源断源,从而实现对外设的服务。,从而实现对外设的服务。中断查询方式工作过程中断查询方式工作过程:CPU关中断(关中断(IF=0),),先向先向259A发查询命令发查询命令,选择查询方式;再从同选择查询方式;再从同一个地址一个地址读入查询字读入查询字,由该指令产生的,由该指令产生的RD信号信号使使ISR的相应位置的相应位置1。查询字格式查询字格式I-W2W1W0I=1,表示有中断请求,表示有中断请求W2W1W0组成的代码表示优先级最高的中断请求组成的代码表示优先级最

42、高的中断请求CPU读入查询字后,判断其读入查询字后,判断其最高位最高位,若最高位为,若最高位为1,说,说明明8259A的的IR端已有中断请求输入,此时该查询字的端已有中断请求输入,此时该查询字的低低三位三位组成的代码表示了当前中断请求的最高优先级,组成的代码表示了当前中断请求的最高优先级,CPU据此转入相应的中断服务程序。据此转入相应的中断服务程序。 8259A的读操作的读操作在在PC机机中中8259A的的端端口口地地址址为为20H和和21H。常常用用的的读读操操作作有有如下几种。如下几种。(1) 读读出出IRR的的值值:先先向向20H端端口口写写0AH(OCW3 RR=1、RIS=0),再读

43、,再读20H端口。端口。例如:例如:MOVAL,0AH;OCW3=0AHOUT20H,AL;OCW3写入写入8259AINAL,20H;读出;读出IRR内容内容(2) 读读出出ISR的的值值:先先向向20H端端口口写写0BH(OCW3 RR=1、RIS=1),再读,再读20H端口。端口。例如:例如:MOVAL,0BH;OCW3=0BHOUT20H,AL;OCW3写入写入8259AINAL,20H;读出;读出ISR内容内容(3)读读查查询询字字(读读出出最最高高级级别别的的中中断断请请求求IR):先先向向20H端口写端口写0CH(OCW3P=1),再读,再读20H端口。例如:端口。例如:MOVA

44、L,0CH;OCW3=0CHOUT20H,AL;OCW3写入写入8259AINAL,20H;读出查询字内容;读出查询字内容(4)读读IMR的值的值。随时可用奇地址读。随时可用奇地址读IMR的值,并对其作修改。的值,并对其作修改。例例1:INAL,21H;读;读IMRAND AL,7FH;开放;开放IR7中断中断OUT 21H,AL;修改;修改IMR例例2:INAL,21H;读;读IMRORAL,80H;关闭;关闭IR7中断中断OUT21H,AL;修改;修改IMR3 3、82598259应用举例应用举例中断传送方式的设计过程:中断传送方式的设计过程:一、硬件方面:一、硬件方面:根根据据硬硬件件电

45、电路路确确定定芯芯片片地地址址,选选择择中中断断类类型号。型号。二、软件方面:二、软件方面:分主程序和中断子程序分主程序和中断子程序中断子程序:中断子程序:编写中断服务子程序。编写中断服务子程序。 主程序:主程序:1 1、关中断;、关中断;2 2、填写中断入口地址表;填写中断入口地址表;3 3、初始化、初始化8259A8259A及其他编程芯片;及其他编程芯片;4 4、开中断;开中断;例:初始化编程例:初始化编程8259定定义义为为:上上升升沿沿触触发发、单单片片、中中断断类类型型号号C0H C7H、一般一般EOI方式、完全嵌套方式、屏蔽方式、完全嵌套方式、屏蔽IR0IR6;地址地址84H,86

46、HINTRRUPSEGMENTAT0ORG 0C7H*4DDINTR_IR7MAINSEGMENTCLIMOV AL,00010011BOUT84H,ALMOV AL,0C0HOUT86H,ALMOV AL,00000001BOUT86H,ALMOV AL,01111111BOUT86H,ALSTIINTR_IR7:MOVAL,20HOUT 84H,ALIRET例如,例如,PC/AT机中的机中的8259A主主片片定定义义为为:上上升升沿沿触触发发、在在IR2级级联联从从片片、有有ICW4、非非AEOI方方式式、中中断断类类型型号号08H 0FH、一一般般的的中中断断嵌嵌套套方方式式、端口地址是

47、端口地址是20H、21H;从从片片定定义义为为:上上升升沿沿触触发发、级级联联到到主主片片的的IR2、有有ICW4、非非AEOI方方式式、中中断断类类型型号号为为70H 78H、一一般般的的中中断断嵌嵌套套方式、端口地址是方式、端口地址是A0H、A1H。初始化过程如下:。初始化过程如下:初始化主片初始化主片MOV AL,11HOUT20H,ALMOV AL,08HOUT21H,ALMOV AL,04HOUT21H,ALMOV AL,01HOUT21H,AL初始化从片初始化从片MOV AL,11HOUT0A0H,ALMOV AL,70HOUT0A1H,ALMOV AL,02HOUT0A1H,AL

48、MOV AL,01HOUT0A1H,AL9.7 PC9.7 PC机硬件中断机硬件中断9.7.1 9.7.1 中断设置中断设置 在在PC/XTPC/XT机机中中,有有一一片片8259A8259A中中断断控控制制芯芯片片,可管理可管理8 8个中断源。个中断源。在在PC/ATPC/AT机机中中有有两两片片8259A8259A中中断断控控制制芯芯片片,可管理可管理15个中断源。个中断源。9.7 PC9.7 PC机硬件中断机硬件中断优先权优先权主片主片:IR0,IR1IR0,IR1从片:从片:IR0,IR1,IR2,IR3,IR4,IR4,IR5,IR6,IR7IR0,IR1,IR2,IR3,IR4,I

49、R4,IR5,IR6,IR7 主片:主片:IR3,IR4,IR5,IR5,IR7IR3,IR4,IR5,IR5,IR7中断类型号中断类型号主片:主片:00H00H07H 07H 从片:从片:70H70H77H77H9.7 PC9.7 PC机硬件中断机硬件中断9.7.2 PC9.7.2 PC机中断资源的使用机中断资源的使用一、对中断屏蔽寄存器的操作一、对中断屏蔽寄存器的操作 主主片片8259A8259A中中断断屏屏蔽蔽寄寄存存器器的的端端口口地地址址是是21H21H。某某位位为为0 0表表示示允允许许中中断断,为为1 1表表示示屏屏蔽蔽( (禁禁止止) )。 从从片片8259A8259A中中断断

50、屏屏蔽蔽寄寄存存器器的的端端口口地地址址是是A1H A1H 例如,只允许键盘中断,可设置如下中断屏蔽字:例如,只允许键盘中断,可设置如下中断屏蔽字:MOVAL,11111101BOUT21H,AL如果系统重新增设键盘中断则可用下列指令实现:如果系统重新增设键盘中断则可用下列指令实现:INAL,21HANDAL,11111101BOUT21H,AL9.7 PC9.7 PC机硬件中断机硬件中断二、中断结束命令二、中断结束命令在中断返回之前,还应给在中断返回之前,还应给8259A8259A的中断命令寄存器的中断命令寄存器发出发出中断结束命令中断结束命令EOIEOI,可采用一般的,可采用一般的EOIE

51、OI方式,端方式,端口地址为口地址为20H20H: MOV AL,20HMOV AL,20HOUT 20H,ALOUT 20H,AL从片从片8259A8259A中断命令寄存器的端口地址是中断命令寄存器的端口地址是A0HA0H 9.7 PC9.7 PC机硬件中断机硬件中断9.7.3 9.7.3 中断举例中断举例使使8255A8255A的的A A口的口的LEDLED依次点亮依次点亮1 1秒。秒。8255A8255A方式方式0 0输出。方式控制字输出。方式控制字10001011B10001011B 。端。端口地址口地址80H-86H,80H-86H,82538253通道通道0 0方式方式0,0,作定

52、时作定时1 1秒中断源,秒中断源,OUT0OUT0接接82598259从片的从片的IR2IR2,中断类型号,中断类型号72H72H。方式控制字。方式控制字00110001B00110001B 。端口地址。端口地址88H-8EH88H-8EH 。DATASEGMENTSHIFT_XDB01HDATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODECLICLDMOVAX,0MOVES,AXMOVDI,4*72HMOVAX,OFFSETINTTPROCSTOSWMOVAX,SEGINTTPROCSTOSWINAL,21H;8259主片开主片开IR2中断中断ANDAL,1111

53、1011BOUT21H,ALINAL,0A1H;8259从片开从片开IR2中断中断ANDAL,11111101BOUT0A1H,ALMOVAL,10001011B;8255OUT86H,ALMOVAL,00HOUT80H,ALMOVAL,000110001B;8253OUT8EH,ALMOVAL,00HOUT88H,ALMOVAL,10HOUT88H,ALSTIINTPROCPROCFORPUSH AXPUSHFMOV AL,SHIFT_XOUT80H,ALROLAL,1MOV SHIFT_X,AL;8253MOV AL,20HOUT0A0H,ALOUT20H,ALPOPFPOPAXIRETINTPROCENDPMOVAL,000110001BOUT8EH,ALMOVAL,00HOUT88H,ALMOVAL,10HOUT88H,AL作业791113

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号