第7章 输入输出与中断_第1页
第7章 输入输出与中断_第2页
第7章 输入输出与中断_第3页
第7章 输入输出与中断_第4页
第7章 输入输出与中断_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

1、第第7章章 输入输入/输出与中断输出与中断n7.1 I/O接口概述接口概述n7.2 CPU与外设之间的数据传送的方式与外设之间的数据传送的方式n7.3 中断技术中断技术n7.4 8086/8088中断系统中断系统n7.5 可编程中断控制器可编程中断控制器8259A7.1 I/O接口概述接口概述I/O接口接口 :指指CPU与外围设备或外围设备与系统设备之间进行与外围设备或外围设备与系统设备之间进行数据交换和通信的数据交换和通信的连接电路,连接电路,是是CPU与外界进行信与外界进行信息交换的息交换的中转站中转站。I/O接口技术接口技术 :是研究是研究CPU如何与外设进行如何与外设进行最佳耦合与匹配

2、,最佳耦合与匹配,实现实现双方高效、可靠地交换信息的一门技术,是软件、双方高效、可靠地交换信息的一门技术,是软件、硬件结合的体现,是微机应用的关键。硬件结合的体现,是微机应用的关键。 速度匹配速度匹配 光电隔离驱动外设光电隔离驱动外设 信号特性匹配信号特性匹配 数据缓冲与锁存数据缓冲与锁存 信息格式转换信息格式转换 设备选择设备选择 中断控制中断控制7.1.1 I/O接口的作用接口的作用1 1、数据信息数据信息 通常包括数字量、模拟量和开关量通常包括数字量、模拟量和开关量3 3种信息种信息数字量数字量 以二进制形式或是以以二进制形式或是以ASCIIASCII码表示的数或字符。码表示的数或字符。

3、模拟量模拟量 指在计算机控制系统中,某些现场信息经传感器转指在计算机控制系统中,某些现场信息经传感器转换为电信号,再通过放大得到模拟电压或电流。换为电信号,再通过放大得到模拟电压或电流。开关量开关量 指只含两种状态的量,如开关的断开与闭合,电路指只含两种状态的量,如开关的断开与闭合,电路的通与断等,故只需用一位二进制数即可描述一个开关量。的通与断等,故只需用一位二进制数即可描述一个开关量。2 2、状态信息、状态信息 状态信息作为一种状态信息作为一种CPUCPU与与I/OI/O设备之间的接口信号,主要设备之间的接口信号,主要用来反映用来反映I/OI/O设备当前的状态。设备当前的状态。 3 3、控

4、制信息、控制信息 控制信息是控制信息是CPUCPU通过通过I/OI/O接口传送给外设的,专门用来控接口传送给外设的,专门用来控制制I/OI/O设备的操作,是向外设传送的控制命令。设备的操作,是向外设传送的控制命令。7.1.2 CPU CPU与外设交换的信息与外设交换的信息7.1.3 I/O I/O接口的基本结构接口的基本结构 数据信息、状态信息和控制信息作为数据信息、状态信息和控制信息作为CPUCPU与与I/OI/O设备间的接口信设备间的接口信号,在接口电路中,将这号,在接口电路中,将这3 3种信息分别存放在不同的寄存器中,这些种信息分别存放在不同的寄存器中,这些寄存器称为接口电路的寄存器称为

5、接口电路的I/OI/O端口。端口。状态状态端口端口数据端口数据端口(输入输入/输出输出)控制端口控制端口地址地址译码译码数据数据缓冲缓冲控制控制电路电路外外设设ABDBCBCPU数据数据状态状态控制控制 接口电路有接口电路有3 3种端口:数据端口,状态端口和控制端口。种端口:数据端口,状态端口和控制端口。 数据端口:数据端口:数据端口可分为数据输入端口和数据输出端数据端口可分为数据输入端口和数据输出端 口两类。在输入时,由数据输入端口保存外设发往口两类。在输入时,由数据输入端口保存外设发往CPUCPU或或内存的数据;在输出时,由数据输出端口保存内存的数据;在输出时,由数据输出端口保存CPUCP

6、U或内存或内存发往外设的数据。发往外设的数据。 状态端口:状态端口:状态端口用来保存状态端口用来保存I/OI/O设备或接口部件本身的设备或接口部件本身的工作状态信息,让微处理器了解数据传送过程中正在发生工作状态信息,让微处理器了解数据传送过程中正在发生或最近已发生的状态。或最近已发生的状态。 控制端口:控制端口:控制端口用来存放处理器发来的控制命令与其控制端口用来存放处理器发来的控制命令与其他信息,确定接口电路的工作方式和功能,便于控制接口他信息,确定接口电路的工作方式和功能,便于控制接口电路和电路和I/OI/O设备的动作。设备的动作。 CPUCPU和外部设备之间进行数据传输时,各类信和外部设

