微机原理与接口技术-07可编程中断控制器8259A_第1页
微机原理与接口技术-07可编程中断控制器8259A_第2页
微机原理与接口技术-07可编程中断控制器8259A_第3页
微机原理与接口技术-07可编程中断控制器8259A_第4页
微机原理与接口技术-07可编程中断控制器8259A_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

第7章可编程中断控制器8259A2024/1/141本章主要内容

7.18259A的基本结构

7.28259A芯片的工作过程

7.38259A的工作方式

7.48259A的编程

7.58259A的应用2024/1/1427.18259A的基本结构2024/1/1437.1.1内部结构8259A的内部结构主要由8个功能模块组成。1.中断请求寄存器IRR(interruptregister)2.中断服务寄存器ISR(interruptservice)3.中断屏蔽寄存器IMR(interruptmaskregister)4.优先级判别器PR(priorityregister)5.数据总线缓冲器6.读/写逻辑7.控制逻辑8.级联缓冲比较器2024/1/1447.1.2外部结构8259A用NMOS工艺制造,使用单一+5V电源,采用28引脚的双列直插芯片。其引脚如下图所示。2024/1/1457.28259A芯片的工作过程2024/1/146当系统通电后,首先对8259A初始化。所谓初始化就是由CPU执行一段程序,向可编程芯片写入若干命令字,规定其工作状态,使其处于准备就绪状态。当完成初始化后,8259A就处于就绪状态,随时可接收外设来的中断请求信号。2024/1/1478259A对外部中断请求的处理过程如下。(1)当有一条或若干条中断请求输入(IR0~IR7)有效时,则使中断请求寄存器的IRR的相应位置位。(2)若CPU处于开中断状态,则在当前指令执行完之后,响应中断,并且从发应答信号(两个连续的负脉冲)。(3)第一个负脉冲到达时,IRR的锁存功能失效,对于IR0~IR7上发来的中断请求信号不予理睬。(4)使服务寄存器ISR的相应位置1,以便为中断优先级比较器的工作做好准备。2024/1/148(5)使IRR的相应位复位,即清除中断请求。(6)第二个负脉冲到达时,8259A向数据总线输送一个8位的指针(向量号或中断类型号)。CPU以此作为相应中断的类型码,并根据该中断类型号从中断服务程序入口地址表中,取出中断服务程序的入口地址,从而执行中断。(7)若初始化命令字ICW4中的中断结束位为1,那么,第二个负脉冲结束时,8259A将ISR寄存器的相应位清零。否则,直至中断服务程序执行完毕,才能通过输出操作命令字EOI,使该位复位。2024/1/1497.38259A的工作方式2024/1/14107.3.1中断优先级管理方式1.固定优先级方式(完全嵌套排序方式)固定优先级方式是8259A最常用的一种工作方式。优先级的次序固定:IR0>IR1>…>IR7。2.自动循环优先级方式(等优先级方式)在自动循环优先级方式下,任何一级中断处理完后,CPU都会向8259A发送EOI命令,使ISR中最高优先级位复位,并且使它变为最低优先级,比它低一级的中断请求设为最高级,就这样依次循环下去。2024/1/1411

3.特殊全嵌套优先级方式基本上与固定优先级方式相同,不同的是CPU处理某一优先级的中断请求时,不仅允许优先级比它高的中断请求进入,而且允许同级的中断请求进入。4.特殊循环优先级方式通过命令可以指定优先级,使用比较灵活。例如指定IR2优先级最低,则优先级次序为IR3>IR4>…>IR7>IR0>IR1>IR2。5.中断屏蔽方式用中断屏蔽方式管理优先级有一般屏蔽和特殊屏蔽两种方法。2024/1/14127.3.2中断结束方式EOI8259A中断结束的管理分三种情况。1.一般完全嵌套方式8259A在完全嵌套方式下,可采用三种中断结束方式。1)一般EOI形式2)特殊EOI方式3)自动EOI方式2024/1/1413

2.自动循环情况在这种情况下,也可采用三种中断结束方式,和前面一般完全嵌套的情况相同,分一般EOI方式、特殊EOI方式和自动EOI方式。3.特殊完全嵌套情况这种情况是因为8259A有级联,因而CPU应发出两个EOI命令,一个送给主8259A,用来将其主8259A的ISR寄存器相应位清“0”;另一个送给从8259A,用来将从8259A中的ISR寄存器相应位清“0”。2024/1/14147.3.3中断触发方式8259A有三种中断触发方式,分别是电平触发方式、边沿触发方式和中断查询方式。1.电平触发方式用高电平请求中断,响应中断后应及时清除高电平,以免产生多次中断。2.边沿触发方式用上升沿请求中断,上升后保持高电平,就不会再产生中断。3.中断查询方式当系统中的中断源很多,超过64个时,则可以使8259A工作在查询方式下。2024/1/14157.48259A的编程2024/1/14167.4.1初始化编程8259A是可编程的中断控制器,8259A是按照事先设置好的命令字进行工作的。8259A的命令字分为两部分,一部分是初始化命令字(InitializationCommandWord,ICW)ICW1~ICW4,另一部分是操作命令字(OperationCommandWord,OCW)OCW1~OCW3。8259A有2个内部端口地址,一个偶地址(A0=0),另一个是奇地址(A0),用来选择不同的寄存器。2024/1/1417

