8.2 8259A原理.ppt_第1页
8.2 8259A原理.ppt_第2页
8.2 8259A原理.ppt_第3页
8.2 8259A原理.ppt_第4页
8.2 8259A原理.ppt_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理与接口技术第5版第8章中断与可编程中断控制器8259A、8.2 8259A工作原理、8.2.1 8259A引脚信号与内部结构8.2.2 8259A工作模式8.2.3 8259A命令字与编程、可编程中断控制器8259A、中断控制器8259A 1的引脚8259A。8259A与中央处理器的接口引脚8259A和外设的接口引脚8259A级联,8.2.1 8259A的引脚信号和内部结构可以接收8级中断。经过四个8位寄存器判断后,从int引脚输出优先级最高的中断请求信号,发送到CPU的INTR引脚请求可以屏蔽中断。内部结构,1。中断请求寄存器IRR(中断请求寄存器)从IR7IR0引脚引入外部8电平中

2、断请求信号,当有请求时,该信号置1。可以同时输入多个中断请求。例如,如果IR7、IR5和IR2上有请求,IRR将被设置为10100100。当中断响应时,相应的位清0。中断请求信号可以由编程定义的高电平或上升沿触发。2.中断屏蔽寄存器存储中断屏蔽信息,每个位对应一个中断屏蔽位,置1禁止相应的中断请求进入系统。用于选择性地禁止某些设备请求中断。内部结构,3。中断服务寄存器(ISR)保存正在处理的中断请求。当响应服务程序执行任何中断时,相应的位被置1,直到处理结束。在多个中断的情况下,将有一个以上的位。4.优先级解析器判断请求寄存器IRR中中断的优先级,并选择服务寄存器ISR中优先级最高的中断请求。

3、当多个中断发生时,公共关系决定新的中断是否能中断正在处理的中断,优先提供更高的中断级别。5.控制电路包括一组初始化命令字寄存器ICW1ICW4和一组操作命令字寄存器OCW1OCW3,它们管理8259A的所有工作。根据内部回报率设置和公共关系判断发送控制信号。从int引脚向中央处理器发送中断请求信号,并从中央处理器或总线控制器8288接收中断响应信号;在中断响应的情况下,ISR将相应的位设置为1,并发送中断类型号n,该号被发送到D7D0通过数据总线缓冲器。当中断服务程序完成时,中断将按照编程的方式完成。6.数据总线缓冲器是8259A与中央处理器之间的接口,中央处理器通过它向8259A写入控制字,

4、接收8259A发送的中断类型号,还可以读出状态字(中断请求、掩码、服务寄存器状态)和中断查询字。7.读/写控制电路接收中央处理器的、地址和芯片选择。一块8259A只占用两个输入输出地址,XT机中的A0连接到A0,端口地址为20H和21H。当与8086相连时,引脚A0连接到地址A1和A0的0/1偶数/奇数地址端口。当执行输出指令时,信号配合A0将控制字写入ICW和OCW寄存器;当执行输入指令时,信号与A0配合,通过D7D0将内部寄存器的内容发送给中央处理器。内部结构,8。级联缓冲器/比较器,一个8259A可以引入多达8个中断,超过8个8259A应该用于形成级联使用的主从关系。从芯片的输出INT连

5、接到主芯片的IRi。主芯片和从芯片的3个级联信号线CAS2CAS0并联连接。单片时,从程序/允许缓冲线连接到高电平;当有多个芯片时,主芯片连接到高电平,从芯片连接到低电平。如果有多个芯片,8259A必须通过驱动器连接到数据总线,并在缓冲模式下工作;在少数8259A系统中,8259A可以直接连接到数据总线,以无缓冲模式工作。8.2 8259A的工作原理,8.2.1 8259A的引脚信号和内部结构8.2.2 8259A的工作模式,8.2.3 8259A的命令字和编程,8.2.2 8259A的工作模式,写初始化命令字ICW和控制命令字OCW,为8259A设置不同的工作模式。1.优先级设置模式1)全嵌

6、套模式:最基本的模式,初始化后自动进入。从IRi引脚引入的中断请求具有固定的优先级,IR0IR7依次递减,IR0最高。8259A自动e在处理过程中,高级中断中断低级中断,禁止低级或对等中断进入。2)特殊完全嵌入模式:与完全嵌套模式相同,但允许在同一级别中断条目。1。优先级设置模式。在图中,从机INT引脚连接到主机的IR2。从主机的角度来看,从机的8级中断是同一级中断。如果IR3正在被处理,IR0IR2被允许进入,也就是说,对等中断被允许进入。在IR3中断处理程序中,必须使用STI指令来打开中断,以便允许嵌套从中断。然而,完全嵌套模式禁止同级别中断进入。示例8.3相同级别的中断示例。1。优先级设

