不可屏蔽中断请求.ppt

上传人:za****8 文档编号:13633985 上传时间:2020-06-23 格式:PPT 页数:35 大小:567.06KB
收藏 版权申诉 举报 下载
不可屏蔽中断请求.ppt_第1页
第1页 / 共35页
不可屏蔽中断请求.ppt_第2页
第2页 / 共35页
不可屏蔽中断请求.ppt_第3页
第3页 / 共35页
资源描述:

《不可屏蔽中断请求.ppt》由会员分享,可在线阅读,更多相关《不可屏蔽中断请求.ppt(35页珍藏版)》请在装配图网上搜索。

1、一、8086的中断分类,不可屏蔽中断请求,CPU中断逻辑,单步,中断控制器,8259,外部中断,NMI,INTR,CPU,IBM PC 机中断系统,7.4 可编程中断控制器8259A,8259A能管理8级外部中断,在不增加其他电路的情况下,通过芯片级联方式能扩充为主从式中断系统,最多可以管理64级外中断(9片)。,8259A作为专用的中断优先管理芯片,一般可以接受多级中断请求。通过编程8259A可以工作在多种不同方式,如边缘/电平触发、无缓冲/缓冲、特殊屏蔽、优先循环等方式。,外部中断请求信号,1. 中断请求寄存器IRR 8位,存放外中断的中断请求IRQ0IRQ7 ,若 IRQi 有外中断请求

2、时,则相应的 Di 位置为1,3. 中断服务寄存器ISR 8位,记录当前正在处理中的所有中断级,当某个(或几个)中断级正在被服务时,ISR中对应位置为,2.中断屏蔽寄存器IMR 8位,对IRR起屏蔽作用。当某中断需要屏蔽时,IMR中的对应位置置,这个过程可以用OCW1 动态控制。,4. 优先级判别器PR 对保存在IRR中未被屏蔽的中断请求进行判优,确定最高优先级。当CPU响应这个中断请求,ISR的对应位置1。,5. 初始化命令字寄存器ICW1ICW4 均为8位寄存器,初始化时用于存放8259A的初始化命令字ICW1ICW4,在以后的操作过程中基本保持不变,6. 操作命令字寄存器OCW1OCW3

3、 均为8位寄存器,用于存放操作数OCW1OCW3,以实现对中断过程动态管理。其中,寄存器OCW1即中断屏蔽寄存器IMR,注意:寄存器ICW1ICW4和OCW1OCW3只占用两个I/O端口地址(奇地址和偶地址),由引脚A0的输入信号来选择。,7.4.2 8259A的外部引脚,D0D7数据线,双向三态数据线 RD和WR读写控制线 IRQ7IRQ0中断请求输入信号 INT中断请求输出,接至CPU的INTR INTA中断允许输入,接至CPU的INTA CAS0CAS2级联信号线,用于级联 SP/EN从片选择/允许缓冲信号,双重功能引脚,在工作于缓冲方式时,用作输出(EN),控制缓冲器的收发;SP用于控

4、制是主片还是从片,SP=0是从片,SP=1时是主片,这时它作为输入。,7.4.3 中断的工作方式,1. 中断嵌套方式,普通全嵌套方式,特殊全嵌套方式,普通全嵌套方式是8259A最基本、最常用且是默认的工作方式,简称为全嵌套方式。 该方式的中断优先权固定,IRQ最高,依次到IRQ最低。只有优先权更高的中断才能打断某个正在进行的中断服务程序(前提CPU处于开中断状态),主要用在级联情况,与全嵌套方式基本相同,除了: CPU响应某从8259A中断请求后,并不屏蔽该从片的中断 退出中断服务程序之前,要检查该从8259A中是否还有其它中断源 (送EOI,检查ISR,为0表示无其它中断),2. 中断屏蔽方

5、式,普通屏蔽方式,特殊屏蔽方式,根中断线中任一根都可根据要求单独屏蔽,只要将IMR寄存器的对应位置,就可屏蔽掉相应的中断请求,正在处理的中断优先级别最低,其他未屏蔽的中断源都可中断其服务程序,3. 中断优先权循环方式,全嵌套方式中,中断源的优先权是固定的,故又称为固定优先权方式。 实际中,中断源的优先权不一定有明显的等级,而且优先权还有可能改变 有下列两种改变优先权的方法: 自动循环方式(等优先权方式) 特殊循环方式(指定最低级的循环方式),自动循环方式(等优先权方式),某级中断被处理完,它的优先级别降为最低,而原来比它低一级的中断请求升为最高级。,例: 初始顺序由高到低: IRQ、IRQ、I

6、RQ 若IRQ中断,其服务程序执行完后, 调整顺序由高到低: IRQ、 、IRQ、IRQ、 、IRQ,可见各中断源具有相等的优先权,故自动循环方式又称为等优先权方式,特殊循环方式(指定最低级的循环方式),初始优先权不是固定的,而是在程序中利用操作命令字指定最低优先级,其他中断源的优先级也随之确定,例: 初始设置IRQ5优先权最低: 则最初优先权由高到低为: IRQ6、 IRQ7、IRQ、 、IRQ、IRQ5,4. 中断查询方式,查询方式可用来查询8259A是否有中断请求正在被处理,如果有,则给出当前处理的最高优先级是哪一级,用操作命令字OCW3可以设置8259A为查询方式,只用一条IN指令即可

