微机原理 8259芯片_第1页
微机原理 8259芯片_第2页
微机原理 8259芯片_第3页
微机原理 8259芯片_第4页
微机原理 8259芯片_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1、热能与动力工程热能与动力工程第第7章典型可编程接口芯片及应用章典型可编程接口芯片及应用热能与动力工程热能与动力工程7.1 中断系统及可编程中断控制器中断系统及可编程中断控制器8259 热能与动力工程热能与动力工程热能与动力工程热能与动力工程 热能与动力工程热能与动力工程中断服务程序中断服务程序1中断服务程序中断服务程序 2 2非预料事件非预料事件1非预料事件非预料事件 2 2CPU执行流程执行流程热能与动力工程热能与动力工程中断的用途中断的用途 1、同步处理、同步处理2、实现了实时处理、实现了实时处理3、多道程序或多重任务的运行、多道程序或多重任务的运行4、突发事件处理、突发事件处理热能与动力

2、工程热能与动力工程有关中断的基本概念(续)有关中断的基本概念(续) 二、中断源二、中断源 能够引起中断的原因,或能够发出中断请求信号的能够引起中断的原因,或能够发出中断请求信号的外设。外设。可屏蔽中断可屏蔽中断 (INTR)不可屏蔽中断不可屏蔽中断 (NMI)外部中断外部中断(硬中断)(硬中断)内部中断内部中断(软中断)(软中断)(因执行指令而引起)(因执行指令而引起)热能与动力工程热能与动力工程1000:150H 、 、 、 、 、MOV AH, 01INT 21HCMP AL, 0DH、 PUSH AX 、 、IRET用指令调用中断程序用指令调用中断程序软件中断软件中断热能与动力工程热能与

3、动力工程断点:断点: 通常指被中断的主程序中,下一条待运行的指令的地址。通常指被中断的主程序中,下一条待运行的指令的地址。它是中断返回时的指令指针之值。由于是指它是中断返回时的指令指针之值。由于是指CPU执行的现行程执行的现行程序被中断时的下一条指令的地址序被中断时的下一条指令的地址,又称断点地址。又称断点地址。现场:现场: 指中断发生前程序的运行状态,即标志寄存器(程序状指中断发生前程序的运行状态,即标志寄存器(程序状态字)。为了保证中断返回后能继续正确地执行原来的程序,态字)。为了保证中断返回后能继续正确地执行原来的程序,中断系统必须能在中断发生时自动保存现场,并在中断返回时中断系统必须能

4、在中断发生时自动保存现场,并在中断返回时自动恢复现场。(是指自动恢复现场。(是指CPU转去执行中断服务程序前的运行状转去执行中断服务程序前的运行状态,包括态,包括CPU内部各寄存器、断点地址等。)内部各寄存器、断点地址等。)三、中断的断点和现场三、中断的断点和现场热能与动力工程热能与动力工程1000:150H 、 、 、 、 、MOV AX, 0ADD AX, DXMOV DI , AX、 PUSH AX 、 、 IRETCPU在执行此指令时,在执行此指令时,某中断源发申请中断某中断源发申请中断;CPU在执行完该指令后,在执行完该指令后,转去执行中断子程转去执行中断子程地址地址1000:150

5、H为断点为断点断点概念断点概念热能与动力工程热能与动力工程 系统中的多个中断源可能同时提出中断请求,此时需系统中的多个中断源可能同时提出中断请求,此时需要按中断事件的轻重缓急为每个中断源指定一个处理的优先要按中断事件的轻重缓急为每个中断源指定一个处理的优先级别,即级别,即中断优先级中断优先级。 当多个中断源同时提出中断请求时,中断系统按照优当多个中断源同时提出中断请求时,中断系统按照优先级对中断源进行排队,总是优先处理优先权高的中断。先级对中断源进行排队,总是优先处理优先权高的中断。 四、中断优先级四、中断优先级热能与动力工程热能与动力工程当前当前CPU正在进行某一优先权级别的中断源的处理;正

6、在进行某一优先权级别的中断源的处理;有更高级别的中断源发出请求,且新中断源满足响应条件;有更高级别的中断源发出请求,且新中断源满足响应条件;CPU中止当前的中断服务程序,保护断点和现场,转而响中止当前的中断服务程序,保护断点和现场,转而响应高级中断应高级中断 这种多级中断的处理方式即为这种多级中断的处理方式即为“嵌套嵌套”。某些中断系。某些中断系统对中断嵌套的层数有一定限制。统对中断嵌套的层数有一定限制。五、中断嵌套五、中断嵌套热能与动力工程热能与动力工程 高级中断源能中断低级的中断处理高级中断源能中断低级的中断处理 当当CPU正在处理某个中断时,如果外部又有一个优先正在处理某个中断时,如果外

7、部又有一个优先级别比本优先级别更高的中断请求,则可以实现级别比本优先级别更高的中断请求,则可以实现。热能与动力工程热能与动力工程CPU正常执行正常执行中断服务程序中断服务程序1 1非预料事件非预料事件1 1中断服务程序中断服务程序2非预料事件非预料事件2热能与动力工程热能与动力工程中断嵌套必须具备的几个条件中断嵌套必须具备的几个条件1)第一级中断(已处于响应状态的原中断)的服务程序中,)第一级中断(已处于响应状态的原中断)的服务程序中,应在应在保护现场执行完毕后保护现场执行完毕后加上开放总中断(加上开放总中断(IF位置位置1)的)的指令;指令;2)新到来的中断应具有比原中断)新到来的中断应具有