7、备之间进行数据传输时,各类信息在接口中将进入不同的寄存器,一般称这些寄存息在接口中将进入不同的寄存器,一般称这些寄存器为器为I/OI/O端口端口;每个端口分配一个地址号,称之为每个端口分配一个地址号,称之为端口地址端口地址,CPUCPU通过指令对它们进行访问。通过指令对它们进行访问。 8086CPU8086CPU最大可用地址总线的低最大可用地址总线的低1616位作为对位作为对8 8位位I/OI/O端口的寻址线,相邻的两个端口的寻址线,相邻的两个8 8位端口可以组成一位端口可以组成一个个1616位端口,所以位端口,所以8086CPU8086CPU可访问的可访问的8 8位位I/OI/O端口有端口有

8、64K64K个,个,1616位位I/OI/O端口有端口有32K32K个。个。7.1.4 I/OI/O端口的编址方式端口的编址方式一、一、I/OI/O端口与存储器统一编址端口与存储器统一编址n优点优点:n不需要专门的不需要专门的I/O指令指令nI/O数据存取与存储器数数据存取与存储器数据存取一样灵活据存取一样灵活n缺点缺点:nI/O端口要占去部分存储端口要占去部分存储器地址空间器地址空间n寻址速度比专用的寻址速度比专用的I/O指指令慢令慢内存内存部分部分I/O部分部分存储器空间存储器空间00000HFFFFFH二、二、I/OI/O端口独立编址端口独立编址n优点:优点:nI/O端口的地址空间端口的

9、地址空间独立,不占用内存独立,不占用内存空间空间n指令的执行速度快指令的执行速度快n缺点缺点:nI/O指令没有存储器指令没有存储器指令丰富,指令功指令丰富,指令功能比较弱能比较弱内存内存空间空间I/O空间空间FFFFFH0FFFFH1、门电路地址译码、门电路地址译码(与门、非门、或门、与非门、或非门)与门、非门、或门、与非门、或非门)三、三、I/OI/O端口地址的译码端口地址的译码 D0 D7 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0数数 据据 线线 DBRDWRCS。端口端口译码译码电路电路0D0D710000110000&M/IORDWR111111112、译码器

10、地址译码、译码器地址译码 常用的译码器有常用的译码器有74LS139 、 74LS138 、 74LS154等等219H21AH21BH21CH21DH21EH21FH218H74LS138A Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 0110000100&A0A1A2M/IOA3A4A5A6A7A8A9RDWR1 0 1 0 1 0 1 01 1 0 0 1 1 0 01 1 1 1 0 0 0 074LS30与非门与非门111117.2.1 程序传送方式程序传送方式n无条件传送方式无条件传送方式 外部控制过程的各种动作在外部控制过程的各种动作在时间上是

11、固定的时间上是固定的,而且而且是已知的是已知的。n条件传送方式条件传送方式(查询方式查询方式) 传送前传送前,先查询外设状态先查询外设状态,准备好才传送准备好才传送,否则否则CPU处于等待状态。处于等待状态。7.2 CPU与外设之间的数据传送的方式与外设之间的数据传送的方式1、无条件传送方式、无条件传送方式 输入时外设必须已准备好数据,输出时接口锁存器必输入时外设必须已准备好数据,输出时接口锁存器必须为空。即接口和须为空。即接口和I/OI/O设备在无条件传送时必须要保持设备在无条件传送时必须要保持“就绪就绪”状态。状态。 NY从状态端口读入状态信息从状态端口读入状态信息从数据端口传送一个数据从

12、数据端口传送一个数据外设准备好否?外设准备好否?2 2、条件传送方式、条件传送方式状态端口状态端口 D4=1 表示外设准备好表示外设准备好TEST AL,10H JZ ask MOV DX, 218HIN AL, DX MOV DX, 21CHask :IN AL, DX查询方式输入接口查询方式输入接口三三 态态缓冲器缓冲器输输入入设设备备数数 据据 线线218H 数据数据端口端口地址地址译码译码地址线地址线 状态状态端口端口地址地址译码译码锁锁存存器器 R Q D三三 态态缓冲器缓冲器+5vD421CH STBIORA15A0D7D0&查询方式输出接口查询方式输出接口状态端口状态端口

13、 D0 = 0 表示外设准备好表示外设准备好MOV DX, 219HOUT DX, AL MOV DX, 21CHask: IN AL, DX TEST AL,01H JNZ ask 输输出出设设备备数据线数据线219H地址线地址线 锁锁存存器器 RD D Q 三三 态态缓冲器缓冲器+5vACKIORA15A0D7D0IOW状态状态端口端口地址地址译码译码D021CH&数据数据端口端口地址地址译码译码输输出出设设备备数据线数据线219H地址线地址线 锁锁存存器器 RD D Q 三三 态态缓冲器缓冲器+5vACKIORA15A0D7D0IOW状态状态端口端口地址地址译码译码D021CH&

