《最新微机原理与接口技术第08章XPPPT课件.ppt》由会员分享,可在线阅读,更多相关《最新微机原理与接口技术第08章XPPPT课件.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、微机原理与接口技术第微机原理与接口技术第0808章章XPXP第第8章:教学重点章:教学重点教学重点80X86CPU的中断系统的中断系统中断控制器中断控制器8259A的作用的作用8259A的编程的编程第第8章:章:8.1.28088的中断响应过程的中断响应过程(续)(续)N指令结束指令结束有中断请求有中断请求恢复现场恢复现场执行下一条指令执行下一条指令禁止中断禁止中断保留现场保留现场处理中断处理中断(中断服务中断服务)撤消中断请求撤消中断请求YYN开中断开中断返回返回示例示例第第8章:章:8.1.38088的中断向量表的中断向量表中断向量:中断服务程序的入口地址(首地址)中断向量:中断服务程序的
2、入口地址(首地址)逻辑地址含有段地址逻辑地址含有段地址CS和偏移地址和偏移地址IP(32位)位)每每个个中中断断向向量量的的低低字字是是偏偏移移地地址址、高高字字是是段段地地址址,需占用需占用4个字节个字节8088微微处处理理器器从从物物理理地地址址000H开开始始,依依次次安安排排各各个中断向量,向量号也从个中断向量,向量号也从0开始开始256个中断占用个中断占用1KB区域,就形成区域,就形成中断向量表中断向量表向量号为向量号为N的中断向量的的中断向量的物理地址物理地址N4第第8章:章:8.3中断优先权中断优先权在在系系统统中中,中中断断源源有有多多个个,但但CPU响响应应中中断断的的引引脚
3、脚有有限限。因因此此,当当有有多多个个中中断断请请求求时时,CPU就就应应有有能能力力识识别别出出这这些些中中断断,然然后后根根据据其优先级先响应级别最高的中断申请。其优先级先响应级别最高的中断申请。通通常常,识识别别中中断断可可以以采采用用软软件件方方法法和和硬硬件件方方法;法;软件方法主要采用查询技术,而硬件方法有:软件方法主要采用查询技术,而硬件方法有:中断优先权编码电路中断优先权编码电路链式优先权排队电路链式优先权排队电路(1)用软件查询方式确定中断)用软件查询方式确定中断(2)中断优先权编码电路)中断优先权编码电路(图8-7)比较器比较器8:3优先权优先权编码器编码器优先权优先权寄存
4、器寄存器D0D721AB中断请求中断请求0中断请求中断请求1中断请求中断请求2A0A1A2INTRB0B1B2正在处理的中断正在处理的中断的编码的编码比较器失效信号比较器失效信号:即即CPU无中断处理时,该无中断处理时,该线为高电平线为高电平(3)链式中断优先权排队电路)链式中断优先权排队电路(图8-8)A2A1C2C1D2D1B2B1中断源中断源A触发器触发器中断源中断源B触发器触发器中断源中断源C触发器触发器中断矢量中断矢量D中断矢量中断矢量C中断矢量中断矢量B中断矢量中断矢量A中断源中断源D触发器触发器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器缓冲器INTA优先级优先级:ABCD第第8章
5、:章:8.38259A中断控制器中断控制器Intel8259A是可编程中断控制器是可编程中断控制器PIC用于管理用于管理Intel80X86/8085的可屏蔽中断的可屏蔽中断8259A的基本功能的基本功能一片一片8259A可以管理可以管理8级中断,可扩展至级中断,可扩展至64级级每一级中断都可单独被屏蔽或允许每一级中断都可单独被屏蔽或允许在中断响应周期,可提供相应的中断向量号在中断响应周期,可提供相应的中断向量号8259A设计有多种工作方式,可通过编程选择设计有多种工作方式,可通过编程选择第第8章:章:8.38259A引脚图引脚图8259A的主要引脚有的主要引脚有:IR0IR7:从从外外设设来
6、来的的中中断断请请 求求 由由 这这 些些 引引 脚脚 输输 入入 到到8259A。A0:地地 址址 线线,用用 于于 寻寻 址址8259A的两个端口的两个端口INT:当当8259A接接到到外外设设的的中中断断请请求求,对对CPU提提出出中中断断请请求求线线,该该引引脚脚连连接接到到CPU的的INTR上。上。INTA*:CPU接接到到中中断断请请求求后送回的中断应答信号。后送回的中断应答信号。CAS0CAS2:主主8259A与与从从8259A的的级级连连线线,对对于于主主8259A该该引引脚脚为为输输出出,从从8259A为输入。为输入。第第8章:章:8.3.18259A的内部结构的内部结构D7
7、D0INTAINT中中断断请请求求寄寄存存器器中断屏蔽寄存器中断屏蔽寄存器中断屏蔽寄存器中断屏蔽寄存器数据数据总线总线缓冲器缓冲器IR0IR7读读/写写控制控制逻辑逻辑级联级联缓冲器缓冲器比较器比较器RDWRA0CSCAS0CSA1CAS2SP/EN优优先先权权判判别别电电路路中中中中断断断断服服服服务务务务寄寄寄寄存存存存器器器器控制逻辑控制逻辑IMR:IMR:保存对中断请求信号保存对中断请求信号IR的屏蔽状态的屏蔽状态Di位为位为1表示表示IRi中断被屏蔽(禁止);为中断被屏蔽(禁止);为0表示允许表示允许ISR:ISR:保存正在被保存正在被8259A服务着的中断状态服务着的中断状态Di位
8、为位为1表示表示IRi中断正在服务中;为中断正在服务中;为0表示没有被服表示没有被服务务I IR RR R:保保存存8条条外外界界中中断断请请求求信信号号IR0 IR7的的请请求求状状态态;Di位位为为1表表示示IRi引引脚脚有有中中断断请请求求;为为0表表示示无无请请求求8259响应多个中断的过程响应多个中断的过程动画动画2.与处理器接口与处理器接口A0RD*WR*CS*功能功能01001100001010101101写入写入写入写入ICW1ICW1、OCW2OCW2和和和和OCW3OCW3写入写入写入写入ICW2ICW4ICW2ICW4和和和和OCW1OCW1读出读出读出读出IRRIRR、
9、ISRISR和查询字和查询字和查询字和查询字读出读出读出读出IMRIMR数据总线高阻状态数据总线高阻状态数据总线高阻状态数据总线高阻状态3.中断级连中断级连一一个个系系统统中中,8259A可可以以级级连连,有有一一个个主主8259A,若干个从若干个从8259A(最多(最多8个)个)级级连连时时,每每个个从从8259A的的中中断断请请求求信信号号INT,连连至至主主8259A的的一一个个中中断断请请求求输输入入端端IR,主主8259A的的INT线连至线连至CPU的中断请求输入端的中断请求输入端主主8259A的的三三条条级级连连线线CAS0CAS2作作为为输输出出线线,连至每个从连至每个从8259
10、A的的CAS0CAS2SP*/EN*在在非非缓缓冲冲方方式式下下,规规定定该该8259A是是主主片片(SP*1)还是从片()还是从片(SP*0)动画动画示例示例8.5.68259A的工作方式的工作方式普通全嵌套方式普通全嵌套方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自动循环方式自动循环方式特殊循环方式特殊循环方式优先权固定方式优先权固定方式优先权循环方式优先权循环方式设置优先权方式设置优先权方式普通中断结束方式普通中断结束方式普通中断结束方式普通中断结束方式特殊中断结束方式特殊中断结束方式自动中断结束方式自动中断结束方式非自动中断结束方式非自动中断结束方式结束中断处理方式结束
11、中断处理方式屏蔽中断源方式屏蔽中断源方式普通屏蔽方式普通屏蔽方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中断触发方式中断触发方式边沿触发方式边沿触发方式边沿触发方式边沿触发方式电平触发方式电平触发方式数据线连接方式数据线连接方式缓冲方式缓冲方式非缓冲方式非缓冲方式1.设置优先权方式设置优先权方式普通全嵌套方式普通全嵌套方式8259A的的中中断断优优先先权权顺顺序序固固定定不不变变,从从高高到到低低依依次次为为IR0、IR1、IR2、IR7中中断断请请求求后后,8259A对对当当前前请请求求中中断断中中优优先先权权最最高高的的中中断断IRi予予以以响响应应,将将其其向向量量号号送送上上数
12、数据据总总线线,对对应应ISR的的Di位置位,直到中断结束(位置位,直到中断结束(ISR的的Di位复位)位复位)在在ISR的的Di位位置置位位期期间间,禁禁止止再再发发生生同同级级和和低低级级优优先先权权的中断的中断,但允许高级优先权中断的嵌套,但允许高级优先权中断的嵌套特殊全嵌套方式特殊全嵌套方式与与普普通通全全嵌嵌套套方方式式基基本本相相同同,二二者者区区别别是是:在在特特殊殊全全嵌嵌套套方方式式下下,当当处处理理某某一一级级中中断断时时,如如果果有有同同级级的的中中断断请请求,则求,则8259A也可以响应。也可以响应。特特殊殊全全嵌嵌套套方方式式一一般般用用在在8259A级级联联的的系系
13、统统中中。在在这这种种情情况况下下,主主片片的的8259A设设置置为为特特殊殊全全嵌嵌套套方方式式,这这样样,当当从从片片的的某某一一中中断断请请求求正正被被处处理理时时,可可以以响响应应来来自自从从片片的更高优先级的中断。的更高优先级的中断。1.设置优先权方式设置优先权方式优先权自动循环方式优先权自动循环方式在在此此方方式式下下,优优先先级级队队列列是是在在变变化化的的。初初始始化化时时优优先先级级顺顺序序为为IR0、IR1、IR2、IR7,IR0的的中中断断优优先先权权最高。最高。当当一一个个中中断断被被响响应应之之后后,它它的的优优先先级级自自动动降降为为最最低低,而而原原来来比比它它低
14、低一一级级的的中中断断则则升升至至最最高高级级。例例:当当IR4中中断断被被响响应应后后,则则中中断断优优先先级级顺顺序序为为:IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4优先权特殊循环方式优先权特殊循环方式与与优优先先权权自自动动循循环环方方式式相相比比,只只有有一一点点不不同同:在在优优先先权权特特殊殊循循环环方方式式中中,初初始始化化时时的的最最低低优优先先级级是是由由编编程程确定的。确定的。2.结束中断处理方式结束中断处理方式什么是什么是8259A的中断结束?的中断结束?8259A利用中断服务寄存器利用中断服务寄存器ISR判断:判断:n某位为某位为1,表示正在进行中断
15、服务;,表示正在进行中断服务;n该位为该位为0,就是该中断结束服务。,就是该中断结束服务。只只有有当当将将ISR中中的的相相应应位位复复位位之之后后,8259才才能响应同级或更低级的中断能响应同级或更低级的中断;2.结束中断处理方式结束中断处理方式中断结束方式可分为:中断结束方式可分为:普通中断结束方式普通中断结束方式(EOI)配合全嵌套优先权方式使用配合全嵌套优先权方式使用当当CPU用用输输出出指指令令往往8259A发发出出普普通通中中断断结结束束EOI命命令令时时,8259A就就会会把把所所有有正正在在服服务务的的中中断中优先权最高的断中优先权最高的ISR位复位位复位自自动动中中断断结结束
16、束方方式式(Auto End of Interrupt)在在这这种种方方式式下下,系系统统一一进进入入中中断断过过程程,8259A就自动将就自动将ISR中的相应位复位。中的相应位复位。3.屏蔽中断源方式屏蔽中断源方式普通屏蔽方式普通屏蔽方式将将IMR的的Di位位置置1,则则对对应应的的中中断断IRi被被屏屏蔽蔽,该中断请求不能从该中断请求不能从8259A送到送到CPU如果如果IMR的的Di位置位置0,则允许,则允许IRi中断产生中断产生特殊屏蔽方式特殊屏蔽方式将将IMR的的Di位位置置1,对对应应的的中中断断IRi被被屏屏蔽蔽的的同时,使同时,使ISR的的Di位置位置0这这样样做做是是为为了了
17、在在处处理理中中断断服服务务程程序序期期间间,开开放其它优先级别较低中断的目的。放其它优先级别较低中断的目的。4.中断触发方式中断触发方式边沿触发方式边沿触发方式8259A将将中中断断请请求求输输入入端端出出现现的的上升沿作为中断请求信号上升沿作为中断请求信号电平触发方式电平触发方式中中断断请请求求端端出出现现的的高高电电平平是是有有效的中断请求信号效的中断请求信号5.数据线连接方式数据线连接方式缓冲方式缓冲方式8259A的数据线需加缓冲器予以驱动的数据线需加缓冲器予以驱动8259A把把SP*/EN*引引脚脚作作为为输输出出端端,输输出出允允许信号,用以锁存或开启缓冲器许信号,用以锁存或开启缓
18、冲器非缓冲方式非缓冲方式SP*/EN*引脚为输入端引脚为输入端若若8259A级连,由其确定是主片或从片级连,由其确定是主片或从片8.5.48259A的编程的编程对对8259的的编编程程可可分分为为初初始始化化编编程程(ICW-初初始始化化命命令令字)和字)和操作命令编程操作命令编程(OCW-操作命令字)两种:操作命令字)两种:初始化编程初始化编程8259A开开始始工工作作前前,必必须须进进行行初初始始化化编编程程,以以确确定定其其工工作作方式;方式;初始化编程为向初始化编程为向8259A写入写入24个字节的个字节的ICW1ICW4;其中其中ICW1、ICW2是必须的,而是必须的,而ICW3、I
19、CW4可选;可选;中断操作编程中断操作编程操作编程共操作编程共3条命令(条命令(OCW1OCW3)在在8259A工工作作期期间间写写入入OCW,将将选选定定的的操操作作传传送送给给8259A,使使之之按按新新的的要要求求工工作作;还还可可以以读读取取8259A的的信信息息,以以便便了解他的工作状态了解他的工作状态1.初始化命令字初始化命令字ICW8259A在在开开始始工工作作前前必必须须写写入入初初始始化化命令字命令字ICW,最多有,最多有4个,最少两个个,最少两个必须按照必须按照ICW1ICW4顺序写入顺序写入ICW1和和ICW2是必须送的是必须送的ICW3和和ICW4由工作方式决定由工作方
20、式决定流程流程当当向向8259A写写入入的的命命令令字字的的D4=1,而而引引脚脚A0=0时时(即即在在PC机机中中操操作作的的口口地地址址为为20H时时),8259A将将之之理理解解为为ICW1,并并自自动动复复位位成成初初始始状状态态,准准备备接接收收其其它它的的ICW。ICW1命命令字的格式为:令字的格式为:(1)ICW1表示送入低表示送入低位端口位端口例:若对8259A初始化成采用电平方式,单片使用,需用ICW4,则送出的ICW1应为:mov al,00011011bout 20h,al 必须必须必须必须(2)ICW2(中断向量命令字)(中断向量命令字)T7T6T5T4T3D7D6D5
21、D4D3D2D1D0设置中断向量号设置中断向量号n命命令令字字中中,T7T3为为中中断断向向量量号号的的高高5位位,低低3位设为位设为0n根根据据此此命命令令,8259A自自动动确确定定低低3位位:IR0为为000、IR1为为001、IR7为为111向向8259A写写入入ICW1命命令令字字后后,应应立立即即向向8259A送送ICW2。ICW2用用于于确确定定8259A每每根根IR线线上上的的中中断断向向量量号号;(其实确定的是(其实确定的是IR0线上的中断向量号)线上的中断向量号)例:在例:在PCPC机中,对应的机中,对应的ICW2ICW2为:为:OUT 21H OUT 21H,08H08H
22、 因因此此,对对于于IR0IR0线线上上的的中中断断类类型型号号为为08H08H,IR1IR1线线上上的的中中断断类类型型号号为为09H09H、。1A0(3)ICW3(级联控制字)(级联控制字)S7S6S5S4S3S2/ID2S1/ID1S0/ID0D7D6D5D4D3D2D1D0级连命令字级连命令字n主主片片8259A:Si1对对应应IRi接接有有从从片片;否否则则IRi没有连接从片没有连接从片n从从片片8259A:高高5位位未未用用;低低3位位ID0ID2编码说明从片编码说明从片INT引脚接到主片哪个引脚接到主片哪个IR引脚引脚必须必须必须必须1A0当当若若干干片片8259A级级联联时时,
23、需需向向主主片片8259和和从从片片的的8259A写写入不同的入不同的ICW3:CAS0IR0CAS1IR1CAS2IR2IR3INTAIR4IR5INTIR6IR7SP/ENCAS0INTACAS1CAS2INTIR0IR1SP/ENIR7CAS0IR0CAS1IR1CAS2IR2IR3INTAIR4IR5INTIR6IR7SP/ENINTAINTR+5V8259级联工作示意图级联工作示意图在上图中,对于主片在上图中,对于主片8259,写入的,写入的ICW3应为应为000000011B(03H)对于从片对于从片A,写入的,写入的ICW3应为应为00H对于从片对于从片B,写入的,写入的ICW3
24、应为应为01H(4)ICW4(中断方式字(中断方式字)当当ICW1的的D0=1时时,才才需需要要写写ICW4。它它用用于于设设置置8259A的中断结束方式、缓冲方式、嵌套方式。它的格式为:的中断结束方式、缓冲方式、嵌套方式。它的格式为:000SFMNBUFM/SAEOIuPMD7D6D5D4D3D2D1D01A0未用未用必需必需1:特特殊殊全全嵌嵌套套方方式式0:全全嵌嵌套套方方式式0 x:非缓:非缓冲方式冲方式10:缓冲:缓冲/从从11:缓冲:缓冲/主主1:AEOI0:EOI1:8086系系统统0:8080/8085系系统统;初始化主片;初始化主片;初始化主片;初始化主片8259A8259A
25、MOVALMOVAL,11H00011H0001 100010001OUT20HOUT20H,ALAL;ICW1ICW1NOPNOPMOVALMOVAL,08H08HOUT21HOUT21H,ALAL;ICW2ICW2NOPNOPMOVALMOVAL,04H0000010004H00000100OUT21HOUT21H,ALAL;ICW3ICW3NOPNOPMOVALMOVAL,11H0001000111H00010001OUT21HOUT21H,ALAL;ICW4ICW4 例:例:AT机中对机中对8259A的设置(两片的设置(两片8259级联)级联);初始化从片;初始化从片;初始化从片;初始
26、化从片8259A8259AMOVALMOVAL,11H11HOUT0A0HOUT0A0H,ALALNOPNOPMOVALMOVAL,70H70HOUT0A1HOUT0A1H,ALALNOPNOPMOVALMOVAL,02H02HOUT0A1HOUT0A1H,ALALNOPNOPMOVALMOVAL,01H01HOUT0A1HOUT0A1H,ALAL2.操作命令字操作命令字OCW8259A工工作作期期间间,可可以以随随时时接接受受操操作作命命令字令字OCWOCW共有共有3个:个:OCW1OCW3写写入入时时没没有有顺顺序序要要求求,需需要要哪哪个个OCW就写入哪个就写入哪个OCW(1)OCW1(
27、中断屏蔽命令字)中断屏蔽命令字)M7M6M5M4M3M2M1M0D7D6D5D4D3D2D1D0屏蔽命令字屏蔽命令字内容写入中断屏蔽寄存器内容写入中断屏蔽寄存器IMRDiMi对应对应IRi,为,为1禁止禁止IRi中断;中断;为为0允许允许IRi中断。各位互相独立。中断。各位互相独立。1A0必需必需(2)OCW2(中断结束命令中断结束命令)u送送中中断断结结束束命命令令(复复位位ISR中中的的相相应应位位)或或设设置置循循环环优优先先级级或或二者之和。该命令各位意义如下:二者之和。该命令各位意义如下:RSLEOI00L2L1L0D7D6D5D4D3D2D1D00A0指定被复位的指定被复位的ISR
28、中的相应位中的相应位或特殊优先权轮或特殊优先权轮转中的最低优先转中的最低优先权权必需必需1:优优先先权权轮轮转转0:不不轮轮转转特征位特征位1:低低3位位有有意意义义0:低低3位位没没有有意意义义1:送送中中断断结结束束EOI0:非非EOIRSLEOIL2L1L0功能功能001000不指定中断结束不指定中断结束011L2L1L0指定中断结束指定中断结束101000在不指定中断结束方式中优先权在不指定中断结束方式中优先权轮转轮转100000在自动在自动EOI方式中优先权轮转置方式中优先权轮转置位命令位命令000000在自动在自动EOI方式中优先权轮转复方式中优先权轮转复位命令位命令111L2L1
29、L0在指定在指定EOI方式中轮转命令方式中轮转命令110L2L1L0直接置优先权轮转命令直接置优先权轮转命令OCW2的功能:用于用于设定特殊屏蔽方式设定特殊屏蔽方式及及读取读取IRR、ISR寄存器寄存器的内容。各位意义如下:的内容。各位意义如下:(3)OCW3XESMMSMM01PRRRISD7D6D5D4D3D2D1D00A0必需必需未未用用特征位特征位特特殊殊屏屏蔽蔽允允许许特特殊殊屏屏蔽蔽方方式式0X:无作用:无作用10:撤销特殊屏蔽:撤销特殊屏蔽11:设置特殊屏蔽:设置特殊屏蔽设设置置当当前前命命令令是是否否为为查查询询命命令令0X:无作用:无作用10:读:读IRR11:读:读ISR注
30、:若要读注:若要读注:若要读注:若要读IMRIMR中的内容,可直接对中的内容,可直接对中的内容,可直接对中的内容,可直接对21H21H端口执行读操作。端口执行读操作。端口执行读操作。端口执行读操作。例:BIOS中读取ISR寄存器的程序段MOVALMOVAL,0BH0BH;写;写;写;写OCW3OCW3,0000101100001011OUT20HOUT20H,ALAL;20H20H为为为为OCW3OCW3的口地址的口地址的口地址的口地址NOPNOP;空操作;空操作;空操作;空操作INALINAL,20H20H;读;读;读;读ISRISR中的内容中的内容中的内容中的内容MOVAHMOVAH,AL
31、AL;保持到;保持到;保持到;保持到AHAH中中中中ORALORAL,AHAH;是否全为;是否全为;是否全为;是否全为0 0JNZAWINTJNZAWINT;不是则转;不是则转;不是则转;不是则转3.写入写入8259两个端口的命令的区别方法两个端口的命令的区别方法操作端口号20H21H写写ICW1、OCW2和和OCW3ICW2、ICW3、ICW4和和OCW1如如何何区区别别读8.48259A在在IBMPC系列机上的应用系列机上的应用CAS02CAS02+5V主主8259A8228880286CPUINTRD0D7SP/ENINTD0D7日时钟日时钟键盘键盘串行口串行口2串行口串行口1并行口并行
32、口2软盘软盘并行口并行口1A0INTR1CSIRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7A0CS从从8259AD0D7INTSP/EN实时钟实时钟改向改向0AH中断中断保留保留保留保留保留保留协处理器协处理器硬盘硬盘保留保留A0INTR2CSIRQ8IRQ9IRQ10IRQ11IRQ12IRQ13IRQ14IRQ15A0CS系统总线系统总线B25B24B23B22B21系统总线系统总线B4D3D4D5D6D7INTARDWRINTAIORIOWINTARDWR第第8章:教学要求章:教学要求1.熟熟悉悉8088的的中中断断类类型型、中中断断响响应应过过程程、中断向量表中断向量表2.理理解解8259A的的内内部部结结构构、寄寄存存器器作作用用、中中断断过程过程3.掌掌握握8259A的的普普通通全全嵌嵌套套优优先先权权、普普通通中中断断结束、边沿触发方式结束、边沿触发方式4.了了解解的的8259A的的ICW和和OCW,注注意意命命令令字字和状态字的区别方法和状态字的区别方法5.了解了解8259A在在IBMPC系列机上的应用情况系列机上的应用情况结束语结束语谢谢大家聆听!谢谢大家聆听!54