8、比原中断高的优先级高的优先级,同级或低级,同级或低级均不能嵌套;均不能嵌套;3)为保护各级中断服务程序的数据不被破坏,所有服务程)为保护各级中断服务程序的数据不被破坏,所有服务程序中均应有序中均应有保护现场、恢复现场保护现场、恢复现场的指令;的指令;4)每个中断服务程序末尾必须有)每个中断服务程序末尾必须有IRET指令指令以示结束,从而以示结束,从而返回被中断的程序地址处返回被中断的程序地址处热能与动力工程热能与动力工程 某些情况下某些情况下CPU可能不对已发出的中断请求作出响应可能不对已发出的中断请求作出响应或处理,称为该中断请求被或处理,称为该中断请求被“屏蔽屏蔽” 。 中断屏蔽可能在两种

9、情况下发生:中断屏蔽可能在两种情况下发生: 中断系统设置了中断屏蔽标志(或中断允许标志),以屏中断系统设置了中断屏蔽标志(或中断允许标志),以屏蔽某些中断源的请求;蔽某些中断源的请求; 当系统在处理优先级别较高的中断请求时,不会理睬新来当系统在处理优先级别较高的中断请求时,不会理睬新来的级别较低的中断请求的级别较低的中断请求中断系统自动屏蔽优先级低的中中断系统自动屏蔽优先级低的中断。断。六、中断屏蔽六、中断屏蔽热能与动力工程热能与动力工程子程序的执行由程序员安排(由调用子程序的指令转子程序的执行由程序员安排(由调用子程序的指令转入),断点是确知的;而中断服务程序的执行一般由随入),断点是确知的

10、;而中断服务程序的执行一般由随机的中断事件引发,断点不确定。机的中断事件引发,断点不确定。子程序的执行受到主程序或上层子程序的控制;而中断子程序的执行受到主程序或上层子程序的控制;而中断服务子程序一般与被中断的现行程序无关。服务子程序一般与被中断的现行程序无关。不存在同时调用多个子程序的情况,因此子程序不需要不存在同时调用多个子程序的情况,因此子程序不需要进行优先级排队;而不同的中断源则可能同时提出服务进行优先级排队;而不同的中断源则可能同时提出服务请求。请求。七、中断服务程序与子程序的区别七、中断服务程序与子程序的区别热能与动力工程热能与动力工程八、中断系统的功能八、中断系统的功能 实现实现

11、中断及返回中断及返回 中断源发出中断请求,中断源发出中断请求,CPU决定是否响应:决定是否响应:若响应若响应,则则保护断点和现场保护断点和现场,转入相应中断服务程序,转入相应中断服务程序,中断服务结束中断服务结束后,后,恢复现场和断点恢复现场和断点,继续执行原程序。,继续执行原程序。CPU执行执行中断服务程序中断服务程序1 1非预料事件非预料事件1 1热能与动力工程热能与动力工程非预料事件非预料事件是指事件发生的时间无法预知是指事件发生的时间无法预知,即中即中断源何时产生中断不确定,是随机的。断源何时产生中断不确定,是随机的。中断源产生中断的随机性,使中断服务程序的执行中断源产生中断的随机性,

12、使中断服务程序的执行也具有随机性,也具有随机性,即何时执行中断服务程序不是在程序即何时执行中断服务程序不是在程序中安排好的。中安排好的。热能与动力工程热能与动力工程 实现实现优先权排队优先权排队 按各中断请求的重要程度排列按各中断请求的重要程度排列CPU响应的次序称为响应的次序称为中断优先级中断优先级。 即同时有多个中断请求到来时,即同时有多个中断请求到来时,CPU会首先响应和处理优先级会首先响应和处理优先级别最高的中断请求。别最高的中断请求。 中断优先级的实现可以用中断优先级的实现可以用软件软件或或硬件硬件的办法。的办法。中断系统的功能(续)中断系统的功能(续)热能与动力工程热能与动力工程

13、读中断请求寄存器读中断请求寄存器外设外设1有请求?有请求?外设外设1中断服务程序中断服务程序外设外设2有请求?有请求?外设外设2中断服务程序中断服务程序外设外设8有请求?有请求?外设外设8中断服务程序中断服务程序后续处理后续处理YNNNNYY热能与动力工程热能与动力工程硬件实现的中断优先权排队电路硬件实现的中断优先权排队电路1 2 3 4 5 6 7 81 2 3 4 5 6 7 8可由程序设置的可由程序设置的中断允许寄存器中断允许寄存器由外设设置的由外设设置的中断请求寄存器中断请求寄存器编编码码器器A2A1A0B2B1B0优先优先权寄权寄存器存器比比较较器器AB12CPU的的INTR优先权失

14、效优先权失效中断请求中断请求+CPU写入写入热能与动力工程热能与动力工程中断检测及优先级判断中断检测及优先级判断中断响应中断响应 保存保存CPU内部各寄存器内容,以便在中断服务子程序中内部各寄存器内容,以便在中断服务子程序中使用这些寄存器而不致破坏原信息使用这些寄存器而不致破坏原信息 开总中断(开总中断(IF =1),以便在该中断服务期间仍然能响应),以便在该中断服务期间仍然能响应更高级的中断请求,即允许中断嵌套更高级的中断请求,即允许中断嵌套用户中断服务的具体处理过程用户中断服务的具体处理过程恢复恢复CPU内部各寄存器内容内部各寄存器内容执行执行IRET语句,中断返回语句,中断返回自动保存自