14、amp;数据数据端口端口地址地址译码译码条件传送方式条件传送方式n优点:优点: 接口简单接口简单n缺点:缺点: CPUCPU不断查询外设状态,降低了不断查询外设状态,降低了CPUCPU的利的利用率。用率。 为了提高为了提高CPUCPU的效率以及使系统具有实时的效率以及使系统具有实时性,通常采用性,通常采用中断方式中断方式传送数据。传送数据。7.2.2 中断传送方式中断传送方式 中断传送方式是指由于某些随机事件的产中断传送方式是指由于某些随机事件的产生,使生,使CPUCPU暂停当前正在执行的程序,而转去处暂停当前正在执行的程序,而转去处理相应的外部事件,执行一个为外设服务的理相应的外部事件,执行

15、一个为外设服务的I/OI/O程序,执行完毕后,程序,执行完毕后,CPUCPU返回原来程序的断点处返回原来程序的断点处继续执行。继续执行。 INTAINTA中断方式输入接口中断方式输入接口中中断断请请求求D DQ Q三三态态缓缓冲冲器器& & &中断中断屏蔽屏蔽触发触发器器Q Q端端口口 译译码码地址总线地址总线RDRDINTRINTR输输入入设设备备数据数据 输入输入锁存器锁存器+5V+5VD0D0D7D7中断传送方式中断传送方式n优点:优点: CPUCPU和外设大部分时间处在并行工作状态和外设大部分时间处在并行工作状态, ,只在只在CPUCPU响应响应外设的中断申请后

16、,进入数据传送的过程,提高了外设的中断申请后,进入数据传送的过程,提高了CPUCPU的效的效率。率。n缺点:缺点: 利用中断方式传送数据,为了可靠的进行数据传送,必利用中断方式传送数据,为了可靠的进行数据传送,必须花费一定的时间进行断点的保护和恢复,现场的保护和恢须花费一定的时间进行断点的保护和恢复,现场的保护和恢复等工作,浪费了复等工作,浪费了CPUCPU很多时间。很多时间。 因此中断方式一般适合传送少量的数据及中低速外设,因此中断方式一般适合传送少量的数据及中低速外设,对于大量的输入对于大量的输入/ /输出数据,应采用高速的直接存储器存取输出数据,应采用高速的直接存储器存取方式方式DMAD

17、MA。DMA 传送方式过程传送方式过程CPUDMAC内存内存外设外设总线总线响应响应总线总线请求请求7.2.3 DMA DMA控制方式控制方式( (直接存储器存取方式直接存储器存取方式) )实现方法:实现方法: 1、由专用接口芯片、由专用接口芯片DMA控制器控制器 (称称DMAC) 控制传控制传 送过程;送过程; 2、当外设需传送数据时,通过、当外设需传送数据时,通过 DMAC向向CPU发出发出 总线请求;总线请求; 3、CPU发出总线响应信号,释放总线;发出总线响应信号,释放总线; 4、DMAC接管总线,控制外设、内存之间直接数据接管总线,控制外设、内存之间直接数据 传送传送; 5、DMA操

18、作结束,将总线控制权交还给操作结束,将总线控制权交还给CPU。DMADMA传送方式传送方式n优点:优点: 传送速度快传送速度快n缺点:缺点: 需用需用DMADMA控制器进行控制,硬件连接也比控制器进行控制,硬件连接也比较复杂较复杂7.2.4 接口设计实例接口设计实例例:显示器采用例:显示器采用7 7段段LEDLED,由,由BCD-7BCD-7段译码段译码/ /驱动器所驱动,并驱动器所驱动,并采用共阳极接法,假定任何时候至多只有一个开关闭合。编采用共阳极接法,假定任何时候至多只有一个开关闭合。编写一程序段,显示闭合开关序号,若无开关闭合,则显示器写一程序段,显示闭合开关序号,若无开关闭合,则显示

19、器不发光。不发光。74LS24574LS138显示译码/驱动器74LS373+5VK7K0 M/IO A5 A4 A3 A2 A1 A0 RD D7 D0 WRY0ESTB20H&111DATA SEGMENT TAB DB 10H,11H,12H,13H,14H,15H,16H,17HDATA ENDSCODE SEGMENT ASSUME CS:CODE , DS:DATASTART: MOV AX , DATA MOV DS , AX MOV BX , OFFSET TAB IN AL ,20HCOUN:SHR AL ,1 JNC NEXT MOV AL , BX OUT 20H

20、 , AL JMP EXITNEXT: INC BX JMP COUNEXIT: CODE ENDS END START7.3.1 中断的基本概念中断的基本概念一、中断一、中断 在在CPUCPU正常运行程序时,由于内部或外部某个正常运行程序时,由于内部或外部某个非预料事件非预料事件的发生,的发生,使使CPUCPU暂停正在运行的程序,而转去执行暂停正在运行的程序,而转去执行处理引起中断事件的程序处理引起中断事件的程序,然然后再返回被中断了的程序,继续执行。这个过程就是中断。后再返回被中断了的程序,继续执行。这个过程就是中断。 早期早期中断概念的引入,是为解决中断概念的引入,是为解决CPUCPU与

