微机原理及应用-ch5_第1页
微机原理及应用-ch5_第2页
微机原理及应用-ch5_第3页
微机原理及应用-ch5_第4页
微机原理及应用-ch5_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

1、1第五章第五章 输入输入/输出和中断输出和中断5.1 输入和输出输入和输出5.2 中断中断5.3 8086的中断系统的中断系统5.4 可编程中断控制器可编程中断控制器8259A25.1 输入和输出输入和输出一、输入一、输入/输出概念输出概念计算机计算机外围设备外围设备交换数据交换数据外设接口外设接口1.数据信息数据信息2.状态信息状态信息3.控制信息控制信息数字量数字量开关量开关量模拟量模拟量反映外反映外设当前设当前的工作的工作状态状态控制外控制外设接口设接口的工作的工作方式等方式等存放于端口存放于端口3二、二、I/O端口的寻址方式端口的寻址方式lI/O指令寻址指令寻址 用专用的用专用的IN和

2、和OUT指令访问指令访问I/O端口端口 存储器单元与存储器单元与I/O端口分别独立编址,允许地址重叠端口分别独立编址,允许地址重叠 e.g. IN AL, 35Hl存储器映像的存储器映像的I/O寻址寻址 所有访问存储器的指令均可用于访问所有访问存储器的指令均可用于访问I/O端口端口 存储器和存储器和I/O端口共用一个地址空间,即存储器单元端口共用一个地址空间,即存储器单元与与I/O端口统一编址端口统一编址8086采用采用I/O指令寻址指令寻址MCS-51单片机采用存储器映像的单片机采用存储器映像的I/O寻址寻址4三、三、8086的的I/O指令指令l直接寻址直接寻址 字节传输字节传输 字传输字传

3、输IN AL, PORT8 IN AX, PORT8OUT PORT8, AL OUT PORT8, AXl间接寻址间接寻址 字节传输字节传输 字传输字传输MOV DX, PORT16 MOV DX, PORT16IN AL, DX IN AX, DXMOV DX, PORT16 MOV DX, PORT16OUT DX, AL OUT DX, AX5四、四、I/O数据传输的控制方式数据传输的控制方式1. 程序控制传输方式程序控制传输方式CPU低速外设低速外设CPU内部寄存器内部寄存器 无条件传输方式无条件传输方式:外设准备就绪,直接执行输入:外设准备就绪,直接执行输入/输输出指令出指令原理:

4、原理:CPU执行输入指令时,执行输入指令时,RD*有效,有效,M/IO*=0(CPU读读I/O端口),输入锁存器被选通,数据端口),输入锁存器被选通,数据数据总线数据总线CPU执行输出指令时,执行输出指令时,WR*有效,有效,M/IO*=0(CPU写写I/O端口),输出锁存器被选通,数据端口),输出锁存器被选通,数据输出设备输出设备 最简单传输方式最简单传输方式,适用于简单外设适用于简单外设6查询传输方式查询传输方式:查询前检查外设状态,准备好才:查询前检查外设状态,准备好才传输传输原理:原理:查询输入:输入设备准备好查询输入:输入设备准备好选通信号,将数据选通信号,将数据送数据锁存器送数据锁

5、存器READY(1),),CPU读读READY,读入数据,清读入数据,清READY查询输出:输出设备准备好查询输出:输出设备准备好ACK*信号信号BUSY(0),),CPU读读BUSY,输出数据,输出数据适应外设与适应外设与CPU的差异;的差异;CPU不断测试外设状态,运行效率大大降低不断测试外设状态,运行效率大大降低7 中断传输方式中断传输方式:利用:利用“中断中断”实现数据传输实现数据传输原理:原理:外设准备后,向外设准备后,向CPU发出发出“中断请求中断请求”,CPU响应,暂停当前任务,转去为外设服务,执行输响应,暂停当前任务,转去为外设服务,执行输入入/输出,完成后返回当前任务,继续执

