0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

8259a的5种工作方式详细介绍

姚小熊27 来源:网络整理 2018-05-23 14:12 次阅读

8259A概述

8259A是专门为了对8085A和8086/8088进行中断控制而设计的芯片,它是可以用程序控制的中断控制器。单个的8259A能管理8级向量优先级中断。在不增加其他电路的情况下,最多可以级联成64级的向量优级中断系统。8259A有多种工作方式,能用于各种系统。各种工作方式的设定是在初始化时通过软件进行的。 在总线控制器的控制下,8259A芯片可以处于编程状态和操作状态,编程状态是CPU使用IN或OUT指令对8259A芯片进行初始化编程的状态。

8259A主要功能

功能:就是在有多个中断源的系统中,接受外部的中断请求,并进行判断,选中当前优先级最高的中断请求,再将此请求送到cpu的INTR端;当cpu响应中断并进入中断子程序的处理过程后,中断控制器仍负责对外部中断请求的管理。

8259A的主要功能如下:

①一片8259A可以接受并管理8级可屏蔽中断请求,通过8片8259A级联可扩展至63级可屏蔽中断优先控制。

②对每一级中断都可以通过程序来屏蔽或允许。

③在中断响应周期,8259A可为CPU提供相应的中断类型码。

④具有多种工作方式,并可通过编程来加以选择。

8259a的5种工作方式详细介绍

8259a的5种工作方式

1.中断优先权方式

8259A中断优先权的管理方式有固定优先权方式和自动循环优先权方式两种。

1)固定优先权方式

在固定优先权方式中,IR7~IR0的中断优先权的级别是由系统确定的。

它们由高到低的优先级顺序是:IR0,IR1,IR2,…,IR7,其中,IR0的优先级最高,IR7的优先级最低。当有多个IRi请求时,优先权判决器(PR)将它们与当前正在处理的中断源的优先权进行比较,选出当前优先权最高的IRi,向CPU发出中断请求INT,请求为其服务。

(2)自动循环优先权方式

在自动循环优先权方式中,IR7~IR0优先权级别是可以改变的。

其变化规律是:当某一个中断请求IRi服务结束后,该中断的优先权自动降为最低,而紧跟其后的中断请求IR(i+1)的优先权自动升为最高,IR7~IR0优先权级别按如下所示的右循环方式改变。

8259a的5种工作方式详细介绍

假设在初始状态IR0有请求,CPU为其服务完毕,IR0优先权自动降为最低,排在IR7之后,而其后的IR1的优先权升为最高,其余依次类推。这种优先权管理方式,可以使8个中断请求都拥有享受同等优先服务的权利。

在自动循环优先权方式中,按确定循环时的最低优先权的方式不同,又分为普通自动循环方式和特殊自动循环方式两种。

普通自动循环方式的特点是:IR7~IR0中的初始最高优先级由系统指定,即指定IR0的优先级最高,以后按右循环规则进行循环排队。

而特殊自动循环方式的特点是:IR7~IR0中的初始最低优先级,由用户通过置位优先权命令指定。

2.中断嵌套方式

8259A的中断嵌套方式分为完全嵌套和特殊完全嵌套两种。

(1)完全嵌套方式

完全嵌套方式是8259A在初始化时自动进入的一种最基本的优先权管理方式.

其特点是:中断优先权管理为固定方式,即IR0优先权最高,IR7优先权最低,在CPU中断服务期间(即执行中断服务子程序过程中),若有新的中断请求到来,只允许比当前服务的中断请求的优先权“高”的中断请求进入,对于“同级”或“低级”的中断请求禁止响应。

(2)特殊完全嵌套方式

特殊完全嵌套方式是8259A在多片级联方式下使用的一种最基本的优先权管理方式。

其特点是:中断优先权管理为固定方式,IR7~IR0的优先顺序与完全嵌套规定相同;与完全嵌套方式不同之处是在CPU中断服务期间,除了允许高级中断请求进入外,还允许同级中断请求进入,从而实现了对同级中断请求的特殊嵌套。

在级联方式下,主片通常设置为特殊完全嵌套方式,从片设置为完全嵌套方式。当主片为某一个从片的中断请求服务时,从片中的IR7~IR0的请求都是通过主片中的某个IRi请求引入的。因此从片的IR7~IR0对于主片IRi来说,它们属于同级,只有主片工作于特殊完全嵌套方式时,从片才能实现完全嵌套。

3.中断屏蔽方式