21、外设间的速度匹配问题,提与外设间的速度匹配问题,提高高CPU CPU 的工作效率。的工作效率。中断源主要是由外部硬件产生。中断源主要是由外部硬件产生。当今的中断技当今的中断技术,不再限于外部硬件产生中断术,不再限于外部硬件产生中断( (称称硬件中断硬件中断或或外中断外中断 ) ),还可由,还可由CPUCPU内部产生。内部产生。 7.3 中断技术中断技术二、中断处理过程(外中断)二、中断处理过程(外中断) 1)中断请求)中断请求 2)中断判优)中断判优 3)中断响应)中断响应 响应条件:响应条件: 无总线请求和非屏蔽中断请求无总线请求和非屏蔽中断请求; ; 中断允许控制位中断允许控制位IF=1;

22、IF=1; CPU CPU执行完当前指令执行完当前指令; ; 当前中断级别最高。当前中断级别最高。 响应时自动完成以下工作响应时自动完成以下工作: : 发送两个发送两个INTAINTA负脉冲,取中断类型号负脉冲,取中断类型号N N; 将将FLAGSFLAGS入栈,关中断,即入栈,关中断,即IF=0IF=0、TF=0TF=0; 保护断点,将保护断点,将CSCS、IPIP入栈;入栈; 根据中断类型号根据中断类型号N N取得中断向量送入取得中断向量送入IPIP、CSCS; 进入中断服务子程序。进入中断服务子程序。 4)中断处理)中断处理 保护现场;保护现场; 开中断,以允许嵌套,也可不开中断;开中断

23、,以允许嵌套,也可不开中断; 中断服务;中断服务; 关中断,保证无干扰恢复现场;关中断,保证无干扰恢复现场; 恢复现场。恢复现场。 5)中断返回)中断返回 开中断;开中断; 中断返回。中断返回。1、中断优先级的识别、中断优先级的识别 当有多个中断源同时提出中断申请时,究竟应该先响应当有多个中断源同时提出中断申请时,究竟应该先响应哪个中断源的申请;当哪个中断源的申请;当CPU正在执行中断服务程序时,又接正在执行中断服务程序时,又接收到新的中断申请,是否应该响应这个中断请求,这些问题收到新的中断申请,是否应该响应这个中断请求,这些问题都应当通过设置与判断中断的优先级来得以解决。都应当通过设置与判断

24、中断的优先级来得以解决。 1)软件查询法)软件查询法 2)硬件处理法)硬件处理法 2、中断嵌套、中断嵌套 指当指当CPU因响应某一中断源的中断请求而正在执行其中因响应某一中断源的中断请求而正在执行其中断服务程序时,若此时中断是开放的,那必然可以把正在执断服务程序时,若此时中断是开放的,那必然可以把正在执行的中断服务程序暂停下来转而响应和处理中断优先级更高行的中断服务程序暂停下来转而响应和处理中断优先级更高的中断请求,等到处理完后再转回来继续执行原来的中断服的中断请求,等到处理完后再转回来继续执行原来的中断服务程序。务程序。 7.3.2 中断优先级和中断的嵌套中断优先级和中断的嵌套 从从8086

25、/8088到以上系统中,可以处理到以上系统中,可以处理256个不同类型个不同类型的中断,其编号从的中断,其编号从00H0FFH,称为,称为中断类型号中断类型号。 内部中断:内部中断: 除法出错除法出错 类型号类型号0 自动产生自动产生 单步中断单步中断 类型号类型号1 DEBUG执行执行T命令命令 断点中断断点中断 类型号类型号3 DEBUG执行执行G命令命令 溢出中断溢出中断 类型号类型号4 执行执行INTO INT n 类型号类型号n (05H 0FFH)7.4 8086/8088中断系统中断系统7.4.1 8086/80888086/8088中断源类型中断源类型外部中断外部中断: :不可

26、屏蔽中断不可屏蔽中断 类型号类型号2 2 自动产生自动产生可屏蔽中断可屏蔽中断 类型号类型号(32 (32 255) 255) 由由82598259管理管理中断逻辑中断逻辑INT nINT n指令指令INTOINTO指令指令除法除法错误错误单步单步断点断点非屏蔽中断请求非屏蔽中断请求n n4 40 01 1CPUCPUINTRINTRNMINMIIRIR0 0IRIR6 6IRIR5 5IRIR4 4IRIR3 3IRIR2 2IRIR1 1IRIR7 7可编程可编程中中 断断控制器控制器(PIC)(PIC)8259A8259AINTINT2 23 3 当有多个中断源同时产生中断申请时,当有多

