




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,微机原理与接口技术,第七章 部分,2,第七章 微型计算机中断系统 内容提要 7-1 概述 7-2 中断处理过程 7-3 中断优先级和中断向量 7-4 可编程中断控制器,3,7-4 可编程中断控制器( 8259a) 功能和引脚 内部结构 8259a的中断管理方式 8259a的编程方式 8259a的中断级联,4,7-4 可编程中断控制器 8259a 一、功能和引脚,8259a,22 21 20 19 18 17 16 15,28 27 26 25 24 23,1 2 3 4 5 6,7 8 9 10 11 12 13 14,ir4 ir3 ir2 ir1 ir0 int sp/en cas2,vcc(+5v) a0 inta ir7 ir6 ir5,d4 d3 d2 d1 d0 cas0 cas1 gnd,cs wr rd d7 d6 d5,sp/en,sp/en,sp/en,sp/en,ir,ir7,ir6,ir,ir5 5,ir,ir4 4,ir,ir3 3,int,int,ir,ir2,inta,inta ir1,ir,ir0,int,int,ir,ir7 7,ir,ir6,ir5,ir,ir4 4,ir,ir3 3,ir,ir2 2,ir,ir1,ir,ir0,int,int,ir,ir7 7,ir,ir6,ir5,ir,ir4 4,ir,ir3 3,ir,ir2 2,ir,ir1,ir,ir0,sp/en,sp/en,5,7-4 可编程中断控制器8259a,【功能和引脚 】,8259a(从片),8259a(从片),1.主要功能 具有8级优先级控制,通过级联可以扩展到64级优先级控制。 每一级中断可由程序单独屏蔽或允许。 可提供中断类型号传送给cpu。 可以通过编程选择多种不同工作方式。 8259a 5v,7 8259a,int,6,7-4 可编程中断控制器8259a,【功能和引脚 】,2. 引脚 d7d0:双向数据线,三态,它直接或通过总线驱动器与系统的 数据 总线相连。 ir7ir0:外设的中断请求信号输入端,输入,中断请求信号可以是 电平触发或边沿触发。中断级联时,连接8259a从片int端。,28 27 26 25 24 23 22 21 20 19 18 17 16 15,1 2 3 4 5 6 8 9 10 11 12 13 14,vcc(+5v) a0 inta ir7 ir6 ir5 ir4 ir3 ir2 ir1 ir0 sp/en cas2,cs wr rd d7 d6 d5 d4 d3 d2 d1 d0 cas0 cas1 gnd,中 断 请 求 信 号,7,rd:读命令信号,输入,低电平有效,用来控制数据由8259a读到cpu。 wr: 写命令信号,输入,低电平有效,原来控制数据由cpu写到8259a。 cs:片选信号,输入,通过译码电路与高位地址总线相连。 a0:选择8259a的两个端口,输入,连低位地址线。 int:向cpu发出的中断请求信号,输出,与cpu的intr端相连。 inta: cpu给8259a的中断响应信号,输入。8259a要求两个负脉冲的中 断响应信号,第一个是cpu响应中断的信号,第二个inta结束后,cpu读 取8259a送去的中断类型号。 cas2cas0:双向级联信号线。8259a作主片时,为输出线,作从片时, 为输入线。与sp/en配合实现8259a级联。,7-4 可编程中断控制器8259a,【功能和引脚】,7 8259a,8,7-4 可编程中断控制器8259a,【功能和引脚 】,28 27 26 25 24 23 22 21 20 19 18 17 16 15,1 2 3 4 5 6 8 9 10 11 12 13 14,a0 inta ir7 ir6 ir5 ir4 ir3 ir2 ir1 ir0 int sp/en cas2,cs wr rd d7 d6 d5 d4 d3 d2 d1 d0 cas0 cas1 gnd,sp/en: 编程/双向使能缓冲。 作为输入使用时,用来决定本片8259a是主片还是从片:若sp/en=1,则为主 片;若sp/en=0,则为从片。 作为输出使用时,启动8259a到cpu之间的数据总线驱动器。 sp/en作为输入还是输出,决定于8259a是否采用缓冲方式工作,若采用缓冲方 式工作,则sp/en作为输出,若采用非缓冲方式,sp/en作为输入。,数据总线,缓冲器,控制电路,控制电路,级联缓冲,器/比较器,中断,服务,寄存器,(isr),中断,优先权,请求,判优器,寄存器,(pr),(irr),中断屏蔽寄存器,(imr),9,7-4可编程中断控制器8259a 二、内部结构,ir0 ir1 ir7,d7d0,rd wr a0 cs cas0 cas1 cas2 sp/en,inta,int,10,7-4可编程中断控制器8259a,【内部结构】,1. 数据总线缓冲器 数据总线缓冲器是8位双向三态缓冲器,是8259a与系统数据总线接 口,通常连接低8位数据总线d7d0。 cpu编程控制字写入8259a、8259a的状态信息读出、及中断响应 时8259a送出的中断类型号,都经过它传送。,11,7-4可编程中断控制器8259a,【内部结构】,2. 读写控制电路 读写控制电路接收cpu送来的读/写命令rd、wr,片选信号cs及端口 选择信号a0 。 8259a的读写功能,12,7-4可编程中断控制器8259a,【内部结构】,2. 读写控制电路续 高位地址译码后送cs作片选信号。 a0连地址总线a0或a1,用来选择8259a的两个i/o端口,一个为奇地址,另一个 偶地址。 读写操作由这4个信号控制来实现的,使8259a接收cpu送来的初始化命令字 (icw)和操作命令字(ocw),或将内部状态信息送给cpu。 实际设计时,8259a的d7d0与cpu数据总线低8位相连。为了保证cpu与 8259a用低8位传输数据,cpu的a1连8259a的a0。这样对cpu来说a00,a1 可以为1或为0,cpu读写始终是用偶地址。对8259a来说a1可以为1或为0,给 8259a的端口分配了两个地址,一个奇地址,一个偶地址,符合了8259a的编 程要求。,13,7-4可编程中断控制器8259a,【内部结构】,2. 读写控制电路续 注意:8086系统中数据总线为16位,cpu传送数据时,低8位数据总线 传送到偶地址端口,高8位数据总线传送到奇地址端口。当8位i/o接口芯 片与8086cpu16位数据总线相连接时,既可以连到低8位数据总线,也 可以连到高8位数据总线。,14,7-4可编程中断控制器8259a,【内部结构】,3. 级联缓冲/比较器 缓冲方式:在多片8259a级联的系统中,8259a通过总线驱动器和 数据总线相连,这就是缓冲方式。 在缓冲方式下,8259a的sp/en端与总线驱动器允许端相连,控制 总线驱动器启动,sp/en作为输出端。 当en0时,8259a控制数据从8259a送到cpu; 当en1时,控制数据从cpu送到8259a。,15,7-4可编程中断控制器8259a,【内部结构】,3. 级联缓冲/比较器 非缓冲方式:单片8259a或少量8259a级联时,可以将8259a直 接与数据总线相连,称为非缓冲方式。 非缓冲方式下,8259a的sp/en端作输入端,控制8259a作为主片还 是从片。 sp1,表示此8259a为主片。 sp0,表示此8259a为从片。 单片8259a时,sp/en接高电平。 由初始化命令字icw4来设置缓冲方式或非缓冲方式。,16,4.中断请求寄存器 中断请求寄存器是一个8位寄存器,存放外部输入的中断请求信号ir7ir0。 当某个ir端有中断请求时,irr相应的某位置“1”。 可以允许8个中断请求信号同时进入,此时irr寄存器被置成全“1”。 当中断请求被响应时,irr的相应位复位。,7-4可编程中断控制器8259a,【内部结构】,17,5.中断屏蔽寄存器imr 中断屏蔽寄存器是一个8位寄存器,用来存放对各级中断请求的屏蔽信息。 当用软件编程使imr寄存器中某一位置“0”时,允许irr寄存器中相应位的中断请求 进入中断优先级判别器。 若imr中某位为“1”,则此位中断请求被屏蔽。 各个中断屏蔽位是独立的,屏蔽了优先级高的中断,不影响其它较低优先级的中 断允许。,7-4可编程中断控制器8259a,【内部结构】,18,6.优先级判别器pr 优先级判别器对保存在irr寄存器中的中断请求进行优先级识别,送 出最高优先级的中断请求到中断服务奇存器isr中去。 当出现多重中断时,pr判定是否允许所出现的中断去打断正在处理 的中断,让优先级更高的中断优先处理。,7-4可编程中断控制器8259a,【内部结构】,19,7-4可编程中断控制器8259a,【内部结构】,7.中断服务寄存器isr 中断服务寄存器是一个8位寄存器,保存正在处理中的中断请求信号。 某个ir端的中断请求被cpu响应后,当cpu发出第一个inta信号时, isr寄存器中的相应位置“1”,一直保持到该级中断处理结束为止。 允许多重中断时,isr多位同时被置成“1”。,20,7-4可编程中断控制器8259a,【内部结构】,8.控制电路 根据中断请求寄存器irr的置位情况和中断屏蔽寄存器imr的设置的 情况,通过优先级判别器pr判定优先级,向8259a内部及其它部件 发出控制信号。 向cpu发出中断请求信号int和接收cpu的中断响应信号inta,使 中断服务寄存器isr的相应位置“1”,并使中断请求寄存器irr的相应 位置“0”。 当cpu第二个inta信号到来,控制8259a送出中断类型号,使cpu 转入中断服务子程序。 如果方式控制字icw4的中断自动结束位为“1”,则在第二个inta脉冲 结束时,将8259a中断服务寄存器isr的相应位清“0”。,当前中,断服务,寄存器,优先级,裁决器,中断请求,寄存器,译,码,器,21,7-4可编程中断控制器8259a 1. 8259a的编程结构,【中断管理方式】,ir0,ir1 ir2 ir3 ir4,ir5 ir6 ir7,cas2,cas1,cas0,inta,wr,rd,sp/ en,d7d0,ad7ad0,icw1 (芯片控制) 1 ltm adi sngl ic4,请求级别,icw2 (类型) icw3 (主 / 从),0 0 1 sfnm buf m/s aeoi upm,icw4 (芯片控制),a0,cs,int,l2 l1 l0,0,ocw1 ocw2 r sl eoi 0,p rr ris,1,0 esmmsmm 0,ocw3,intr,8088连a0 8086连a1,地 址 总 线,22,三、 8259a的中断管理方式 1.8259a的编程结构 中断管理方式是通过8259a初始化时写入初始化命令字和操作命令字 来设置的。 初始化命令字写入寄存器icw1icw4,它由初始化程序设置。初始化 命令字一经设定,在系统工作过程中就不再改变。 操作命令字写入寄存器ocw1ocw3,它是由应用程序设定的,用来 对中断处理过程进行控制,在系统运行过程中,操作命令字可以重新 设置。,7-4可编程中断控制器8259a,【 中断管理方式】,23,2.优先级设置方式 完全嵌套方式 若8259a初始化后没有设置其它优先级的方式,就自动进入完全 嵌套方式。 在这种方式下,中断优先级分配固定级别07级,ir0具有最高优 先级,ir7优先级最低。 可用初始化命令字icw4中sfnm0,将8259a置成完全嵌套优 先级方式。 在完全嵌套工作方式下,当一个中断请求被响应后,中断服务寄 存器isr中的对应位置“1”,中断类型号被放到数据总线上,cpu 转入中断服务程序。,7-4可编程中断控制器8259a,【 中断管理方式】,24,7-4可编程中断控制器8259a,【 中断管理方式】,2.优先级设置方式 完全嵌套方式续 一般情况下(除自动中断结束方式外),在cpu发出中断结束命令 eoi前,isr寄存器中此对应位一直保持“1”。 当新的中断请求进入时,中断优先级裁决器将新的中断请求和当前 isr寄存器中置“1”位比较,判断哪一个优先级更高。允许打断正在 处理的中断,优先处理更高级的中断,实现中断嵌套,但禁止同级 与低级中断请求进入。 中断嵌套时,isr寄存器中内容发生变化,又有一个对应位置“1”, 当实现8级中断嵌套时,isr寄存器内容为0ffh。,sp/en,sp/en,ir,ir7,ir6,ir,ir5,ir,ir4 4,ir,ir3 3,int,int,ir,ir2,inta ir,inta ir1,ir0,int,int,int,int,sp/en,sp/en,sp/en,sp/en,ir,ir7 7,ir,ir6,ir,ir5,ir,ir4,ir,ir3 3,ir,ir2 2,ir,ir1 1,ir,ir0,ir,ir7 7,ir,ir6,ir5,ir,ir4 4,ir,ir3 3,ir,ir2 2,ir,ir1,ir,ir0,25,套工作方式基本相同, 区别在于当处理某级中,断时,有同级中断请求 进入,8259a也会响,7-4可编程中断控制器8259a 2.优先级设置方式 特殊全嵌套方式 特殊全嵌套方式与全嵌,8259a(从片),8259a(从片),【 中断管理方式】 8259a,5v,应,从而实现了对同级 中断请求的特殊嵌套。 在级联方式中,当从片上有中断请求进入并正在处理时,同一从片上又 进入更高优先级的中断请求,从片能响应更高优先级中断请求,并向主 片申请中断,但对主片来说是同级中断请求。当主片处于特殊全嵌套工 作方式时,主片就能允许对相同级别的中断请求开放。,26,7-4可编程中断控制器8259a,【 中断管理方式】,2.优先级设置方式 优先级自动循环方式 在优先级自动循环方式中,优先级别可以改变。 初始优先级次序规定为ir0、ir1、ir7,当任何一级中断被处理完 后,它的优先级别变为最低,将最高优先级赋给原来比它低一级的中 断请求,其它依次类推。 优先级自动循环方式适合用在多个中断源优先级相等的场合。 例:当前ir3中断请求,则处理ir3,处理完ir3后,ir4变成最高优先 级,优先级依次为ir4,ir5、ir6、ir7、ir0、ir1、ir2、ir3。,27,7-4可编程中断控制器8259a,【 中断管理方式】,2.优先级设置方式 优先级特殊循环方式 优先级特殊循环方式和优先级自动循环方式相比,不同之处在于优 先级特殊循环方式中,初始时最低优先级由程序规定,最高优先级 也就确定了。 例:若初始时指定ir1为最低优先级,则ir2为最高优先级,其它依次 类推。而优先级自动循环方式初始时最高优先级一定是ir0。,28,3.中断结束方式 中断结束处理实际上就是对中断服务寄存器isr中对应位的处理。 当一个中断得到响应时,8259a使isr寄存器中对应位置“1”,表明此对 应外设正在服务,并为中断优先判别器提供判别依据。 中断结束时,必须使isr寄存器中对应位置“0”,否则中断优先权判别会 不正常。 什么时刻使isr中对应位置“0”,就产生不同的中断结束方式。,7-4可编程中断控制器8259a,【 中断管理方式】,29,3.中断结束方式 普通eoi结束方式 在完全嵌套工作方式下,任何一级中断处理结束返回上一级程序前, cpu向8259a传送eoi结束命令字,8259a收到eoi结束命令后,自 动将isr寄存器中级别最高的置“1”位清“0”(此位对应当前正在处理的 中断)。 eoi结束命令字必须放在返回指令iret前,没有eoi结束命令,isr 寄存器中对应位仍为“1”,继续屏蔽同级或低级的中断请求。 若eoi结束命令字放在中断服务程序中其它位置,会引起同级或低级 中断在本级未处理完前进入,容易产生错误。,7-4可编程中断控制器8259a,【 中断管理方式】,30,3.中断结束方式 特殊eoi结束方式 在非全嵌套工作方式下,中断服务寄存器无法确定哪一级中断为最 后响应和处理的,这时要采用特殊eoi结束方式。 cpu向8259a发特殊eoi结束命令字,命令字中将当前要清除的中 断级别也传给8259a。此时,8259将isr寄存器中指定级别的对应 位清“0”,它在任何情况下均可使用。,7-4可编程中断控制器8259a,【 中断管理方式】,31,3.中断结束方式 自动eoi结束方式 在自动aeoi方式中,任何一级中断被响应后,isr寄存器对应位 置“1”,但在cpu进入中断响应周期,发第二个inta脉冲后, 8259a自动将isr寄存器中对应位清“0”。 此时,尽管对某个外设正在进行中断服务,但对8259a来说,isr 寄存器中没有指示,好象已结束了中断处理一样。 这种方式虽然简单,但因为isr寄存器中没有标志,低级中断申请 时,可以打断高级中断,产生重复嵌套,嵌套深度也无法控制, 容易产生错误,使用时要特别小心。,7-4可编程中断控制器8259a,【 中断管理方式】,32,4.循环优先级的循环方式 普通eoi循环方式 在主程序或中断服务程序中设置操作命令字,当任何一级中断被处理 完后,使cpu给8259a回送普通eoi循环命令,8259a收到eoi循环 命令后,将isr寄存器中最高优先级的iri置“1”位清“0”,并赋给它最 低优先级,将最高优先级赋给它的下一级iri+1,其它依次类推。,7-4可编程中断控制器8259a,【 中断管理方式】,33,4.循环优先级的循环方式 普通eoi循环方式 例: 某中断系统ir0为最高优先级,ir7为最低优先级。有ir2、ir5两个中断请求。设 置为普通eoi循环方式,要求给出ir2及ir5中断处理完后中断优先级的变化情况。 普通eoi循环方式,7-4可编程中断控制器8259a,【 中断管理方式】,15:29,34,4.循环优先级的循环方式 特殊eoi循环方式 特殊eoi循环方式即指定最低级循环方式,最低优先级由编程确定, 最高优先级也相应而定。 例: 某一时刻8259a中ir2,ir6有中断嵌套服务。在ir 2中断服务程序中安排 了最低优先权给ir3,指令执行后,中断优先级变化情况如下表。,7-4可编程中断控制器8259a,【 中断管理方式】,35,4.循环优先级的循环方式 自动eo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字笔算课件
- 汉字的形体课件
- 汉字添彩显个性课件
- 辽宁省沈阳市名校2026届高三上学期8月诊断考试语文试卷(含答案)
- 汽车产业发展趋势与创新区域分析
- 旅游协议书汇编15篇
- 软件开发行业技术应用方案
- 美容美发行业美容美发新技术应用
- 汉字书法课件模板楷书崖
- 军事理论-国家安全环境强化版知到智慧树答案
- 枣庄学院《图学基础与计算机绘图》2024-2025学年第一学期期末试卷
- 2025-2030城市矿产开发利用政策支持与商业模式创新报告
- 产品线库存管理与补货预测系统
- 2025年高考(山东卷)历史真题及答案
- 医学减重管理体系
- 初中历史教师培训讲座
- 2025年新营运损失费赔偿协议书
- 手术部运用PDCA循环提高手术室术后设备器材定位归还率品管圈
- 传统丧事流程安排方案
- 第三课第三框法国大革命和拿破仑帝国课件
- JJF 2256-2025体重秤校准规范
评论
0/150
提交评论