中断屏蔽方式是对8259A的外部中断源IR7~IR0实现屏蔽的一种中断管理方式,有普通屏蔽方式和特殊屏蔽方式两种。

(1)普通屏蔽方式

普通屏蔽方式是通过8259A的中断屏蔽寄存器(IMR)来实现对中断请求IRi的屏蔽。由编程写入操作命令字OCW1,将IMR中的Di位置1,以达到对IRi(i=0~7)中断请求的屏蔽。

(2)特殊屏蔽方式

特殊屏蔽方式允许低优先级中断请求中断正在服务的高优先级中断。这种屏蔽方式通常用于级联方式中的主片,对于同一个请求IRi上连接有多个中断源的场合,可以通过编程写入操作命令字OCW3来设置或取消。

在特殊屏蔽方式中,可在中断服务子程序中用中断屏蔽命令来屏蔽当前正在处理的中断,同时可使ISR中的对应当前中断的相应位清0,这样一来不仅屏蔽了当前正在处理的中断,而且也真正开放了较低级别的中断请求。

在这种情况下,虽然CPU仍然继续执行较高级别的中断服务子程序,但由于ISR中对应当前中断的相应位已经清0,如同没有响应该中断一样。所以,此时对于较低级别的中断请求,8259A仍然能产生INT中断请求,CPU也会响应较低级别的中断请求。

4.中断结束方式

中断结束方式是指CPU为某个中断请求服务结束后,应及时清除中断服务标志位,否则就意味着中断服务还在继续,致使比它优先级低的中断请求无法得到响应。中断服务标志位存放在中断服务寄存器(ISR)中,当某个中断源IRi被响应后,ISR中的Di位被置1,服务完毕应及时清除。

8259A提供了以下三种中断结束方式:

(1)自动结束方式

自动结束方式是利用中断响应信号8259a的5种工作方式详细介绍的第二个负脉冲的后沿,将ISR中的中断服务标志位清除。

这种中断服务结束方式是由硬件自动完成的,需要注意的是:ISR中为“1”位的清除是在中断响应过程中完成的,并非中断服务子程序的真正结束,若在中断服务子程序的执行过程中有另外一个比当前中断优先级低的请求信号到来,因8259A并没有保存任何标志来表示当前服务尚未结束,致使低优先级中断请求进入,打乱正在服务的程序,因此这种方式只适合用在没有中断嵌套的场合。

(2)普通结束方式

普通结束方式是通过在中断服务子程序中编程写入操作命令字OCW2,向8259A传送一个普通EOI(endofinterrupt)命令(不指定被复位的中断的级号)来清除ISR中当前优先级别最高位。

由于这种结束方式是清除ISR中优先权级别最高的那一位,适合使用在完全嵌套方式下的中断结束。因为在完全嵌套方式下,中断优先级是固定的,8259A总是响应优先级最高的中断,保存在ISR中的最高优先级的对应位,一定对应于正在执行的服务程序。

(3)特殊结束方式

特殊结束方式是通过在中断服务子程序中编程写入操作命令字OCW2,向8259A传送一个特殊EOI命令(指定被复位的中断的级号)来清除ISR中的指定位。

由于在特殊EOI命令中明确指出了复位ISR中的哪一位,不会因嵌套结构出现错误。因此,它可以用于完全嵌套方式下的中断结束,更适用于嵌套结构有可能遭到破坏的中断结束。

5.中断触发方式

8259A中断请求输入端IR7~IR0的触发方式有电平触发和边沿触发两种,由初始化命令字ICW1中的LTIM位来设定。

当LTIM设置为1时,为电平触发方式,8259A检测到IRi(i=0~7)端有高电平时产生中断。在这种触发方式中,要求触发电平必须保持到中断响应信号8259a的5种工作方式详细介绍有效为止,并且在CPU响应中断后,应及时撤销该请求信号,以防止CPU再次响应,出现重复中断现象。

当LTIM设置为0时,为边沿触发方式,8259A检测到IRi端有由低到高的跳变信号时产生中断。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 8259A
    +关注

    关注

    0

    文章

    6

    浏览量

    8276
  • 中断屏蔽
    +关注

    关注

    0

    文章

    4

    浏览量

    6713
  • 中断控制
    +关注

    关注

    0

    文章

    26

    浏览量

    8863