27、个中断源同时产生中断申请时,CPU先响应先响应优先权最高的中断源,再响应优先级较低的中断源。优先权最高的中断源,再响应优先级较低的中断源。 8086/8088 8086/8088中断源的优先级中断源的优先级优先级优先级 高高 低低内部中断内部中断 ( 除法出错除法出错,INT 指令指令,断点断点,INTO指令指令 ) 非屏蔽中断非屏蔽中断 可屏蔽中断可屏蔽中断低低 内部中断内部中断( 单步单步 ) 7.4.2 中断向量表中断向量表0000H:0000H0000H:0003H0000H:0004H0000H:0007H0000H:0008H0000H:000BH0000H:000CH0000H:

28、000FH0000H:0010H0000H:0013H0000H:0014H0000H:0017H0000H:007CH0000H:007FH0000H:03FCH0000H:03FFH255/0FFH IPCS01234专用中断专用中断 5个个531/1FH保留中断保留中断 27个个32/20H用户中断用户中断 224个个中断向量:中断向量:中断服务中断服务程序入口地址。程序入口地址。中断向量表:中断向量表:用于存用于存放放256个中断向量的个中断向量的存储区域,共占存储区域,共占1KB存储空间。存储空间。中断向量指针:中断向量指针:在向在向量表中存放每个中断量表中存放每个中断向量的地址。向

29、量的地址。例例:NMI中断,为中断,为2号中断号中断 中断向量存于中断向量存于 IP 0000H:0008H 0000H:0009H CS 0000H:000AH 0000H:000BH 中断响应后中断响应后CPU根据根据CS和和IP内容进入中断子程序。内容进入中断子程序。例例:中断类型号:中断类型号30H (30H4=C0H) 中断向量存于中断向量存于IP 0000H:00C0H 10H 0000H:00C1H 20H CS 0000H:00C2H 30H 0000H:00C3H 40H 则中断所对应的中断向量为则中断所对应的中断向量为4030H:2010H,也即该中,也即该中断服务程序的入

30、口地址。断服务程序的入口地址。 7.4.3 中断服务程序的设计中断服务程序的设计 前面提到前面提到8086/8088利用向量中断的方法,一旦响应中利用向量中断的方法,一旦响应中断便可方便地找到中断服务程序的入口地址。它是在规定断便可方便地找到中断服务程序的入口地址。它是在规定的内存区域中,每的内存区域中,每4个连续字节存放一个中断向量,可建立个连续字节存放一个中断向量,可建立一个一个1KB大小的中断向量表。尽管表规定了内存区域,但大小的中断向量表。尽管表规定了内存区域,但表中的内容,除已被系统定义的中断类型的中断向量以表中的内容,除已被系统定义的中断类型的中断向量以外,其他新增加的中断类型要在

31、中断向量表中由用户建立外,其他新增加的中断类型要在中断向量表中由用户建立相应的中断向量。为了让相应的中断向量。为了让CPU响应中断后正确转入中断服响应中断后正确转入中断服务程序,中断向量表的建立是非常重要的。务程序,中断向量表的建立是非常重要的。 一、中断向量表的建立一、中断向量表的建立1、直接装入法直接装入法 PUSH DS XOR AX, AX MOV DS, AX MOV BX, N*4 MOV AX, OFFSET NEWINT MOV WORD PTRBX, AX MOV AX, SEG NEWINT MOV WORD PTRBX+2, AX POP DS NEWINT PROC I

32、RETNEWINT ENDP2、使用串送存指令装入法、使用串送存指令装入法 MOV AX, 0 MOV ES, AX MOV DI, N*4 MOV AX, OFFSET NEWINT CLD STOSW MOV AX, SEG NEWINT STOSW 3、使用使用DOSDOS功能调用设置中断向量功能调用设置中断向量预置:预置: AH=25H AH=25H 功能号功能号 AL=N AL=N 中断类型号中断类型号 DSDS:DX=DX=中断向量中断向量执行:执行: INT 21HINT 21H例如:例如: PUSH DS MOV AX, SEG NEWINT MOV DS, AX MOV DX

33、, OFFSET NEWINT MOV AL, N MOV AH, 25H INT 21H POP DS二、编程举例二、编程举例 编写中断服务服务程序实现在屏幕上显示字符编写中断服务服务程序实现在屏幕上显示字符“This is a This is a Interruption Service Program!”Interruption Service Program!”。设中断类型号为。设中断类型号为60H,60H,采用采用DOSDOS系统功能调用设置中断服务程序入口地址,通过软中断系统功能调用设置中断服务程序入口地址,通过软中断指令指令INT 60HINT 60H实现中断服务程序的调用。实现

34、中断服务程序的调用。 DATA SEGMENT MES DB This is a Interruption Service Program!$” DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA MAIN: MOV AX, DATA MOV DS, AX PUSH DS MOV DX, OFFSET DISP60 MOV AX, SEG DISP60 MOV DS, AX MOV AH, 25H MOV AL, 60H INT 21H POP DS INT 60H MOV AH, 4CH ; ;返返DOSDOS INT 21HDISP60 PROC

