接口技术章中断技术_第1页
接口技术章中断技术_第2页
接口技术章中断技术_第3页
接口技术章中断技术_第4页
接口技术章中断技术_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

1、第七章 中断技术7.1 基本概念基本概念 一、中断一、中断 中断是一个过程中断是一个过程。它。它是指是指CPUCPU在正常运行程序时,由于在正常运行程序时,由于内部内部/ /外部事件,由主程序转到为中断事件服务的程序中去,外部事件,由主程序转到为中断事件服务的程序中去,服务完毕,再返回执行原程序。这一过程称为中断。服务完毕,再返回执行原程序。这一过程称为中断。 中断可以分为中断可以分为 硬件中断:硬件中断: 由外部硬件产生的中断。由外部硬件产生的中断。 软件中断:软件中断: 由程序预先安排的中断。由程序预先安排的中断。 中断的特征:具有随机性。中断的特征:具有随机性。第七章 中断技术v二、中断

2、的基本过程 分为四个阶段 中断请求 中断响应 中断服务 中断返回主程序入口服务程序 中断请求 返回v1.1.中断请求中断请求v 外设先(通过接口)发送外设先(通过接口)发送“中断请求中断请求”信信号号v 给给CPUCPU。v CPUCPU检查检查“中断请求中断请求”输入线。输入线。v CPUCPU有权决定是否响应中断(有权决定是否响应中断(中断允许中断允许):):v若允许请求,、则中断允许触发器若允许请求,、则中断允许触发器IFIF置置“1”1”,v (使用(使用STISTI指令开中断)。指令开中断)。 不允许中断请求的情况: 如:在实时控制时,需采集一段连续数据为防上数据 丢失,不允许其他中

3、断请求; 又:执行管理程序中某些重要程序,CLI指令进行屏蔽。 若不允许申请,(用CLI指令)关中,触发器IF=0。 没有获得允许向CPU发出中断请求,则称为 中断被屏蔽(中断屏蔽)。 CPU在当前指令执行结束时,响应中断,进入中断的响应周期; 发出二个中断回答信号INTA完成一个中断响应周期 进行断点及标志保存 如:段地址(CS),偏移地址(IP)标志FR以及压入堆栈。 读取中断类型号,找到中断源; 装入中断服务程序的入口地址(CS,IP)v3.中断服务v 转入中断服务程序后,其服务程序的内容有:v a.与CPU交换数据,进行I/O操作;v b.外部期望CPU给以控制,进行参数修改。v 在程

4、序开头,将可能使用的寄存器内容进栈,即保护现场。v 在服务程序的未尾,将入栈的寄存器内容弹出,即恢复现场。v4.4.中断返回中断返回v 中断服务程序结束,执行中断返回。中断服务程序结束,执行中断返回。v 自动将保存在堆栈中的标志自动将保存在堆栈中的标志PSWPSW,断点(,断点(IPIP,CSCS)依次弹出并装入。)依次弹出并装入。v 返回到中断前的地址(断点地址)开始继返回到中断前的地址(断点地址)开始继续执行主程序。续执行主程序。v三、中断源、中断识别、优先级 中断源:发出中断请求的外设或引起中断的内部原因称为中断源。 中断识别:CPU响应中断后,只知道有中断请求但不知道是哪一个中断源,寻

5、找中断源的操作过程称为中断识别。 中断识别的目的:形成该中断服务程序的入口地址。v CPUCPU识别中断的方法:识别中断的方法:v 二种: 向量中断v 程序查询中断v 向量中断:在CPU响应中断后,由中断控v 制器将服务程序入口地址送到CPU。v 查询中断:采用软件查询技术来确定发出v 中断请求。四、多重中断(中断嵌套)响应1响应2服务 器返回返回主程序五、中断的软硬件系统硬件:外设、中断控制器、CPU、总线控制器、BIOS软件:OS、中断初始主程序、中断处理子程序外设:发出中断请求(可以是边沿触发或电平触发)、数据输入输出、握手联络中断控制器:中断请求的锁存、中断排队、中断屏蔽、提供中断向量

