接口技术 8259A中断控制器原理及应用
- 格式:ppt
- 大小:1.42 MB
- 文档页数:62
可编程中断控制器8259A的原理及其应用
杜蕴杰
【期刊名称】《电脑》
【年(卷),期】1994(000)011
【摘要】中断系统是计算机的核心部分,机器中的外设I/O硬中断给CPU管理微机外部设备提供了合理的控制权,使CPU可以对外部设备中断进行各种操作.外设I/O硬中断是由8259A来管理的,8259A可编程控制器允许CRU对其进行初始化编程(ICW)和写命令字编程(OCW)两种操作,在应用程序中进行不同的操作可完成特定的功能.计算机系统中的可编程中断控制器8259A是一种大规模可编程芯片,微型计算机用它来具体管理系统的外设硬中断.机器在重新启动时BIOS通过写端口20H和21H对可编程控制器进行重新初始化编程操作,将8个外设硬中断驱动程序08H-0FH分别挂接到8级硬中断请求IRQ0-IRQ7上,8组硬中断请求IRQ0-IRQ7与外部设备的对应关系如下:
【总页数】5页(P10-14)
【作者】杜蕴杰
【作者单位】无
【正文语种】中文
【中图分类】TP302.1
【相关文献】
1.8259A可编程中断控制器与8031单片机的接口技术 [J], 刘铁坤
2.可编程中断控制器8259A的开放式实验构建 [J], 刘正红
3.浅议可编程中断控制器8259A的程序设计 [J], 刘正红
4.用8259A可编程中断控制器扩展8098单片机的外中断源 [J], 郭显久
5.要编程中断控制器8259A的原理及其应用 [J], 杜蕴杰
因版权原因,仅展示原文概要,查看原文内容请购买。
实验二8259A中断控制器应用实验分析报告一、填写补充实验1-2中以下两段代码,并简述其意义:第1段:IN AL,21H_ AND AL, 0F7H _____________OUT 21H,ALIN AL,0A1H__AND AL, 0FBH______________OUT 0A1H,AL第2段:MOV AL,20HOUT 0A0H,ALOUT 20H,AL二、简述实验1-2的实验现象,分析解释其原因;结合本实验,简述中断嵌套和中断优先级的意义以及正确形成中断嵌套的基本要求。
答:实验1现象:按下一次单脉冲,显示一次字符,十次中断后停机,不再显示字符串实验2现象:分别按下两个单脉冲显示一串3和一串10,在3未显示完全时按下显示10的脉冲键,可发生中断,相反则不能发生中断,需等待一串10显示完后再显示一行3。
原因:IRQ10的中断级别高于IRQ3,所以可以在3还没有执行完时中断IRQ3,中断原程序执行IRQ10 。
中断嵌套的意义:为了让CPU及时响应更高级别的中断请求。
中断优先级的意义: CPU只能响应一个中断请求,在中断源较多的情况下,当有多个中断源同时发起中断请求时,CPU需要对多个中断源的优先级进行判断,判断出优先级最高的中断请求进行响应。
中断嵌套要求是:被中断程序的优先级低于请求程序中断的优先级。
三、抄写实验1-2中要求填写的“显示‘10’和‘空格’”的代码段NEXT10_1:MOV AX,SEG MESS10MOV DS,AXMOV DX,OFFSET MESS10MOV AH,09INT 21H ;使用INT21 – 09H实现字符串的输出‘10’CALL DELAY1 ;调用延时子程序LOOP NEXT10_1MOV DX,0DH ;调用DOS的中断功能,回车MOV AH,02HINT 21HMOV DX,0AH ;调用DOS的中断功能,换行MOV AH,02HINT 21H四、用文字简述或流程图方式,说明实验1-3中“以查询方式检测处理多中断请求”的过程。
8259工作原理
8259工作原理是指8259A可编程中断控制器的工作原理。
8259A是一种用来处理中断信号的芯片,它可以管理多个设备的中断请求。
在8259A中,有8个中断请求线(IRQ0~IRQ7),这些中断
请求线可以连接到外部设备。
当一个设备需要通过中断通知CPU时,它会将相应的IRQ线拉低,8259A会将这个信号传
递给CPU。
8259A使用级联方式来管理多个设备的中断请求。
具体来说,它有一个主片和一个或多个从片。
主片连接到CPU,而从片
连接到各个外部设备。
主片负责管理整个中断系统,从片负责管理各自的设备的中断请求。
当一个设备的IRQ线被拉低时,从片会将这个信息传递给主片。
主片会根据中断请求的优先级确定要处理的中断请求,并将CPU相应的引脚拉高,通知CPU中断发生。
CPU会停止当前的工作,转而执行与中断相关的处理程序。
在8259A中,还有一些寄存器用来存储中断请求的相关信息。
这些寄存器可以被CPU读取和写入,以实现对8259A的配置
和控制。
总的来说,8259A的工作原理是通过管理中断请求线和级联连接的方式,实现外部设备与CPU之间的中断通信。
它可以在
多个设备同时发生中断时,决定中断的优先级,并通知CPU 执行相应的中断处理程序。
82598259A是一个可编程的中断控制器,应用在实时的、以中断方式进行监控的计算机系统中。
用一片8259A可以管理8个等级的中断申请。
并可再经级联扩展多至8片8259A,使得中断等级可扩展多至64级。
8259A可以作为一个I/O外围器件,用系统软件编程,它所具有的多种优先权方式可以通过主程序在任何时候进行改变或重新组织。
这意味着可以按照全系统的外围情况和要求,设计出一个完整的中断结构,用来实现优先管理、中断屏蔽以及自动中断矢量转移。
它几乎可以适合于任何一种中断控制的结构,因而得到了广泛的应用。
1 引脚图8259A为28脚双列直插式封装的器件。
2 内部结构其工作过程如下:第一步:当中断请求线(IR0~IR7)上有信号输入时,就把中断请求寄存器IRR相应的位置1。
第二步:当IRR的一位置1后,就会与IMR中相应的屏蔽位进行比较,如该屏蔽位为0,则请求被发送给优先级分析器;如该屏蔽位为1,则封锁该请求。
第三步:当一个中断请求被输入优先级分析器后,将由优先权分析器判定其优先权,然后向CPU 发中断申请,INT脚变高(INT联到8086的INTR)。
第四步:CPU的INTR引脚为异步状态接收,也就是它可以在任何时间(与时钟无关)接收中断。
在软件控制下利用STI指令(中断置位)或CLI(中断复位)指令可分别将CPU的“中断开放标志位”IF置位或复位,可以做到接受或不理睬在INTR上的中断申请。
第五步:假定CPU中的IF标志为1,则CPU在完成当前指令的即进入中断响应周期,这个中断响应周期将标志寄存器入栈,然后清除IF标志,关闭了中断。
再将代码段寄存器和指令指针也入栈(这是为了从中断服务程序返回),然后CPU发出第二个 INTA脉冲通知8259A,说明8086已经允许了它的中断请求。
若8086用于“最小方式”,则INTA脉冲信号为8086 INTA引脚上的信号;若8086用于“最大方式”时,则8086 LOCK脚在中断响应序列执行期间变为低电平。
8259中断控制器Overview前言8259A芯片是一个中断管理芯片,中断的来源除了来自于硬件自身的NMI中和来自于软件的INT n指令造成的软件中断之外,还有来自于外部硬件设备的中断,这些中断的可屏蔽的。
这些中断也都通过PIC(Programmable Interrupt Controller)进行控制,并传递给CPU。
一个8259A芯片最多可接收8个中断源,但由于可以将2个或多个8259A芯片进行级连(cascade),并且最多可以级链到9个,所以最多可以接64个中断源。
如今绝大多数的PC 都拥有2个8259A,这样最多可以接收15个中断源。
通过8259A可以对单个中断源进行屏蔽。
在一个8259A芯片上有如下几个内部的寄存器:1.Interrupt Mask Register(IMR)。
2.Interrupt Request Register(IRR)。
3.In Service Register(ISR)。
IMR被用作过滤被屏蔽的中断,IRR被用作暂时放置未被进一步处理的Interrupt,当一个Interrupt正在被CPU处理时,此中断被放置在ISR中。
除了这几个寄存器之外,8259A还有一个单元叫做Priority Resolver,当多个中断同时发生时,Priority Resolver根据它们的优先级,将最高优先级的优先传递给CPU。
工作原理当一个中断请求从IR0到IR7中的某根线到达IMR时,IMR首先判断IR是否被屏蔽,如果被屏蔽,则此中断请求被丢弃;否则,则将放入IRR中。
在此中断请求不能进行下一步处理之前,它一直被放置在IRR中。
一旦发现处理中断的时机已到,Priority Resolver将从所有被放置于IRR中的中断中挑选出一个优先级最高的中断,将其传递给CPU去处理。
IR号越低的中断优先级级别越高,比如IR0的优先级是最高的。
8259A通过发送一个INTR(Interrupt Request)信号给CPU,通知CPU有一个中断到达。
计算机科学与技术系实验报告专业名称计算机科学与技术课程名称微机原理与接口技术项目名称 8259A中断控制器实验班级学号姓名同组人员无实验日期 2016/12/17一、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。
)1、了解8259A的内部结构,工作原理;2、了解8259A和8088的接口逻辑;3、熟悉8259A的控制寄存器和初始化编程方法,了解8088是如何响应中断,退出中断的。
二、实验内容(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他)内容:1、编制程序,拨动单脉冲开关,脉冲信号送给8259A的IR0,触发中断,8088计数中断次数,显示在G5区的数码管上。
原理:1. 8259控制器的介绍中断控制器8259A是Intel公司专为控制优先级中断而设计开发的芯片。
它将中断源优先级排队、辨别中断源以及提供中断矢量的电路集于一片中,因此无需附加任何电路,只需对8259A进行编程,就可以管理8级中断,并选择优先模式和中断请求方式,即中断结构可以由用户编程来设定。
同时,在不需增加其他电路的情况下,通过多片8259A的级连,能构成多达64级的矢量中断系统。
它的管理功能包括:1)记录各级中断源请求,2)判别优先级,确定是否响应和响应哪一级中断,3)响应中断时,向CPU传送中断类型号。
8259A的内部结构和引脚如图6-1所示。
8259A的命令共有7个,一类是初始化命令字,另一类是操作命令。
8259A的编程就是根据应用需要将初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分别写入初始化命令寄存器组和操作命令寄存器组。
ICW1-ICW4各命令字格式如图6-2所示,OCW1-OCW3各命令字格式如图6-3所示,其中OCW1用于设置中断屏蔽操作字,OCW2用于设置优先级循环方式和中断结束方式的操作命令字,OCW3用于设置和撤销特殊屏蔽方式、设置中断查询方式以及设置对8259内部寄存器的读出命令。