15、动保存现场、断现场、断点点热能与动力工程热能与动力工程CPU响应外中断的条件响应外中断的条件 1具备中断请求触发器具备中断请求触发器2具备中断屏蔽触发器具备中断屏蔽触发器3开放总中断开放总中断4在现行指令结束后响应中断在现行指令结束后响应中断热能与动力工程热能与动力工程7.1.2 8086的中断系统的中断系统一、中断源一、中断源热能与动力工程热能与动力工程二、中断类型码、中断向量表和中断向量二、中断类型码、中断向量表和中断向量中断类型码中断类型码:8086可以处理可以处理256个中断请求,每个中断个中断请求,每个中断请求均对应于惟一固定的类型码。请求均对应于惟一固定的类型码。被被0除类型码是除

16、类型码是0,单,单步为步为1;NMI为为2;断点中断为;断点中断为3,溢出中断为,溢出中断为4 等。等。中断向量中断向量:即中断服务程序的入口地址,包括段地址:即中断服务程序的入口地址,包括段地址(高字单元)和偏移地址(低字单元)。(高字单元)和偏移地址(低字单元)。中断向量表中断向量表:存放中断向量的表,位于内存空间的最低:存放中断向量的表,位于内存空间的最低地址单元,长地址单元,长1KB。共可容纳。共可容纳256个中断向量(个中断向量(25641024)。)。热能与动力工程热能与动力工程中断类型码中断类型码1、中断类型码:、中断类型码:8086可以处理可以处理256个中断请求。每个中断个中

17、断请求。每个中断请求均对应于唯一固定的类型码。被请求均对应于唯一固定的类型码。被0除类型码是除类型码是0,单步,单步为为1; NMI为为2;断点中断为;断点中断为3,溢出中断为,溢出中断为4;等。;等。类型码类型码中断源中断源类型码类型码中断源中断源类型码类型码中断源中断源00H 被被0 0除除0FH并口并口1 1(打印机)中(打印机)中断断1EH磁盘参数磁盘参数01H 单步中断单步中断10H显示器驱动程序显示器驱动程序1FH图形字符集图形字符集02H NMINMI11H设备检测设备检测20H程序结束程序结束03H 断点中断断点中断12H存储器检测存储器检测21HDOSDOS系统调用系统调用热

18、能与动力工程热能与动力工程IBM PC/XT中断源的功能中断源的功能类型码类型码中断源中断源类型码类型码中断源中断源类型码类型码中断源中断源00H被被0除除0FH并口并口1(打印机)中断(打印机)中断1EH磁盘参数磁盘参数01H单步中断单步中断10H显示器驱动程序显示器驱动程序1FH图形字符集图形字符集02HNMI11H设备检测设备检测20H程序结束程序结束03H断点中断断点中断12H存储器检测存储器检测21HDOS系统调用系统调用04H溢出中断溢出中断13H软盘驱动程序软盘驱动程序22H结束地址结束地址05H打印屏幕打印屏幕14H通信驱动程序通信驱动程序23HCtrl-Break夭折键处理夭

19、折键处理06H(保留)(保留)15H盒式磁带机驱动程序盒式磁带机驱动程序24H关键性错误处理关键性错误处理07H(保留)(保留)16H硬盘驱动程序硬盘驱动程序25H磁盘顺序读磁盘顺序读08H定时中断定时中断17H打印机驱动程序打印机驱动程序26H磁盘顺序写磁盘顺序写09H键盘中断键盘中断18HBASIC程序程序27H程序结束且驻留内存程序结束且驻留内存0AH保留的硬件中断保留的硬件中断19H引导(引导(BOOT)程序)程序28HDOS内部使用内部使用0BH异步串口异步串口2中断中断1AH年月日定时中断年月日定时中断292EHDOS保留使用保留使用0CH异步串口异步串口1中断中断1BH用户键盘用

20、户键盘2FHDOS内部使用内部使用0DH并口并口2(硬磁盘)中断(硬磁盘)中断1CH用户定时器时标用户定时器时标303FHDOS保留使用保留使用0EH软盘中断软盘中断1DHCRT初始化参数初始化参数40FFH用户自定义用户自定义热能与动力工程热能与动力工程内部中断的种类内部中断的种类热能与动力工程热能与动力工程热能与动力工程热能与动力工程热能与动力工程热能与动力工程内部中断的特点内部中断的特点 热能与动力工程热能与动力工程中断向量和中断向量表中断向量和中断向量表2 中断向量中断向量:中断服务程序的入口地址中断服务程序的入口地址,包括段地址(存放,包括段地址(存放于高字单元)和偏移地址(存放于低

21、字单元)。于高字单元)和偏移地址(存放于低字单元)。3 中断向量表中断向量表:存放中断向量的表格。位于内存空间的最低:存放中断向量的表格。位于内存空间的最低地址,长度地址,长度1KB,可容纳,可容纳256类中断向量(类中断向量(256 41024)。)。热能与动力工程热能与动力工程中断向量和中断向量表中断向量和中断向量表热能与动力工程热能与动力工程 已知中断类型码后,如何进入中断服务程序?已知中断类型码后,如何进入中断服务程序? 1、将中断类型码乘以将中断类型码乘以4,得到中断向量表的向量首址指针;,得到中断向量表的向量首址指针; 2、将断点(当前将断点(当前CS、IP的值)入栈保护;的值)入