7、以从数据总线上读取中断状态字 中断状态字格式如图:,5. 中断结束方式,中断处理结束后须将ISR相应位清,以开放同级或低级的中断请求,清除的方式就是中断结束方式 。,CPU响应中断请求时,在第二个INTA脉冲的后沿,由8259A自动将ISR的相应位清 只能用于不允许中断嵌套的场合,自动结束方式,非自动结束方式(常用),中断服务程序末尾向8259A发出中断结束(EOI)命令以清除ISR对应位 普通的EOI命令:自动清除最高优先权位 全嵌套方式 特殊的EOI命令:位编码指定清除位 任意方式,6. 中断触发方式,8259A的IRQi引脚上出现上升沿信号表示有中断请求,边沿触发方式,电平触发方式,82

8、59A的IRQi引脚上出现高电平信号表示有中断请求 该方式下,应注意及时撤除高电平,否则可能会引起不应该出现的第二次中断,7、中断向量表,1.规定中断服务程序地址,即每一类型中断应转入哪个中断服务程序;,2. 8086前1K字节的内存(00000H003FFH)放中断向量表,容纳256 个中断向量,每个中断向量占4个字节。,3. 低地址 2字节 IP 高地址 2字节 CS,4. 类型:,0 4 专用中断,8 1FH ROM BIOS 用,20 FFH 为DOS 和BASIC 保留,60 7FH 用户可使用,8、中断矢量和中断矢量表,中断矢量:中断处理子程序的入口地址 中断矢量表:8086中断系

9、统有0255种类型的中断(共256种),位于内存的最低1KB的空间,地址范围为00000003FFH。每个类型号占4个字节,高2个字节存放中断入口地址的段基址,低2个字节存放段内偏移地址,如图所示:,9、修改中断向量表的编程,类型号为n的中断服务程序:,ORG 0200H INMM PROC FAR BEGIN: IRET INMM ENDP,CLI MOV AX,0 MOV ES,AX MOV DI,4*n MOV AX,OFFSET BEGIN STOSW MOV AX,SEG BEGIN STOSW,方法2(调用DOS功能):,方法1:,DS:DX SEG BEGIN:OFFSET BE

10、GIN MOV AH,25H MOV AL,n INT 21H,在IBM-PC机初始化命令字在系统启动时已自动装入,工作方式为: 1. 中断请求触发为上升沿有效; 2. 中断采用正常全嵌套方式,特点: 优先级是固定的,即0级(IRQ0)最高,7 级(IRQ7)最低;顺序为: IRQ0IRQ1IRQ2IRQ7 低、高级中断同时请求时,响应高级中断; 低级中断执行时,高级中断可以嵌入低级中断;,执行条件: 主程序中要有开中断指令,使IF=1时,才可能响应中断; 中断服务程序中要有开中断指令,才可能使高级中断嵌入;,3. 中断采用正常结束方式(非自动)因此在每个中断服务程序的最后要使用关中断指令:

11、MOV AL,20H; OUT 20H,AL;,初始化,中断结束,关中断,IRET,开中断,IR2中断,IR3中断,开中断,开中断,开中断,开中断,IRET,中断结束,关中断,关中断,主 程 序,IRQ3请求,IRQ2请求,中断嵌套过程,IRQ0,IRQ0,1,0,8259,IRQ0,IRQ1,IRQ2,IRQ3,IRQ4,IRQ5,IRQ6,IRQ7,INT,8086 CPU,INTR,关于74HC373,373 的输出端 O0O7 可直接与总线相连。 当三态允许控制端 OE 为低电平时,O0O7 为正常逻辑状态,可用来驱动负载或总线。 当 OE 为高电平时,O0O7 呈高阻态,即不驱动总线

12、,也不为总线的负载,但锁存器内部的逻辑操作不受影响。 当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。 当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV,关于74HC245,总线收发器(bus transceiver),典型的CMOS型三态缓冲门电路 第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。 第29脚“A”信号输入输出端,A0=B0、A7=B7,A0与B0是一组,如果DIR=“1”OE=“0”则A1输入

13、B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。 第1118脚“B”信号输入输出端,功能与“A”端一样,不再描述。 第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。,实验内容一程序,code segment assume cs:code start:push es xor ax,ax mov es, ax mov al, 2 xor ah,ah shl al,1 shl al,1 ;计算2号中断的中断向量在中断向量表中的地址 mov si, ax ;中断向量的表地址送SI mov ax, of

14、fset nmi_service mov es:si,ax ;保持中断服务程序的IP地址 mov bx, cs mov es:si+2,bx ;保持中断服务程序的CS地址,pop es mov al, 0FEH ;LED初值,最低位DI亮 mov dx, 8000H ;74HC373输出口地址 out dx, al jmp $ nmi_service: ;中断服务程序 rol al,1 ;LED状态移位 mov dx, 8000H ;74HC373输出口地址 out dx, al exit: iret ;中断返回 code ends end,实验内容二程序,CODE SEGMENT ASSUM

15、E DS:DATA,CS:CODE START: MOV AX, DATA ;装入数据段地址 MOV DS, AX PUSH ES ;中断向量初始化 XOR AX, AX MOV ES, AX MOV AL, 2 XOR AH, AH SHL AL, 1 SHL AL, 1 MOV SI, AX MOV AX, OFFSET NMI_SERVICE MOV ES:SI, AX MOV BX, CS MOV ES:SI+2, BX POP ES,MOV SI, OFFSET TABLE ;将SI指向七段数码管编码表首 MOV DX, 8000H ;设置端口地址 LP: MOV AL, SI ;将要显示的数码管编码送AL OUT DX, AL ;由端口输出 JMP LP NMI_SERVICE: INC SI ;SI指向下一个数字 CMP SI, OFFSET TABLE_END ;是否到达表尾,或者是否超过数字9 JB EXIT MOV SI, OFFSET TABLE ;大于9后回到0,即表首 EXIT: IRET CODE ENDS DATA SEGMENT TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH;09的共阴极七段数码管编码 TABLE_END = $ DATA ENDS END START,

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!