6、、中断结束CPU:中断检测、中断允许、状态输出(8288中断周期)、断点(FR、CS、IP)入栈、获得向量n、计算入口地址、取子程序CS/IP、转向执行子程序v8288总线控制器:中断响应周期生成、发出INTA-1,告知中断响应,发出INTA-2,获取中断向量v中断初始主程序:见8255A方式1、2v中断处理子程序:见8255A方式1、2v操作系统:很多写好的中断处理子程序int21等、中断响应机制:事件驱动处理(消息机制)、事件CLASS类DLL/VXD等。vBIOS:很多写好的中断处理子程序、开机初始化中断向量。5。2 80X86的中断系统的中断系统一一. 80X86的中断分类(的中断分类

7、(256级)级)分类 1. 1.中断服务程序的入口地址中断服务程序的入口地址-中断向量中断向量 CPU响应中断后,中断源提供地址信息,由此地址信息对程序的执行进行导向,引导到中断服务程序中去,故把这个地址信息称为中断向量。 中断向量包括中断服务程序的段基址CS,偏址IP共4个字节。 中断向量表:所有的中断向量集中存放到存储器的某一区域,这一区域称之为中断向量表。二二.80X86的中断类型码及的中断类型码及中断向量表中断向量表中断向量表0BA90125000003FF1024个单元000003FF共1024个字节存放256个向量2.中断向量,中断向量指针与中断类型号 中断向量:中断服务程序入口地

8、址 中断向量指针: 指出中断向量存放在中断矢量表中的位置(或地址)。 在在PCPC系列中中断向量指针由中断类型号提供系列中中断向量指针由中断类型号提供的,即的,即 向量地址向量地址=0000=0000:类型号:类型号4 4如:硬盘“1NT13H”它的向量地址=0000:13H4 =0000:004CHn004CH开始连续4个单元中用来存放“INT 13H”的中断向量:中断向量寄存器中断向量指针00700FC9CSHCSLIPHIPL004FH004EH004DH004CH图7.2 中断向量指针示意图中断号向量地址中断向量硬盘13H13H4=4CH0070:0FC95。2 80X86的中断系统的

9、中断系统一一. 80X86的中断分类的中断分类分类二、硬中断(见下表)1.不可屏蔽中断NMI-通常用于处理紧急/灾难性事件 RAM奇偶校验错PCK I/O通道校验错I/O CHCK 协处理器8087运算错INT 响应时间响应时间:在当前机器周期之后立即响应。在当前机器周期之后立即响应。 INTRINTR中断可以被中断可以被CPUCPU用指令用指令CLICLI来禁止,来禁止,由由STISTI允许允许。中断响应条件:I F=1 INTR=1中断响应时间:当前指令执行完以后,所以,INTR高电平信号需要一定的保持时间高电平信号需要一定的保持时间。INTR中断响应过程如下:2.2.可屏蔽中断可屏蔽中断

10、INTRINTRM80X86I PCSPSWINTR 1 INTA 2 类型码N 3 中断矢量表零页地址空间4个字节TYPE 0TYPE 1IPCS6 N*4SS9PA(20位.入口)中断服务程序STI CLI 10.IRET 11IF .TF清零57断点.现场恢复12 4 断点. .现场进堆栈8中断响应过程INTR三.80X86的中断响应总线周期:当当 CPU CPU收到收到INTRINTR中断请求中断请求 当前一条指令执行完,且中断允许标志位当前一条指令执行完,且中断允许标志位IF=1IF=1 那么:那么:CPUCPU进入中断响应周期,它通过总线控制器进入中断响应周期,它通过总线控制器发出

11、二个连续中断应答信号完成一个中断响应周期发出二个连续中断应答信号完成一个中断响应周期 在中断响应周期的两个工作:在中断响应周期的两个工作: 1.1.第一个第一个INTA-INTA-脉冲时,通知中断源,其中断请求脉冲时,通知中断源,其中断请求已被响应,准备发送类型码。此时,已被响应,准备发送类型码。此时,CPUCPU产生产生LOCK-LOCK-信号,使总线处于封锁状态,防止信号,使总线处于封锁状态,防止DMADMA占用总线。占用总线。 2.2.在第二个在第二个INTA-INTA-,CPUCPU通过数据总线低通过数据总线低8 8位读取类位读取类型码。同时,型码。同时,LOCK-LOCK-信号撤除,

