ch07微型计算机中断系统_第1页
ch07微型计算机中断系统_第2页
ch07微型计算机中断系统_第3页
ch07微型计算机中断系统_第4页
ch07微型计算机中断系统_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章微型计算机的中断系统中断系统的基本概7.1.1中断的基本概个外部或事件发生,请求CPU处理,CPU。CPU执行流非预料事件断断

1、基本概中断源:引起中断发生 或外部事。2、中断系统的功能实现中断优先权排队能实现中断嵌套3、计算机系统的性实现CPU和多个外设同时工作,提高CPU效率计算机应用于实时控制时,对外部事件及时响及时处理故障,不影响其他程序的运行在操作系统的调度下,运行个任务,任务间交4、中断过中断请求:中断源发出中断请求 中断服务(处理):中断程序的主体和标志寄存器中的内容,依次从堆栈出,以中断请 中断判软件查询优先权排队硬件优先权判别“向量”优先权排队电路——由的中断控制器管理优中断响 中断服务(处理开中目的:开放所有 中断,以允许高级中断嵌关中目的:关中断以确保可靠有效地恢复现场恢复现场实质:将原来压入堆栈中的 出来8086CPU中断系8086中

中:1、外部中不 中断(NMI):中断类型号为2 中断 2 中 利 中断,微处理器为用户提供了发 中中断的中断类型号已movidiv ;除数BL=0,产生除法错中movidiv ;除数BL=0,产生除法错中movmovax,200hmovbl,1div ;商=200H,不能用AL表;产生除法错中在执行中断调用指令INTn时产生的一个向量号为n(0~255)的 例如:例如:X调试程序的运行命令G设置的断点,就是利用INT3指令实现的 movmovax,2000haddax, 例如:XE调试程序的单步命令T就利用单步中断实现对程序的单步调试3、中断优先 7.2.2中断向量中断服务程序的 口地址 组成及格式 2、中断向量服务程序地址的内。00000H~003FFH即中断向量在4×n~4×n+3指示示实方式下的中断服务程 地址求法(例子断服务程序地解求 中断向量组成及格3、中断向量的设置方法INT21HMOVAL,NMOVAH,35H PUSHPUSH3、中断向量的设置方法DOS功能调用(21H)设置中断向INT21HMOVAX,SEGINTRPROCMOVDS,AXMOVDX,OFFSETINTRPROCMOVAL,NMOVAH,25H 3、中断向量的设置方法通过传送类指令直接设置中断向MOVAX,0MOVES,AXMOVBX,MOVAX,OFFSETMOVES:[BX],AX 偏移地址(N*4)MOVAX,SEGINTRPROCMOVES[BX+2 ;段地址7.2.38086对中断的响CPU接收到中断请求当前指令执行结束 中断的响应过处理器接到中断申请,处理完当前指令即进入响应周期将标志寄存器中的内容压入堆栈保护,然后清IF和TF标志,INTR引脚以及陷井和单步中断将断点地址压入堆栈(CS:EIP或CS:IP)断点地址:指中断时CPU待执行的下一条指令对应的逻辑地。顺序:先压入断点地址CS,后压入偏移地址EIP(或IP) 中断控制器一、8259A主要功能(1)8位处理8级 优先级方式多级中断8259A的引脚信D7~D0为8位双向的数据A0:端口选择信CS:片选信RD和WR:读/写控制信INTA:中断响应输入信INT:中断请求输出信IRi:8个中断源中断请求级联扩展引CAS0~CAS2联信SP/EN:从片/缓冲允许控

CS

1123456789

(1)非缓冲时为输入:SP:1=0(2)缓冲时为输出:EN:1=CPU写,0=CPU8259A 结中断请求寄存器 引0=对应引脚无中断请求或有但已经被响中断优先权分辨器中断服务寄存器 引功能:记录外部中断源的中断申请被服务的状态0=对应引脚的中断请求未被响应中 寄存器 引功能:设置外部中断源的中 状态:1=对应引脚的中断 0=对应引脚的中断未 注意:只有IMRi相应位为0且IF=1,CPU才有可能响应 数据总线缓冲器是一个三态、双向的8位缓冲器,8259A与CPU系统数据总线的接口数据总线缓冲器的主要功能有 CPU接收8259A状态信息在中断响应周期,CPU从中获得中断类型号号以及地址选择信号,对各个寄存器控制逻辑是控制 各个部件的主要逻辑电路主要功能包括 8259A工作过 中断申请寄存器IRRIR0~IR7IRR相应位置00010000001

1001010 ICW2中断类型

OCW1中 寄存器

ICW3

OCW2优先级、发

ICW4方式控

OCW3特 设②中断 寄存器IMR决定IRR中的中断申请是否进入优先级裁决器PR。 IMR对应位为0,允许中断申请进入优先级裁决器;为1,不允许进入,中断申请被IMR 总片选片选译码

00

10010000001

1001010 ICW2中断类型

OCW1中 寄存器

ICW3主从片关

OCW2优先级、发

ICW4方式控

OCW3特 设③ISR记录CPUISR中的某位为1,表示CPU正在响应此级中断即正在执行此中断源的中断子程ISR中的某位为0,表示CPU没有或已响应完此级中断即不在执行此中断源的中断子总~

0101000

10010000001

1001010 ICW2中断类型

OCW1中 寄存器

ICW3主从片关

OCW2优先级、发

ICW4方式控

OCW3特 设置优先级裁决器PRISR的内容决定是否发中断申如果进入的中断申请比ISR中记录的中断优先级高,则通过8259AINTCPU 如果进入的中断申请不比ISR中记录的中断优先级高,同级或低级,则不向CPU发中断请求信号。总

000

10010000001

1001010 ICW2中断类型

OCW1中 寄存器

ICW3主从片关

OCW2优先级、发

ICW4方式控

OCW3特 设(2)若发中断申请信号,且CPU响应,则在CPU中断CPUINTRIF标志为0,则CPU不响应此中断申请信号即中断申请被 IF标志为1,则处理完当前的指令后,INTA8259A的中断响应周期第一个周T1第一个周T1T2T3第二个周T1T2T3

第一个前保持为高电

CPU响应周8259A工作波关于8259A思考什么情况下什么情况下IMR=FFHIRR=0AH,ISR=0AH是否可能 工作方结束优先级的方式(4种全嵌套方特殊全嵌套方优先级自动优先级特殊循环方全嵌套方特殊全嵌套方优先级自动循环方 优先级特殊循环方中断源的方 结束中断处理的方非自动结束方式:在中断服务程序结,返回主程序之 连接系统总线的方一般在多片8259A级联系统中中断请求信号方边沿触发方式电平触发方式7.3.58259A的初始化命令字和初始化编在8259A有两组命令寄存器,一组是初始化命令字11X86不写入A0=0的端

XX0=边沿触1=电平触

0=不用1=要0=多1=单中断类型初始化命令字 ×××T7~T3决定中断类型号(D2~D0任意8写入A0=1主/从片初始化命令字——主片 IRi=1,指示8259的引脚IRi写入A0=1主/从片初始化命令字——从片 00000ID2,ID1,ID0ID2,ID1,ID0编码决定从片的INT接主写入A0=1编码决定000001010011100101110111控制初始化命令字 000各位含义μPMCPU类型,0=8080/8085,1=80X86M/S:主/从片选择,1=主片,0=从片。BUFBUF=1写入A0=1的端初始化编程任务 设置中断类型设置优先排队规则设定中断结束时的操作。8259A初始化编程实例 AL,00010011B;ICW1:边沿触发,单片系统,需要 AL,00001000B;ICW2:类型号从08H开始 AL,00000001B;ICW4:完全嵌套方式,非缓冲, 8259A初始化编程实例【例7-2】IBMPC/AT机中使用两片8259A管理中断,硬件连线如图7-13所示。主片的要求是从片的要求是主片8259A初始MOVAL,00010001B OUT20H,AL MOVAL, OUT21H ;写入ICW2(A0=1地址端口MOVAL,00000100B OUT21H,AL ;写入ICW3(A0=1地址端口)MOVAL,00010001B OUT21H ;写入ICW4(A0=1地址端口从片8259A初始MOV OUT0A0H MOVAL01110000B;ICW2:IR0中断类型号为OUT0A1H MOVAL00000010B;ICW3:从片接主片的OUT0A1H MOVAL00000001B;ICW4OUT0A1H 7.3.68259A的操作命令字及应中中 命令字查查询状态命令字中 命令字 要求写入8259A的A0=1的端OCW1的应 MOV ;为0的位允许中断,为1OUT若系统中再增加一个IR1中断请 ANDAL,11111101B OUT81H,AL当IR1的所有中断全部完成 OUT81H,AL R00R:优先级循环位,R=1为循环优先。注意:要求写入8259A的A0=0查询状态命令字 001P 允许,1有效。SMM:特殊 8259的查询方D7D6D5D4D3D2D1I----操作命令编程实MOVAL,11110000B OUT21H,AL MOVAL,10000001B 0A1H,应0A0H,20H,8259A状态中 寄存器IMR AL, 中断请求寄存器IRRMOVAL,0AH; OUT20H,AL AL,20H 中断服务寄存器ISRMOVAL, OUT20H,AL 中断应用举1、硬件电路设电路……

IR7

2、软件设计——主程断结束方式,清除8259A的 5、开放CPU中断。通过STI指令,使IF标志设置为12、软件设计——中断服务程3、装载数据缓冲区指针、计数器4、输入输出处理6、向8259A发送EOI命令8、中断返回。用I

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论