22、栈保护; 3、取中断向量:把向量表指针所指的取中断向量:把向量表指针所指的4个连续字节的内容作为中个连续字节的内容作为中断服务程序的入口地址,分别送给断服务程序的入口地址,分别送给IP和和CS; 4、按新的按新的CS:IP指针执行中断服务程序。指针执行中断服务程序。中断响应过程中断响应过程热能与动力工程热能与动力工程(FLAG)1000:150H3000:200H0: N40: N4+20: 0000内内 存存 、 、 0200H 3000H 、 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、类型类型N中断子程中断子程响应中断前响应中

23、断前 SS:SP 01501000堆栈堆栈执行执行IRET后后 (IP) (CS)(PSW)SS:SP 响应中断后响应中断后SS:SP (IP)=0200H(CS)=3000H中断向量表中断向量表0:0 3FFH0:3FFH0:0某中断源发申请中断,某中断源发申请中断,申请执行类型号为申请执行类型号为N的中断子程序的中断子程序中断响应过程中断响应过程热能与动力工程热能与动力工程中断向量的设置方法中断向量的设置方法、 、 、 、 、热能与动力工程热能与动力工程中断向量的设置方法中断向量的设置方法热能与动力工程热能与动力工程中断向量的设置方法中断向量的设置方法例如:例如:PUSH DSMOV AX

24、, SEG NEWINTMOV DS, AXMOV DX, OFFSET NEWINTMOV AL, NMOV AH, 25HINT 21HPOP DS热能与动力工程热能与动力工程中断向量的设置方法中断向量的设置方法 例:利用例:利用 INT 21H 设置中断向量设置中断向量MOV AH,25H; DOS功能调用号功能调用号25H AHMOV AL,40H; 将设置的中断类型码将设置的中断类型码 ALMOV DS,SEG USERINTMOV DX,OFFSET USERINT; 入口参数:入口参数:中断服务程序的入口地址中断服务程序的入口地址 DS:DXINT 21H 执行之后,中断服务程序

25、的入口地址值将放入中断向量执行之后,中断服务程序的入口地址值将放入中断向量表中表中n4处连续的处连续的4个单元中。个单元中。 热能与动力工程热能与动力工程7.1.3 中断响应与处理中断响应与处理 8086的的保留中断和其它软件中断保留中断和其它软件中断由指令给出中断类型,所以不执行中由指令给出中断类型,所以不执行中断响应周期;断响应周期; 非屏蔽中断非屏蔽中断NMI的类型码固定,也不执行中断响应周期;的类型码固定,也不执行中断响应周期;INTAINTA类型码类型码 INTACLKAD7AD0T1T2T3T4第一个第一个中断响应周期中断响应周期T1T2T3T4第二个第二个中断响应周期中断响应周期

26、热能与动力工程热能与动力工程中断响应周期时序中断响应周期时序 CPU从引脚从引脚INTA 发中断响应信号,发中断响应信号, 接口芯片接收此信号,把中断类型号准备好;同时接口芯片接收此信号,把中断类型号准备好;同时ISRi=1,IRRi=0。 CPU再从引脚再从引脚INTA 发中断响应信号,发中断响应信号, 接口芯片接此信号后,将中断类型号送至数据总线上;接口芯片接此信号后,将中断类型号送至数据总线上; CPU从数据总线获取中断类型号。从数据总线获取中断类型号。向量类型向量类型 INTACLKAD7AD0T1T2T3T4T1T2T3T4热能与动力工程热能与动力工程中断处理的全过程:中断处理的全过

27、程:检测检测响应响应服务服务标志寄存器入栈标志寄存器入栈令令TEMP=TF清清IF和和TFCS、IP入栈入栈IP、CS 出栈出栈标志寄存器出栈标志寄存器出栈返回被中断的返回被中断的主程序断点处主程序断点处当前指令当前指令结束否?结束否?软件中断?软件中断?INTR?TF=1?IF=1?执行下一条指令执行下一条指令形形成成中中断断类类型型码码进入中进入中断响应断响应周期,取周期,取类型码类型码YNMI?YYYYYNNNNNN热能与动力工程热能与动力工程中断服务程序(用户自行编制):中断服务程序(用户自行编制): 保护现场:保存保护现场:保存CPU内部各寄存器的内容,以便在服务程序中使用;内部各寄

28、存器的内容,以便在服务程序中使用; 开总中断:将开总中断:将IF置置1,使,使CPU在中断服务期间仍能响应更高级的在中断服务期间仍能响应更高级的INTR请请求;求; 具体处理:用户的中断服务具体处理:用户的中断服务 关总中断:将关总中断:将IF位清位清0; 恢复现场:将入栈保护的各寄存器内容依次弹出;恢复现场:将入栈保护的各寄存器内容依次弹出; 中断返回:执行中断返回:执行IRET指令,指令,CPU将自动弹出给将自动弹出给IP、CS、FLAGS,就,就可以接着执行被中断的原程序;可以接着执行被中断的原程序; 开总中断:再次将开总中断:再次将IF位置位置1,使返回后能够重新响应,使返回后能够重新