收藏 人收藏

    评论

    相关推荐

    8259A芯片是一什么类型的芯片?从硬件看中断之8259A

    在中断控制过程中,中断源的识别和优先权的确定可以用硬件排队电路等实现, **Intel 8259A可编程中断控制器就是为完成这些任务而设计的一器件** 。
    的头像 发表于 08-04 17:17 5817次阅读
    <b class='flag-5'>8259A</b>芯片是一<b class='flag-5'>种</b>什么类型的芯片?从硬件看中断之<b class='flag-5'>8259A</b>

    求助!!!protues的8259仿真问题

    ,8259A的ICW2OUTDX,ALMOV DX,IOY1+02HMOVAL,03H;一般中断结束方式,8259A的ICW4 OUTDX,AL;8255初始化MOV DX,MY8255_MODE
    发表于 05-30 21:48

    请问有关于shadow register的工作方式详细介绍文档吗?

    请问有关于shadow register的工作方式详细介绍文档吗? keep on studying
    发表于 06-01 12:04

    介绍UPS电源的四工作方式

    UPS电源是较为常见的应急电源系统,其在市电正常与市电异常的情况下,工作方式也有所不同,以下介绍UPS电源的四工作方式:正常运行、电池工作
    发表于 11-16 06:19

    8251A编程字的相关资料分享

    1、8251A编程字(1)工作方式控制字:(2)工作命令控制字:(3)状态字:2、8253A编程字(1)模式设置控制字3、8255A编程字(
    发表于 12-22 07:51

    GPIO基本结构和工作方式介绍

    GPIO的8工作方式一、GPIO基本结构和工作方式1、战舰/精英板2、Min板3、基本结构4、工作方式二、GPIO寄存器说明1、GPIO相关寄存器2、端口配置低寄存器(GPIOx_C
    发表于 01-11 07:02

    串行口的工作方式0介绍

    前言上一篇就已经介绍串行口通信相关概念,寄存器。对串行口通信已经有一定的了解。还介绍串行口工作方式1,这个方式所用最多,务必会用。现在来介绍
    发表于 02-17 06:16

    8259A在51单片机中的应用

    8259A在MCS一51中的应用进行了分析,给出了电路和相应的程序,并对应用中容易遇到的问题给出了解决方案。
    发表于 11-07 15:20 57次下载

    步进电机及驱动电路工作原理及工作方式介绍

    步进电机及驱动电路工作原理及工作方式介绍
    发表于 05-11 18:00 0次下载

    8259a初始化的步骤及代码介绍

    本文首先介绍8259a工作初始化的步骤及程序,其次介绍了通过OCW对8259A进行操作方法,最后介绍
    的头像 发表于 05-23 14:24 3w次阅读
    <b class='flag-5'>8259a</b>初始化的步骤及代码<b class='flag-5'>介绍</b>

    8255a有哪几种工作方式?8251a工作方式工作原理

    本文首先介绍了8255芯片的概念与特性,其次介绍了8255A引脚图及功能,最后介绍了8255a的几种工作
    的头像 发表于 05-23 14:40 6.4w次阅读
    8255<b class='flag-5'>a</b>有哪几种<b class='flag-5'>工作方式</b>?8251<b class='flag-5'>a</b>的<b class='flag-5'>工作方式</b>及<b class='flag-5'>工作</b>原理

    8259引脚和工作原理介绍

    本文首先介绍8259A主要功能及内部结构,其次介绍8259A引脚图及工作原理和工作方式,最后
    发表于 05-28 08:34 2w次阅读
    <b class='flag-5'>8259</b>引脚和<b class='flag-5'>工作</b>原理<b class='flag-5'>介绍</b>

    ups不间断电源工作方式

    本视频主要详细介绍了ups不间断电源工作方式,分别是正常运行方式、电池工作方式、旁路运行方式以及
    的头像 发表于 06-26 14:38 7359次阅读

    8259A中断控制芯片的引脚图和主要功能的资料概述

      8259A是一中断控制芯片,在单片机系统中一般用来扩展单片机的中断,pc机中也有这个芯片,
    的头像 发表于 09-08 11:43 1.4w次阅读
    <b class='flag-5'>8259A</b>中断控制芯片的引脚图和主要功能的资料概述

    AD级联的工作方式配置和AD双排序的工作方式配置详细说明

    本文档的主要内容详细介绍的是AD级联的工作方式配置和AD双排序的工作方式配置详细说明
    发表于 12-23 08:00 2次下载
    AD级联的<b class='flag-5'>工作方式</b>配置和AD双排序的<b class='flag-5'>工作方式</b>配置<b class='flag-5'>详细</b>说明