可编程中断控制器859A教案.ppt
《可编程中断控制器859A教案.ppt》由会员分享,可在线阅读,更多相关《可编程中断控制器859A教案.ppt(82页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、可编程中断控制器859A Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望一、引言中断申请中断申请管理接口管理接口INT中断申请中断申请接口接口1网络网络接口接口2硬盘硬盘接口接口3软盘软盘接口接口4打印机打印机8086CPUINTRIF21.向向CPU的引脚的引脚INTR发中断申请信号发中断申请信号当有多个外设同时发出中断请求时,当有多个外设同时发出中断请求时,能按照一定的优先级顺序,向能按照一定的优先级顺序,向CPU发出中断申请,发出中断申请,使使CPU能优先响
2、应优先级最高的外部设备的中断申请。能优先响应优先级最高的外部设备的中断申请。2.送中断类型号送中断类型号在在CPU中断响应周期,针对不同外设的中断请求,中断响应周期,针对不同外设的中断请求,向向CPU传送不同的中断类型号,传送不同的中断类型号,使使CPU执行相应的中断子程执行相应的中断子程。中断申请管理接口的主要功能中断申请管理接口的主要功能:在在IBM PC机由机由8259A可编程中断控制器可编程中断控制器(PIC)来完成。来完成。3二、8259A的引脚、编程结构和工作过程1.8259A的引脚的引脚2.8259A的编程结构的编程结构3.8259A的工作过程的工作过程41.8259A的引脚的引
3、脚 双列直插式芯片,双列直插式芯片,28个引脚个引脚方方 波波键键 盘盘保保 留留串串 口口2 硬硬 盘盘软软 盘盘打印机打印机IOW17.2HzA0CS8259A总线总线A0数数 据据 线线 IORRDWR片片选选译译码码IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+5V203FH用于多片用于多片8259A级连情况级连情况INTAINT INTA INTR串串 口口1 定时器定时器51 1、单片、单片8259A8259A可支持可支持8 8个中断源;个中断源;2 2、采用多片、采用多片8259A8259A级连,可最多支持级连,
4、可最多支持6464个中断个中断源。源。n n片片8259A8259A可支持可支持7n+17n+1个中断源;个中断源;3 3、级连时只能有一片、级连时只能有一片8259A8259A为主片,其余的均为主片,其余的均为从属片;为从属片;4 4、涉及到的、涉及到的8259A8259A引脚包括:引脚包括:CASCAS0 0-CAS-CAS2 2SP/ENSP/ENIRiIRiINTINT6 6级联工作方式6SP/ENSP/EN:双功能的双向信号线,分别表示主从定义:双功能的双向信号线,分别表示主从定义/缓冲器方向这两种工种方式。缓冲器方向这两种工种方式。在主从方式中,它作为输入信号线在主从方式中,它作为
5、输入信号线SPSP,由该信号的高,由该信号的高低电平来区分低电平来区分“主主”或或“从从”8259A”8259A:若:若SPSP1 1,则,则本片为本片为“主主”8259A”8259A;若;若SPSP0 0,则为,则为“从从”8259A”8259A。只有一个只有一个8259A8259A时,它应接高电平。时,它应接高电平。在缓冲方式时,则它作为输出信号线在缓冲方式时,则它作为输出信号线ENEN,用于控制缓,用于控制缓冲器的传送方向:若冲器的传送方向:若ENEN1 1,则,则CPUCPU将把数据写入将把数据写入8259A8259A;若;若ENEN0 0,将把数据由,将把数据由8259A8259A读
6、出至读出至CPUCPU。7 77级连电级连电路路连连接方法接方法8 8828259A的编程结构的编程结构SP/ENCA0CA1CA2IORIOW总线总线D0D7数数 据据 线线D0D7INTAINTRA0片片选选译译码码A5A9CSA0RD INTAWRINT 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片连接关系主从片连接关系 ICW4 方式控制方式控制0111A01 0 0 1 0 1 0 0OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级设置、发优先级设置、发EOI 0 1 OCW3特殊屏蔽特殊屏蔽,查询方式设置查询方式
7、设置处理部分处理部分控制部分控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器VCCGND1 10 00 0A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中断中断申请申请寄存器寄存器000 0 0 0 0 0 94个初始化命令寄存器个初始化命令寄存器ICW1、ICW2ICW3、ICW43个操作命令寄存器个操作命令寄存器OCW1(IMR)OCW2、OCW3当当前前中中断断服服务务寄寄存存器器ISR中断申请寄存器中断申请寄存器IRR 8259A内部有内部有9个个 可读写的寄存器可读写的寄存器8259A的编程结构的编程结构 1 I3
8、 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制处理部分处理部分控制部分控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器IRR中断申请中断申请寄存器寄存器000 0 0 0 0 0 中断屏蔽寄存器中断屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中断控制器中断控制器10(1)初始化命令字初始化命令字(ICW1-ICW4)决定决定8259A的工作方式的工作方式通常是在计算机系统启动时在初始程序设置,通常是在计
9、算机系统启动时在初始程序设置,一旦设定,一般在系统工作过程不再改变。一旦设定,一般在系统工作过程不再改变。例例开机后,开机后,BIOS将将8259A初始化为:初始化为:IR0IR7中断申请信号为上升沿触发方式;中断申请信号为上升沿触发方式;IR0IR7对应的中断类型号分别为对应的中断类型号分别为08H0FH;优先级优先级IR0最高最高,IR7最低;最低;(2)操作命令字操作命令字(OCW1,OCW2,OCW3)在应用程序中设定,动态地控制在应用程序中设定,动态地控制CPU处理中断的过程处理中断的过程(3)ISR和和IRR存放当前存放当前8259A的状态的状态通过读取通过读取ISR和和IRR的内
10、容,可了解当前的内容,可了解当前8259A工作情况工作情况11初始化命令字初始化命令字 ICW1ICW4ICW1ICW4初始化命令字在8259正常工作前设置。它决定8259的工作方式和环境。返回A7 A6 A5 1 LTIM ADI SNGL IC4D7 D6 D5 D4 D3 D2 D1 D00A0ICW18086不用不用0:边沿检测:边沿检测1:电平检测:电平检测0:不需要:不需要ICW41:需要:需要ICW480868088不用不用0:级联使用:级联使用1:单独使用:单独使用1212128259A8259A的控制命令字的控制命令字初始化8259A必须从ICW1开始写ICW1意味着重新初始
11、化8259A写入ICW1后,8259A的状态如下:清除ISR和IMR(全0);将中断优先级设成初始状态:IR0最高,IR7最低;设定为一般屏蔽方式;采用非自动中断结束方式;状态读出逻辑预置为读IRR。131313在中断响应的第二个总线周期,通过数据线发送中断类型码给CPU 返回1A0T7 T6 T5 T4 T3 X X XD7 D6 D5 D4 D3 D2 D1 D0中断类型码高中断类型码高5 5位位自动填入自动填入中断源中断源中断源中断源D2D2D1D1D0D0IR0IR00 00 00 0IR1IR10 00 01 1IR2IR20 01 10 0IR3IR30 01 11 1IR4IR4
12、1 10 00 0IR5IR51 10 01 1IR6IR61 11 10 0IR7IR71 11 11 1141414ICW2ICW2中断向量中断向量码码T7T3:中断向量码的高5位T2T0:最低3位为中断源的序号IRn000111分别对应分别对应IR0IR7由由8259A根据中断源的序号自动填入根据中断源的序号自动填入例如:例如:若若ICW2ICW2命令字为命令字为48H48H,则,则IRIR0 0的中断向量码为的中断向量码为48H48H,IRIR7 7的中断向量码为的中断向量码为4FH4FH,等等。,等等。A0A0 D7D7D6 D6 D5 D5 D4 D4 D3 D3 D2 D2 D1
13、 D1 D0D0 1 1 T T7 7 T T6 6 T T5 5 T T4 4 T T3 3 x x x x x x1515151A0S7 S6 S5 S4 S3 S2 S1 S0 D7 D6 D5 D4 D3 D2 D1 D0主主8259的级联标志的级联标志1:相应的:相应的IR上上有从有从82590:相应的:相应的IR上上无从无从8259级连初始化必须与硬件连接一致1A0 0 0 0 0 0 ID2 ID1 ID0D7 D6 D5 D4 D3 D2 D1 D0ID2ID0:从:从8259的的IR识别码识别码主片主片从片从片161616ICW3ICW3级连级连控制字(控制字(续续)ICW3
14、必须与主从片的连接关系一致:例如,主片的IR4与从片的INT线连接,则主片的ICW3=10H,从片的ICW3=04H。中断响应时,主片通过级连线CAS2-CAS0送出被允许中断的从片标识码,各从片用自己的ICW3与CAS2-CAS0比较,二者一致的从片才可发送中断向量码。171717ICW4ICW4初始化命令字ICW1ICW4是以写入的顺序来区分的1A00 0 0 SFNM BUF M/S AEOI PMD7 D6 D5 D4 D3 D2 D1 D00:非自动:非自动EOI1:自动:自动EOI0:8085方式方式1:86/88方式方式0:一般的全嵌套方式:一般的全嵌套方式1:特殊的全嵌套方式:
15、特殊的全嵌套方式0:非缓冲方式非缓冲方式10:缓冲方式从片缓冲方式从片11:缓冲方式主片缓冲方式主片返回返回返回返回181818例例 82598259初始化初始化单单片片82598259应应用用于于80868086系系统统,IR0IR0的的中中断断类类型型码码为为18H18H,电电平平触触发发方方式式,全全嵌嵌套套非非缓缓冲冲方方式式,自自动动结结束束中中断断,要要求求初初始始化化ICW4ICW4。端端口口地地址址为为0A0H0A0H开始,初始化程序为:开始,初始化程序为:MOVMOVALAL,13H 13H ICW1ICW1初始化初始化OUTOUT0A0H0A0H,ALAL;写入;写入ICW
16、1ICW1 MOV MOVALAL,18H 18H ICW2 ICW2 初始化初始化OUTOUT0A2H0A2H,ALAL;写入;写入ICW2ICW2MOVMOVALAL,03H 03H ICW4ICW4初始化初始化OUTOUT0A2H0A2H,ALAL;写入;写入ICW4 ICW4 1919198259A8259A的操作命令字的操作命令字OCWOCW OCW用于设置8259的工作状态在初始化后写入OCW的写入顺序可任意写入地址要求:OCW1必须写入奇地址端口必须写入奇地址端口(A0=1)OCW2,OCW3必须写入偶地址端口必须写入偶地址端口(A0=0)202020操作命令字操作命令字OCWO
17、CWMi=1 中断请求线IRi被屏蔽(不允许中断)=0 允许该IRi中断 OCW1将写入IMR寄存器。A0=1时读OCW1可读出设置的IMR内容。OCW11A0M7 M6 M5 M4 M3 M2 M1 M0 D7 D6 D5 D4 D3 D2 D1 D00:清中断屏蔽位:清中断屏蔽位1:置中断屏蔽位:置中断屏蔽位212121操作命令字操作命令字OCWOCW0A0R SL EOI 0 0 L2 L1 L0 D7 D6 D5 D4 D3 D2 D1 D00 0 0 1 1 1对应对应IRi的编码的编码无操作无操作010特殊优先权循环,由特殊优先权循环,由L2L0设定最低优先级设定最低优先级011特
18、殊特殊EOI,由,由L2L0指定特殊优先权循环指定特殊优先权循环111取消自动优先权循环取消自动优先权循环(固定优先权固定优先权)000自动优先权循环自动优先权循环001自动优先权循环,常规自动优先权循环,常规EOI101特殊特殊EOI,由,由L2L0指定结束指定结束IRi110常规常规EOI100R=1:循环优先权:循环优先权R=0:固定优先权:固定优先权SL=1:L2L1L0指定指定IR位位SL=0:L2L1L0无效无效EOI=1:中断结束:中断结束OCW2222222OCW30A0 D7 D6 D5 D4 D3 D2 D1 D0 ESMM SMM 0 1 P RR RIS10清除特殊清除
19、特殊屏蔽方式屏蔽方式01设定特殊设定特殊屏蔽方式屏蔽方式无意义无意义101010读读IRR01读读ISR无意无意义义10100:非查询方式:非查询方式1:查询方式:查询方式操作命令字操作命令字OCWOCW8259的工作方式编程并没有固定顺序,各命令字之间用地址信号A0及特征位加以区分。232323OCW3OCW3(续续)查询方式允许8259A不工作于中断方式,而是以查询方式工作。CPU先写一个先写一个D2=1(查询方式)的(查询方式)的OCW3,再对同一地址读入,即可得到如下状态字节:再对同一地址读入,即可得到如下状态字节:IxxxxR2R1R0I=1表示有中断请求,中断请求号为表示有中断请求
20、,中断请求号为R2-R0此查询步骤可反复执行,以响应多个同时发生此查询步骤可反复执行,以响应多个同时发生的中断。的中断。读IRR/ISR:写入此命令后,随后再对同一地址读,即可得到IRR或ISR的内容。242424CLI;关中断;关中断MOV AL,17H;ICW1:单片,边缘触发,需要:单片,边缘触发,需要ICW4OUT20H,ALMOV AL,08H;ICW2:中断类型码的:中断类型码的D7D3位为位为00001OUT21H,ALMOV AL,01H;ICW4:非自动的:非自动的EOI,非缓冲,非缓冲,80X86方式方式OUT21H,ALMOV AL,04H;OCW1:只屏蔽:只屏蔽IRQ
21、2(保留中断)(保留中断)OUT21H,ALMOV AL,20H;OCW2:固定优先权,一般的:固定优先权,一般的EOIOUT20H,ALMOV AL,4BH;OCW3:正常屏蔽,非查询方式,可读:正常屏蔽,非查询方式,可读ISROUT20H,ALSTI;开中断;开中断=0000 1000B=0001 0111B=0000 0001B=0000 0100B=0010 0000B=0100 1011B82598259的初始化的初始化编编程程252525分两步分两步:(1)处处理理外外设设中中断断申申请请,决决定定是是否否向向CPU发发中中断断申请信号。申请信号。(2)若若发发中中断断申申请请信信
22、号号,且且CPU响响应应,则则在在CPU中断响应周期送出中断类型号。中断响应周期送出中断类型号。3.8259A 的工作过程的工作过程26(1)处理外设中断申请,决定是否向处理外设中断申请,决定是否向CPU发中断申请信号发中断申请信号 中断屏蔽寄存器中断屏蔽寄存器IMR决定决定IRR中的中断申请中的中断申请是否进入优先级裁决器是否进入优先级裁决器PR。IMR对应位为对应位为0,允许中断申请进入优先级裁决器,允许中断申请进入优先级裁决器,为为1,不允许进入,中断申请被,不允许进入,中断申请被IMR屏蔽。屏蔽。中断申请寄存器中断申请寄存器IRR锁存外部的中断申请。锁存外部的中断申请。若若IR0IR7
23、引脚上有中断申请,则将引脚上有中断申请,则将IRR相应位置相应位置1 当前中断服务寄存器当前中断服务寄存器ISR记录记录CPU正在响应的中断。正在响应的中断。ISR中的某位为中的某位为1,表示,表示CPU正在响应此级中断,正在响应此级中断,ISR中的某位为中的某位为0,表示,表示CPU没有或已响应完此级中断,没有或已响应完此级中断,优先级裁决器优先级裁决器PR据新进入的中断申请和据新进入的中断申请和ISR的内容的内容,决定是否发中断申请信号。决定是否发中断申请信号。如果进入的中断申请比如果进入的中断申请比ISR中记录的中断优先级高,中记录的中断优先级高,则则通通过过8259A的的INT引引脚脚
24、向向CPU发发出出中中断断请请求求信信号;号;如果进入的中断申请不比如果进入的中断申请不比ISR中记录的中断优先级高,中记录的中断优先级高,同级或低级,则不向同级或低级,则不向CPU发中断请求信号。发中断请求信号。27 中断申请寄存器中断申请寄存器IRR锁存外部的中断申请。锁存外部的中断申请。若若IR0IR7引脚上有中断申请,则将引脚上有中断申请,则将IRR相应位置相应位置1IORIOW总线总线数数 据据 线线D0D7INTAA0片片选选译译码码A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4
25、 方式控制方式控制000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中断屏蔽寄存器中断屏蔽寄存器 IMR 0 0 OCW2 优先级、发优先级、发EOI OCW3 特殊屏蔽设置特殊屏蔽设置PR优先级优先级裁决器裁决器IRR中断中断申请申请寄存器寄存器000 0 0 0 0 0 1 0 0 1 0 1 0 0INTR1128中断屏蔽寄存器中断屏蔽寄存器IMR决定决定IRR中的中断申请中的中断申请是否进入优先级裁决器是否进入优先级裁决器PR。IMR对应位对应位为为0,允许允许中断申请进入优先级裁决器,中断申请进入优先级裁决
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 中断 控制器 859 教案
限制150内