12、总线解封信号撤除,总线解封 。 中断响应总线周期时序波形图中断响应总线周期时序波形图T1T2T3T4T1T2T3T4中断号CLK(时钟)ALE(地址允许)LOCK(总线锁存)INTA(中断应答)D0D7(数据)图7.8 中断响应周期3. 8259A3. 8259A可编程中断控制器可编程中断控制器一、一、8259A8259A中断控制器的功能。中断控制器的功能。 1.1.一片一片82598259芯片可响应芯片可响应8 8级级INTRINTR中断请求,通过级连中断请求,通过级连INTRINTR可扩展至可扩展至6464级。级。 2.2.可对各级可对各级INTRINTR请求进行优先权管理,请求进行优先权

13、管理,82598259具有完全具有完全嵌套,循环优先级,特定屏蔽等多种优先权管理方式。嵌套,循环优先级,特定屏蔽等多种优先权管理方式。 3.3.对每一级中断请求均可依需要给予屏蔽或开放。对每一级中断请求均可依需要给予屏蔽或开放。 4.4.当当CPUCPU响应响应INTRINTR中断请求后,中断请求后,82598259可提供相应的中断可提供相应的中断类型码,从而使类型码,从而使CPUCPU迅速转入中断服务程序入口。迅速转入中断服务程序入口。 5.5.可通过编程手段,设置可通过编程手段,设置82598259的的8 8种不同工作方式。种不同工作方式。8259AWRRDCSINTINTAIR0IR1I

14、R2IR7外部中断源。WRRD。地址译码A71A0。INTRINTAVCCC GNDCPUCAS0 1 2 SP/EN8259的引脚及其功能的引脚及其功能8259有28个引脚,具体如下:INT数据总线缓冲器读/写逻辑级联缓冲/比较器控制逻辑正在服务寄存器ISR优先级分析器PR中断屏蔽寄存器 IMR中断请求寄存器IRRIR0IR1IR2IR3IR4IR5IR6IR7D0D7A0CAS0CAS1CAS2SP/ENCSWRRD图7.6 8259A内部逻辑框图INTA二、二、8259A的内部结构的内部结构 CPU数据总线缓冲器读/写控制逻辑内部控制逻辑DB8位CSWRRDA0所有与CPU交换信息通过它

15、进出CPU8259中断控制器由8个主要部分组成,根据8259是一专用接口芯片,可将它的8个部分按下面三个部分划分: 1. 与与CPU接口部分:接口部分:CPU通过它实现 8259 的读/写操作控制以及对 8259进行初始化操作对8259芯片内部实现控制操作,使8259按初始化编程操作 2. 与外部硬件(中断源)连接部分:与外部硬件(中断源)连接部分: 中断请求寄存器(IRR)一片8259有8条INTR中断请求线 IR0IR7,每一条请求线有一个对应的触发器来存放中断请求信号。 中断请求寄存器IRRIR0IR1IR2IR3IR4IR5IR6IR7 (3)中断屏蔽寄存器IMR的每一位可对IRR中相

16、应的中断源进行屏蔽,如果禁止某IR提出中断请求,就将其中在IMR中的相应位量“1”。 IMR对于较低优先权的IR实行屏蔽并不影响较低优先权的IR的输入 3. 内部工作寄存器:内部工作寄存器: (1)正在服务寄存器ISR,用于记录已被获准的中断请求(即将与IR对应的IS位置位) (注意:注意:ISR除存放正在被服务的中断源外,还包括尚未除存放正在被服务的中断源外,还包括尚未服务完而中途被别的中断源暂时中止的中断)服务完而中途被别的中断源暂时中止的中断) ( 2)优先权分析器 对保存在IRR的各个中断请求经过判断 确定其中一个为最高优先权,然后在中断响应周期时间将它选通到中断服务寄存器 中。分析器

17、分析器中断屏蔽寄存器IMRD0D1D2D3D4D5D6D7中断请求寄存器IRR & & 中断请求优先级编码器1ISR编码器 AB比较器B0B1B2A0A1A2 &INTIR0IR1IR2IR3IR4IR5IR6IR7图7.7 中断优先级分析器的工作原理返回 8259的中断响应过程:的中断响应过程: 1。当有一条或多条中断请求引脚信号有效时(即IR70相应引脚为“1”)。 中断请求寄存器IRR的相应位被置为“1”。 2。若中断请求IR1线中至少有一个中断请求被允许,则8259通过INT引脚向CPU的INTR送出中断请求信号。 3。若CPU处于开中状态(IF=1),则在当前指令执行完后,向8259