29、响应热能与动力工程热能与动力工程外部中断源的管理外部中断源的管理 多个外部硬件中断源共用一条多个外部硬件中断源共用一条INTR线时,要在程序中采取线时,要在程序中采取一定措施或用外部硬件解决中断源的一定措施或用外部硬件解决中断源的优先权排列和多级中断优先权排列和多级中断的嵌套的嵌套等。等。 中断优先权中断优先权(优先级):中断优先权就是为每个中断源所确(优先级):中断优先权就是为每个中断源所确定的响应级别。定的响应级别。 软件排序软件排序:CPU响应中断后,在程序中用查询的方法判定外响应中断后,在程序中用查询的方法判定外设的中断请求。设的中断请求。热能与动力工程热能与动力工程外部中断源的管理外

30、部中断源的管理 软件查询软件查询排序的特点是:排序的特点是:查询次序查询次序即优先权排序,最先被即优先权排序,最先被询问的故障具有最高优先级;节省硬件;修改方便,只要询问的故障具有最高优先级;节省硬件;修改方便,只要改变程序中的查询次序即可;由询问转至真正的服务程序改变程序中的查询次序即可;由询问转至真正的服务程序入口时间长,在中断源较多的情况下执行速度较慢。入口时间长,在中断源较多的情况下执行速度较慢。 硬件排序硬件排序:采用:采用优先权的编码电路优先权的编码电路,对各种外部硬中断进,对各种外部硬中断进行排队。还有菊花链式硬件排序电路,以及中断控制集成行排队。还有菊花链式硬件排序电路,以及中

31、断控制集成芯片芯片8259A热能与动力工程热能与动力工程软件法排序的接口电路示意图软件法排序的接口电路示意图热能与动力工程热能与动力工程软件查询程序流程图软件查询程序流程图热能与动力工程热能与动力工程硬件优先权排序电路硬件优先权排序电路热能与动力工程热能与动力工程7.1.4 非屏蔽中断非屏蔽中断NMI IBM PC/XT的的NMI来源于三方面:来源于三方面: 存储器奇偶校验错误PCK I/O通道奇偶校验错误IOCHCK 协处理器产生异常N.P.NPI 三种信号通过三种信号通过NMI屏蔽触发器,向屏蔽触发器,向CPU的的NMI引脚送出;引脚送出; 系统上电之初,系统上电之初,RESET信号先将信

32、号先将NMI屏蔽触发器清屏蔽触发器清0。等。等系统自检完成之后,再写入控制字解除对系统自检完成之后,再写入控制字解除对NMI的屏蔽。的屏蔽。热能与动力工程热能与动力工程7.1.5 可编程中断控制器可编程中断控制器8259一、一、8259性能概述性能概述1. 具有具有8级中断优先控制,通过级连可以扩展至级中断优先控制,通过级连可以扩展至64级优先权控制;级优先权控制;2. 每一级中断都可以通过初始设置为允许或屏蔽状态;每一级中断都可以通过初始设置为允许或屏蔽状态;3. 8259的工作方式,可以通过编程进行设置,因此,使用非常灵的工作方式,可以通过编程进行设置,因此,使用非常灵活;活;4. 825

33、9采用采用NMOS制造工艺,只需要单一的制造工艺,只需要单一的+5V电源。电源。热能与动力工程热能与动力工程二、二、8259A的内部结构和工作原理的内部结构和工作原理热能与动力工程热能与动力工程8259A的内部结构和工作原理的内部结构和工作原理数据总线缓冲器:数据总线缓冲器:它是它是8259A与系统数据总线的接口,是与系统数据总线的接口,是8位双向三态位双向三态缓冲器。缓冲器。CPU与与8259A之间的控制命令信息、状态信息以及中断类型信之间的控制命令信息、状态信息以及中断类型信息,都是通过该缓冲器传送的。息,都是通过该缓冲器传送的。读读/写控制逻辑:写控制逻辑:CPU通过它实现对通过它实现对

34、8259A的读的读/写操作。写操作。级连缓冲器:级连缓冲器:用以实现用以实现8259A芯片之间的级连,使得中断源可以由芯片之间的级连,使得中断源可以由8级级扩展至扩展至64级。级。控制逻辑电路:控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制。对整个芯片内部各部件的工作进行协调和控制。中断请求寄存器中断请求寄存器IRR:8位,用以分别保存位,用以分别保存8个中断请求信号,当相应的个中断请求信号,当相应的中断请求输入引脚有中断请求时,该寄存器的相应位置中断请求输入引脚有中断请求时,该寄存器的相应位置1。中断屏蔽寄存器中断屏蔽寄存器IMR:8位,相应位用以对位,相应位用以对8个中断源的中断请

35、求信号进个中断源的中断请求信号进行屏蔽控制。当其中某位置行屏蔽控制。当其中某位置”0”时,则相应的中断请求可以向时,则相应的中断请求可以向CPU提出;提出;否则,相应的中断请求被屏蔽,即不允许向否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。该寄存提出中断请求。该寄存器的内容为器的内容为8259A的操作命令字的操作命令字OCW1,可以由程序设置或改变。,可以由程序设置或改变。中断服务寄存器中断服务寄存器ISR: 8位,当位,当CPU正在处理某个中断源的中断请求时,正在处理某个中断源的中断请求时,ISR寄存器中的相应位置寄存器中的相应位置1。优先级比较器优先级比较器PR:用以比较正在处