6、行输出,完成后返回当前任务,继续执行大大提高大大提高CPU效率,使效率,使CPU和外设、外设和外和外设、外设和外设之间并行工作设之间并行工作82. 直接存储器存取方式直接存储器存取方式(DMA方式方式)内存内存高速外设高速外设CPU: 只启动不干预数据传输只启动不干预数据传输DMAC: DMA控制器,对数据传输进行控制的硬件控制器,对数据传输进行控制的硬件原理:原理:DMACDMA信号,信号,CPU在现行总线周期结束后,在现行总线周期结束后,让出对总线的控制权,让出对总线的控制权, DMA响应信号。响应信号。DMAC控控制总线,建立制总线,建立DMA通道,进行数据传输。通道,进行数据传输。DM

7、A操作操作完成,完成,CPU恢复对总线的控制权恢复对总线的控制权3. I/O处理机方式处理机方式接管接管CPU承担的管理和控制输入承担的管理和控制输入/输出的全部功能输出的全部功能95.2 中断中断一、中断的基本概念一、中断的基本概念 中断和中断源中断和中断源中断中断计算机在执行某程序的过程中,由于某种原计算机在执行某程序的过程中,由于某种原因,向因,向CPU输入一特定信号,使输入一特定信号,使CPU执行完现行的一执行完现行的一条指令后,中止主程序的执行而转去执行相应的服务条指令后,中止主程序的执行而转去执行相应的服务程序(中断处理程序);执行完毕后,返回执行主程程序(中断处理程序);执行完毕

8、后,返回执行主程序。序。中断源中断源引起中断的原因。引起中断的原因。 硬件故障硬件故障 e.g. 电源掉电电源掉电 外围设备外围设备 e.g. 显示屏终端,磁盘等显示屏终端,磁盘等 软件中断软件中断 e.g. 为调试程序设置中断为调试程序设置中断10(1)实现)实现CPU和多和多I/O设备并行工作;设备并行工作;(2)实现多)实现多CPU并行工作;并行工作;(3)可实时处理突发性、不确定事件;)可实时处理突发性、不确定事件;(4)具有紧急场合的应急事件处理能力;)具有紧急场合的应急事件处理能力;(5)人机交互的基本方式,完成操作者和计算机的)人机交互的基本方式,完成操作者和计算机的信息传递。信

9、息传递。 中断的作用中断的作用11二、中断的基本类型二、中断的基本类型1. 自愿中断和强迫中断自愿中断和强迫中断自愿中断自愿中断:程序自中断。由程序以指令形式产生。用:程序自中断。由程序以指令形式产生。用于软件调试、程序查错。于软件调试、程序查错。强迫中断强迫中断:随机产生。:随机产生。CPU被强迫转入中断服务程序。被强迫转入中断服务程序。源于:硬件故障、程序故障、外中断源于:硬件故障、程序故障、外中断2. 向量中断和非向量中断向量中断和非向量中断入口地址表入口地址表:系统中所有中断服务程序的首地址(包括段基系统中所有中断服务程序的首地址(包括段基址和偏移量)集中存放于一个内存空间。址和偏移量

10、)集中存放于一个内存空间。向量中断向量中断:中断时,:中断时, 向向CPU提供中断服务程序的入口地址在提供中断服务程序的入口地址在入口地址表中的首地址,入口地址表中的首地址,CPU据此从入口地址表中获得中断据此从入口地址表中获得中断服务程序的入口地址,并转去中断服务。服务程序的入口地址,并转去中断服务。非向量中断非向量中断:中断源不提供服务程序的入口地址,:中断源不提供服务程序的入口地址,CPU查询查询后得到。后得到。123. 可屏蔽中断和不可屏蔽中断可屏蔽中断和不可屏蔽中断4. 单重中断和多重中断单重中断和多重中断可屏蔽中断可屏蔽中断:微处理器内部能够:微处理器内部能够“禁止禁止”的中断的中

11、断非可屏蔽中断非可屏蔽中断:微处理器内部不能:微处理器内部不能“禁止禁止”的中断的中断单重中断单重中断:CPU在执行中断服务的过程中不允许再中断。在执行中断服务的过程中不允许再中断。多重中断多重中断:CPU在执行中断服务的过程中响应了级别更高在执行中断服务的过程中响应了级别更高的中断请求,又称中断嵌套的中断请求,又称中断嵌套13三、中断请求的提出和传输三、中断请求的提出和传输l中断源的建立中断源的建立l为中断源设置一个触发器(中断请求触发器)为中断源设置一个触发器(中断请求触发器)l中断源有中断请求时,相应触发器置中断源有中断请求时,相应触发器置“1”,向向CPU发发出中断请求信号出中断请求信

