第7章中断控制器_第1页
第7章中断控制器_第2页
第7章中断控制器_第3页
第7章中断控制器_第4页
第7章中断控制器_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

第7章 中断控制器重点8259A的编程结构;8259A的工作方式以及工作方式的分类依据;8259A的初始化命令字及其含义;8259A的初始化方法;8259A的操作命令字和设置方法;多片8259A构成的主从式中断系统。(简单了解)8088/8086中断系统内部中断外部中断除法错中断溢出中断单步中断软件中断非屏蔽中断可屏蔽中断256个中断源回顾优先级从高到低的顺序为:内部中断NMI中断INTR中断单步中断可编程中断控制器8259ANMIINTR中断逻辑软件中断指令溢出中断除法错单步中断非屏蔽中断请求中断控制器8259A8086/8088CPU内部逻辑断点中断可屏蔽中断请求n430128086/8088中断源类型:...00000H003FFHCSIP第7章 中断控制器中断控制器有什么基本功能?12345678910111213142827262524232221201918171615CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDVCCA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS28259A7.18259A的引脚信号、编程结构和工作原理7.1.18259A的外部信号和含义8259占有几个端口地址?可以接几个IO设备?级联时用到CAS0-2、7.1.28259A的编程结构和工作原理什么时候使IRR的相应位置1,什么时候清0?什么时候使ISR的相应位置1,什么时候清0?什么时候提供中断类型码?满足什么条件外部设备的中断请求才能送往CPU?CPU7.1.28259A的编程结构和工作原理7个寄存器分为二组第一组:ICW1~ICW4;(初始化命令字)第二组:OCW1~OCW3(操作命令字)7.28259A的工作方式设置优先级的方式全嵌套方式特殊全嵌套方式优先级自动循环方式优先级特殊循环方式屏蔽中断源的方式普通屏蔽方式特殊屏蔽方式结束中断处理的方式中断自动结束方式一般的中断结束方式特殊的中断结束方式连接系统总线的方式缓冲方式非缓冲方式引入中断请求的方式边沿触发方式电平触发方式中断查询方式7.28259A的工作方式1设置优先级的方式(1)全嵌套方式固定优先级:一个中断源的中断处理过程仅能被比该中断级别更高的中断请求打断IR0IR7降(2)特殊全嵌套方式

固定优先级:一个中断源的中断处理过程可以被比该中断级别更高或同一级别的中断请求打断(该种方式多用于8259级联时主片工作方式)8259级联时主片工作于特殊全嵌套方式

7.28259A的工作方式1设置优先级的方式(续)(3)优先级自动循环方式(初始优先级队列为IR0→IR7)。当某个当某个外设的中断请求得到CPU响应后,其中断的优先级自动降为最低,而将最高优先级赋给原来比它低一级的中断请求7.28259A的工作方式1设置优先级的方式(续)(4)优先级特殊循环方式优先级特殊循环方式与自动循环方式相比,只有一点不同,即初始化的优先级是由程序控制的,而不是默认的IR0—IR7。IR7IR6IR5IR4IR3IR2IR1IR0IR3IR2IR1IR0IR7IR6IR5IR4升低高7.28259A的工作方式2屏蔽中断源的方式(1)普通屏蔽方式中断屏蔽寄存器IMR的8位与中断请求IR0~IR7一一对应(OCW1(A0=1))。7.28259A的工作方式2屏蔽中断源的方式(续)(2)特殊屏蔽方式(OCW3设置)仅对本级中断进行屏蔽,但可以响应较低级或较高级的中断请求当ESMM=1且SMM=1时,表示8259A工作在特殊屏蔽方式7.28259A的工作方式2屏蔽中断源的方式(续)(2)特殊屏蔽方式(OCW3设置)作用:在中断服务程序中使用,用于中断嵌套,实现在高优先权的中断服务程序中开放低优先权的中断请求。方法:在中断服务程序中,用命令字OCW1对中断屏蔽寄存器IMR中相应的位置1,同时会清除当前中断服务寄存器ISR对应的位,从而开放低优先权的中断请求。7.28259A的工作方式3结束中断处理的方式结束中断处理的含义:将中断服务寄存器的对应位清“0”IRR:中断请求寄存器,PR:优先级裁决器,ISR:中断服务寄存器7.28259A的工作方式3结束中断处理的方式(续)(1)中断自动结束方式利用中断响应时第二个INTA负脉冲ISR中相应的位清0

7.28259A的工作方式3结束中断处理的方式(续)(2)一般的中断结束方式(适合于全嵌套方式)

8259A每得到一次CPU的编程EOI命令(OCW2(A0=0)),就将ISR中优先级最高的位复位。EOI=1,SL=0,R=0,L2L1L0:对应中断的编码,SL=0时无意义7.28259A的工作方式3结束中断处理的方式(续)(3)特殊的中断结束方式由CPU在中断服务结束时,发出一条特殊EOI命令(OCW2(A0=0)),指明要清除ISR中的哪一位。EOI=1,SL=1,R=0,L2L1L0:对应中断的编码7.28259A的工作方式4连接系统总线的方式(1)缓冲方式

8259A通过总线缓冲器和系统数据总线相连。8259A的SP#/EN#(低有效)作为总线缓冲器的允许端(2)非缓冲方式

8259A直接与数据总线相连,SP#/EN#作为主片和从片的区分引脚(主片接高,从片接地)7.28259A的工作方式5引入中断请求的方式(1)边沿触发方式(2)电平触发方式(3)中断查询方式

D7D6D5D4D3D2D1D0A0=0XXX1LTIMXSNGLIC4特征位1单片8259A0多片级联1IR0—IR7高电平触发0IR0—IR7上升沿触发7.28259A的工作方式5引入中断请求的方式(续)(3)中断查询方式