36、理的中断和刚刚进入的中断请求之用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。间的优先级别,以决定是否产生多重中断或中断嵌套。 热能与动力工程热能与动力工程8259A的外部引脚的外部引脚热能与动力工程热能与动力工程8259A的外部引脚的外部引脚D7-D0:双向数据输入双向数据输入/输出引脚,用以与输出引脚,用以与CPU进行信息交换。进行信息交换。IR7-IR0:8级中断请求信号输入引脚。级中断请求信号输入引脚。INT:中断请求信号输出引脚,高电平有效,用以向中断请求信号输出引脚,高电平有效,用以向CPU发中断请求,应接在发中断请求,应接在CPU的的I

37、NTR输入端。输入端。INTA:中断响应应答信号输入引脚,低电平有效,接在中断响应应答信号输入引脚,低电平有效,接在CPU的中断应答信号输的中断应答信号输出端。出端。RD、WR:读读/写控制信号输入引脚,低电平有效,实现对写控制信号输入引脚,低电平有效,实现对8259A内部有关寄存内部有关寄存器内容的读操作。器内容的读操作。CS:片选信号输入引脚,低电平有效,决定了片选信号输入引脚,低电平有效,决定了8259A的端口地址范围。的端口地址范围。A0:8259A两组内部寄存器的选择信号输入引脚,决定两组内部寄存器的选择信号输入引脚,决定8259A的端口地址。的端口地址。CAS2-CAS0:级连信号

38、引脚,当级连信号引脚,当8259A为主片时,为输出;否则为输入,与信为主片时,为输出;否则为输入,与信号配合,实现芯片的级连,这三个引脚信号的不同组合号配合,实现芯片的级连,这三个引脚信号的不同组合000111,刚好对应于,刚好对应于8个从片。个从片。SP/EN:为级连管理信号输入引脚,在非缓冲方式下,若为级连管理信号输入引脚,在非缓冲方式下,若8259A在系统中作从在系统中作从片使用,则片使用,则SP=1;否则;否则SP=0;在缓冲方式下,用作;在缓冲方式下,用作8259A外部数据总线缓冲外部数据总线缓冲器的启动信号。器的启动信号。+5V、GND:电源和接地引脚。电源和接地引脚。热能与动力工

