《微机原理与应用教学资料》第七章中断(课件).ppt
《《微机原理与应用教学资料》第七章中断(课件).ppt》由会员分享,可在线阅读,更多相关《《微机原理与应用教学资料》第七章中断(课件).ppt(55页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1第七章:中断操作第七章:中断操作和中断系统和中断系统7-1 概述概述7-2中断处理过程中断处理过程7-3 中断优先级和中断嵌套中断优先级和中断嵌套7-4 可编程中断控制器可编程中断控制器8259A电气学院学习部资料库27-1 概述概述实时实时操作操作 外外设设 CPU,再再CPU 外外设设例例:外外设设键键盘盘,原原为为空空闲闲状状态态,现现开开始始工工作作,CPU如如何何知知道道键盘键盘何何时时工作呢?工作呢?两种方法两种方法:a.每隔一段每隔一段时间时间采采样样b.中断中断请请求求 显显然,中断然,中断请请求的方法求的方法较较合理合理中中断断定定义义:当当有有外外部部数数据据输输入入或或
2、内内部部异异常常时时,发发送送请请求求给给CPU,CPU暂暂时时停停止止正正在在运运行行的的程程序序,处处理理中中断断结结束束后后,返回返回继续继续运行先前的程序。运行先前的程序。两个最重要的特点两个最重要的特点:可返回性,可返回性,现场现场保保护护发送请求发送请求控制信号控制信号断点保护断点保护电气学院学习部资料库31、中断源:引起程序中断的事件,内部中断、外部中断、中断源:引起程序中断的事件,内部中断、外部中断2、中断响应:对外部中断而言,、中断响应:对外部中断而言,INTA对对INTR的响应的响应3、中断向量,中断向量表中断向量,中断向量表 中断向量中断向量:中断服中断服务务子程序的入口
3、地址(子程序的入口地址(逻辑逻辑地址)地址)中断中断类类型型码码:中断向量的:中断向量的编编号。号。0-255,与中断向量是一一,与中断向量是一一对应对应的的 中断向量表中断向量表:内存中开出的一定区域,用来存:内存中开出的一定区域,用来存储储中断向量中断向量一、中断概念一、中断概念CS:IP电气学院学习部资料库4 1 1个中断向量必个中断向量必须须用用4 4个存个存储单储单元来存元来存储储(1 1个个地地址址CS CS:IPIP,分分别别有有1616位位,而而存存储储单单元元内内容容8 8位位,所所以需要以需要4 4个)个)地址低地址低高高 如右如右图图所示存放所示存放 CPU在内存中开出在
4、内存中开出1024个字节来存储中断向量,即个字节来存储中断向量,即00000H00000H003FFH 003FFH (中断向量表,(中断向量表,内存中内存中0段,段,1K1K字字节节)IP 低低8IP 高高8CS 低低8CS 高高8n n+1 n+2 n+3电气学院学习部资料库5例例1 1:中断:中断类类型号型号 中断向量地址中断向量地址 中断向量中断向量 4 10H4 10H13H13H 32H C8H 32H C8HCBHCBH例例2 2:中断:中断类类型号型号64D=40H64D=40H,中断操作,中断操作过过程:程:中断向量地址中断向量地址64D*4=256D=00100H64D*4
5、=256D=00100H。若中断向量中内容如若中断向量中内容如图图 则则CS CS:IP=1312 IP=1312:11101110转转向中断服向中断服务务程序程序中断返回到中断返回到INT 40HINT 40H指令的下一条指令指令的下一条指令10H11H12H13H00100H 00101H 00102H 00103H内容内容电气学院学习部资料库6各个外各个外设设的中断服的中断服务务子程序的入口地址集中在一个表子程序的入口地址集中在一个表(中断向量表)中,(中断向量表)中,CPU响响应应中断中断时时,根据中断源提供,根据中断源提供的中断的中断类类型号型号 i,i4在中断向量表在中断向量表查查
6、找找对应对应的中断的中断服服务务子程序子程序 i 的入口地址,内容装入的入口地址,内容装入CS、IP,转转而而执执行行中断服中断服务务子程序子程序 i电气学院学习部资料库74、中断优先级:、中断优先级:当同时有多个中断请求,先响应优先级高的当同时有多个中断请求,先响应优先级高的当一个中断服务程序正在执行时,又一个中断源申请中断:当一个中断服务程序正在执行时,又一个中断源申请中断:高不睬低,停低转高高不睬低,停低转高 中断嵌套中断嵌套5、中断屏蔽、中断屏蔽中断源中断源硬件屏蔽硬件屏蔽CPU的的IFCPU电气学院学习部资料库8二、中断分二、中断分类类1 1、内部中断(、内部中断(软软件中断)件中断
7、)中断指令中断指令 INT nINT n n n中断中断类类型型码码 n=0n=0255255由由CPUCPU的运算的运算错误错误引起的:引起的:a.a.除法除法错错中断:中断:INT 0INT 0(除数(除数为为零或商超零或商超过过范范围围,自,自动产动产生中断)生中断)b.b.溢出中断:溢出中断:INT 4 INT 4 (当(当OF=1OF=1,且在程序中有,且在程序中有INTOINTO指令,指令,产产生中断)生中断)由由调试调试程序程序debugdebug设设置的中断置的中断 a.a.单单步中断:步中断:INT 1 INT 1(当(当TF=1TF=1,每,每执执行完一条指令,行完一条指令
8、,产产生生中断)中断)b.b.断点中断:断点中断:INT 3 INT 3(利用(利用G G命令设置断点,当程序执行到断点,产生中断)命令设置断点,当程序执行到断点,产生中断)电气学院学习部资料库9特点:特点:由指令产生,中断类型码包括在指令中,不需要取中断由指令产生,中断类型码包括在指令中,不需要取中断类型码类型码是可预见性的,是人为预先安排,中断处理子程序与主是可预见性的,是人为预先安排,中断处理子程序与主程序间有数据的传送。而硬件中断,两者之间则是相互程序间有数据的传送。而硬件中断,两者之间则是相互独立独立电气学院学习部资料库102 2、外部中断(硬件中断)、外部中断(硬件中断)不可屏蔽中
9、断不可屏蔽中断NMINMI a.a.上升沿触上升沿触发发 b.CPU b.CPU必必须须予以响予以响应应,不能用,不能用IFIF屏蔽屏蔽 c.c.INT 2INT 2,中断,中断类型码为类型码为2,中断向量固定存放于中断向量固定存放于00008H00008H 0000BH0000BH中中 d.d.用于用于发发生重大故障生重大故障时时申申请请中断中断可屏蔽中断可屏蔽中断INTRINTR a.a.电电平触平触发发 b.b.是否响是否响应应,与,与IFIF有关有关 c.c.中断中断类类型号由硬件型号由硬件连线连线决定决定 d.d.一般事件申一般事件申请请中断中断电气学院学习部资料库11CPU内部规定
10、的优先级别:内部规定的优先级别:内部中断(除法错,溢出,内部中断(除法错,溢出,INT n)NMIINTRTF单步中断单步中断 高高 低低电气学院学习部资料库127-2 中断处理过程中断处理过程一、一、CPU响应中断的过程响应中断的过程参见课本参见课本P268 流程图流程图CPUCPU自自动动完成的工作完成的工作STEP 1STEP 1STEP 2STEP 2STEP 3STEP 3STEP STEP 4 4STEP STEP 5 5STEP 6STEP 6STEP 7STEP 7握手握手信号信号 取中取中断类断类型码型码FLAGSFLAGS入栈入栈清除清除IF IF、TFTFCSCS入栈入栈
11、IPIP入栈入栈中断向中断向量偏移量偏移地址装地址装入入IPIP中断向中断向量段地量段地址装入址装入CSCSINTR才有才有CS、IP为被中断程序为被中断程序的下一条指令的地址的下一条指令的地址电气学院学习部资料库13内部中断、内部中断、NMINMI中断、中断、单单步中断,均无步中断,均无须须取中断取中断类类型型码码。事先由系事先由系统约统约定好了定好了断点保断点保护护(可返回可返回)由由CPUCPU自自动动完成;完成;现场现场保保护护由由编编程完成程完成 INT转入中断子程序和转入中断子程序和CALL调用子程序比较,两者不同处:调用子程序比较,两者不同处:多了标志(多了标志(FLAGS)入栈
12、)入栈 CPU自动关中断。若想在中断响应过程中,允许中断嵌自动关中断。若想在中断响应过程中,允许中断嵌套,必须在子程序中开中断套,必须在子程序中开中断(STI)电气学院学习部资料库14二、中断二、中断处处理子程序理子程序开开中中断断:响响应应中中断断时时,CPUCPU已已自自动动关关中中断断,为为允允许许中中断断嵌套,需重开中断嵌套,需重开中断关关中中断断:恢恢复复现现场场时时不不允允许许被中断被中断执行执行IRET指令指令:v从堆栈中依次弹出程序断从堆栈中依次弹出程序断点点,送到送到IP和和CS寄存器中寄存器中v弹出弹出PSW的内容的内容(恢复标(恢复标志、开中断);志、开中断);v按按CS
13、:IP的值使的值使CPU返回返回断点,继续执行原来被中断点,继续执行原来被中断的程序。断的程序。保护中断现场保护中断现场PUSH 开中断开中断 中断处理具体内容中断处理具体内容关中断关中断恢复中断现场恢复中断现场POP中断返回指令中断返回指令IRET电气学院学习部资料库151 1、中断中断类类型型码码的的获获取取除除法法错错、单单步步、NMINMI、断断点点中中断断、溢溢出出:由由CPUCPU自自动动提提供供,分分别为别为0 04 4软软中断指令中断指令 INT n INT n :nn中断中断类类型号,由指令提供型号,由指令提供外部中断外部中断INTR INTR:中断:中断类类型号由可型号由可
14、编编程控制器程控制器8259A8259A获获得得2 2、中断向量的中断向量的设设置置预预置:置:AL=AL=中断中断类类型号型号 DS DS:DX=DX=中断服中断服务务程序入口地址程序入口地址 AH=25H AH=25H执执行:行:INT 21H INT 21H 三、中断向量三、中断向量电气学院学习部资料库16四、中断时序(对可四、中断时序(对可屏蔽中断而言)屏蔽中断而言)INTRINTACPU AD0AD7INTINTA8259D0D7 INTAT1 T2 T3T4T1 T2T3第一个第一个INTA周期周期T4中断类型号中断类型号nD0D7电气学院学习部资料库177-3 中断中断优先级和优
15、先级和中断嵌套中断嵌套一、可屏蔽中断一、可屏蔽中断INTRINTR优先级的设定优先级的设定软件查询:在中断处理子程序中安排查询,查询程序软件查询:在中断处理子程序中安排查询,查询程序的次序,决定了优先级的高低。见后页的次序,决定了优先级的高低。见后页 最先查询的优先级最高最先查询的优先级最高简单硬件:菊花链法,简单硬件:菊花链法,越靠近越靠近CPUCPU的优先级越高。的优先级越高。图图7-87-8专用硬件:专用硬件:8259A8259A,可编程的,可编程的电气学院学习部资料库18查询方式查询方式INTR0中断程序中断程序输入状态输入状态D0=1?D1=1?INTR1中断程序中断程序INTR0I
16、NTR1INTRn INTR0CS+INTR CPU D0 D1INTR174LS244电气学院学习部资料库19菊花链电路菊花链电路+INTAINTR中断回答中断回答中断请求中断请求电气学院学习部资料库20二、二、中断嵌套中断嵌套 图图7-10同时申请中断时,响应高优先级的,正在执行中断时,高同时申请中断时,响应高优先级的,正在执行中断时,高不睬低,停低转高不睬低,停低转高中断程序在保护现场后,须开中断,才能实现嵌套。中断程序在保护现场后,须开中断,才能实现嵌套。中断服务结束后,须用中断服务结束后,须用EOI指令清除指令清除8259A中中ISR的对应的对应位,使低级中断申请得以响应,然后紧接着
17、须有位,使低级中断申请得以响应,然后紧接着须有IRET,返回断点,返回断点电气学院学习部资料库217-4 中断优先级控制器中断优先级控制器8259A8259A特点:特点:1.一片一片8259A可管理可管理8个中断源,通过级连,可用个中断源,通过级连,可用9片组成片组成64级主从式中断管理系统。级主从式中断管理系统。2.可编程,使用灵活可编程,使用灵活3.每一个中断可通过编程单独屏蔽或允许中断每一个中断可通过编程单独屏蔽或允许中断4.可提供中断类型号给可提供中断类型号给CPU电气学院学习部资料库22一、一、8259A引腿信号引腿信号1、CS:片选。通过译码电路与:片选。通过译码电路与CPU高位地
18、址总线相连,即高位地址总线相连,即与译码电路的输出端相连与译码电路的输出端相连2、A0:片内选址。连:片内选址。连CPU低位地址线,用于选择低位地址线,用于选择8259A的的两个端口两个端口3、RD、WR:连:连CPU的的RD、WR(最小模式)(最小模式)连连8288总线控制器(最大模式)总线控制器(最大模式)4、D7D0:数据总线:数据总线5、INT:连:连CPU的的INTR端,向端,向CPU发出中断请求信号发出中断请求信号电气学院学习部资料库236、INTA:连:连CPU的的INTA(最小模式),(最小模式),CPU给给8259A的中断响应信号,两个负脉冲的中断响应信号,两个负脉冲 响应中
19、断响应中断 读取中断类型号读取中断类型号 连连8288总线控制器(最大模式)总线控制器(最大模式)7、IR7-IR0:连连外设外设的中断请求信号线,的中断请求信号线,中断级联时,连从片中断级联时,连从片INT端端8、CAS2CAS0 与与级联有关级联有关 SP/EN 级联:级联:CAS2CAS0 主片:输出主片:输出 从片:输入从片:输入 SP/EN 主片:主片:SP=1 从片:从片:SP=0 单片单片8259A8259A时,接高电平时,接高电平电气学院学习部资料库24二、二、8259A编程结构及工作原理编程结构及工作原理数据总线缓冲器:写入控制字,读出数据总线缓冲器:写入控制字,读出8259
20、A8259A状态,送出中状态,送出中断类型号,接断类型号,接D D0 0-D-D7 7 请求请求IRRIRR:锁存外部中断请求信号:锁存外部中断请求信号IRIR0 0IRIR7 7,有中断请求时,有中断请求时,对应位置对应位置1 1,中断请求被响应时,对应位复位,中断请求被响应时,对应位复位屏蔽屏蔽IMRIMR:设置是否屏蔽:设置是否屏蔽IRRIRR中相应位的中断请求,置中相应位的中断请求,置1 1则屏蔽则屏蔽优先级判别优先级判别PRPR:管理、识别中断源的优先级别。完全嵌套:管理、识别中断源的优先级别。完全嵌套方式下,方式下,IRIR0 0最高最高中断服务寄存器中断服务寄存器ISRISR:存
21、放:存放正在处理中的所有正在处理中的所有中断请求信中断请求信号。中断嵌套时,多位被置号。中断嵌套时,多位被置1 1,为以后的中断优先级裁决,为以后的中断优先级裁决提供依据提供依据 IRR IMR IRR IMR对其进行过滤对其进行过滤 PRPR比较优先级比较优先级 ISRISR外设中断请求外设中断请求电气学院学习部资料库25数据数据 缓冲器缓冲器读读/写写 控制控制 电路电路级联级联 缓冲器缓冲器/比较器比较器中断服务中断服务寄存器寄存器ISR优先级优先级 裁决器裁决器 PR中断请求中断请求寄存器寄存器IRR控控 制制 电电 路路中中 断断 屏屏 蔽蔽 寄寄 存存 器器 IMR INTINTD
22、7D0A0CAS0CAS1CAS2IR08259A8259A内部总线内部总线INTAINTACECERDRDWRWRIR1IR6IR7SP/ENSP/EN电气学院学习部资料库26控制电路控制全过程:控制电路控制全过程:根据根据IRR的置位情况和的置位情况和IMR的设置情况,通过的设置情况,通过PR判定优判定优先级,选出需处理的中断请求信号,送入先级,选出需处理的中断请求信号,送入ISR向向CPU发送发送INT中断申请中断申请 INTR接收接收CPU发出的第一个响应发出的第一个响应INTA负脉冲,负脉冲,ISR相应位置相应位置1,IRR相应位清相应位清0 INTA第二个负脉冲时,向第二个负脉冲时
23、,向CPU送出中断类型码,使送出中断类型码,使CPU转入中断程序,最后将转入中断程序,最后将ISR相应位清相应位清0电气学院学习部资料库277-5 8259A7-5 8259A的编程方法的编程方法两类命令字:初始化命令字两类命令字:初始化命令字ICW ICW 操作命令字操作命令字OCWOCW初始化命令字初始化命令字ICW1ICW1ICW4ICW4:由初始化程序设置的由初始化程序设置的 初始化命令字一经设定,在系统工作过程中将不再改变初始化命令字一经设定,在系统工作过程中将不再改变 初始化命令字必须顺序填写初始化命令字必须顺序填写 ICW1 ICW1、ICW2ICW2必须预置,必须预置,ICW3
24、ICW3、ICW4ICW4不一定,是否设置体不一定,是否设置体现在现在ICW1ICW1电气学院学习部资料库28操作命令字操作命令字OCW1OCW1OCW3OCW3:由应用程序设定,用来对中断处理过程进行控制由应用程序设定,用来对中断处理过程进行控制在系统运行过程中,操作命令字可以重新设置在系统运行过程中,操作命令字可以重新设置设置设置OCWOCW,次序上没有严格要求,次序上没有严格要求 (OCW2OCW2命令字定义中断方式时,通常放在中断服务子命令字定义中断方式时,通常放在中断服务子程序中)程序中)电气学院学习部资料库29一、初始化命令字一、初始化命令字ICWICWICW1ICW1芯片控制初始
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与应用教学资料 微机 原理 应用 教学 资料 第七 中断 课件
限制150内