如果CPU中的IF=0,CPU不响应8259发来的外部中断。CPU可以向8259发送查询命令(OCW3)获知有无中断、和正在请求的中断最高优先级查询到的状态字:7.38259A的初始化命令字和初始化流程1ICW1的格式和含义

7.3.18259A的初始化命令字16和32位系统中必定有ICW41单片8259A0多片级联D7D6D5D4D3D2D1D0A0=0XXX1LTIMXSNGLIC4特征位1IR0—IR7高电平触发0IR0—IR7上升沿触发7.3.18259A的初始化命令字

2ICW2的格式和含义

D7D6D5D4D3D2D1D0A0=1T7T6T5T4T3XXX中断向量码的高5位中断源的序号7.3.18259A的初始化命令字3ICW3的格式和含义D7D6D5D4D3D2D1D0A0=1S7S6S5S4S3S2S1S01对应IR线上接了从片0对应IR线上没有接从片主片ICW3格式例:若只在IR2和IR6上接有从片8259A,则ICW3为010001007.3.18259A的初始化命令字3ICW3的格式和含义(续)D7D6D5D4D3D2D1D0A0=100000ID2ID1ID0从片标识码,即说明从片接到主片的哪个引脚上从片ICW3格式例:若从片8259A接在主片8259A的IR6上,则从片8259A的ICW3设定:ID2ID1ID0=1107.3.18259A的初始化命令字3ICW3的格式和含义(续)ICW3是在级联方式下设置的初始化命令字。当ICW1中D1=1,单片使用,不需要ICW3;当ICW1中D1=0,表示8259A工作于级联方式,必须设置ICW3。7.3.18259A的初始化命令字4ICW4的格式和含义

D7D6D5=000ICW4的标志D7D6D5D4D3D2D1D0A0=1000SFNMBUFM/SAEOI11自动EOI0非自动EOI0X非缓冲方式缓冲方式(主片)11缓冲方式(从片)特殊嵌套=1一般嵌套=07.3.2.8259A的初始化流程①ICW1必须写入偶地址,ICW2~ICW4必须写入奇地址②ICW1~ICW4的设置次序固定,不可颠倒③ICW1和ICW2都是必须的16位和32位系统中ICW4也是必须的④只有在级联情况下ICW3才是必须的,而且主片和从片的格式不一样7.3.2.8259A的初始化流程7.3.2.8259A的初始化流程对8259A设置初始化命令字的例子MOV AL,13HOUT 80H,AL ;设置ICW1MOV AL,18HOUT 81H,AL ;设置ICW2MOV AL,0DHOUT 81H,AL ;设置ICW47.48259A的操作命令字7.48259A的操作命令字1OCW1的格式和含义OCW1的功能用来动态地设置中断源的屏蔽状态。CPU也可以从8259A的高地址端口读取中断屏蔽寄存器IMR的内容。D7D6D5D4D3D2D1D0A0=1M7M6M5M4M3M2M1M0屏蔽0允许中断7.48259A的操作命令字2OCW2的格式和含义

R、SL、EOI三位配合使用选择中断结束和优先权循环的操作方式。A0=07.48259A的操作命令字RSLEOI功能100优先级自动循环方式000结束优先级循环方式110特殊优先级循环方式101发中断结束命令,并仍用优先级循环方式111发中断结束命令,并用特殊优先级循环方式011特殊中断结束命令001一般中断结束方式2OCW2的格式和含义

(续)7.48259A的操作命令字3OCW3的格式和含义

D7D6D5D4D3D2D1D0A0=0XESMMSMM01PRRRIS特征位10读IRR11读ISRA0=1读IMR0非查询方式1查询方式10清除特殊屏蔽11设置特殊屏蔽查询的中断状态字对8259A按下述要求进行初始化编程:①工作于80x86系统,单片8259A,边沿触发方式②中断类型码初始值为08H,即IR0~IR7对应的中断类型码为08H~0FH③中断处理结束时,用普通中断结束命令,固定优先级④设8259A的端口地址为20H,21H8259A应用举例例18259A应用举例例1(续)8259A应用举例例1(续)8259A应用举例G1G2AG2B74LS138CBAA4A3A2A5A7+A6A8A15A14....Y0Y7+Y1+A0M/IOCSA0A1D7D0....CPU8259AIR0IR1IR7INTR

设中断为边沿触发式,从IR7引入的中断的中断类型号为C7H例2Mainsegment

CLIMOVAL,13H;ICW1MOVDX,0084HOUTDX,ALMOVAL,0C7H;ICW2MOVDX,0086HOUTDX,ALMOVAL,01H;ICW4OUTDX,ALSTIMainends........例2(续)多功能接口芯片8238082380中的中断控制器INT中断控制器AIRQ0IRQ1IRQ1.5IRQ3IRQ4IRQ7未用IRQ11IRQ12中断控制器BIRQ8IRQ9IRQ13IRQ15IRQ14INT中断控制器CINTIRQ16IRQ17IRQ19IRQ21IRQ23IRQ22IRQ18IRQ20IRQ2中断类型号IR7IR6IR6IR4IR3IR2IR1IR00x0f0x0e0x0d0x0c0x0b0x0a0x090x08IR15IR14IR13IR12IR11IR10IR09IR080x770x760x750x740x730x720x710x70主片中断源:从片中断源:定时器产生中断的例子#include<dos.h>#include<stdio.h>void interruptmyint8(void);void main(void){ disable(); outportb(0x43,0x36);

//0x43是定时器控制寄存器地址

outportb(0x40,0x9d);

//0x40是定时器0通道地址

outportb(

温馨提示

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

评论

0/150

提交评论