39、程热能与动力工程三、三、8259A的工作过程的工作过程当有一条或若干条中断请求输入(当有一条或若干条中断请求输入(IR7-IR0)有效时,则使中断请求寄存)有效时,则使中断请求寄存器的器的IRR的相应位置位。的相应位置位。若若CPU处于开中断状态,则在当前指令执行完之后,响应中断,并且发处于开中断状态,则在当前指令执行完之后,响应中断,并且发应答信号(两个连续的应答信号(两个连续的INTA#负脉冲)。负脉冲)。第一个第一个INTA#负脉冲到达时,负脉冲到达时,IRR的锁存功能失效,对于的锁存功能失效,对于IR7-IR0上发来上发来的中断请求信号不予理睬。的中断请求信号不予理睬。使中断服务寄存器

40、使中断服务寄存器ISR的相应位置的相应位置1,以便为中断优先级比较器的工作做,以便为中断优先级比较器的工作做好准备。好准备。使中断请求寄存器的相应位复位,即清除中断请求。使中断请求寄存器的相应位复位,即清除中断请求。第二个第二个INTA#负脉冲到达时,将中断类型寄存器中的内容负脉冲到达时,将中断类型寄存器中的内容ICW2,送到数,送到数据总线的据总线的D7-D0上,上,CPU以此作为相应中断的类型码。以此作为相应中断的类型码。1. 若若ICW4中的中断结束位为中的中断结束位为1,那么,第二个,那么,第二个INTA#负脉冲结束时,负脉冲结束时,8259A将将ISR寄存器的相应位清零。否则,直至中

41、断服务程序执行完毕,寄存器的相应位清零。否则,直至中断服务程序执行完毕,才能通过输出操作命令字才能通过输出操作命令字EOI,使该位复位。,使该位复位。 热能与动力工程热能与动力工程四、四、8259A的工作方式的工作方式 优先权的管理方式优先权的管理方式 中断源的屏蔽方式中断源的屏蔽方式 结束中断处理的方式结束中断处理的方式 系统总线的连接方式系统总线的连接方式 1. 引入中断的请求方式引入中断的请求方式热能与动力工程热能与动力工程一一) 优先权的管理方式优先权的管理方式1. 全嵌套方式全嵌套方式 这是这是8259A默认的优先权设置方式,在全嵌套方式下,默认的优先权设置方式,在全嵌套方式下,82

42、59A所所管理的管理的8级中断优先权是固定不变的,其中级中断优先权是固定不变的,其中IR0的中断优先级最高,的中断优先级最高,IR7的中断优先级最低。的中断优先级最低。 CPU响应中断后,请求中断的中断源中,优先级最高的中断源,响应中断后,请求中断的中断源中,优先级最高的中断源,在中断服务寄存器在中断服务寄存器ISR中的相应位置位,而且把它的中断矢量送至系统中的相应位置位,而且把它的中断矢量送至系统数据总线,在此中断源的中断服务完成之前,与它同级或优先级低的中数据总线,在此中断源的中断服务完成之前,与它同级或优先级低的中断源的中断请求被屏蔽,只有优先级比它高的中断源的中断请求才是运断源的中断请

43、求被屏蔽,只有优先级比它高的中断源的中断请求才是运算的,从而出现中断嵌套。算的,从而出现中断嵌套。2. 特殊全嵌套方式特殊全嵌套方式 特殊全嵌套方式与全嵌套方式基本相同,所不同的是,当特殊全嵌套方式与全嵌套方式基本相同,所不同的是,当CPU处理处理某一级中断时,如果有同级中断请求,那么某一级中断时,如果有同级中断请求,那么CPU也会作出响应,从而形也会作出响应,从而形成了对同一级中断的特殊嵌套。成了对同一级中断的特殊嵌套。 特殊全嵌套方式通常应用在有特殊全嵌套方式通常应用在有8259A级连的系统中,在这种情况下,级连的系统中,在这种情况下,对主对主8259A编程时,通常使它工作在特殊全嵌套方式

44、下。这样,一方面,编程时,通常使它工作在特殊全嵌套方式下。这样,一方面,CPU对于优先级别较高的主片的中断输入是允许的,另一方面,对于优先级别较高的主片的中断输入是允许的,另一方面,CPU对对于来自同一从片的优先级别较高(但对于主片来讲,优先级别是相同的)于来自同一从片的优先级别较高(但对于主片来讲,优先级别是相同的)的中断也是允许、能够响应的。的中断也是允许、能够响应的。 热能与动力工程热能与动力工程3. 优先级自动循环方式优先级自动循环方式 在实际应用中,中断源优先级的情况是比较复杂的,要求在实际应用中,中断源优先级的情况是比较复杂的,要求8级中断级中断的优先级在系统工作过程中,可以动态改

45、变。即一个中断源的中断请求的优先级在系统工作过程中,可以动态改变。即一个中断源的中断请求被响应之后,其优先级自动降为最低。系统启动时,被响应之后,其优先级自动降为最低。系统启动时,8级中断优先级默级中断优先级默认为认为IR0IR7,这时,刚好,这时,刚好IR4发出了中断请求,发出了中断请求,CPU响应之后,若响应之后,若8259A工作在优先级自动循环方式下,则中断优先级自动变为工作在优先级自动循环方式下,则中断优先级自动变为IR5、IR6、IR7、IR0、 IR1、 IR2、 IR3、 IR4。优先级特殊循环方式优先级特殊循环方式 优先级特殊循环方式与自动循环方式相比,只有一点不同,即初始优先

46、级特殊循环方式与自动循环方式相比,只有一点不同,即初始化的优先级是由程序控制的,而不是默认的化的优先级是由程序控制的,而不是默认的IR0IR7。 热能与动力工程热能与动力工程二二) 中断源的屏蔽方式中断源的屏蔽方式1. 普通屏蔽方式普通屏蔽方式 8259A的每个中断请求输入,都要受到屏蔽寄存器中相应位的控制。的每个中断请求输入,都要受到屏蔽寄存器中相应位的控制。若相应位为若相应位为“1”,则中断请求不能送,则中断请求不能送CPU。屏蔽是通过对屏蔽寄存器。屏蔽是通过对屏蔽寄存器IMR的编程(操作命令字的编程(操作命令字OCW1),来加以设置和改变的。),来加以设置和改变的。2. 特殊屏蔽方式特殊

47、屏蔽方式 有些场合下,希望一个中断服务程序的运行过程中,能动态地改变有些场合下,希望一个中断服务程序的运行过程中,能动态地改变系统中的中断优先级结构,即在中断处理的一部分,禁止低级中断,而系统中的中断优先级结构,即在中断处理的一部分,禁止低级中断,而在中断处理的另一部分,又能够允许低级中断,于是引入了对中断的特在中断处理的另一部分,又能够允许低级中断,于是引入了对中断的特殊屏蔽方式。殊屏蔽方式。 设置了特殊屏蔽方式后,用设置了特殊屏蔽方式后,用OCW1对屏蔽寄存器中的某一位复位时,对屏蔽寄存器中的某一位复位时,同时也会使中断服务寄存器同时也会使中断服务寄存器ISR中的相应位复位,这样就不只屏蔽

48、了正中的相应位复位,这样就不只屏蔽了正在处理的等级中断,而且真正开放了其它优先级别较低的中断请求。在处理的等级中断,而且真正开放了其它优先级别较低的中断请求。 特殊屏蔽是在中断处理程序中使用的,用了这种方式之后,尽管系特殊屏蔽是在中断处理程序中使用的,用了这种方式之后,尽管系统正在处理高级中断,但对外界来讲,只有同级中断被屏蔽,而允许其统正在处理高级中断,但对外界来讲,只有同级中断被屏蔽,而允许其它任何级别的中断请求。它任何级别的中断请求。 热能与动力工程热能与动力工程三三) 结束中断的处理方式结束中断的处理方式1. 中断自动结束方式中断自动结束方式 这种方式仅适用于只有单片这种方式仅适用于只