1.初始化命令字ICW1ICW1应写入偶地址端口,A0=0,ICW1主要用于设置IRi端口输入是高电平触发还是上升沿触发,是单片8259A还是多片8259A,以及是否需要ICW4。2.初始化命令字ICW2ICW2应写入奇地址端口,A0=1,主要用于设置8259A管理的中断源的中断类型码。2024/1/1418

3.初始化命令字ICW3ICW3应写入奇地址端口,A0=1,主要用于级联设置。4.初始化命令字ICW4ICW4应写入奇地址端口,A0=1,主要用于进一步设置8259A的工作方式。2024/1/1419

5.初始化命令字的设置过程在初始化过程的开始阶段,首先写入命令字ICW1和ICW2。当写入ICW1中的SNGL=1,才需写入ICW3。同样当写入ICW1中的IC4=1,才需写入ICW4。在单片8259A与8086系统配置时,需写入的初始化命令字为ICW1、ICW2、ICW4。如果是级联方式,需写入的初始化命令字为ICW1、ICW2、ICW3和ICW4。2024/1/14207.4.2中断操作编程

在8259A工作期间,可以通过改变操作命令字来控制8259A的工作状态。8259A一共有3个操作命令字,即OCW1~OCW3。它们和ICW不一样,不需要按照规定的顺序设定,使用时可以灵活选择不同的操作命令字,实现不同的功能。但是有一点也需要注意,写入操作命令字时要分清奇、偶地址。2024/1/14211.操作命令字OCW1OCW1写入奇地址端口,A0=1。OCW1的功能就是用来设置中断源的屏蔽状态,换句话说就是对8259A的IMR中的各位进行动态复位或清零。2.操作命令字OCW2OCW2写入偶地址端口,A0=0。OCW2的主要功能是设置中断结束方式和优先级循环方式。3.操作命令字OCW3OCW3写入偶地址端口,A0=0。OCW3的主要功能是设置特殊屏蔽方式和查询方式,并用来控制8259A内部的状态字IRR、ISR的读出。2024/1/14227.58259A的应用2024/1/14237.5.1中断系统的应用方法中断系统是中断控制机构,利用中断系统可以实现数据的实时传输,也可以用它实现某些危险情况的提示。无论用于数据的传输控制,还是用于其他操作,应用中断系统时要完成以下几项任务。(1)分配合适的中断级。(2)设计中断请求逻辑。(3)对8259A初始化。(4)编写中断服务子程序。(5)中断向量表初始化。2024/1/14247.5.28259A寄存器的访问CPU要对8259A初始化,就必须写入初始化命令字,对8259A进行操作时需要写入操作命令字,以及有时要知道IRR、ISR、IMR的内容,就要读8259A的状态寄存器。这些操作都需要各自的地址,那么8259A地址是如何进行分配。2024/1/14257.5.38259A与系统总线的连接与寻址8259A和CPU系统总线的连接可以按照外设接口与总线的统一连接方式,将数据线、地址线、控制线分类进行连接,典型连接如下图所示。2024/1/14267.5.4初始化及操作控制8259A和CPU相连后,就可以通过命令字对8259A初始化,以及通过操作命令字对其工作进行操作控制。8259A的初始化程序如下。SET8259A:MOVDX,0FF00H MOVAL,00010011B OUTDX,ALMOVDX,0FF02H MOVAL,00011000BOUTDX,ALMOVAL,00000011BOUTDX,AL2024/1/14277.5.58259A的级联所谓级联,就是在微型计算机系统中,以1片8259A的INT引脚与CPU的INTR引脚相连,称为主片;再将最多8片8259A的INT引脚,分别与主8259A的IR0~IR7相连,称为从片。显然,在主-从式8259级联的微机系统中,系统能够管理的中断源可由8级扩展至64级。2024/1/1428主-从式8259级联系统的连接,需要注意如下几点:(1)主片的INT引脚接CPU的INTR引脚,从片的INT引脚分别主片的IRi引脚,使得由从片输入的中断请求,能够通过主片向CPU发出;(2)主片的3条级联线与各从片的同名级联线引脚对接,主片为输出,从片为输入。主片用以向各从片发出优先级别最高的中断请求的从片代码,各从片用该代码与本片的代码进行比较,符合则将本片ICW2中预先设定中断类型码,送数据总线。(3)主片的/接+5V,从片的/接地。(4)级连系统中的所有8259A都必须进行各自独立的编程,作为主片的8259A必须设置为特殊的全嵌套方式,可以避免相同从片中,优先级较高的中断请求被屏蔽的情况发生。2024/1/1429与一般的全嵌套方式相比,有两点需要注意:(1)当来自某个从设备的中断请求被响应之后

温馨提示

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

评论

0/150

提交评论