12、号中断字中断字:多个触发器构成一个寄存器,寄存器的每一:多个触发器构成一个寄存器,寄存器的每一位对应一个中断源。寄存器中的内容成为位对应一个中断源。寄存器中的内容成为“中断字中断字”。CPU根据中断字的内容判定中断的性质,调用相应程根据中断字的内容判定中断的性质,调用相应程序。序。14l中断请求信号的传输中断请求信号的传输 单线中断:单线中断: 多个中断源共用一根公共请求线,软件或硬件查询多个中断源共用一根公共请求线,软件或硬件查询2. 多线中断:多线中断:中断源单独设置中断请求线,中断请求直接送中断源单独设置中断请求线,中断请求直接送CPU不需查询,响应速度快;硬件代价大,难以扩充不需查询,

13、响应速度快;硬件代价大,难以扩充3. 多线多级中断:多线多级中断:中断源数量中断源数量中断输入线数量,中断请求线连成二维中断输入线数量,中断请求线连成二维结构,同一级别的中断源共享一条中断输入线结构,同一级别的中断源共享一条中断输入线适用于管理数目较多的中断源,响应速度快适用于管理数目较多的中断源,响应速度快15四、中断优先级四、中断优先级原则:硬件故障引起的中断优先级最高,其次原则:硬件故障引起的中断优先级最高,其次是软件故障中断和是软件故障中断和I/O中断中断有中断请求时,通过查询顺序查询连接在该中断请求有中断请求时,通过查询顺序查询连接在该中断请求上的每一个中断源,按上的每一个中断源,按