49、有单片8259A的场合,在这种方式下,系统一旦响应的场合,在这种方式下,系统一旦响应中断,那么中断,那么CPU在发第二个在发第二个INTA#脉冲时,就会使中断响应寄存器脉冲时,就会使中断响应寄存器ISR中相应位中相应位复位,这样一来,虽然系统在进行中断处理,但对于复位,这样一来,虽然系统在进行中断处理,但对于8259A来讲,来讲,ISR没有相应没有相应的指示,就象中断处理结束,返回主程序之后一样。的指示,就象中断处理结束,返回主程序之后一样。CPU可以再次响应任何级可以再次响应任何级别的中断请求。别的中断请求。2. 一般的中断结束方式一般的中断结束方式 一般的中断结束方式适用用在全嵌套的情况下

50、,当一般的中断结束方式适用用在全嵌套的情况下,当CPU用输出指令向用输出指令向8259A发一般中断结束命令发一般中断结束命令OCW2时,时,8259A才会使中断响应寄存器才会使中断响应寄存器ISR中优先中优先级别最高的位复位。级别最高的位复位。3. 特殊的中断结束方式特殊的中断结束方式 在特殊全嵌套模式下,系统无法确定哪一级中断为最后相应和处理的中断,在特殊全嵌套模式下,系统无法确定哪一级中断为最后相应和处理的中断,也就是说,也就是说,CPU无法确定当前所处理的是哪级中断,这时就要采用特殊的中断无法确定当前所处理的是哪级中断,这时就要采用特殊的中断结束方式。结束方式。 特殊的中断结束方式是指在

51、特殊的中断结束方式是指在CPU结束中断处理之后,向结束中断处理之后,向8259A发送一个特发送一个特殊的殊的EOI中断结束命令,这个特殊的中断结束中断结束命令,这个特殊的中断结束EOI命令,明确指出了中断响应寄命令,明确指出了中断响应寄存器存器ISR中需要复位的位。中需要复位的位。 热能与动力工程热能与动力工程四四) 系统总线的连接方式系统总线的连接方式1. 缓冲方式缓冲方式 在多片在多片8259A级连的大系统中,级连的大系统中,8259A通过外部总线驱动器和数通过外部总线驱动器和数据总线相连,这就是缓冲方式。在缓冲方式下,据总线相连,这就是缓冲方式。在缓冲方式下,8259的输出信号作为缓的输

52、出信号作为缓冲器的启动信号,用来启动总线驱动器,在冲器的启动信号,用来启动总线驱动器,在8259A与与CPU之间进行信息之间进行信息交换。交换。2. 非缓冲方式非缓冲方式 当系统中只有一片或几片当系统中只有一片或几片8259A芯片时,可以将数据总线直接与系芯片时,可以将数据总线直接与系统数据总线相连,这时统数据总线相连,这时8259A处于非缓冲方式下。在这种方式下,处于非缓冲方式下。在这种方式下,8259A的作为输入端设置,主片应接高电平,从片应接低电平。的作为输入端设置,主片应接高电平,从片应接低电平。 热能与动力工程热能与动力工程五五) 引入中断请求的方式引入中断请求的方式1. 边沿触发方

53、式边沿触发方式 8259A将中断请求输入端出现的上升沿,作为中断请求信号,上升沿后相应引脚,将中断请求输入端出现的上升沿,作为中断请求信号,上升沿后相应引脚,可以一直保持高电平。可以一直保持高电平。2. 电平触发方式电平触发方式 8259A将中断请求输入端出现的高电平作为中断请求信号,在这种方式下,必须将中断请求输入端出现的高电平作为中断请求信号,在这种方式下,必须注意:中断响应之后,高电平必须及时撤除,否则,在注意:中断响应之后,高电平必须及时撤除,否则,在CPU响应中断,开中断响应中断,开中断之后,会引起第二次不应该有的中断。之后,会引起第二次不应该有的中断。3. 中断查询方式中断查询方式

54、 当系统中的中断源很多,超过当系统中的中断源很多,超过64个时,则可以使个时,则可以使8259A工作在查询方式下,中断工作在查询方式下,中断查询方式的特点是:查询方式的特点是:a . 中断源仍往中断源仍往8259A发中断请求,但发中断请求,但8259A却不使用却不使用INT信号向信号向CPU发中断请求信发中断请求信号。号。b. CPU内部的中断允许标志复位,所以内部的中断允许标志复位,所以CPU对对INT引脚上出现的中断请求呈禁止引脚上出现的中断请求呈禁止状态。状态。c. CPU 用软件查询的方法来确定中断源,从而实现对设备的中断服务,可见,中用软件查询的方法来确定中断源,从而实现对设备的中断服务,可见,中断查询方式,既有中断的特点,又有查询的特点,从外设的角度来看,是靠中断查询方式,既有中断的特点,又有查询的特点,从外设的角度来看,是靠中断的方式来请求服务,但从断的方式来请求服务,但从CPU的角度来看,是用查询方式来确定发中断请求的角度来看,是用查询方式来确定发中断请求的中断源。的中断源。热能与动力工程热能与动力工程五、五、8259A的控制字的控制字 8259A的命令字有两种。一种是初始化命令字的命令字有两种。一种是初始化命令字(ICW),在在8259A启动之前写入,使其处于预定的初始状态。另一种启动之前写入,使其处于预定的初始状态。另一种是操作命令字是操作命令字(OCW

温馨提示

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

评论

0/150

提交评论