18、发回INTA信号,表示中断请求已被CPU响应。 4。8259接收到CPU发出的INTA信号后。将中断请求源(对应于各IRi) 中 优先权最高的对应的ISR位置位,然后将IRR中相应的IRi位复位。三、三、8259的工作过程的工作过程 5. 8086CPU继续启动另一个中断响应周期,发送第二个INTA信号,此时 8259向数据总线DB70送出8位的中断类型码。 返回Type码N用户在对8259初始 化编程时设定由中断请求线IRi的进制编码决定,由8259自动插入填写D7D3D2D1D0 该中断类型码的生成:该中断类型码的生成: 非自动结束方式非自动结束方式:在中断服务程序结束处写一中断结束命 令

19、(置EIO为“1”),相应IS位 才会被复位。至此,至此,8259的一次中断响应过程完成。的一次中断响应过程完成。6、CPU读取中断类型码N后,用N*4查中断矢量表,获取服务程序入口地址有关信息(IP和CS值),转入服务程序入口执行程序。7、中断响应周期完成后,8259中断工作结束,被量位的ISR中的相应位复位,其中断方式有两种: 当8259工作于AEOI模式(自动结束方式自动结束方式):当CPU送出的INTA脉冲结束时,其后沿使在“4”中被量位的IS位复位(清零)。v 从8259各I/O端口读状态字,中断类型码及查询字v 对8259各I/O端口写入初始化命令字,工作方式命令字。 操作是由RD