14、查询顺序查询顺序确定优先级。确定优先级。1. 软件查询法软件查询法灵活修改中断源的优先级别灵活修改中断源的优先级别完全靠程序实现,占用完全靠程序实现,占用CPU时间,中断速度低时间,中断速度低2. 硬件排队判优法硬件排队判优法菊花链式硬件查询电路:中断响应信号先到达的设备菊花链式硬件查询电路:中断响应信号先到达的设备优先级最高。优先级最高。响应速度快,电路实现简单;优先级设置不灵活响应速度快,电路实现简单;优先级设置不灵活16五、中断响应五、中断响应CPU中断源中断源中断服务程序中断服务程序请求请求转去转去中断响应中断响应条件:中断源有中断请求(中断请求触发器为条件:中断源有中断请求(中断请求

15、触发器为“1”) CPU允许中断(中断允许触发器为允许中断(中断允许触发器为“1”) CPU在现行指令结束后响应中断在现行指令结束后响应中断17六、中断处理六、中断处理l中断处理过程中断处理过程CPU执行流程执行流程中断服务程中断服务程序序1中断服务程中断服务程序序 2非预料事件非预料事件1非预料事件非预料事件 218步骤:步骤:CPU响应中断后,关中断。响应中断后,关中断。保存断点和现场。保存断点和现场。PUSH AXPUSH BXPUSH CXPUSH DXPUSHFPUSH SIPUSH DI判别中断源,转入中断。判别中断源,转入中断。开中断,以响应级别更高的中断请求。开中断,以响应级别

16、更高的中断请求。执行中断服务程序。执行中断服务程序。关中断,以保证恢复现场的完整。关中断,以保证恢复现场的完整。STI (使使IF=1)CLI (使使IF=0)恢复现场。恢复现场。POP DIPOP SIPOPFPOP DXPOP CXPOP BXPOP AX开中断,以响应新的中断请求。开中断,以响应新的中断请求。中断返回。中断返回。IRET(将断点地址将断点地址弹出至弹出至CS和和IP)STI (使使IF=1)19l多重中断处理多重中断处理CPU执行流程执行流程205.3 8086的中断系统的中断系统依据中断源的不同,可以把依据中断源的不同,可以把8086/8088的中断分成的中断分成两类:

17、外部(硬件)中断和内部(软件)中断。两类:外部(硬件)中断和内部(软件)中断。外部(硬件)中断可以分为不可屏蔽中断(外部(硬件)中断可以分为不可屏蔽中断(NMI)和可屏蔽中断(和可屏蔽中断(INTR)。)。内部(软件)中断是通过软件调用的不可屏蔽中内部(软件)中断是通过软件调用的不可屏蔽中断、断、INT n指令中断、除法出错中断、单步中断、指令中断、除法出错中断、单步中断、断点中断、溢出中断。断点中断、溢出中断。21一、外部中断一、外部中断来自于来自于CPU的外部,如的外部,如I/O设备或其它处理器等,设备或其它处理器等,以完全随机的方式中断现行程序而转向另一中断以完全随机的方式中断现行程序而

18、转向另一中断处理程序。外部中断又称为硬件中断。处理程序。外部中断又称为硬件中断。可屏蔽中断(可屏蔽中断(INTR)(1) 响应条件响应条件INTR引脚引脚(18)引入一个高电平信号,维持两个时钟周期以上引入一个高电平信号,维持两个时钟周期以上中断开放,即中断开放,即IF=1,可用,可用STI置置1(2) 响应过程:执行两个总线周期(响应过程:执行两个总线周期(INTA*中断响应)中断响应)第一个周期:第一个周期:INTA*=0,表示对中断请求设备的响应,表示对中断请求设备的响应第二个周期:第二个周期:INTA*=0,通知并要求中断请求设备把中断类,通知并要求中断请求设备把中断类型号通过型号通过

19、D7D0送送CPU22不可屏蔽中断(不可屏蔽中断(NMI):中断类型号为):中断类型号为2响应条件响应条件NMI引脚引脚(17)引入一上升沿触发信号,维持两个时钟周期高引入一上升沿触发信号,维持两个时钟周期高电平电平执行完当前指令,执行执行完当前指令,执行NMI,中断源不必提供中断类型号,中断源不必提供中断类型号,NMI响应也不需要执行总线周期响应也不需要执行总线周期INTA*该中断是为电源错、内存或该中断是为电源错、内存或I/O奇偶校验错等严重事奇偶校验错等严重事件提供的。件提供的。23二、内部中断(软件调用的不可屏蔽中断)二、内部中断(软件调用的不可屏蔽中断)1. 溢出中断溢出中断(中断类

20、型码为(中断类型码为4)如果上一条指令使溢出标志位如果上一条指令使溢出标志位OF为为1,则执行,则执行INTO指指令产生中断令产生中断2. 除法出错中断除法出错中断(中断类型码为(中断类型码为0)执行除法指令时,若除数为执行除法指令时,若除数为0或商超过寄存器所能或商超过寄存器所能表达的范围,则表达的范围,则CPU立即产生一个中断类型号为立即产生一个中断类型号为0的中断。的中断。3. INT n指令中断指令中断在执行中断指令在执行中断指令INT n时产生的一个中断类型号为时产生的一个中断类型号为n的内部中断。的内部中断。244. 断点中断断点中断(中断类型码为中断类型码为3)断点中断是断点中断

21、是80 x86提供的一种调试程序的手段。用于提供的一种调试程序的手段。用于设置程序中的断点。设置程序中的断点。5. 单步中断单步中断(中断类型码为(中断类型码为1)当单步标志(陷阱标志)当单步标志(陷阱标志)TF置置“1”时,时,80 x86处于单处于单步工作方式。在单步工作时,每执行完一条指令,步工作方式。在单步工作时,每执行完一条指令,CPU自动产生中断类型号为自动产生中断类型号为1的中断。的中断。258086/8088的中断分类的中断分类26三、中断向量表三、中断向量表中断向量:中断服务程序的入口地址中断向量:中断服务程序的入口地址中断向量表是存放中断服务程序入口地址的表格。中断向量表是

22、存放中断服务程序入口地址的表格。它存放于系统内存的最低端,共它存放于系统内存的最低端,共1024个字节,每个字节,每4个字节存放一个中断服务程序的入口地址(个字节存放一个中断服务程序的入口地址(2B段段基址,基址,2B偏移地址),可存放偏移地址),可存放256个中断向量。个中断向量。CPU响应中断后,将中断类型号响应中断后,将中断类型号4,在中断向量,在中断向量表中表中“查表查表”得到中断服务程序入口地址,分别送得到中断服务程序入口地址,分别送CS和和IP,从而转入中断服务程序。,从而转入中断服务程序。 27中断向量表中断向量表8086CPU共有共有256个中个中断类型码,每个中断类断类型码,

23、每个中断类型码对应于中断向量表型码对应于中断向量表中的一个中断向量。中的一个中断向量。28中断向量在中断向量表中的首地址中断向量在中断向量表中的首地址 = 中断类型码中断类型码 4例如,中断类型码为例如,中断类型码为0BH(11D),则),则0BH4=2CH,所,所以中断向量存放在中断向量表以中断向量存放在中断向量表0:002CH 0:002FH四个地四个地址单元中,如果这四个地址单元中次存放为址单元中,如果这四个地址单元中次存放为10H、20H、30H、40H,那么,那么0BH号中断所对应的中断处理子程序入号中断所对应的中断处理子程序入口地址(中断向量)为口地址(中断向量)为4030:201

24、0H。又如,中断类型码为又如,中断类型码为17H的中断处理子程序的入口地址为的中断处理子程序的入口地址为1234:5678H,那么该地址将被存放在中断向量表,那么该地址将被存放在中断向量表0:005CH 0:005FH四个单元中,内容分别为四个单元中,内容分别为78H、56H、34H、12H。29四、中断过程四、中断过程305.4 可编程中断控制器可编程中断控制器8259Al具有具有8级优先权控制,通过级联可扩展至级优先权控制,通过级联可扩展至64级。级。l每一级均可通过编程实现屏蔽或开放。每一级均可通过编程实现屏蔽或开放。l能向能向CPU提供相应的中断类型号。提供相应的中断类型号。l可通过编

25、程选择不同的工作方式。可通过编程选择不同的工作方式。一、功能与结构一、功能与结构1. 功能功能312. 引脚功能引脚功能32需要说明的引脚:需要说明的引脚:lCS*:片选,:片选,CS*低电平时,低电平时,8086对对8259A进行操作,通过进行操作,通过地址译码逻辑电路与地址总线相连。地址译码逻辑电路与地址总线相连。 lA0:端口选择信号,输入。指出:端口选择信号,输入。指出8259A对应的两个端口地对应的两个端口地址,址, A0=0对应对应偶地址,偶地址, A0=1对应对应奇地址。奇地址。lCAS2CAS0:级联信号线(从片选择信号),:级联信号线(从片选择信号), 8259A为为主片时,

26、它为输出;主片时,它为输出; 8259A为从片时,它为输入,三个信为从片时,它为输入,三个信号组合指出具体的从片。号组合指出具体的从片。l SP* /EN*:从片:从片/允许缓冲器信号,双向。允许缓冲器信号,双向。输入时:决定输入时:决定本片本片8259A是主片还是从片,是主片还是从片, SP* /EN* =1,主片,主片, SP* /EN* =0,从片,从片。输出时:由。输出时:由SP* /EN* 启动数据总线驱动启动数据总线驱动器。器。8259A采用缓冲方式,采用缓冲方式, SP* /EN* 端做输出,非缓冲端做输出,非缓冲方式,方式, SP* /EN* 做输入做输入lINT:中断请求信号

27、,输出。与:中断请求信号,输出。与CPU的的INTR引脚连接。引脚连接。lINTA*:中断响应信号,输入。与:中断响应信号,输入。与CPU的的INTA*引脚连接。引脚连接。 333. 内部结构内部结构34(1) 数据总线缓冲器数据总线缓冲器双向双向8位三态缓冲器,构成位三态缓冲器,构成8259A(D7D0)与与8086间的间的数据接口,传输控制字、状态信息、中断向量。数据接口,传输控制字、状态信息、中断向量。(2) 读读/写控制电路写控制电路接收来自接收来自CPU的读的读(RD*)/写写(WR*)控制命令控制命令(A0)和片选控制和片选控制信息信息(CS*)CS*、A0、WR*组合:将初始化命

28、令字组合:将初始化命令字ICW和操作命令字和操作命令字OCW写入写入8259ACS*、A0、RD*组合:读出各寄存器的内容组合:读出各寄存器的内容(3) 级联缓冲级联缓冲/比较器比较器IR7IR08级中断,当引入的中断超过级中断,当引入的中断超过8级时,多片级时,多片8259A级联级联使用。使用。1片主片,片主片,18片从片,最多可组合成片从片,最多可组合成64级中断。此时,级中断。此时,主片的主片的CAS0CAS2为输出,从片的为输出,从片的CAS0CAS2为输入。为输入。358259A级联方式:级联方式:缓冲级联:缓冲级联:SP*为输入,主为输入,主8259A的的SP*=1, 从从8259

29、A的的SP*=0;非缓冲级联:非缓冲级联:EN*为输出,为输出,EN*=0表示表示8259A通过缓通过缓冲器输出。冲器输出。(4) 三个寄存器三个寄存器(IRR、ISR、IMR)IRR:中断请求寄存器,存放:中断请求寄存器,存放IR7IR0,有中断请求时,有中断请求时,相应位置相应位置“1”ISR:中断服务寄存器,记录正在接受中断服务的所有:中断服务寄存器,记录正在接受中断服务的所有中断,中断, 8259A在接收到第一个信号后,使当前被响应的在接收到第一个信号后,使当前被响应的中断请求所对应的中断请求所对应的ISR置置“1”,而相应的,而相应的IRR复位。在中复位。在中断嵌套时,断嵌套时,IS

30、R中有多个位为中有多个位为“1” IMR:用于寄存用于寄存要屏蔽要屏蔽的中断。某位为的中断。某位为“1”,表示屏蔽,表示屏蔽相应中断请求,为相应中断请求,为“0”,表示开放相应中断请求。,表示开放相应中断请求。 36(5) 优先级分辨器优先级分辨器(PR)识别各中断请求信号的优先级别。识别各中断请求信号的优先级别。(6) 控制电路控制电路内部控制器,根据内部控制器,根据IRR和和PR向向8259A的其它部件发的其它部件发出控制信号,并向出控制信号,并向8086发出发出INT,接收,接收INTA*,控,控制制8259A进入中断服务状态。进入中断服务状态。37二、工作方式二、工作方式1. 设置优先

31、级的方式设置优先级的方式 P.111(1) 全嵌套方式全嵌套方式8259A最常用的一种工作方式,最常用的一种工作方式,中断优先级别固中断优先级别固定定,IR0最高,最高,IR7最低。最低。当当IRi中断请求响应时,中断请求响应时,相应的相应的ISRi位置位置1,在中断服务过程中,在中断服务过程中禁止同级禁止同级和和优先级低于本级的中断请求。优先级低于本级的中断请求。(2) 特殊全嵌套方式特殊全嵌套方式与全嵌套方式基本相同,只是在特殊全嵌套方式与全嵌套方式基本相同,只是在特殊全嵌套方式下,下,可响应同级可响应同级的中断请求。特殊全嵌套方式一的中断请求。特殊全嵌套方式一般用于般用于8259A的的级

32、联级联情况。情况。382.优先级循环方式优先级循环方式 P.112 (1) 自动循环自动循环初始时,优先次序为初始时,优先次序为IR0IR7,IR0最高,最高,IR7最低。当最低。当某级中断响应后,则优先级降为最低。而其后的与之相某级中断响应后,则优先级降为最低。而其后的与之相邻的优先级升为最高。如,邻的优先级升为最高。如,IR3响应后的优先级次序变为响应后的优先级次序变为IR4(最高最高),IR5,IR6,IR7,IR0,IR1,IR2,IR3(最低最低)。(2) 特殊循环特殊循环与优先级自动循环方式相比仅有一点不同,就是在优先与优先级自动循环方式相比仅有一点不同,就是在优先级特殊循环方式下

33、,级特殊循环方式下,一开始的最低优先级是由编程确定一开始的最低优先级是由编程确定的。的。 393.中断屏蔽方式中断屏蔽方式 P.114(1) 普通屏蔽方式普通屏蔽方式通过编程将中断屏蔽字写入通过编程将中断屏蔽字写入IMR而实现的。若写入某位为而实现的。若写入某位为1,则对应的中断请求被屏蔽;为则对应的中断请求被屏蔽;为0,则对应的中断请求被开放。,则对应的中断请求被开放。 (2) 特殊屏蔽方式特殊屏蔽方式在执行较高级的中断服务时,希望开放较低级的中断请求。在执行较高级的中断服务时,希望开放较低级的中断请求。采用特殊屏蔽方式,可在中断服务程序中用中断屏蔽命令采用特殊屏蔽方式,可在中断服务程序中用

34、中断屏蔽命令字来屏蔽当前正在服务的中断级别(即设置字来屏蔽当前正在服务的中断级别(即设置IMR的相应位的相应位为为“1”),同时使),同时使ISR中对应位清中对应位清“0”,这样就不但屏蔽了,这样就不但屏蔽了当前正在服务的中断级,同时真正开放了其它优先级较低当前正在服务的中断级,同时真正开放了其它优先级较低的中断请求。的中断请求。 404.结束中断处理方式结束中断处理方式 P.110(1) 正常正常EOI方式方式中断服务程序结束时,给中断服务程序结束时,给8259A一个一个EOI命令,收到后,自命令,收到后,自动将动将ISR中为中为“1”的最高优先级位清的最高优先级位清0。只有当前结束的中。只

35、有当前结束的中断是尚未处理完的中断中级别最高的中断时,才能使用这断是尚未处理完的中断中级别最高的中断时,才能使用这种中断方式。通过种中断方式。通过ICW4设置。设置。(2) 特殊特殊EOI方式方式中断服务程序结束,给中断服务程序结束,给8259A发出发出EOI命令的同时,将当命令的同时,将当前结束的中断级别也传输给前结束的中断级别也传输给8259A。须通过。须通过OCW2设定。设定。(3) 自动自动EOI方式方式中断服务程序结束时,不用向中断服务程序结束时,不用向8259A回送任何信息。回送任何信息。用在系统中只有一片用在系统中只有一片8259A并且多个中断不会嵌套的情况。并且多个中断不会嵌套

36、的情况。通过通过ICW4设置。设置。415.连接系统总线的方式连接系统总线的方式 P.110-111(1) 缓冲方式缓冲方式多片多片8259A系统中,系统中,8259A通过总线驱动器连接数据总线。通过总线驱动器连接数据总线。这时,这时,SP*/EN*输出一个低电平,用以锁存或开启缓冲器。输出一个低电平,用以锁存或开启缓冲器。通过通过ICW4设置。设置。(2) 非缓冲方式非缓冲方式系统中只有单片系统中只有单片8259A时,直接与数据总线相连;级联但时,直接与数据总线相连;级联但片数不多时,也可直接与数据总线相连。这两种情况下片数不多时,也可直接与数据总线相连。这两种情况下8259A工作在非缓冲方

37、式。工作在非缓冲方式。 SP*/EN*做输入端,单片时,做输入端,单片时,接高电平;多片时,主片接高电平,从片接低电平。接高电平;多片时,主片接高电平,从片接低电平。通过通过ICW4设置。设置。426.引入中断请求的方式引入中断请求的方式 P.109(1) 边沿触发方式边沿触发方式8259A将中断请求输入端出现的上升沿作为中断请求信将中断请求输入端出现的上升沿作为中断请求信号。通过号。通过ICW1设置。设置。(2) 电平触发方式电平触发方式8259A将中断请求输入端出现的高电平作为中断请求信将中断请求输入端出现的高电平作为中断请求信号。通过号。通过ICW1设置。设置。43三、编程概述三、编程概

38、述1. 初始化命令字初始化命令字ICW8259A的初始化命令字共有的初始化命令字共有4个,个,ICW1ICW4。首。首先写入先写入ICW1,然后顺序写入,然后顺序写入ICW2、ICW3、ICW4。4个初始化命令字不是一定都要写入的。其中个初始化命令字不是一定都要写入的。其中ICW1、ICW2是必须写的,是必须写的,ICW3是级联使用时才需设置,是级联使用时才需设置,ICW4是只在是只在80868259A配置系统中需要设置的。配置系统中需要设置的。44例如:要求例如:要求8259A为单片工作,需要写为单片工作,需要写ICW4,以边沿触发中,以边沿触发中断时,其命令字断时,其命令字ICW1为为13

39、H。初始化程序为:。初始化程序为:MOV AL,13HOUT 偶地址,偶地址,AL(1) ICW1CS*=0, A0=0, D4=145(2) ICW2 ICW2(高(高5位)一旦设定,位)一旦设定,IR7IR0引脚引入引脚引入的的8个中断源的中断类型码就随之确定了。在写入个中断源的中断类型码就随之确定了。在写入D7D0时,不论时,不论D2D0位是何值,都不影响这三位位是何值,都不影响这三位的自动填充。在写的自动填充。在写ICW2时,一般对时,一般对D2D0位填位填0。 CS*=0, A0=146例如,在例如,在PC中断系统中,硬盘中断类型码的高中断系统中,硬盘中断类型码的高5位位是是08H,

40、它的中断请求线连到,它的中断请求线连到8259A的的IR2上,在上,在向向ICW2写入中断类型码时,只写中断类型码的高写入中断类型码时,只写中断类型码的高5位(位(08H),低),低3位可以取位可以取0:MOV AL, 08H ;ICW2的内容(中断类型码的高的内容(中断类型码的高5位)位)OUT 奇地址奇地址, AL ;写入写入ICW2的端口(的端口(A0=1)当当CPU响应硬盘中断请求时,响应硬盘中断请求时,8259A把把IR2的编码的编码010作为作为低低3位构成一个完整的位构成一个完整的8位中断类型号位中断类型号0AH(08H+02H),),经数据总线发给经数据总线发给CPU。由此可见

41、,中断源的由此可见,中断源的中断类型码中断类型码是由是由高高5位位和和低低3位位相相加加而得。高而得。高5位由初始化程序中的位由初始化程序中的ICW2值指定;低值指定;低3位是位是中断源所连接的中断请求输入线中断源所连接的中断请求输入线IRi的优先级编码决定,的优先级编码决定,并在并在CPU读取中断类型码之前,由读取中断类型码之前,由8259A自动填写。自动填写。478259A作为从片的格式:作为从片的格式: (3) ICW3(级联级联)CS*=0, A0=18259A作为主片的格式作为主片的格式: (Di=1表示表示IRi接有从片接有从片)表示从片的表示从片的INT输出与主片输出与主片825

42、9A中的哪一个中的哪一个IRi相连接相连接 48系统中,如果系统中,如果ICW1中的中的IC4位为位为1,必须设置,必须设置ICW4命命令字令字 (4) ICW4 CS*=0, A0=149写入初始化命令字的流程:写入初始化命令字的流程: 50l由于初始化命令字由于初始化命令字ICW2、ICW3和和ICW4的口地的口地址址(A0=1)相同,故编程时,按写入命令的顺序以相同,故编程时,按写入命令的顺序以示区别。示区别。 例如:在例如:在8086系统中,单片系统中,单片8259采用电平触发采用电平触发方式、方式、IR0的中断类型码是的中断类型码是18H、全嵌套方式、非、全嵌套方式、非缓冲方式、自动

43、结束中断方式,设缓冲方式、自动结束中断方式,设8259的偶地的偶地址址=80H,奇地址,奇地址=82H,则初始化程序:,则初始化程序:MOVAL, 1BH OUT 80H, AL;写入;写入ICW1MOVAL, 18HOUT 82H, AL;写入;写入ICW2MOVAL, 03H OUT 82H, AL;写入;写入ICW451 写完初始化命令字(写完初始化命令字(ICW)后,该)后,该8259A就可以就可以接受输入线上的中断请求了。若不再写入任何操作接受输入线上的中断请求了。若不再写入任何操作命令字命令字OCW,8259A便处于全嵌套中断工作方式,便处于全嵌套中断工作方式,这时中断优先级是这时中断优先级是IR0为最高级,为最高级,IR7为最低级;若为最低级;若要改变要改变8259A的工作方式,可用写入操作命令字的工作方式,可用写入操作命令字OCW来实现。来实现。OCW命令字可以在命令字可以在8259A工作中的工作中的任何时候写入。任何时候写入。2. 8259A的操作命令字的操作命令字OCW52Mi=1表示表示IRi上的中断请求被屏蔽上的中断请求被屏蔽 (1) OCW1(屏蔽操作命令字屏蔽操作命令字)CS*=0, A0=153(2)OCW2(中断方式命令字中断方式

温馨提示

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

评论

0/150

提交评论