35、FAR MOV DX, OFFSET MESG MOV AH, 09H INT 21H IRETDISP60 ENDPCODE ENDS END MAIN7.5 可编程中断控制器可编程中断控制器8259A1.1.具有具有8 8级优先级控制,通过级联可扩充到级优先级控制,通过级联可扩充到6464级;级;2.2.每一级中断可由程序单独屏蔽或允许;每一级中断可由程序单独屏蔽或允许;3.3.可提供中断类型号传送给可提供中断类型号传送给CPUCPU;4.4.可通过编程选择多种不同的工作方式。可通过编程选择多种不同的工作方式。7.5.1 8259A的功能的功能 D7D0 RD WR A0 CS CAS0

36、CAS1 CAS2 SP/EN数据缓数据缓冲器冲器读写逻读写逻辑辑级联级联比较比较/ /缓冲缓冲控制逻辑控制逻辑 中断屏蔽寄存器中断屏蔽寄存器IMRIMRISR PRIRRINTINTAIR0IR7VccGND7.5.2 8259A的结构及引脚功能的结构及引脚功能 1、内部结构、内部结构级联比较级联比较/缓冲缓冲器器CAS0CAS2是级联信号是级联信号SP/EN控制电路控制电路 是是8259A8259A的内部控制器的内部控制器 根据根据IRR的置位情况和的置位情况和IMR的设置情况,通过的设置情况,通过PR判定优判定优先级,向先级,向8259A内部及其它部件发内部及其它部件发控制信号控制信号和

37、和INT,接收,接收INTA使使ISR相应位置相应位置1,并使,并使IRR相应位置相应位置0,同时送,同时送中断类中断类型号型号。主片主片 输出输出从片从片 输入输入非缓冲方式非缓冲方式缓冲方式缓冲方式 控制数据缓冲器控制数据缓冲器 输出输出单片结构单片结构 输入输入接接“1”1”少量级联结构少量级联结构 输入输入主片主片 接接“1”1”从片从片 接地接地数据缓冲器数据缓冲器 双向双向8 8位三态缓冲器与系统数据总线接口位三态缓冲器与系统数据总线接口 与与CPUCPU交换的信息包括交换的信息包括注:通常连接低注:通常连接低8 8位数据总线位数据总线读写逻辑读写逻辑 控制数据传送方向及选择数据端

38、口控制数据传送方向及选择数据端口写入写入8259A8259A的编程控制字的编程控制字8259A8259A状态信息的读出状态信息的读出中断响应时送出的中断类型号中断响应时送出的中断类型号IRR 中断请求寄存器中断请求寄存器 用来存放由外部输入的中断请求信号用来存放由外部输入的中断请求信号IR0IR7,允许多,允许多位置位置1。ISR 中断服务寄存器中断服务寄存器 保存、记录正在处理中的中断请求,当任何一级中断被保存、记录正在处理中的中断请求,当任何一级中断被响应,响应,CPUCPU正在执行它的中断服务程序时,正在执行它的中断服务程序时,ISRISR相应位置相应位置1 1。PR 优先级判别器优先级

39、判别器 对保存在对保存在IRRIRR中的中断请求进行优先级识别,送出最高中的中断请求进行优先级识别,送出最高级别中断请求到级别中断请求到ISRISR中;当出现多重中断时,中;当出现多重中断时,PRPR判定是否允许判定是否允许所出现的中断去打断正在处理的中断。所出现的中断去打断正在处理的中断。IMR 中断屏蔽寄存器中断屏蔽寄存器 实现对各级中断的有选择的屏蔽,当某位为实现对各级中断的有选择的屏蔽,当某位为1 1,表示禁,表示禁止这一级中断请求进入系统止这一级中断请求进入系统2、引脚功能及与引脚功能及与CPU连接连接8259AWRA0CSA0数数 据据 线线 RDRDWRIR0IR1IR2IR3I

40、R4IR5IR6IR7A5A4A3A2A1D0D7D0D7VccSP/ENCAS0CAS1CAS2GND+ 5V用于多片用于多片8259A级连情况级连情况INTAINT INTA INTR8088最小模式最小模式+ 5VM/IOG1G2AG2BCBAY21 多片多片8259A连接连接主片主片8259A8259A端口地址端口地址 20H 22H20H 22H从片从片1 1端口地址端口地址 24H 26H24H 26H从片从片2 2端口地址端口地址 28H 2AH28H 2AHD0 D7A1G1G2A Y2G2B Y1 C Y0 B A A0 M/IO A6A5A4 A3 A28086最最小小模模

41、式式RDINTAWRINTR主片主片8259A从片从片1从片从片2A0 CSINT IR7 IR0 IR7 IR2 IR1IR0INT IR7 IR0 +5V117.5.3 8259A的工作方式的工作方式1 1、中断优先级方式、中断优先级方式全嵌套方式全嵌套方式 这是这是8259A的默认方式,也是最基本最常用的工作方的默认方式,也是最基本最常用的工作方式。该方式下式。该方式下8259A的中断优先级是从的中断优先级是从IR0IR7,优先级,优先级依次降低。依次降低。自动循环方式自动循环方式 该方式下中断的优先级队列随时发生变化,当某个外该方式下中断的优先级队列随时发生变化,当某个外设的中断请求得