7、置模式,3)优先级自动循环模式,每个中断请求具有相同的优先级,IRi在服务后成为最低级别,IRi 1成为最高级别。IR0IR7是从高到低的初始优先级。例8.4参考以下优先自动循环模式示意图。图(a): IR0是初始状态下的最高水平。如果IR1、IR3和IR6同时请求中断,ISR的IS1、IS3和IS6都设置为1。图(b):首先服务ir1,然后IS1=0,IR1是最低级别,IR2是最高级别,优先级顺序是IR2IR7、IR0和IR1。服务IR3后IS3=0,IR3最低,IR4最高,依此类推。1。优先级设置模式,4)优先级特殊循环模式也称为最低优先级设置模式,类似于优先级自动循环模式,只是最低优先级

8、由程序设置,而不是IR7最低。当IRi设置为最低时,IRi 1为最高。命令行界面命令可用于关闭中断,屏蔽中断的输入被禁止;在打开中断的情况下,中断屏蔽寄存器IMR的相应位可以设置为1,以屏蔽一级或几级中断。有两种屏蔽方法:1)普通屏蔽方法可以通过在中断管理寄存器中设置一个或几个位来屏蔽相应的中断请求。例如,如果IMR=00100100,IR5和IR2上的中断请求被屏蔽。2)特殊屏蔽模式仅屏蔽该级别的中断,允许高级和低级中断进入。2。中断屏蔽模式,3。结束中断模式。中断响应后,ISR的相应位ISn置1,中断结束后ISn应清0,表示中断结束。有两种中断结束模式:自动和非自动,后者分为普通结束和特殊

9、结束(EOI和SEOI)。1)在AEOI IRi模式下中断响应自动结束后,ISR置1,当中央处理器发出的中断响应信号的第二个周期结束时,ISR对应位自动清零,中断结束。AEOI模式,当中断结束时,不需要向8259A发送任何命令,通常在只有一个8259A并且多个中断没有嵌套时使用。3。结束中断模式,2)普通结束中断模式EOI是一种常用的结束中断模式,用于完全嵌套模式。当中央处理器完成处理一个中断请求时,它需要向8259A发送一个EOI命令。接收到EOI后,8259A清除ISR寄存器中优先级最高的中断的ISn,即刚刚服务的中断,从而结束中断。3)特殊结束中断模式SEOI无法确定在不完全嵌套模式下I

10、SR寄存器当前正在处理哪一级中断,也无法确定哪一级中断是最后一个响应和处理的中断,因此无法以EOI模式结束中断,因此需要一种特殊的方式。此时,OCW2命令中的L2L0应用于指定ISR寄存器的哪个位应清零。4。中断查询模式-轮询,通过用输入指令读取中断查询字,您可以找出8259A是否有中断请求,以及哪个具有最高优先级。下图显示了中断查询字的格式、8.2 8259A的工作原理、8.2.1 8259A的引脚信号、内部结构8.2.2 8259A的工作模式、8.2.3 8259A的命令字和编程、8.2.3 8259A的命令字和编程。为了使8259A按计划工作,必须对其进行编程。有两种类型的控制命令:初始

11、化命令字ICW1ICW4,初始化8259A操作命令字OCW1OCW3定义操作模式。在操作过程中,允许复位操作命令字并动态改变8259A的控制模式。两种命令字被写入8259A的两个端口,一个ICWL,A0=0,ICW1写入偶数地址端口;D4=1个标志位;IC4=1需要ICW4;如果是单芯片,SNGL=1,不要写ICW3如果是级联,SNGL=0,写icw3LIMT=1从IRi引入的中断为电平触发和0边沿触发;A7A5和ADI位用于8位处理器。初始化命令字ICW2在ICW1之后立即写入,A0=1,写入奇数地址端口,无标志位。T7T3位用于确定中断类型代码n的高5位,低3位D2D0由8259A根据从I