20、-、WR-控制信号进行控制,而对各端口的寻址则是由CS-和A0确定的。v具体I/O端口寻址及操作情况如下: (一片8259只占两个端口地址,也就是说8259只有两个I/O端口-奇数口和偶数口 )四四 对对8259的端口寻址及其操作(读的端口寻址及其操作(读/写基本操作)写基本操作)PIC1 PIC2CS A0 WR RD 输入操作(输入操作(RD)20H 21H0A0H0A1H0 0 1 00 1 1 0 IRR ISR 查询字(查询字(OCW3)IMR(OCW1) CPU输出操作(输出操作(WR)20H21H0A0H0A1H0 0 0 0 0 10 0 0 1 0 10 0 1 X 0 10

21、 1 X X 0 1 OCW2CPU写写 OCW3 ICW1 写(写(IMR).OCW1.ICW2.3.4对对8259的端口寻址及其基本操作(读的端口寻址及其基本操作(读/写基本操作)写基本操作)注意注意:8259只有两个端口,由只有两个端口,由A0一位确定:一位确定: 1:奇数口:奇数口 0:偶数:偶数口口 由奇由奇/偶数端口及控制字中的某些特定偶数端口及控制字中的某些特定 位来确定命令字往那位来确定命令字往那个个R中送。中送。DB7-0DB7-0B07TA078286OEB07TA078286OEB07TA078286OED07CAS02从片ASP/ENINTAINTD07CAS02从片B

22、SP/ENTITAINTD07CAS02主片SP/ENINTAIR5 IR6+5V1k+5V1k+5V1k数据总线数据总线局部数据总线DENDT/RINTRINT INTA图7.9 缓冲方式级联系统数据总线返回 必须在8259始工作前设量 可在启动8259之后的 任何地方设置 五、对五、对8259的编程:的编程: (初始化编程)(初始化编程) 启动8259开始工作:向8259送入24个字节的初始化命令字 (ICW14)对8259工作方式进行设量:向8259送出3个字节的操作命令字 (OCW13) Initialigation CommandWordOperation Command Word

23、即向8259相应端口送入24个字节的初始化命令字。 初始化命令字输出顺序如下: (一(一 ).对对8259的初始化编程顺序:的初始化编程顺序:ICW1ICW2单片?单片?ICW3N ( SNGL=0)Y需要需要ICW4设定中断请求触发方式设定中断请求触发方式中断类型号的设定中断类型号的设定Y(ICW4=1)ICW4准备好进行 中 断 服 务设定特定完全设定特定完全嵌套方式嵌套方式设定级联方式1 SNGL为“1”/“0”: 由ICW1中的D1位说明 ICW4 需 要 否: 由ICW1中的D0位决定2 4个命令字中, ICW1 ICW2是必须的, 而ICW3 ,ICW4是由工作方式来确定是否需要。

24、说明:说明:A0=0、D4=1:是ICW1的标志。A0=1 ICW2 利用A0=1和初始化的次序来寻址。A0=1 ICW3 特征位与特定顺序A0=1 ICW4 特征位与特定顺序 1LTIM XSNGLICW4D7D6D5D4D3D2D1D0只用于8位机一定为1(ICW1的特征位1 电平触发0 边沿触发只用8位机1 单片0 级联1 需要ICW40 不需要ICW4(二)、各初始化命令字的格式及其含义(二)、各初始化命令字的格式及其含义 1. ICW1:中断请求触发方式的设定中断请求触发方式的设定 格式如下: 当某IRI中断请求被CPU响应后,在系统的第二个INTA周期8259须向CPU提供8位的T

25、YPE码(其高5位由ICW2的D7D3位提供,其低3位由 IRI的二进制编码决定,在CPU读取TYPE码前,由8259自动填入到DB7 0的D2 D1 D0三位数据总线上)vINTR中断源的TYPE码=(ICW2的)高5位+低3位(IRI的编码) 2. ICW2 : 用于中断类型码的提供用于中断类型码的提供TYPE码码 v 编程举例:在PC机中,硬盘中断源的类型码的高5位由用户 或系统在ICW2中设定,ICW2内容为08H,其中断请求线与8259的IR5相连,类型 码的形成过程如下: TYPE码高5位已获得:D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 用户初始化编程:

26、MOV AL, 08H; AL ICW2内容 OUT 21H, AL; AL ICW2对应端口 (A0=1) CPU响应硬盘中断请求后,8259在INTA2送低3位至ICW2对应端口中,将IR5 对应101连同ICW2的高5位一齐送到DB70上:00001101IR5得到硬盘中断TYPE码为0DH在PC/XT和PC/AT中,IRI的二进制编码也就是在系统中断优先级的编码。. PC/XT、PC/AT中断类型码的生成表见书P98 3 . ICW3(中断级联方式的设定): ICW3初始化命令字用于8259的级联,若系统中只有一片8259A,则不需要设置命令字ICW3,若有多片若有多片8259级联,则

27、主、从级联,则主、从8259片都必须设置片都必须设置ICW3命令字,且主、从片的ICW3格式有所区别,具体如下:主片ICW31S7S6S5S4S3S2S1S0A0D7D6D5D4D3D2D1D0(2)ICW3的格式: a.主片ICW3S 7-0:1-8259主片的IRi引脚上连接有8259从片0-无从片连接说明:说明:当由多片8259A构成级联中断控制器机构时,与中断请求线IRI相连的8259A叫做从8259,与CPU的INTR引脚相连的那一片8259A叫做主8259A,级联将中断源由8扩至64级。 编程举例:若主8259的IR3和IR5两 输入端分别连接了从 8259A片,则有主主82598

28、259的的ICW3ICW3的值为的值为00101000B=28H00101000B=28H。 MOV AL, 28H; 主ICW3 AL OUT 21H, AL; AL 主ICW3对应 端口A0=1从片ICW3A0D7D6D5D4D3D2D1D01ID2 ID1 ID0 b.从片ICW3D7D3ID2 D2ID1 D1 ID0 D0 未用未用0 0 0 IR00 0 1 IR10 1 0 IR20 1 1 IR31 O O IR4 标明从标明从8259的的INT引脚引脚1 0 1 IR5 具体与主具体与主8259的哪一个的哪一个1 1 0 IR6 IRI引脚相连引脚相连1 1 1 IR7 .从

29、从8259的从的从ICW3的设定过程与主的设定过程与主ICW3相同相同 例如 :有主8259的IR6和IR1分别连接了从片8259, 则 有: 从片A的ICW3=00000001B=01H-与主片IR1相连 从片B的ICW3=00000110B=06H-与主片IR6相连 编程如下: MOV AL, 01H; OUT 21H, AL; MOV AL, 06H; OUT 21H, AL; 级联方式下级联方式下CPU对从片中断请求的响应:对从片中断请求的响应: 1 . 从IRI 经判优,最终到达CPU的INTR引脚。 2 .CPU响应INTR请求,发出INTA,给所有8259(主及从) 3 . 主8

30、259通过级联线CAS20向所有从片送出优先权最高的 中断源所在的从8259的标识码符 4 . 各从片将CAS20上来的ID2-0码与自己的ID2-0码核对,进行 比较以后,相符的从8259就在INTA2周期送出中断类型码。 5 . 在CPU发出INTA2时,从DB70上读取TYPE码CPU INTR INTA WR RD DB8 CS A0SP/EN IR0 8259从INT INTA IR7WRRD CAS20 CS A0SP/ENN IR0 8259从INTINTA IR7WRRD CAS20 8259中断级联方式的连线中断级联方式的连线 CS A0SP/EN IR0 8259主 INT

31、 IR7INTAWRRD CAS20 返回返回49 4.ICW 4.ICW4 4格式:格式: (嵌套和中断结束方式)1 16位CPU0 8位CPUD7 D6 D5 D4 D3 D2 D1 D00 0 0 SFNM BUF M/S AEOI MPM 1 特定的完全嵌套方式0 正常的完全嵌套方式 0 1 0 1 1 非缓冲方式缓冲方式/从缓冲方式/主主结束中断的方式, 1 自动EDI 由OCW2具体规定 0 非自动EDI 注:注:非缓冲方式(BUF=0时),则M/S无意义,此时主/从 由SP端决定。主片:SP=+5V,从片:SP接地 编程举例: 在TP-86单片机中,CPU8086为16位机,采用

32、非自动结束中断方式, 使用1片8259,正常完全方式,8259与系统总线间采用缓冲器连接, 其对应其对应ICW4为为00001101B=0DH MOV DX, 0FFDEH; ICW4对应端口地址 DX MOV AL, 0DH; 设置ICW4 送 AL OUT DX, AL; ICW4送8259奇数口(A0=1) (三)(三).设置设置8259的工作方式的工作方式通过设置OCW1-OCW3实现 .特定完全嵌套方式的设定(ICW4) 问题的提出: 在级联方式中,当从控接收到比“正在服务”中的那一个优先等级更高的中断申请时,就不会被主控识别,就是说,从控的较高优先级的中断就不能被及时服务。 为了解

33、决这个问题,8259提供了一种特定的完全嵌套方式。 如果在主控中采用这种方式,那么当从控收到一个更高的中断请求时,它是会被主控识别的。这种完全嵌套方式是在初始化时由ICW4指定的。返回 8259的工作方式有:的工作方式有: 1 中断屏蔽方式: 正常 OCW1 IMR 特定 OCW3(D6 D5=1)设定 2 中断嵌套方式 : 完全固定,依IR0IRR7排优 特定的完全嵌套 ICW4(D4 SFNM)=1 (CPU可以响应所有与正在被响应的ISRI同 级以及更高优先权的中断请求) 3 中断优先权排队方式 :优先权固定 优先权轮转,由OCW2具体操作 4 中断结束方式 : 自动结束,在INTA2自

34、动使ISRI置0, ICW4的D1=1 非自动结束,通过ICW4的D1=0 以及 OCW2 指定/不指定,轮转/不轮转 5 级联 6 缓冲 7 读8259的状态 ,即 读IRR, ISR 。先设量OCW3(D1 D0) 再使用IN命令 读;对IMR进行读,可以直接通过IN指令对奇数端口进行读操作即可。 8 读查询字-查询方式(适用于非80X86微机) 先设置OCW3(D2)=1 CPU输出 RD信号 8259置位对应ISRi=1,同时 送查询字 DB70 方式方式v当A0=1时,寻址OCW1;v当A0=0,D4=0,D3=0时,寻址OCW2;v当A0=0,D4=0,D3=1时,寻址OCW3(1

35、)OCW1(中断屏蔽寄存器操作数(中断屏蔽寄存器操作数) OCW1用于设置用于设置8259A的屏蔽中断操作,它可以直接的屏蔽中断操作,它可以直接对中断屏蔽寄存器对中断屏蔽寄存器IMR的相应屏蔽位进行操作。的相应屏蔽位进行操作。1-禁止禁止 0-允许允许 其格式如下:其格式如下:M3M2M1M4M5M6M71A0D7D6D5D4D3D2D1D0 0:允许IR7 1:屏蔽IR7 0:允许IR0 1:屏蔽IR0 (2) OCW2。当A0=0,D4=D3=0时可寻址OCW2。OCW2用于控制中断结束、优先权循环等操作。OCW2命令或方式的选择以位的组合格式来设置,而不是按位设置。OCW2的格式和各位的

36、功能如图8.15所示。 OCW2的格式0L2L1L00EOISLR0A0D7D6D5D4D3D2D1D0 IR的级别编码一般EOI(正在服务的ISR复位)001011101100111110010特殊EOI(L0L2指定的ISR复位)一般EOI, 正在服务的IR优先级置为最低自动EOI下置循环优先级自动EOI下清循环优先级特殊EOI, 正在服务的IR优先级置为最低000不执行EOI, L0L2指定的优先级置为最低无操作 R:优先权循环控制位。R=1为循环优先权,R=0为固定优先权。 SL:选择指定的IR级别位。SL=1,操作在L2L0指定的编码级别上执行;SL=0,L2L0无效。 EOI:中断

37、结束命令位,在非自动中断结束命令情况下,EOI=1表示中断结束命令,它使ISR中最高优先权位复位;EOI=0则不起作用。 L0L2:指定操作起作用的IR级别码。当SL=1时,L0L2指定的级别编码才起作用。 以上各位的组合功能见图8.15所示。 (3) OCW3。当A0=0,D4=0,D3=1时,寻址OCW3。OCW3主要控制8259A的中断屏蔽、查询和读寄存器等状态。OCW3的格式及各位功能如图8.16所示。 ESMM:允许或禁止SMM位起作用的控制位。ESMM为1时允许SMM位起作用,为0时禁止SMM位起作用。OCW3的格式1PRRRIS0SMMESMMX0A0D7D6D5D4D3D2D1

38、D0 0 0 X:无效 0 1 0: 在下一读指令读IRR 0 1 1: 在下一读指令读ISR 1 X X:查询命令(下一读指令中断状态字) 0 X:无效 1 0: 复位特殊屏蔽方式 1 1: 设置特殊屏蔽方式 SMM:设置特殊屏蔽方式选择位。与ESMM位共同起作用,如图8.16所示。 P:查询命令位。P=1时,8259A发送查询命令;P=0时,不处于查询方式。OCW3设置查询方式以后,随后送到8259A RD端的读脉冲作为中断响应信号,读出最高优先权的中断请求IR级别码。 RR:读寄存器命令位。RR=1时允许读IRR或ISR,RR=0时禁止读这两个寄存器。 RIS:读IRR或ISR选择位。其

39、具体功能如图8.16所示。7.4 8259A在PC系统中的应用一、单片方式IR0IR1IR2IR3IR4IR5IR6IR7A0CSSP/EN中断控制器INTINTARDWRCPUINTRS2S1S0INTAIORIOW总线控制器S1S0数据D0D7S2+5V打印机软盘硬盘串行口1串行口2保留键盘日时钟 IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7图7.13 单片8259A中断系统的硬件连接v单片方式下的8259A初始化编程:vICW1=13H=00010011B 边沿触发,单片要ICW4vICW2=08H=00001000B 中断号的高5位,低3位由IR动态产生vICW4=

40、09H=00001001B 全嵌套,8088非自动结束vMOV AL,13HvOUT 20H,ALvMOV AL,8vOUT 21H,ALvMOV AL,9vOUT 21H,ALIR0IR1IR2IR7IRQ8IRQ9IRQ10CAS02IRQ11IRQ12IRQ13A0CSSP/ENINT从片INTARDWR8259AIR0IR1IR2IR7IRQ0IRQ1IRQ2CAS02IRQ3IRQ4IRQ5A0CSSP/ENINT主片INTARDWR8259AIRQ14IRQ15 保留硬盘协处理器保留保留保留保留保留日时钟键盘串行口2串行口1并行口2并行口2IRQ6IRQ7软盘S0S1S2S0S1S2D07D07D07INTRINTAIORIOWCPU总线控制器+5V图7.14 双片8259A中断系统的硬件连接二、双片方式二、双片方式v中断优先级顺序中断优先级顺序:IRQIRQ0 0,IRQIRQ1 1,IR

温馨提示

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

评论

0/150

提交评论