好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

微机原理与接口技术7.中断向量表已看ppt课件.ppt

53页
  • 卖家[上传人]:s9****2
  • 文档编号:591908624
  • 上传时间:2024-09-18
  • 文档格式:PPT
  • 文档大小:1,014.50KB
  • / 53 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第七讲第七讲 中断技术中断技术 中断之概念 “中断〞意思中断〞意思为打断操作的打断操作的顺序CPU正在正在执行程行程序,有个序,有个“中断〞打断了指令的正常中断〞打断了指令的正常执行行顺序,使得序,使得CPU中止正在中止正在执行的程序行的程序转而去而去执行被称行被称为中断效力程中断效力程序〔序〔ISR〕的其它程序〕的其它程序 中断之目的计算机系统中引入中断的目的主要有两个:计算机系统中引入中断的目的主要有两个:数据的传送;数据的传送;异常的处置;异常的处置; 中断之种类n外部中断:来自处置器外部的中断,如键盘引起外部中断:来自处置器外部的中断,如键盘引起的中断;的中断;n内部中断:由处置器电路或中断指令产生的中断,内部中断:由处置器电路或中断指令产生的中断,如除如除0中断,中断,int指令等 8086的中断向量表n存放各存放各类中断的中断效力程序的入口地址中断的中断效力程序的入口地址CS:IP〔段〔段CS和偏移和偏移IP〕〕——中断向量中断向量 n表的地址位于内存的表的地址位于内存的00000H~~003FFH,大小,大小为1KB,共,共256个中断向量个中断向量(中断向量表中断向量表)n每个中断向量占用每个中断向量占用4 Bytes,低字,低字为段内偏移段内偏移IP,高,高字字为段基址段基址CSn根据中断根据中断类型号型号n获得中断效力程序入口的方法得中断效力程序入口的方法: 中中断向量在断向量在IVT中的存放地址=中的存放地址=4×nn (中断向量地址中断向量地址) n初始化初始化——将中断效力将中断效力程序的入口地址放入向程序的入口地址放入向量表量表n 例:中断例:中断类型型码n为48H的中断的中断处置子程序置子程序的名字的名字为int48h.高高8位位低低8位位 内部中断的种类 除法溢出:类型号除法溢出:类型号0,执行除法指令时,假设发现除数为,执行除法指令时,假设发现除数为0或商大于目的操作数所能表达的范围时产生。

      或商大于目的操作数所能表达的范围时产生单步中断:类型号单步中断:类型号1,,TF=1时产生〔当前指令需执行完〕时产生〔当前指令需执行完〕断点中断:类型号断点中断:类型号3,这是一个软件中断,即,这是一个软件中断,即INT 3指令普通用于程序调试,在断点中断效力程序中,可显示有关普通用于程序调试,在断点中断效力程序中,可显示有关存放器、存储单元等内容,以便程序员分析到断点为止程存放器、存储单元等内容,以便程序员分析到断点为止程序能否正确序能否正确溢出中断:类型号溢出中断:类型号4,这是一个软件中断,即,这是一个软件中断,即INTO指令 假设算术指令的执行结果发生举出〔假设算术指令的执行结果发生举出〔OF=1〕,〕,那么执行指令后立刻产生一个中断类型码为那么执行指令后立刻产生一个中断类型码为4的中断软件中断:即软件中断:即INT n指令,类型号指令,类型号n(0-255) 非屏蔽中断:类型号非屏蔽中断:类型号2,不可用软件屏蔽,,不可用软件屏蔽,CPU必需呼应它必需呼应它可屏蔽中断:类型号可屏蔽中断:类型号n由由PIC(8259)提供,提供,IF=1时时CPU才干呼应。

      才干呼应外部中断的种类 与中断有关的控制线为:与中断有关的控制线为:NMI和和INTR、、INTANMI:上升沿出发上升沿出发INTR:高电平出发高电平出发INTA:可屏蔽中断的呼应信号可屏蔽中断的呼应信号与(外部)中断有关的引脚 中断过程n五个步骤:五个步骤:n中断恳求中断恳求n中断判优中断判优/排队排队n (有时还要进展中断源识有时还要进展中断源识别别)n中断呼应中断呼应n中断效力中断效力/处置处置n中断前往中断前往恳求恳求排队排队呼应呼应效力效力/ 处处置置前往前往IRET 硬硬/ 软软 INT n 主程序主程序中断效力程序中断效力程序以下以外部中断为主引见这五个步骤以下以外部中断为主引见这五个步骤 NMIINTRn中断中断逻辑逻辑软件中断指令软件中断指令溢出中断溢出中断除法错除法错单步中断单步中断非屏蔽中断恳求非屏蔽中断恳求n中断中断控控n制器制器n8259AnPIC8086/8088 CPU8086/8088 CPU内部逻辑内部逻辑断点中断断点中断8086/8088中断源类型中断源类型可可屏屏蔽蔽中中断断请请求求n43012n 内部内部/软件中断恳求软件中断恳求中断恳求中断恳求\排队排队\屏屏蔽蔽INTA内部排队内部排队中断开关中断开关外部外部/硬件中断恳硬件中断恳求求DB中断指令中断指令 INT n软件软件硬件硬件〔〔n=0~255〕〕 中断源的识别n8088/8086系统采用中断类型码系统采用中断类型码n来识别不同的中断来识别不同的中断源。

      每个中断源都有一个与它相对应的中断类型码源每个中断源都有一个与它相对应的中断类型码n n溢出、断点、除法溢出、单步、非屏蔽中断的类型码溢出、断点、除法溢出、单步、非屏蔽中断的类型码为固定值〔为固定值〔4、、3、、0、、1、、2〕〕n软件中断的类型码由指令软件中断的类型码由指令INT n 给出〔给出〔n〕〕n可屏蔽中断的类型码由可屏蔽中断的类型码由PIC〔〔8259〕给出〔〕给出〔n〕〕nCPU呼应呼应INTR中断时,会产生两个中断呼应总线周期中断时,会产生两个中断呼应总线周期INTA,要求,要求PIC在第在第2个中断呼应总线周期把中断类个中断呼应总线周期把中断类型码型码 n 放到数据总线上,供放到数据总线上,供CPU读入 中断优先级背景背景:系统有多个终端,而系统有多个终端,而CPU同一个时同一个时辰只能呼应一个中断,为理处理这个辰只能呼应一个中断,为理处理这个矛盾应按中断的轻重缓急来确定中断矛盾应按中断的轻重缓急来确定中断的优先级别的优先级别. 8088/8086系统中各中断的优先级n优先级从高到低顺序如下:优先级从高到低顺序如下:n软件中断、内部中断软件中断、内部中断 (除单步中断外除单步中断外)nNMInINTRn单步中断单步中断高高低低 中断判优n中断中断优先先级控制要控制要处置两种情况:置两种情况:n对同同时产生的中断:生的中断:应首先首先处置置优先先级别较高的中断;高的中断;假假设优先先级别一一样,那么按先来先效力的原那么,那么按先来先效力的原那么FIFO处置;置;n对非同非同时产生的中断:低生的中断:低优先先级别的中断的中断处置程序允置程序允许被高被高优先先级别的中断源所中断的中断源所中断——即允即允许中断嵌套。

      中断嵌套n通常将中断判通常将中断判优与中断源与中断源识别合并在一同合并在一同进展展处置nx86系系统中,中,这项义务由由PIC(8259)和和CPU(8086/8088)共同完成共同完成 CPU呼应中断的条件内部中断恳求:直接转入中断周期,由内部中断恳求:直接转入中断周期,由内部硬件自动执行预定的操作内部硬件自动执行预定的操作外部中断恳求:中断屏蔽触发器开放;外部中断恳求:中断屏蔽触发器开放;CPU内部是中断开放的;没有更高级内部是中断开放的;没有更高级的中断恳求正在被呼应或正在发出;的中断恳求正在被呼应或正在发出;CPU现行指令终了;现行指令终了; 中断处置过程 在满足中断呼应条件以后,在满足中断呼应条件以后,CPU就呼应中断恳求,就呼应中断恳求,并自动关中断,然后进入中断效力程序,在中断效力程并自动关中断,然后进入中断效力程序,在中断效力程序中要完成以下任务:序中要完成以下任务:维护现场维护现场开中断开中断完成输入输出或异常处置的效力程序完成输入输出或异常处置的效力程序关中断关中断恢复现场恢复现场开中断开中断中断前往中断前往 8086/8088 CPU的中断呼应过程 n内部中断呼内部中断呼应过程程 ::n无无INTA周期周期n中断中断类型型码固定固定(0、、1、、3、、4)或由指令或由指令给出出(n)n呼呼应过程主要步程主要步骤::n①① PUSH FLAGSn ②② IF=TF=0(关可屏蔽中断和关可屏蔽中断和单步步中断中断)n③③ PUSH CSn ④④ PUSH IPn⑤⑤ 取中断向量送入取中断向量送入IP’和和CS’PUSH CS/IP/FLAGSJMP CS’:IP’ 中断呼应过程〔续〕n外部中断呼外部中断呼应过程程n非屏蔽中断非屏蔽中断NMI,中断,中断类型型码为固定固定(2)n 与内部中断呼与内部中断呼应过程程类似似 n可屏蔽中断可屏蔽中断INTRn ①① INTA〔〔1〕〕PIC进展展优先先级排排队判判优处置置n ②② INTA〔〔2〕〕PIC把中断把中断类型型码n放到放到DB上,上,CPU读入入n ③③ PUSH FLAGn ④④ IF=TF=0(关可屏蔽中断和关可屏蔽中断和单步中步中断断)n ⑤⑤ PUSH CSn ⑥⑥ PUSH IPn ⑦⑦ 取中断向量送入取中断向量送入IP’和和CS’与内部中断一样与内部中断一样 可编程中断控制器8259AnPIC,,Programmable Interrupt Controllern可对可对8个中断源实现优先级控制个中断源实现优先级控制 (单个管单个管8个个)n 可扩展至对可扩展至对64个中断源实现个中断源实现优先级控制优先级控制(9个管个管64个个) n可编程设置不同任务方式可编程设置不同任务方式(多套多套管理方案管理方案)n根据中断源向根据中断源向x86提供不同中断提供不同中断类型码类型码n(来访者来访者1人人1号号)n引脚分配及功能见右图引脚分配及功能见右图8259A 8259A内部构造 8259A逻辑构造及衔接 8259A的内部构造n8259A的内部构造的内部构造n中断恳求存放器中断恳求存放器IRRn保管从保管从IR0~~IR7来的中断恳求信号,某位来的中断恳求信号,某位=1表示对应的表示对应的IRi有有中断恳求中断恳求 n中断效力存放器中断效力存放器ISR n保管一切正在效力的中断源,某位保管一切正在效力的中断源,某位=1表示对应的表示对应的IRi中断正在被中断正在被效力效力 n中断屏蔽存放器中断屏蔽存放器IMRn存放中断屏蔽字,某位存放中断屏蔽字,某位=1表示对应的表示对应的IRi输入被屏蔽输入被屏蔽 n中断优先权判别电路中断优先权判别电路 n确定能否向确定能否向CPU发出中断恳求,中断呼应时确定发出中断恳求,中断呼应时确定ISR的哪位应置的哪位应置位及把相应中断的类型码放到数据总线上位及把相应中断的类型码放到数据总线上 8259A的任务过程n8259A对中断恳求的处置过程如下:对中断恳求的处置过程如下:n当某当某IRi有效时,有效时,IRR相应位置相应位置1n假设有效的假设有效的IRi未被屏蔽,那么向未被屏蔽,那么向CPU发出中断恳求发出中断恳求INTn检测到第检测到第1个个INTA信号后,置信号后,置ISRi=1,,IRRi=0 n检测到第检测到第2个个INTA信号后,把信号后,把ISRi=1中最高优先级的中最高优先级的中断类型码中断类型码 n 放到放到DB上上n假设任务在假设任务在AEOI方式,在第方式,在第2个个INTA终了时,使终了时,使ISRi复位;否那么由复位;否那么由CPU发出发出EOI命令使命令使ISRi复位复位 8259A的任务方式n8259A的任务方式有如下几类:的任务方式有如下几类:n中断优先方式与中断嵌套中断优先方式与中断嵌套n中断终了处置方式中断终了处置方式 n屏蔽中断源的方式屏蔽中断源的方式n中断触发方式中断触发方式n级联任务方式级联任务方式 中断优先方式与中断嵌套n中断优先级控制方式中断优先级控制方式 :固定优先级和循环优固定优先级和循环优先级先级n固定优先级方式固定优先级方式n一切中断恳求一切中断恳求IRi的中断优先级固定不变的中断优先级固定不变n优先级陈列顺序可编程改动优先级陈列顺序可编程改动n加电后加电后8259A的默许方式,默许优先级顺序的默许方式,默许优先级顺序从高到低为从高到低为IR0~~IR7IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR07654321032107654最低级最高级最高级最低级优先级优先级IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0默许优先级默许优先级优先级可编程改动优先级可编程改动 中断优先方式与中断嵌套〔续〕n循环优先级方式循环优先级方式 n中断源轮番处于最高优先级,即自动中断优中断源轮番处于最高优先级,即自动中断优先级循环先级循环n初始优先级顺序可用编程改动初始优先级顺序可用编程改动n某中断恳求某中断恳求IRi被处置后,其优先级别自动被处置后,其优先级别自动降为最低,原来比它低一级的中断上升为最降为最低,原来比它低一级的中断上升为最高级高级 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR07654321021076543最低级最高级最高级最低级ISR内容内容IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0IR4的效力终了以前的效力终了以前0101000001000000IR4的效力终了以后的效力终了以后ISRi 中断优先方式与中断嵌套〔续〕n中断嵌套方式中断嵌套方式n在中断处置过程中允许被更高优先级的事件所中断称为在中断处置过程中允许被更高优先级的事件所中断称为中断嵌套。

      中断嵌套8259A有两种中断嵌套方式:有两种中断嵌套方式:n普通全嵌套方式〔默许方式〕普通全嵌套方式〔默许方式〕 n一中断正被处置时,只需更高优先级的事件可以打一中断正被处置时,只需更高优先级的事件可以打断当前的中断处置过程而被效力断当前的中断处置过程而被效力n特殊全嵌套方式特殊全嵌套方式 n一中断正被处置时,允许同级或更高优先级的事件一中断正被处置时,允许同级或更高优先级的事件可以打断当前的中断处置过程而被效力可以打断当前的中断处置过程而被效力n注注: 特殊全嵌套仅用于多个特殊全嵌套仅用于多个8259A级连时的主级连时的主8259A,,n 而不能用于从属而不能用于从属8259A或单或单8259A系统 中断终了处置方式n当某一当某一IRi中断被效力中断被效力时,,ISR中的相中的相应位位ISRi=1当效力终了后,那么必需清零了后,那么必需清零该ISRi位使ISRi=0是是经过向向8259A发出中断出中断终了命了命令〔令〔EOI命令〕命令〕实现的n三种三种EOI命令命令n自自动EOI〔〔AEOI〕〕 ——〔自〔自动EOI方式〕方式〕n非指定非指定EOI〔〔NSEOI〕〕——〔正常〔正常EOI方式〕方式〕n指定指定EOI〔〔SEOI〕〕 ——〔特殊〔特殊EOI方式〕方式〕 n自动自动EOI方式:在第方式:在第2个个INTA终了时,由终了时,由8259A使使ISRi自动复位;自动复位;n因不保管当前正在效力的中断的形状,故因不保管当前正在效力的中断的形状,故AEOI不能不能用于中断嵌套方式用于中断嵌套方式n特殊特殊EOI方式:由方式:由CPU发出一条发出一条SEOI命令,该命令,该EOI命令中指出了所要复位的命令中指出了所要复位的ISR的位号。

      的位号 n用于特殊屏蔽方式用于特殊屏蔽方式n正常正常EOI方式:由方式:由CPU发出正常发出正常EOI命令,该命令,该EOI命命令使令使ISRi=1的位中优先级最高的那一位复位的位中优先级最高的那一位复位n用于普通全嵌套方式用于普通全嵌套方式 屏蔽中断源的方式n普通屏蔽方式:普通屏蔽方式:IMR屏蔽字决议了允许或制止某屏蔽字决议了允许或制止某位位IRi所对应的中断:所对应的中断:IMi=1 制止,制止, IMi=0 允允许n特殊屏蔽方式:特殊屏蔽方式:n提供了允许较低优先级的中断可以得到呼应的特提供了允许较低优先级的中断可以得到呼应的特殊手段n原理:假定当前正在处置原理:假定当前正在处置IR6,先进入特殊屏蔽,先进入特殊屏蔽方式,然后设置方式,然后设置IM6=1这时,除这时,除IR6外的一切外的一切中断恳求均能得到呼应中断恳求均能得到呼应n特殊屏蔽方式中只能用特殊屏蔽方式中只能用SEOI命令终了中断命令终了中断 中断触发方式n边沿触发边沿触发nIRi出现上升沿表示有中断恳求出现上升沿表示有中断恳求 n电平触发电平触发nIRi出现高电平表示有中断恳求出现高电平表示有中断恳求n应留意及时撤除高电平应留意及时撤除高电平,否那么能够引起反复否那么能够引起反复呼应呼应n在第在第1个个INTA终了前,终了前,IRi必需坚持高电平必需坚持高电平 级联任务方式n单片单片8259A可支持可支持8个中断源;个中断源;n采用多片采用多片8259A级连,可最多支持级连,可最多支持64个中断源。

      个中断源n片片8259A可支持可支持7n+1个中断源;个中断源;n级连时只能有一片级连时只能有一片8259A为主片,其他的均为从属为主片,其他的均为从属片;片;(一主多从一主多从)n涉及到的涉及到的8259A引脚包括:引脚包括:nCAS0-CAS2nSP/ENnIRinINT 级连电路衔接方法最多最多1主主8从从64个中断源个中断源主片:SP/EN接+5V;从片:SP/EN接地 8259A的编程运用n8259A的控制命令分为的控制命令分为:n初始化命令字初始化命令字ICWnICW1~~ICW4n向向8259A写入写入ICW的过程称为初始化编程的过程称为初始化编程n操作命令字操作命令字OCW nOCW1~~OCW3n向向8259A写入写入OCW的过程称为操作方式编程的过程称为操作方式编程 8259A的初始化顺序 n8259的初始化流程的初始化流程如图如图n留意次序不可颠倒留意次序不可颠倒 写写ICW1写写ICW2级连?级连?写写ICW3需需ICW4?写写ICW4NNYY ICW1——初始化字nLTIM: 触发方式触发方式n=1 高电平触发高电平触发n=0 上升沿触发上升沿触发nSNGL: 级连控制级连控制n=1 单片单片n=0 级连级连nIC4: ICW4控制控制n=1 要写要写ICW4n=0 不写不写ICW4〔默许〔默许ICW4为全为全0〕〕A0 D7D6 D5 D4 D3 D2 D1 D0 0 x x x 1 LTIM x SNGL IC4 8259A的控制命令字n初始化初始化8259A必需从必需从ICW1开场开场n写写ICW1意味着重新初始化意味着重新初始化8259An写入写入ICW1后,后,8259A的形状如下:的形状如下:n去除去除ISR和和IMR(全全0);;n将中断优先级设成初始形状:将中断优先级设成初始形状:IR0最高,最高,IR7最低;最低;n设定为普通屏蔽方式;设定为普通屏蔽方式;n采用非自动中断终了方式;采用非自动中断终了方式;n形状读出逻辑预置为读形状读出逻辑预置为读IRR。

      例例: 某某8086微机系统中,运用单片微机系统中,运用单片82C59A,中,中断恳求信号为上升沿触发,需求设置断恳求信号为上升沿触发,需求设置ICW4,,端口地址为端口地址为20H和和21H,那么其初始化命令字,那么其初始化命令字ICW1应为:应为:00010011==13H,设置,设置ICW1的指令为:的指令为: MOV AL,,13H OUT 20H,,AL ICW2——中断向量码nT7~~T3: 中断向量码的高中断向量码的高5位位nT2~~T0: 最低最低3位为中断源的序号位为中断源的序号IRnn000~~111分别对应分别对应IR0~~IR7n由由8259A根据中断源的序号自动填入根据中断源的序号自动填入 n例如:例如:n假设假设ICW2命令字为命令字为48H,那么,那么IR0的中断的中断向量码为向量码为48H,,IR7的中断向量码为的中断向量码为4FH,等,等等 A0 D7D6 D5 D4 D3 D2 D1 D0 1 T7 T6 T5 T4 T3 x x x ICW3——级连控制字 n主片的级联控制字主片的级联控制字 nSi=1 对应对应IRi线上衔接了从片线上衔接了从片 A0 D7D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0n从片的级联控制字从片的级联控制字 nID2~~ID0 标识码,阐明本从片衔接到主片的哪个标识码,阐明本从片衔接到主片的哪个IR引脚上。

      引脚上 000~~111分别对应分别对应IR0~~IR7 A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 0 0 ID2 ID1 ID0 ICW3——级连控制字〔续〕nICW3必需与主从片的衔接关系一致:必需与主从片的衔接关系一致:n例如,主片的例如,主片的IR4与从片的与从片的INT线衔接,那线衔接,那么主片的么主片的ICW3=10H,从片的,从片的ICW3=04Hn中断呼应时,主片经过级连线中断呼应时,主片经过级连线CAS2-CAS0送送出被允许中断的从片标识码,各从片用本人的出被允许中断的从片标识码,各从片用本人的ICW3与与CAS2-CAS0比较,二者一致的从片比较,二者一致的从片才可发送中断向量码才可发送中断向量码 ICW4——中断终了方式字 nSFNM: 特殊全嵌套特殊全嵌套n1 特殊全嵌套方式特殊全嵌套方式n0 普通全嵌套方式普通全嵌套方式nAEOI: 自动自动EOIn1 自动自动EOI方式方式n0 非自动非自动EOI方式方式A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNM BUF M/S AEOI 1nBUF: 缓冲方式缓冲方式n M/S: 主主/从缓冲选择从缓冲选择nBUF M/Sn 1 1 缓冲方式缓冲方式/主主PICn 1 0 缓冲方式缓冲方式/从从PICn 0 x 非缓冲方式非缓冲方式/正常正常 初始化编程举例 例例: 某某8086微机系统中有一片微机系统中有一片82C59A,中断恳求,中断恳求信号为电平触发,中断类型码为信号为电平触发,中断类型码为40H~~47H,中断优,中断优先级管理采用普通全嵌套方式,中断终了方式采用自先级管理采用普通全嵌套方式,中断终了方式采用自动终了方式,系统中未运用数据缓冲器,系统分配给动终了方式,系统中未运用数据缓冲器,系统分配给82C59A的端口地址为的端口地址为20H和和21H,试对该,试对该82C59A进展初始化编程。

      进展初始化编程 分析:由于系统中运用单片分析:由于系统中运用单片82C59A82C59A,所以初始化时不需求,所以初始化时不需求ICW3ICW3,本例中,本例中82C59A82C59A要求任务在非缓冲方式,故在硬件要求任务在非缓冲方式,故在硬件上将上将SP*/EN*SP*/EN*接接+5V+5V,,ICW4ICW4中的中的M M//S*S*位无意义,可设置位无意义,可设置为为0 0  对 对82C59A82C59A的初始化程序如下:的初始化程序如下: MOV ALMOV AL,,00011011B 00011011B ;设置;设置ICW1ICW1初始化命令字初始化命令字 OUT 20HOUT 20H,,AL AL ;将;将ICW1ICW1输出到偶地址输出到偶地址端口端口 MOV ALMOV AL,,01000000B 01000000B ;;ICW2ICW2中断类型号基值中断类型号基值 OUT 21HOUT 21H,,AL AL ;将;将ICW2ICW2送入奇地址端送入奇地址端口口 MOV ALMOV AL,,00000011B 00000011B ;;ICW4ICW4 OUT 21H OUT 21H,,AL AL ;将;将ICW4ICW4送入奇地址送入奇地址瑞口瑞口 8259A的操作命令字OCW nOCW用于设置用于设置8259的任务形状的任务形状n在初始化后写入在初始化后写入nOCW的写入顺序可恣意的写入顺序可恣意n写入地址要求:写入地址要求:nOCW1必需写入奇地址端口必需写入奇地址端口(A0=1)nOCW2,,OCW3必需写入偶地址端口必需写入偶地址端口(A0=0) OCW1——中断屏蔽字 nMi=1 中断恳求线中断恳求线IRi被屏蔽被屏蔽(不允许中断不允许中断) n =0 允许该允许该IRi中断中断 nOCW1将写入将写入IMR存放器。

      存放器nA0=1时读时读OCW1可读出设置的可读出设置的IMR内容 A0 D7D6 D5 D4 D3 D2 D1 D0 1 M7 M6 M5 M4 M3 M2 M1 M0 OCW2——中断终了和优先级循环 nL2~~L0: 优先级编码优先级编码nR: 优先级自动循环优先级自动循环nSL: 指定优先级指定优先级nEOI: 终了中断命令终了中断命令n R SL EOIn 0 0 1 非指定非指定EOI 命令命令(NSEOI),全嵌套方式,全嵌套方式n 0 1 1 指定指定EOI 命令命令(SEOI),全嵌套方式,按,全嵌套方式,按L2-L0编码复编码复位位ISR n 1 0 1 NSEOI 命令,优先级自动循环命令,优先级自动循环n 1 0 0 自动自动EOI,设置优先级自动循环,设置优先级自动循环n 0 0 0 自动自动EOI,取消优先级自动循环,取消优先级自动循环(固定优先级固定优先级)n 1 1 1 SEOI 命令,按命令,按L2-L0编码循环优先级编码循环优先级(L2-L0设为最设为最低优先级低优先级)n 1 1 0 按按L2-L0编码循环优先级编码循环优先级(L2-L0设为最低优先级设为最低优先级) A0 D7D6 D5 D4 D3 D2 D1 D0 0 R SL EOI 0 0 L2 L1 L0 OCW3——屏蔽方式和读出控制字 nESMM: 允许使能特殊屏蔽方式允许使能特殊屏蔽方式nSMM: 特殊屏蔽方式特殊屏蔽方式nESMM SMMn1 1 特殊屏蔽方式置位特殊屏蔽方式置位n1 0 特殊屏蔽方式复位特殊屏蔽方式复位n0 x 非特殊屏蔽方式非特殊屏蔽方式nP(Polling): =1 查询方式查询方式n =0 非查询方式非查询方式A0 D7D6 D5 D4 D3 D2 D1 D0 0 0 ESMM SMM 0 1 P RR RISnRR: 读存放器读存放器nRIS: ISR/IRR选择选择nRR RISn1 1 读读ISRn1 0 读读IRRn0 x 无效无效 OCW3〔续〕n查询方式允许查询方式允许8259A不任务于中断方式,而是不任务于中断方式,而是以查询方式任务。

      以查询方式任务nCPU先写一个先写一个D2=1的的OCW3,再对同一地址,再对同一地址读入,即可得到如下形状字节:读入,即可得到如下形状字节:n I x x x x R2 R1 R0 n I=1表示有中断恳求,中断恳求号为表示有中断恳求,中断恳求号为R2-R0n 此查询步骤可反复执行,以呼应多个同时发此查询步骤可反复执行,以呼应多个同时发生生 的中断 n读读IRR/ISR:写入此命令后,随后再对同一地:写入此命令后,随后再对同一地址读,即可得到址读,即可得到IRR或或ISR的内容 8259A编程举例n按以下要求初始化按以下要求初始化8259A::n接口地址为接口地址为20H和和21H;;n中断为上升沿触发;单片中断为上升沿触发;单片8259A;不写;不写ICW4;;n与与IR0-IR3对应的中断向量码为对应的中断向量码为08H-0BH;;nIR4-IR7不运用n根据要求,各初始化参数及任务参数如下:根据要求,各初始化参数及任务参数如下:nICW1 = 00010010 = 12HnICW2 = 08H 中断向量码中断向量码 nOCW1 = 11110000 = 0F0H 中断屏蔽字中断屏蔽字 8259A编程举例〔续〕初始化程序如下:初始化程序如下:INIT8259A::MOV DX,,20H;;A0=0,写,写ICW1MOV AL,,12H;上升沿触发,单片,不写;上升沿触发,单片,不写ICW4OUT DX,,ALMOV DX,,21H;;A0=1,写,写ICW2,,OCW1MOV AL,,08H;;ICW2OUT DX,,ALMOV AL,,0F0H ;;OCW1:屏蔽:屏蔽IR4-IR7OUT DX,,AL PC机中断程序设计1〕主程序〕主程序 保管原中断向量保管原中断向量 设置本人的中断向量设置本人的中断向量 初始化堆栈指针初始化堆栈指针 设置设置8259A的中断屏蔽字〔其他的已由操作系统设置〕的中断屏蔽字〔其他的已由操作系统设置〕 STI2〕中断效力程序〕中断效力程序保管所用到的存放器内容保管所用到的存放器内容中断效力程序主体中断效力程序主体恢复进入时保管的存放器内容恢复进入时保管的存放器内容发发EOI命令〔必要时可提早〕命令〔必要时可提早〕STI〔必要时可提早〕〔必要时可提早〕IRET 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.