12、Ri引入的中断的引脚序列号自动填充。IR0IR7的序列号依次为00111,其初始值可以设置为0。ICW2的高5位是可选的。一旦确定了高5位,就确定了芯片的8个中断请求信号IR0IR7的中断类型号。初始化命令字,例8.4在PC/XT机器中,ICW2 T7T3的高5位=00001B,如果中断请求是从IR5引入的,其中断类型代码n=?如何设置ICW2?从IR5引入的中断类型号的低3位D2D0=101B,高5位是00001B,因此从IR5引入的中断类型代码n=0000101b=0dh表示它是硬盘中断请求。因此,设置ICW2的指令是MOVAL,00001000B OUT 21H。据此,如果ICW2的高5

13、位是01110B,则8259A引入的8级中断的中断类型号是n=0110000b0110111b=70h77h,这是为PC/AT机器设置的ICW2。初始化命令字,ICW3 ICW3仅在级联时使用。图8.15是ICW3的格式和8259A主从结构的连接图。(a)主ICW3格式。Si=0,IRi不与从芯片连接,Si=1与从芯片连接。(b)从ICW3格式。低3位表示从芯片的哪个引脚连接到主芯片,ID2 ID0=000 111表示IR0IR7引脚。初始化命令字,例8.5用3块8259A按照主从结构连接,如图8.15(c)所示。主端口地址为20H/21H,从端口地址为A0H/A1H,从端口地址为B0/B1H

14、。尝试找到8259A的三个ICW3,并编程将ICW3写入每个芯片的奇数地址端口。主IR2和IR7连接到从芯片,因此ICW3=10000100B=84H,从芯片1连接到主IR2,因此ICW3=00000010B=02H;从机2连接到主机IR7,因此从机2的icw3=0000111b=07h。写入初始化命令字icw3: moval,84H每个芯片;主程序输出21H,A1 MOV A1,02H;1来自0A1H、0A1H、07H的节目输出A1 MOV;主2程序OUT 0B1H,AL,初始化命令字,ICW4 8086系统ICW4必须设置并写入奇数地址端口。当ICW2未级联时,ICW4应写在ICW2之后,

15、当ICW3级联时,ICW4应写在ICW3之后。图8.16 ICW4的格式:初始化命令字,icw4: D7D5=000的每个位的含义,它是一个标志位;PM=1,选择8086系统;AEOI=1,选择AEOI模式,即自动结束中断模式;AEOI=0,这是非AEOI(非自动中断终止)模式。操作命令字OCW2必须安排在中断服务程序中,以选择终止中断所需的模式。缓冲器和M/S一起用于确定缓冲或非缓冲模式;SFNM=1,设置特殊完全嵌套模式,否则为一般完全嵌套模式。初始化命令字,图8.17 8259A初始化命令字写入流程图。初始化命令字必须从ICW1按顺序写入指定端口;级联时写入ICW3,不级联时不写入。级联

16、时ICW4应写在ICW3之后,不级联时写在ICW2之后。只有ICW1写入偶数地址端口,即A0=0,其余写入奇数地址端口。初始化命令字,初始化开始时,首先写入ICW1,D4=1作为标志位;然后写入ICW2以确定中断类型代码n的高5位;如果ICW1的SNGL=0为0,则为级联模式,则应写入ICW3,并在主芯片和从芯片中写入不同的ICW3,以确定主芯片和从芯片之间的连接关系,否则无需写入ICW3;然后检查ICW1的IC4位。如果IC4=1,则写入ICW4否则,不要写入ICW4。必须在8086中写入ICW4,以指定中断嵌套模式和中断结束模式。初始化后,直到8259A进入置位状态,才能写入操作命令字OC

17、W。初始化命令字,例8.6在PC机/XT机中,只使用一个8259A,在只读存储器BIOS中初始化8259A的程序是:MOV 00010011 b;ICW1:边沿触发,单级,要ICW4输出20H,A1 MOV A1,0001000BICW2它可以写三个操作命令字OCW1OCW3,用于发送非AEOI模式结束中断命令、优先循环命令和中断查询命令,也可以设置或取消AEOI循环命令、设置或取消特殊屏蔽模式、读取内部寄存器状态。功能很复杂,尤其是OCW2。OCW是在应用程序内部设置的,没有写入顺序,但是指定了写入的端口地址:OCW1必须写入奇数地址端口,OCW2和OCW3需要写入偶数地址端口。操作命令字,OCW1 OCW1也被称为中断屏蔽字,它直接设置或清除中断屏蔽寄存器IMR的每一位。当Mi设置为1时,相应IRi的中断请求将被屏蔽,当它被清除时,中断被允许。屏蔽IRi中断不会影响其

温馨提示

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

评论

0/150

提交评论