42、到设的中断请求得到CPU响应后,其中断的优先级自动降为响应后,其中断的优先级自动降为最低。(初始的优先级队列规定为最低。(初始的优先级队列规定为IR0 IR7)特殊循环方式特殊循环方式 与自动循环方式不同之处是:特殊循环方式下的初始与自动循环方式不同之处是:特殊循环方式下的初始优先级队列可由编程决定。优先级队列可由编程决定。特殊全嵌套方式特殊全嵌套方式 中断正被处理时,允许中断正被处理时,允许同级同级或或更高优先级更高优先级的事件可的事件可以打断当前的中断处理过程而被服务。以打断当前的中断处理过程而被服务。注注: : 特殊全嵌套仅用于多个特殊全嵌套仅用于多个8259A8259A级连时的主级连时

43、的主8259A8259A,而,而不能用于从属不能用于从属8259A8259A或单或单8259A8259A系统。系统。2、中断结束的管理方式、中断结束的管理方式(固定优先级的中断结束固定优先级的中断结束) 中断结束的管理就是用不同的方式使中断结束的管理就是用不同的方式使ISRISR中相应位清中相应位清零。零。普通结束方式普通结束方式EOIEOI 8259A每得到一次每得到一次EOI命令,就将命令,就将ISR中已置位的各中已置位的各位中优先级最高的位复位。位中优先级最高的位复位。特殊结束方式特殊结束方式SEOISEOI 该方式的特殊性在于,除了普通该方式的特殊性在于,除了普通EOI方式的功能外,方

44、式的功能外,将明确指明本次复位的将明确指明本次复位的ISR位。位。自动结束方式自动结束方式AEOIAEOI 自动自动EOI方式是利用响应中断时最后一个响应脉冲方式是利用响应中断时最后一个响应脉冲的后沿执行一次普通的后沿执行一次普通EOI,而不需要,而不需要CPU发送发送EOI指令指令。3、循环优先级的中断结束方法循环优先级的中断结束方法 在循环优先级方式中,与中断结束方式联合,有三在循环优先级方式中,与中断结束方式联合,有三种循环结束,结束时并确定下面的优先权排队。种循环结束,结束时并确定下面的优先权排队。普通普通EOI循环方式循环方式特殊特殊EOI循环方式循环方式自动自动EOI循环方式循环方

45、式4、中断源屏蔽方式中断源屏蔽方式普通屏蔽方式普通屏蔽方式 中断屏蔽寄存器中断屏蔽寄存器IMR的的8个位与中断请求个位与中断请求IR0IR7一一一对应。对一对应。对IMR编程,指定某些位为编程,指定某些位为1,则屏蔽掉相应的,则屏蔽掉相应的中断请求。中断请求。特殊屏蔽方式特殊屏蔽方式提供了允许较低优先级的中断能够得到响应的特殊手提供了允许较低优先级的中断能够得到响应的特殊手段。段。原理原理:假定当前正在处理:假定当前正在处理IR6,先,先进入特殊屏蔽方式,进入特殊屏蔽方式,然后设置然后设置IM6=1。这时,除。这时,除IR6外的所有中断请求均能外的所有中断请求均能得到响应。得到响应。特殊屏蔽方

46、式中只能用特殊屏蔽方式中只能用SEOI命令结束中断。命令结束中断。5、中断请求引入方式中断请求引入方式电平触发方式电平触发方式 8259A依靠依靠IR引脚上的有效高电平信号来触发,而与有引脚上的有效高电平信号来触发,而与有效电平出现的方式和时间无关。效电平出现的方式和时间无关。边沿触发方式边沿触发方式查询方式查询方式 允许允许8259A不工作于不工作于中断方式,而是以查询方式工作。中断方式,而是以查询方式工作。因为因为CPUCPU中的中的IF=0,CPUIF=0,CPU要使用软件查询来确定中断源要使用软件查询来确定中断源, ,才能才能实现对外设的中断服务。因此即有中断的特点,又有查询实现对外设

47、的中断服务。因此即有中断的特点,又有查询的特点。的特点。6、连接系统总线方式连接系统总线方式缓冲方式缓冲方式 非缓冲方式非缓冲方式 7.5.4 8259A的编程的编程v初始化命令字初始化命令字ICW,操作命令字,操作命令字OCW;v系统复位后,应初始化编程,系统复位后,应初始化编程,按次序只写一次按次序只写一次; 设定触发方式、缓冲方式、中断类型号基值、优设定触发方式、缓冲方式、中断类型号基值、优先级、先级、 结束方式结束方式v初始化后,在任何位置可操作编程,没有严格的顺初始化后,在任何位置可操作编程,没有严格的顺序,允许重置,以动态改变序,允许重置,以动态改变8259A的操作与控制。的操作与

48、控制。8259A初始化流程图初始化流程图写写ICW1写写ICW2级连?级连?写写ICW3需需ICW4?写写ICW4NNYYA0=0A0=1A0=1A0=1芯片控制芯片控制类型号基值类型号基值级连控制级连控制方式控制方式控制1、初始化编程、初始化编程ICW10:不需要:不需要ICW41:需要:需要ICW40:级连使用:级连使用1:单片使用:单片使用80X86不用不用A7 A6 A5 1 LTIM ADI SNGL IC4 D7 D6 D5 D4 D3 D2 D1 D00A0ICW180X86不用不用0:边沿触发边沿触发1:电平触发电平触发 ICW2T7 T6 T5 T4 T3 X X XD7 D

49、6 D5 D4 D3 D2 D1 D01A0ICW2中断类型码高中断类型码高5 5位位自动填入自动填入S7 S6 S5 S4 S3 S2/ID2 S1/ID1 S0/ID0D7 D6 D5 D4 D3 D2 D1 D01A0主主8259A的级联标志的级联标志1:相应的:相应的IR上有从上有从8259A0:相应的:相应的IR上无从上无从8259AID2ID0:从从8259A的的IR识别码识别码非缓冲方式非缓冲方式 0 缓冲方式从片缓冲方式从片 1 0 缓冲方式主片缓冲方式主片 1 1 0 0 0 SFNM BUF M/S AEOI PMD7 D6 D5 D4 D3 D2 D1 D01A00:一般

50、的全嵌套方式:一般的全嵌套方式1:特殊的全嵌套方式:特殊的全嵌套方式0:808085方式方式1:80X860:非自动:非自动EOI1:自动:自动EOI ICW4 ICW32、操作命令编程操作命令编程OCW1OCW1M7 M6 M5 M4 M3 M2 M1 M0 D7 D6 D5 D4 D3 D2 D1 D01A00:清中断屏蔽位:清中断屏蔽位1:置中断屏蔽位:置中断屏蔽位 OCW2R SL EOI 0 0 L2 L1 L0 D7 D6 D5 D4 D3 D2 D1 D00A00 0 0 1 1 1对应对应IRi的编码的编码无操作无操作010设置特殊循环,由设置特殊循环,由L2L0设定最低优先级

51、设定最低优先级011 特殊特殊EOI循环循环,由由L2L0指定结束指定结束IRi并置最低并置最低111取消自动循环取消自动循环(固定优先权固定优先权)000设置自动循环设置自动循环001普通普通EOI循环循环101特殊特殊EOI结束,结束,由由L2L0指定结束指定结束IRi110普通普通EOI结束结束100R=1:循环优先权:循环优先权R=0:固定优先权:固定优先权SL=1:由:由L2 L1 L0指定指定IR位位SL=0:L2 L1 L0无效无效EOI=1:中断结束:中断结束OCW2OCW3 D7 D6 D5 D4 D3 D2 D1 D00A0 ESMM SMM 0 1 P RR RIS10清

52、除特清除特殊屏蔽殊屏蔽方式方式01设定特殊设定特殊屏蔽方式屏蔽方式无意义无意义10100:非查询方式:非查询方式1:查询方式:查询方式10随后随后读读IRR01随后随后读读ISR无无意意义义1010 OCW3 8259A的操作编程并没有固定顺序,各命令字的操作编程并没有固定顺序,各命令字之间用地址信号之间用地址信号A0及特征位加以区分及特征位加以区分。说说 明明 1)查询方式查询方式 OCW3OCW3中中D2D2位位P=1P=1,关闭中断,即可通过查询,关闭中断,即可通过查询方式响应外设的服务请求:从数据总线上读取一方式响应外设的服务请求:从数据总线上读取一个字节,内容为:个字节,内容为: 其

53、中其中I=1I=1表示该表示该8259A8259A芯片有外设服务请求,芯片有外设服务请求,W2W2W0W0表明了请求服务的最高优先权编码。表明了请求服务的最高优先权编码。I=0I=0则表示无请求。则表示无请求。 2)读读8259A8259A 读读IMRIMR:地址信号:地址信号A0A0为为1 1时读时读8259A8259A,可取得中,可取得中断屏蔽寄存器断屏蔽寄存器IMRIMR的状态。的状态。 读读IRRIRR:地址信号:地址信号A0A0为为0 0,且当,且当OCW3OCW3的的D1D1位位RRRR、D0D0位位RISRIS被置为被置为1010时,可在下一个读脉冲期间读时,可在下一个读脉冲期间读得中断请求寄存器得中断请求寄存器IRRIRR的状态。的状态。 读读ISRISR:地址信号:地址信号A0A0为为0 0,且当,且当OCW3OCW3的的RRRR、RISRIS位被置为位被

温馨提示

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

评论

0/150

提交评论