微机中断技术_第1页
微机中断技术_第2页
微机中断技术_第3页
微机中断技术_第4页
微机中断技术_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第六章中断技术 主要内容1 中断的基本概念2 中断类型及中断处理3 中断控制器8259A 一 中断的基本概述 什么是中断所谓中断是指CPU在正常执行程序的过程中 由于某个外部或内部事件的作用 强迫CPU停止当前正在执行的程序 转去为该事件服务 称为中断服务 待服务结束后 又能自动返回到被中断的程序中继续执行 主程序 中断服务子程序 主程序 二 中断类型及中断处理 为什么采用中断处理 重要的事情及时处理出现意想不到的事件及时处理实现CPU与低速外部设备的速度匹配与并行工作 中断类型 共256种中断 中断号00H FFH 按是否允许屏蔽分为可屏蔽中断及不可屏蔽中断按中断请求来源分为内部中断和外部中断 分为 软中断 内部中断和异常 故障 陷阱 终止 软中断 指令中断 10H 31H 如INT21H 内部中断和异常 除法出错中断 00H 溢出中断 04H 单步中断 01H 断点中断 03H 等 内部中断特点 均属不可屏蔽的中断 不需硬件连接 内部中断 中断请求来自于CPU内部 外部中断 中断请求来自于CPU外部的设备或接口 分为 不可屏蔽硬件中断和可屏蔽硬件中断 不可屏蔽硬件中断 02H 由NMI端引入的中断请求 中断请求不可被屏蔽 可屏蔽硬件中断请求 由INTR端引入 中断请求可由IF 0进行屏蔽 使中断请求不进入 中断优先级 多个中断请求同时发生 响应顺序按优先级排列 优先级排列如下 1 内部中断和异常2 软件中断3 外部不可屏蔽中断4 外部可屏蔽中断5 单步中断 注 高级中断可以打断低级中断 反之则不然 高 低 中断矢量表 存放中断服务程序入口地址的存储空间 实模式下存放于存储器的低端00000H 003FFH 共1K字节 每一个中断号占据4字节的空间 低2字节存放对应中断入口子程序的偏移地址 高2字节存放对应中断入口子程序的段基址 保护模式下 称中断描述符表 可存放于存储器的任意位置 由中断描述符表寄存器IDTR标识其在物理存储器中的位置 每个中断描述符由8字节组成 用户使用 专用中断 系统备用 中断号N的入口地址存放地址 N 4 说明 系统将中断源划分为256种类型 类型号从0 255 00H FFH 中断矢量表分为三部分 1 专用中断从类型0 9共40个字节 PC机为0 4 2 备用中断从类型10 31 PC机为5 31 系统保留 不允许用户占用 3 用户中断从类型32 255 供用户使用 中断处理过程中断处理过程通常由中断申请 中断源识别 中断响应 中断处理 中断返回组成 以外部可屏蔽中断为例 1 中断申请当外设需要中断服务时 由硬件产生一个中断请求信号INTR发送给CPU CPU在当前指令结束时检测INTR引脚 判断是否有中断请求 2 中断响应当检测到有中断请求且IF 1时 总线周期信号M IOD CW R为000 通过总线控制逻辑发中断响应信号 INTA给中断请求设备表示应答 中断请求设备将中断号送上数据总线 系统自动进入中断响应周期 由硬件完成关中断 保存断点 取中断服务的入口地址 N 4 等一系列操作 而后转向中断服务程序执行中断处理 3 中断处理 执行中断服务程序中规定的操作 4 中断返回将压栈的断点从堆栈中弹出 开中断 CPU转向被中断的主程序继续执行 完成当前指令 内部中断 NMI INTR TF 1 执行下一条指令 IF 1 形成中断类型号 中断响应取中断类型号 标志入栈 关中断 断点入栈 取中断服务程序入口地址 中断处理 标志位 断点出栈 N 和中断相关的指令STIIF 1 允许可屏蔽中断请求进入CLIIF 0 不允许可屏蔽中断请求进入INTN 软中断IRET 中断返回INTO 溢出中断LIDTEA装入中断描述符表寄存器IDTR EA LIMIT0 15 EA 2 BASE0 15 EA 4 BASE16 31SIDTEA保存中断描述符表寄存器 可屏蔽中断的允许和禁止由IF控制 IF 1 允许响应某一中断后 CPU自动使IF 0 从而屏蔽其他中断的进入 如果在中断响应中允许更高级中断进入 需在中断服务程序中加STI指令开中断 中断入口地址的设定和读取 设定 系统功能25H调用 AH 25H DS DX 中断服务程序入口地址 AL 中断类型号 例 设中断号40H 中断服务程序入口地址标号INT P 则 MOVAH 25HMOVAL 40HMOVDX SEGINT PMOVDS DXMOVDX OFFSETINT PINT21H 读取 系统功能35H调用 AH 35H AL 中断类型号出口参数 ES BX 中断服务程序入口地址 MOVAH 35HMOVAL 40HINT21H 例 设中断号40H 读取对应的中断服务程序入口地址 三 中断控制器82C59A CPU只提供一个INTR引脚 扩展时需中断控制器82C59A来协助CPU管理中断 8259A具有中断申请 中断屏蔽 中断嵌套等功能 8259A的结构与引脚信号 与80486CPU的连接 D0 D7RDWRCSA0INTINTACS0 CS2SP EN D0 D7IORCIOWC片选信号产生电路 INTRINTA IR0 IR7 Vcc INTR 级连方式连接 CAS0CAS1CAS2 CAS0CAS1CAS2INT CAS0CAS1CAS2INT INT IR0 IR7 IR0 IR7 IR0 IR7 INTASP EN INTASP EN INTASP EN Vcc INTA 从8259 1 主8259 从8259 2 82C59A的工作方式 预置命令字ICW1 4 操作命令字OCW1 3 优先级固定 中断嵌套方式 ICW4设定 完全嵌套的特点是中断优先级别固定 8个中断请求IR0 IR7中IR0优先级最高 IR7最低 在CPU中断服务期间允许级别高的中断请求再进入 同级和低级的中断请求则不响应 特殊完全嵌套和完全嵌套的区别是在CPU中断服务期间允许高级和同级的中断请求进入 在级连时主82C59A采用此方式 优先级循环 自动循环方式 OCW2设定 普通自动循环方式中IR0 IR7的优先级可以改变 当某一级中断请求IRi服务结束后 它的优先级别降为最低 IRi 1的优先升为最高 依此循环 用于优先级相同的各个中断 特殊自动循环方式与普通自动循环方式的区别在用户可以通过优先权命令指定IRi为最低优先级 其他依此循环 中断屏蔽方式 OCW1 OCW3共同设定 普通屏蔽方式通过编程对OCW1写入操作命令字 将IMR的某些位置 1 对相应的IRi端进行屏蔽 特殊屏蔽方式只对同级的中断请求进行屏蔽 用于级连 在OCW3中设为特殊屏蔽方式 中断结束方式自动结束 在中断处理结束后自动将ISR中的相应位清除 ICW4 OCW2 普通结束方式 发OCW2操作命令字向8259A送EOI命令来清除ISR中当前优先级别最高位 适用于完全嵌套方式 非自动结束 非自动结束 在中断处理结束后发OCW2命令将ISR中的相应位清除 特殊结束方式 发OCW2命令字向8259A送EOI命令 同时送复位的ISR对应位 适用于优先级循环方式 中断触发方式 电平触发 高电平有效 要求保持一定时间 边沿触发 由高到低的正跳变 总线连接方式 缓冲方式 8259A通过总线驱动器和系统数据线相连 此时EN为输出端 作为总线驱动器的启动信号 用于多个8259A与系统相连时 非缓冲方式 8259A数据线直接与系统数据线相连 此时 主片的SP接高电平 从片的SP接低电平 四 82C59A的编程 1 ICW1 OCW 操作命令字用于中断操作管理 中断处理中随时写入 随时修改 ICW 初始化 预置 命令字 设定82C59A的工作方式 初始化时写入 一旦写入 一般不改变 T7T6T5T4T3ID2ID1ID0 A0D7D6D5D4D3D2D1D0 1 用户定义 000 IR0001 IR1010 IR2011 IR3100 IR4101 IR5110 IR6111 IR7 2 ICW2设置中断类型号 3 ICW3级联时写入主片 为1 对应IR输入上有从片 从片标识码 从片 1 4 ICW4设定工作模式 A0D7D6D5D4D3D2D1D0 000SFNMBuF 0M S 0AEOIuP 1 1 特殊完全嵌套方式0 完全嵌套方式 1 8086 8088模式0 8080 8085模式 1 自动结束0 非自动结束 0X 非缓冲方式10 缓冲方式 从片11 缓冲方式 主片 操作命令字OCW的格式操作命令字有OCW1 OCW2 OCW3三个 可任意顺序任意时间写入 1 OCW1中断屏蔽字 有选择地屏蔽某一位或某几位当某位Mi 1 对应的IRi被屏蔽 2 OCW2 设置中断优先级方式和中断结束方式 001 普通EOI结束 使当前处理的中断结束 常用 011 特殊EOI结束 使L2 L0所指定的IRi结束101 循环普通EOI结束 使当前的中断结束 且优先级最低111 循环特殊EOI方式 将L2 L0指定的中断结束并优先级最低 依次循环100 设置自动EOI优先级循环方式000 清除自动EOI优先级循环110 置位优先级命令 设置L2 L0所指定的优先级最低010 无操作 是否循环 是否发EOI命令 是否指定优先级 3 OCW3设置或清除特殊屏蔽方式和读取寄存器的状态 未定义0X 无效0X 无效10 随后读IRR10 复位特殊屏蔽11 随后读ISR11 设置特殊屏蔽1 查询状态R MOVAL 00001011BOUT80H ALINAL 80H MOVAL 00001010BOUT80H ALINAL 80H 例 设8259A的I O接口地址为80H 81H 查询ISR的内容 查询IRR的内容 读IMR 不需设OCW3 直接读奇地址即可 读ISR 读IRR INAL 81H 4 状态字 为1 有中断请求 当前处理的最高优先级IR的编码 MOVAL 00001100BOUT80H ALINAL 81H 读状态字 五 82C59A的初始化编程设置芯片的连接方式 是否级连及确定I O地址 设置中断请求的触发方式 ICW1 设置中断请求源的中断类型码 ICW2 设置中断管理方式 ICW4 附图82C59A初始化流程图 下一页 写入ICW1 写入ICW2 级联方式的 写入ICW3 写入ICW4 写入ICW4 y N N y 例1 设单片82C59A定义为完全嵌套 非自动结束方式 边沿触发 中断类型08 0FH 端口地址20H 21H 编写初始化程序 MOVAL 00000001B ICW4OUT21H AL MOVAL 00010011B ICW1OUT20H AL 解 MOVAL 00001000B ICW2OUT21H AL 例2 某系统中设置两片8259A实现中断控制 它们之间采用级联方式连接 从8259A的INT端与主8259A的IR3相连 已知当前主8259A的IR0和IR5端分别引入两个中断请求 从8259A的IR2和IR3端分别引入两个中断请求 INTR 解 设主8259A引入的中断类型码为40H 47H I O地址FFE8H FFE9H 中断入口地址已装入矢量表 从8259A引入的中断类型码为30H 37H I O地址FFFAH FFFBH 中断入口地址已装入矢量表 MOVAL 11HMOVDX 0FFE8HOUTDX AL 定义ICW1 MOVAL 40HMOVDX 0FFE9HOUTDX AL 定义ICW2 MOVAL 08HOUTDX AL 定义ICW3 MOVAL 11HOUTDX ALH 定义ICW4 主8259A的初始化程序如下 MOVAL 0D6HOUTDX AL 定义OCW1 MOVAL 20HMOVDX 0FFF8HOUTDX AL 定义OCW2 MOVAL 11HMOVDX 0FFFAHOUTDX AL 定义ICW1 MOVAL 03HOUTDX AL 定义ICW3 MOVAL 30HMOVDX 0FFFBHOUTDX AL 定义ICW2 从8259A的初始化程序如下 MOVAL 11HOUTDX AL 定义ICW4 MOVDX 0FFFAHMOVAL 20HOUTDX AL 定义OCW2 MOVAL 0F3HOUTDX AL 定义OCW1 例3 中断请求信号以跳变方式由IR2引入 编写程序 当CPU响应IR2请求时 输出显示字符串 THISISA8259AINTERRUPT 中断10次后退出 DATASEGMENTMESSDB THISA82C59AINTERRUPT 0AH 0DH INTA00EQU0020HINTA01EQU0021HDATAENDS 解 设8259A的I O地址为20H 21H 中断类型号0AH 从IR2引入 STACKSEGMENTSTACKSTADB100HDUP TOPEQULENGTHSTASTACKENDS CODESEGMENTASSUMECS CODE DS DATA SS STACK MAIN MOVAX DATAMOVDS AX MOVAX STACKMOVSS AXMOVSP TOP MOVDX INTA00 8259A初始化MOVAL 13H 写ICW1OUTDX AL MOVDX INTA01MOVAL 08H 写ICW2OUTDX AL MOVAL 01H 写ICW4OUTDX AL PUSHDSMOVAX SEGINT P 设置中断矢量MOVDS AX MOVDX OFFSETINT PMOVAL 0AHMOVAH 25HINT21H POPDSMOVAL 0FBH 写中断屏蔽字OCW1OUTDX AL MOVDX INTA00MOVAL 20H 写中断结束方式OCW2OUTDX ALMOVBX 10 WAIT STI 开中断JMPWAIT 等待中断 INT P MOVAX DATA 中断服务程序入口MOVDS AXMOVDX OFFSETMESS 输出指定字符串MOVAH 09HINT21H MO

温馨提示

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

评论

0/150

提交评论