1、0地址空间地址空间(共共1MB)内存地址内存地址(960KB)I/O地址(64KB)FFFFFHEFFFFHF0000H00000H内存地址空间内存地址空间内存内存空间空间(1MB)I/O空间空间(64KB)FFFFHFFFFFHI/O地址空间地址空间0000HIO/M=1IO/M超时超时?READY?READY?与外设进与外设进行数据交换行数据交换超时错超时错读入并测试外设状态读入并测试外设状态YNYN传送完?传送完?防止死循环防止死循环复位计时器复位计时器NYn常用芯片:常用芯片:74LS244n应用例子:开关接口应用例子:开关接口&11+5V.译译码码器器=1=1.+5VRD0D7CPQ
2、0Q7.D0D7A0A15M/IO74LS373RWRO1 I1O2 I2O3 I3O4 I4E1 K0K3+5VGG2AG2BCBA1174LS244D0 Q0|Q1D7 Q2 Q3 Q4CP Q5 Q6 Q7 abcdefgDP7406反相器反相器74LS273Rx81174LS138D0D7IOW#IOR#Y0Y1F0H=0000 0000 1111 0000F1H=0000 0000 1111 0001&1A7A4A15A8A3A2A1A0D0D1D2D3译码器译码器 GO:MOV DX,0F1H INAL,DX AND AL,0FH MOV SI,AX MOV AL,BX+SI MO
3、V DX,0F0H OUT DX,AL JMP GO正在看书正在看书电话铃响电话铃响接电话接电话继续看书继续看书执行程序执行程序事件发生事件发生事件处理事件处理继续执行程序继续执行程序中断处理中断处理中断请求及响应中断请求及响应实际场景实际场景计算机计算机中断返回中断返回n与生活场景的比较与生活场景的比较nNMI nINTR 当有多个中断源同时产生中断申请时,当有多个中断源同时产生中断申请时,CPU先响应优先权最高的中断源,先响应优先权最高的中断源,再响应优先级较低的中断源。再响应优先级较低的中断源。与内部中断一样与内部中断一样IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSL
4、CSHFLAGLFLAGHSPIPCSFLAG进入中断服务程序时中断返回后NYNYNNNNNYY执行指令执行完否?取指令IF=1?内部中断?NMI?INTR?TF=1?类型码=0255类型码=2类型码=1中断响应,读回类型码FLAG入栈TEMPTFTF=TF=0CS、IP入栈计算向量表地址高字CS低字IP执行中断服务程序NMI?TEMP=1?转入中断服务程序恢复CS和IP恢复FLAGS返回被中断的程序YYYYNIRET指令的操作8086/8088的的中断处理流程中断处理流程1.数据总线缓冲器数据总线缓冲器一个双向一个双向8位位3态缓冲器,是态缓冲器,是8259A与与CPU之间的数据接口。之间的
5、数据接口。2.读读/写控制电路写控制电路A0:端口选择端口选择,输入。输入。CS:片选信号,输入。片选信号,输入。WR:写信号输入。写信号输入。RD:读信号,输入。读信号,输入。3.级联缓冲级联缓冲/比较器比较器 多片多片8259A级联使用,构成主从关系。级联使用,构成主从关系。对于主对于主8259A,级联信号级联信号CAS2CAS0是输出信号。是输出信号。对于从对于从8259A,CAS2CAS0是输入信号。是输入信号。4.中断请求寄存器中断请求寄存器IRR(8位寄存器位寄存器)存放由外部输入的中断请求信号存放由外部输入的中断请求信号IR7IR0,当某一个当某一个IRi端呈端呈现高电平时,该寄
6、存器的相应位置现高电平时,该寄存器的相应位置“1”。5.中断服务寄存器中断服务寄存器ISR(8位寄存器)位寄存器)当任何一级中断被响应,当任何一级中断被响应,CPU正在执行它的中断服务程序正在执行它的中断服务程序时,时,ISR寄存器中相应位置寄存器中相应位置“1”,一直保持到该级中断处,一直保持到该级中断处理过程结束为止。理过程结束为止。6.中断屏蔽寄存器中断屏蔽寄存器IMR(8位寄存器)位寄存器)当该寄存器中某一位置当该寄存器中某一位置“1”时,表示禁止这一级中断请求时,表示禁止这一级中断请求进入系统。进入系统。7.优先权判别器优先权判别器PR(8位寄存器)位寄存器)用来识别各中断请求信号的
7、优先级别。用来识别各中断请求信号的优先级别。8.控制电路控制电路向向CPU发出中断请求信号发出中断请求信号INT接收来自接收来自CPU的中断响应信号的中断响应信号INTA二、二、8259A芯片的工作方式芯片的工作方式8259A有两种中断触发方式:电平触发方式和边沿触发方式有两种中断触发方式:电平触发方式和边沿触发方式电平触发方式:从电平触发方式:从IR7IR0输入的有效信号应为高电平输入的有效信号应为高电平(IRi信号应保持有效到响应它的第一个信号应保持有效到响应它的第一个INTA信号的前沿,信号的前沿,确保响应该中断;但是也不允许太长,避免出现重复中断确保响应该中断;但是也不允许太长,避免出
8、现重复中断现象。)现象。)边沿触发方式:边沿触发方式:IRi端上出现由低电平到高电平的正跳变时,端上出现由低电平到高电平的正跳变时,表示中断请求信号有效,最好用负脉冲的后沿来实现。表示中断请求信号有效,最好用负脉冲的后沿来实现。8259A优先权级管理方式:优先权级管理方式:优先权级别固定分配和循环设置。优先权级别固定分配和循环设置。可概括为完全嵌套方式、自动循环方式和中断屏蔽方式。可概括为完全嵌套方式、自动循环方式和中断屏蔽方式。1.完全嵌套方式完全嵌套方式固定的中断级别:固定的中断级别:IR0具有最高优先级,具有最高优先级,IR7具有最低优先级。具有最低优先级。最大的中断嵌套深度为最大的中断
9、嵌套深度为8。1.要求堆栈的容量比较大要求堆栈的容量比较大2.CPU每响应一次中断进入中断服务程序后,应安排开中断指每响应一次中断进入中断服务程序后,应安排开中断指令令(STI)将将IF标志位置标志位置“1”。3.中断处理完毕,中断处理完毕,CPU应向应向8259A回送结束命令回送结束命令(EOI)。(1)普通普通EOI方式:方式:8259A收到收到EOI命令后,自动将命令后,自动将ISR寄存寄存器中级别最高的置器中级别最高的置“1”位清位清“0”。(2)特殊特殊EOI方式:方式:8259A收到收到EOI命令后,命令后,8259A将将ISR寄寄存器中指定级别的相应位清存器中指定级别的相应位清“
10、0”。(3)自动自动EOI方式:方式:任何一级中断被响应后,任何一级中断被响应后,ISR寄存器中相寄存器中相应位置应位置“1”,CPU将进入中断响应总线周期,在第将进入中断响应总线周期,在第2个中断个中断响应信号响应信号(INTA)结束时,自动将结束时,自动将ISR寄存器中相应位清寄存器中相应位清“0”。有可能出现低级中断打断高级中断或同级中断相互打断的不有可能出现低级中断打断高级中断或同级中断相互打断的不合理现象。合理现象。CPU响应中断进入中断服务程序响应中断进入中断服务程序,将相应的将相应的ISR寄存器置位。寄存器置位。2.自动循环方式自动循环方式其基本思想是:每当任何一级中断被处理完,
11、它的优先级别就其基本思想是:每当任何一级中断被处理完,它的优先级别就被改变为最低级,而将最高优先级赋给原来比它低一级的中被改变为最低级,而将最高优先级赋给原来比它低一级的中断请求。断请求。(1)普通普通EOI循环方式:循环方式:当任何一级中断被处理完后,当任何一级中断被处理完后,CPU给给8259A回送普通回送普通EOI命令,命令,8259A接收到这一命令后将接收到这一命令后将ISR寄存器中优先级最高的置寄存器中优先级最高的置“1”位清位清“0”,并赋给它最低优先级,而将最高优先级赋给原来,并赋给它最低优先级,而将最高优先级赋给原来比它低一级的中断请求,其他中断请求的优先级别以循环方比它低一级
12、的中断请求,其他中断请求的优先级别以循环方式类推。式类推。(2)自动自动EOI循环方式:任何一级中断响应后,在中断响应总线循环方式:任何一级中断响应后,在中断响应总线周期中,由第周期中,由第2个中断响应信号个中断响应信号 INTA 的后沿自动将的后沿自动将ISR寄存器中寄存器中相应位清相应位清“0”,并立即改变各级中断的优先级别。,并立即改变各级中断的优先级别。(3)特殊特殊EOI循环方式:循环方式:用户可在主程序或中断服务程序中利用置位优先权命令把最用户可在主程序或中断服务程序中利用置位优先权命令把最低优先级赋给某一中断源低优先级赋给某一中断源IRi,于是最高优先级便赋给于是最高优先级便赋给
13、IRi+1,其他各级按循环方式类推。必须使用特殊其他各级按循环方式类推。必须使用特殊EOI方式,方式,3.中断屏蔽方式中断屏蔽方式清除中断标志指令清除中断标志指令(CLI),将中断标志位清将中断标志位清“0”,CPU将禁止所将禁止所有可屏蔽中断请求。有可屏蔽中断请求。(1)普通屏蔽方式:普通屏蔽方式:将中断屏蔽寄存器将中断屏蔽寄存器IMR中的某一位或某几位中的某一位或某几位置置“1”,即可将相应级的中断请求屏蔽掉。,即可将相应级的中断请求屏蔽掉。(2)特殊屏蔽方式:特殊屏蔽方式:当当CPU正在处理某级中断时,要求仅对本级正在处理某级中断时,要求仅对本级中断进行屏蔽,而允许其他优先级比它高或低的
14、中断进入系统。中断进行屏蔽,而允许其他优先级比它高或低的中断进入系统。三、三、8259A芯片的控制字及其工作方式芯片的控制字及其工作方式8259A包含两个内部端口地址,一个偶地址端口包含两个内部端口地址,一个偶地址端口(A0=0),一个奇地址端口一个奇地址端口(A01)。1)初始化编程初始化编程由由CPU向向8259A送初始化命令字送初始化命令字ICW,使其处于准备就绪状态使其处于准备就绪状态。2)工作方式编程工作方式编程由由CPU向向8259A送工作命令字送工作命令字OCW以规定以规定8259A的工作方式。的工作方式。1.8259A的初始化编程的初始化编程ICW1 芯片控制芯片控制ICW2
15、中断类型号中断类型号ICW3 主从片关系主从片关系ICW4 方式控制方式控制1)写初始化命令字写初始化命令字ICW1芯片控制字芯片控制字LTIM:触发方式触发方式n=1 高电平触发高电平触发n=0 上升沿触发上升沿触发SNGL:级连控制级连控制n=1 单片单片n=0 级连级连IC4:ICW4控制控制n=1 要写要写ICW4n=0 不写不写ICW4(默认默认ICW4为全为全0)2)写初始化命令字写初始化命令字ICW2中断类型控制字中断类型控制字T7T3:中断向量码的高中断向量码的高5位位T2T0:最低最低3位为中断源的序号位为中断源的序号IRn n000111分别对应分别对应IR0IR7n由由8
16、259A根据中断源的序号自动填入根据中断源的序号自动填入 例如:例如:若若ICW2命令字为命令字为48H,则,则IR0的中断向量码为的中断向量码为48H,IR7的中断向量码为的中断向量码为4FH,等等。等等。3)写初始化命令字写初始化命令字ICW3级联控制字级联控制字特征:特征:ICW1的的D1=0时,才需要时,才需要ICW3。主片的级联控制字主片的级联控制字 Si=1 对应对应IRi线上连接了从片线上连接了从片 从片的级联控制字从片的级联控制字 nID2ID0 标识码,说明本从片连接到主片的哪个标识码,说明本从片连接到主片的哪个IR引脚上。引脚上。000111分别对应分别对应IR0IR7。I
17、CW3必须与主从片的连接关系一致:必须与主从片的连接关系一致:例如,主片的例如,主片的IR4与从片的与从片的INT线连接,则主片的线连接,则主片的ICW3=10H,从从片的片的ICW3=04H。4)ICW4方式控制字方式控制字特征:特征:ICW1的的D0=1时,需要写入时,需要写入ICW4 SFNM:特殊嵌套特殊嵌套1 特殊嵌套方式特殊嵌套方式0 一般嵌套方式一般嵌套方式 AEOI:规定中断结束的规定中断结束的方式,即方式,即ISRi是否有自是否有自动复位功能动复位功能1 自动自动EOI方式方式0 非自动非自动EOI方式方式写写ICW1(偶地址偶地址)写写ICW2(奇地址奇地址)级联?级联?写
18、写ICW3(奇地址奇地址)需需ICW4?写写ICW4(奇地址奇地址)NNYY当当8088系统中系统中8259A单级使用,其端口地址为单级使用,其端口地址为80H和和81H,可用下面的初始化程序段来写入预置命令字可用下面的初始化程序段来写入预置命令字ICW1ICW4:MOV AL,13H定义定义ICW1OUT 80H,AL;MOV AL,18H定义定义ICW2OUT 81H,AL;MOV AL,01H定义定义ICW4OUT 81H,AL;8级中断的中断类型码为级中断的中断类型码为18H1FH。2.8259A的操作命令字的操作命令字OCW 1.OCW1中断屏蔽字(奇地址)中断屏蔽字(奇地址)Mi
19、=1 中断请求线中断请求线IRi被屏蔽被屏蔽(不允许中断不允许中断)=0 允许该允许该IRi中断中断 OCW1将写入将写入IMR寄存器。寄存器。A0=1时读时读OCW1可读出设置的可读出设置的IMR内容。内容。2.OCW2中断结束和优先级循环中断结束和优先级循环(偶地址)(偶地址)功能:设置中断优先级的循环方式和发出功能:设置中断优先级的循环方式和发出EOI命令。命令。L2L0:优先级编码优先级编码R:优先级是否自动循环优先级是否自动循环 =1,优先级循环,优先级循环 =0,非循环方式,非循环方式SL:是否指定优先级是否指定优先级 =1,L0L2有效有效 =0,L0L2无效无效 EOI:结束中
20、断命令结束中断命令R,SL,EOI的不同组合决定的不同组合决定8259A的工作方式的工作方式L2L1L0:在优先级循环方式下,在优先级循环方式下,指出循环开始时最低优先级编码;指出循环开始时最低优先级编码;在设置中断命令结束时,指明要在设置中断命令结束时,指明要清除当前清除当前ISR中的那一位。中的那一位。3.OCW3屏蔽方式和读出控制字屏蔽方式和读出控制字(偶地址)ESMM:允许使能特殊屏蔽方式允许使能特殊屏蔽方式 SMM:特殊屏蔽方式特殊屏蔽方式 ESMM SMM 1 1 特殊屏蔽方式置位特殊屏蔽方式置位 1 0 特殊屏蔽方式复位特殊屏蔽方式复位 0 x 非特殊屏蔽方式非特殊屏蔽方式 P(
21、Polling):=1 查询方式查询方式 =0 非查询方式非查询方式 读状态字:偶地址读状态字:偶地址n读偶地址读偶地址四、四、8259A芯片的级联使用芯片的级联使用一片一片8259A芯片只能管芯片只能管理理8级中断,级中断,在多于在多于8级级中断的系统中断的系统中,必须将中,必须将多片多片8259A级联使用。级联使用。最简单的级最简单的级联方式为两联方式为两级,两级级级,两级级联可管理的联可管理的中断源最多中断源最多为为64级。级。优先级管理:优先级管理:完全嵌套方式:完全嵌套方式:2从从8259A引入的中断请求优先级别高于引入的中断请求优先级别高于1从从8259A引入引入的中断请求。的中断
22、请求。1从从8259A的的IR0端接收到一个新的中断请求时,应该允许端接收到一个新的中断请求时,应该允许IR0中断请求进入,将从中断请求进入,将从8259AISR寄存器中第寄存器中第0位置位置“1”,向,向主主8259A的的IR6端再次发出请求。端再次发出请求。1从从8259A的的IR7端接收到一个中断请求,从端接收到一个中断请求,从ISR寄存器中第寄存器中第7位置位置“1”,向主,向主8259A的的IR6端发出请求,主端发出请求,主8259A中中ISR寄寄存器的第存器的第6位置位置“1”。但这时由于主但这时由于主8259A中中ISR寄存器的第寄存器的第6位早已置位早已置“1”,不允,不允许这
23、一级中断再进入。许这一级中断再进入。显然是不合理。显然是不合理。特殊完全嵌套方式:能有效的解决以上问题特殊完全嵌套方式:能有效的解决以上问题在级联方式下主在级联方式下主8259A初始化时,应定义为特殊完全嵌套方式。初始化时,应定义为特殊完全嵌套方式。当从当从8259A引入的中断处理过程结束时,引入的中断处理过程结束时,CPU应能送出两个应能送出两个EOI结束命令:结束命令:一个送给主一个送给主8259A,用来将主用来将主8259A中的中的ISR寄存器的相应位寄存器的相应位清清“0”;另一个送给从另一个送给从8259A,用来将从用来将从8259A中的中的ISR寄存器相应位寄存器相应位清清“0”,
24、才标志一次中断处理过程的结束。,才标志一次中断处理过程的结束。结束中断操作:结束中断操作:MOV AL,20HOUT 20H,ALIRET8259A级联使用的初始化程序举例级联使用的初始化程序举例某系统中设置两片某系统中设置两片8259A实现中断控制,它们之间采用级联实现中断控制,它们之间采用级联方式连接,一片从方式连接,一片从8259A的的INT端与主端与主8259A的的IR3端相连,端相连,已知当前主已知当前主8259A的的IR0和和IR5端上分别引入两个中断请求,端上分别引入两个中断请求,从从8259A的的IR2和和IR3端上也分别引入两个中断请求。端上也分别引入两个中断请求。已知主已知
25、主8259A引入的引入的中断类型码分别为中断类型码分别为40H和和45H,它们的它们的中断服务程序在同一中断服务程序在同一段中,其段基址为段中,其段基址为1000H,偏移地址分偏移地址分别为别为1050H和和2060H。由从由从8259A引入的中引入的中断请求断请求IR2和和IR3的中的中断类型码为断类型码为32H和和33H,它们的中断服它们的中断服务程序的段基址为务程序的段基址为2000H。偏移地址分偏移地址分别为别为5440H和和3620H。若已知主若已知主8259A的端口地址为的端口地址为FFE8H和和FFE9H,从从8259A的端的端口地址为口地址为FFFAH和和FFFBH,应分别对主
26、应分别对主8259A和从和从8259A进行进行初始化操作。初始化操作。对主对主8259A的初始化程序段如下:的初始化程序段如下:MOV AL,11HMOV DX,0FFE8HOUT DX,AL;定义定义ICW1MOV AL,40HMOV DX,0FFE9HOUT DX,AL;定义定义ICW2MOV AL,08HOUT DX,AL ;定义定义ICW3MOV AL,11HOUT DX,ALH;定义定义ICW4MOV AL,0D6HOUT DX,AL ;定义定义OCW1发发EOI命令:命令:MOV AL,20HMOV DX,0FFE8HOUT DX,AL;定义定义OCW2对从对从8259A的初始化程序段如下:的初始化程序段如下:MOV AL,11HMOV DX,0FFFAHOUT DX,AL;定义定义ICW1MOV AL,30HMOV DX,0FFFBHOUT DX,AL;定义定义ICW2MOV AL,03OUT DX,AL;定义定义ICW3MOV AL,11HOUT DX,AL;定义定义ICW4MOV AL,0F3HOUT DX,AL;定义定义OCW1 MOV DX,0FFFAH MOV AL,20H OUT DX,AL;定义;定义OCW2
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。