第七章典型可编程接口芯片及应用_第1页
第七章典型可编程接口芯片及应用_第2页
第七章典型可编程接口芯片及应用_第3页
第七章典型可编程接口芯片及应用_第4页
第七章典型可编程接口芯片及应用_第5页
已阅读5页,还剩173页未读 继续免费阅读

下载本文档

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

文档简介

1、7-1第七章 典型可编程接口芯片及应用n7.1 7.1 可编程中断控制器芯片可编程中断控制器芯片82598259n7.2 7.2 可编程定时器可编程定时器/ /计数器芯片计数器芯片82548254n7.3 7.3 可编程并行接口芯片可编程并行接口芯片82558255n7.4 7.4 可编程串行接口芯片可编程串行接口芯片INS 8250INS 8250n7.5 7.5 可编程可编程DMADMA控制器芯片控制器芯片8237 8237 7-27.1 7.1 可编程中断控制器芯片可编程中断控制器芯片825982597.1.1 7.1.1 基本功能基本功能7.1.2 7.1.2 内部结构与外部引脚内部结

2、构与外部引脚.3 中断工作过程中断工作过程 7.1.4 7.1.4 端口寻址与读端口寻址与读/ /写控制写控制7.1.5 7.1.5 命令字格式与编程命令字格式与编程7.1.6 82597.1.6 8259在在PCPC系列机中断系统中的应用系列机中断系统中的应用7-37.1.1 7.1.1 基本功能基本功能n中断请求锁存中断请求锁存n中断源优先级排队中断源优先级排队n中断源识别中断源识别n中断源屏蔽中断源屏蔽n中断向量提供中断向量提供 8259 8259是是IntelIntel公司专为控制优先级中断而设计的公司专为控制优先级中断而设计的NMOSNMOS芯片。内部集成了与中断控制

3、有关的几乎所有基芯片。内部集成了与中断控制有关的几乎所有基本功能,包括本功能,包括: :而且各种功能都可通过编程设定或变更。而且各种功能都可通过编程设定或变更。7-47.1.1 7.1.1 基本功能基本功能n芯片的外部接口特性芯片的外部接口特性n内部工作原理内部工作原理n应用编程的方法应用编程的方法 对可编程芯片的掌握,关键要从如下几个方对可编程芯片的掌握,关键要从如下几个方面来掌握:面来掌握:7-5 具体掌握如下内容:具体掌握如下内容: 掌握芯片的外部引线及其功能掌握芯片的外部引线及其功能,以便将它连接到微机,以便将它连接到微机 系统中。系统中。 掌握芯片的工作方式及工作特点掌握芯片的工作方

4、式及工作特点,以便选择适合于用,以便选择适合于用 户要求的工作方式。户要求的工作方式。 熟悉芯片内部的控制字和状态字熟悉芯片内部的控制字和状态字,它将决定芯片的工,它将决定芯片的工 作方式及工作特点。作方式及工作特点。 掌握芯片的寻址和内部各端口寄存器的读写控制方法掌握芯片的寻址和内部各端口寄存器的读写控制方法。 掌握芯片的初始化编程。掌握芯片的初始化编程。7.1.1 7.1.1 基本功能基本功能7-6D7D0RDWRA0CSCAS0CAS1CAS2SP/ENICW1ICW2ICW3ICW4初始化初始化命令寄命令寄存器组存器组内部总线内部总线INTAIR0IR1IR2IR7数据总线数据总线缓冲

5、器缓冲器中断中断服务服务寄存寄存器器(ISR)优先优先级分级分析器析器(PR)中断屏蔽寄存器中断屏蔽寄存器(IMR)操作命令操作命令寄存器组寄存器组OCW1OCW2OCW3中断中断请求请求寄存寄存器器(IRR)读读/写电路写电路级联缓冲器级联缓冲器/ /比较器比较器INT控控 制制 逻逻 辑辑7.1.2 7.1.2 内部结构与外部引脚内部结构与外部引脚 IRR IRR用于寄存用于寄存所有要求服务的所有要求服务的中断请求中断请求 PR PR用于确定中用于确定中断请求寄存器断请求寄存器IRRIRR中各位的优先等级中各位的优先等级 ISR ISR用于寄存用于寄存所有正在被服务所有正在被服务的中断级的

6、中断级 用于控制多片用于控制多片82598259的级联的级联, ,以实现将优先中以实现将优先中断等级最多扩展到断等级最多扩展到6464级。级。 7-77.1.3 7.1.3 中断工作过程中断工作过程 82598259在在80868086模式下,对外部中断请求的响应和处理过程模式下,对外部中断请求的响应和处理过程如下:如下: 当中断请求输入线当中断请求输入线IR0IR0IR7IR7中有一条或多条变高中有一条或多条变高时,则中断请求寄存器时,则中断请求寄存器IRRIRR的相应位置的相应位置11。 若中断请求线中至少有一条是中断允许的,则若中断请求线中至少有一条是中断允许的,则82598259由由I

7、NTINT引脚向引脚向CPUCPU发出中断请求信号。发出中断请求信号。 82598259在接收到在接收到CPUCPU的的INTAINTA信号后,使最高优先级的信号后,使最高优先级的ISRISR位置位置“1”1”,而相应的,而相应的IRRIRR位清位清“0”0”,但在该中断响,但在该中断响应周期中,应周期中,82598259并不向系统总线送任何内容。并不向系统总线送任何内容。 如如CPUCPU是处于开中断状态,则在当前指令执行完后,是处于开中断状态,则在当前指令执行完后,用用INTAINTA信号作为响应。信号作为响应。7-8 7.1.4 7.1.4 端口寻址与读端口寻址与读/ /写控制写控制A0

8、A0、RDRD、WRWR、CSCS对对82598259读写操作的控制作用读写操作的控制作用禁止禁止 1 1 禁止禁止 1 1 1 1 IMRIMR数据总线数据总线 1 1 0 0 0 0 1 1IRRIRR、ISRISR、中断级、中断级BCDBCD码码数据总线数据总线 1 1 0 0 0 0 0 0数据总线数据总线 ICW2 ICW2、ICW3ICW3、ICW4ICW4、OCW1 OCW1 0 0 1 1 0 0 1 1数据总线数据总线ICW1ICW1 1 1 0 0 1 1 0 0 0 0数据总线数据总线OCW3OCW3 1 1 0 0 0 0 1 1 0 0 0 0数据总线数据总线OCW2

9、OCW2 0 0 0 0 0 0 1 1 0 0 0 0 D3D3 CSCSA0A0RDRDWRWRD4D4读写操作读写操作 这些命令的输入顺序由这些命令的输入顺序由82598259内部的时序逻辑通过适当的时序内部的时序逻辑通过适当的时序控制加以保证。控制加以保证。 对对IRRIRR、ISRISR或中断级或中断级BCDBCD码的选择,决定于在读出操作之前,码的选择,决定于在读出操作之前,CPUCPU写入的操作命令字写入的操作命令字OCW3OCW3的内容。的内容。7-97.1.5 7.1.5 命令字格式与应用编程命令字格式与应用编程 8259 8259的编程是指用户通过写操作送一些命的编程是指用

10、户通过写操作送一些命令字(也叫控制字)到令字(也叫控制字)到82598259内部的控制寄存器内部的控制寄存器( (命令字寄存器命令字寄存器),),用于设定或动态改变它的工作用于设定或动态改变它的工作方式和控制模式。方式和控制模式。v 初始化命令字与初始化编程初始化命令字与初始化编程v 操作命令字与操作方式编程操作命令字与操作方式编程v 可编程设置的工作方式可编程设置的工作方式7-10对初始化编程要注意两点:对初始化编程要注意两点:v写写ICWICW的流程必须按规定的流程必须按规定 顺序写,不能颠倒。顺序写,不能颠倒。v各各ICWICW的格式的格式/ /功能。功能。1.1.初始化命令字与初始化编

11、程初始化命令字与初始化编程 初始化编程是通过写初始初始化编程是通过写初始化命令字化命令字ICWICW1 1ICWICW4 4来实现的来实现的, , 写入流程如图所示。写入流程如图所示。写写ICWICW1 1写写ICWICW2 2初始化完初始化完写写ICWICW3 3级联?级联?Y Y写写ICWICW4 4要要ICWICW4 4? ?N NY YN N7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-11格式:格式:A0A0D7D7D6D6D7D7 D4D4D3D3D2D2D1D1D0D00 0A7A7A6A6A7A71 1LTIMLTIM A AS SIC4IC4v设置中断请求触发方

12、式。设置中断请求触发方式。v清除中断屏蔽寄存器,设置中断优先级排清除中断屏蔽寄存器,设置中断优先级排 队队,IRQ,IRQ0 0IRQIRQ7 7依次降低。依次降低。v指明系统使用的指明系统使用的82598259是单片还是多片级联。是单片还是多片级联。0-0-不需不需ICWICW4 41-1-需要需要ICWICW4 40-0-多片多片825982591-1-单片单片82598259地址间距地址间距0-0-间距间距8 81-1-间距间距4 40-0-边沿触发边沿触发1-1-电位触发电位触发中断向量地址中断向量地址, ,仅在仅在8080/80878080/8087模式下用模式下用初始化初始化命令字

13、命令字 ICWICW1 1 ICW ICW2 2 ICW ICW3 3 ICW ICW4 4ICWICW1 1的功能:的功能:7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-12ICWICW2 2的格式:的格式:A0A0D7D7D6D6D7D7D4D4D3D3D2D2 D1D1 D0D01 1A17/A17/T7T7 A14/A14/T6T6 A13/A13/T7T7 A12/A12/T4T4 A11/A11/T3T3 A10A10 A9A9A8A88080/80878080/8087模式下模式下A17A17A8A8中断向量地址中断向量地址8086/80888086/8088模式下

14、模式下T7T7T3T3中断向量号中断向量号 在在8080/80878080/8087模式系统中,用于设定模式系统中,用于设定中断向量中断向量地址的高地址的高8 8位:位:A17A17A8A8;而在;而在8086/80888086/8088模式系统模式系统中,则用于设定中,则用于设定中断向量号的高中断向量号的高7 7位:位:T7T7T3T3。初始化初始化命令字命令字 ICWICW1 1 ICW ICW2 2 ICW ICW3 3 ICW ICW4 4ICWICW2 2的功能:的功能:7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-13 ICW ICW3 3是级联命令字。用于定义是级联

15、命令字。用于定义8259 88259 8根中断根中断请求线上有无级联请求线上有无级联82598259从片。从片。 若系统只有一片若系统只有一片82598259,则不用,则不用ICWICW3 3,若有多,若有多片片82598259级联级联, ,则每一片则每一片82598259都必须使用都必须使用ICWICW3 3,且,且主、从片的主、从片的ICWICW3 3格式不同。格式不同。主片主片ICWICW3 31IRQ1IRQi i线上有从片线上有从片0IRQ0IRQi i线上无从片线上无从片A A0 0D D7 7D D6 6D D7 7D D4 4D D3 3D D2 2D D1 1D D0 0S7

16、S7 S6S6 S7S7 S4S4 S3S3 S2S2 S1S1 S0S01 1A0A0D7D7 D6D6 D7D7 D4D4 D3D3 D2D2 D1D1 D0D01 10 00 00 00 00 0 ID2ID2ID1ID1ID0ID00 00 00 00 00 00 00 00 00 00 00 00 00 01 11 11 11 11 11 11 11 11 11 11 11 11 12 23 34 47 76 67 7IRQiIRQi从片从片ICWICW3 3初始化初始化命令字命令字 ICWICW1 1 ICW ICW2 2 ICW ICW3 3 ICW ICW4 4ICW3的功能:

17、的功能:7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-14 用于定义用于定义82598259的工作模式,以及中断服务的工作模式,以及中断服务程序是否要送出程序是否要送出EOIEOI命令,以清除中断服务寄存命令,以清除中断服务寄存器器ISR,ISR,允许其他中断。允许其他中断。A0A0D7D7D6D6D7D7D4D4D3D3D2D2D1D1D0D01 10 00 00 0SFNMSFNMBUFBUF M/SM/SAEOIAEOI PMPMICWICW4 4格式:格式:初始化初始化命令字命令字 ICWICW1 1 ICW ICW2 2 ICW ICW3 3 ICW ICW4 41-1

18、-特殊全嵌套方式特殊全嵌套方式0-0-一般全嵌套方式一般全嵌套方式0 0 非缓冲方式非缓冲方式1 0 1 0 缓冲方式缓冲方式/ /从控制器从控制器1 1 1 1 缓冲方式缓冲方式/ /主控制器主控制器1-1-8086/80888086/8088 模式模式0-0-8080/80878080/8087 模式模式1-1-自动自动EOIEOI0-0-正常正常EOIEOIICWICW4 4的功能:的功能:7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-15再编写初始化程序段再编写初始化程序段ICW2ICW2A0A0D7D7D6D6D7D7D4D4D3D3D2D2 D1D1 D0D01 1A

19、17/A17/T7T7 A14/A14/T6T6A13/A13/T7T7A12/A12/T4T4A11/A11/T3T3A10A10A9A9A8A88080/80878080/8087模式下模式下A17A17A8A8中断向量地址中断向量地址8086/80888086/8088模式下模式下T7T7T3T3中断向量号中断向量号A0A0D7D7D6D6D7D7 D4D4D3D3D2D2D1D1D0D00 0A7A7A6A6A7A71 1LTIMLTIM A AS SIC4IC40-0-不需不需ICW4ICW41-1-需要需要ICW4ICW40-0-多片多片825982591-1-单片单片825982

20、59地址间距地址间距0-0-间距间距8 81-1-间距间距4 40-0-边沿触发边沿触发1-1-电位触发电位触发中断向量地址中断向量地址, ,仅在仅在8080/80878080/8087模式下用模式下用 例例7.17.1 某某80X8680X86微机的中断系统有微机的中断系统有7 7个外部中断源,接个外部中断源,接在在82598259的的IRIR3 3IRIR7 7端,端, 中断类型码分别为中断类型码分别为7BH7BH、7CH7CH、7DH7DH、7EH7EH和和7FH7FH, 82598259的端口地址为的端口地址为B0HB0H、B1HB1H。允许它们以全。允许它们以全嵌套工作方式工作,中断

21、请求采用电平触发方式。试编写嵌套工作方式工作,中断请求采用电平触发方式。试编写82598259的初始化程序。的初始化程序。解解: : 先确定初始化命令字先确定初始化命令字ICWICWICWICW1 1: : 0001101100011011ICWICW2 2: : 0101100001011000ICWICW3 3: : 不写不写ICWICW4 4: : 0000000100000001MOV DXMOV DX,0B0H 0B0H ;指向端口;指向端口0 0MOV ALMOV AL,1BH 1BH ;ICWICW1 1OUT DXOUT DX,AL AL ;写;写ICWICW1 1INC DX

22、INC DX ;指向端口;指向端口1 1MOV ALMOV AL,78H 78H ;ICWICW2 2OUT DXOUT DX,AL AL ;写;写ICWICW2 2MOV ALMOV AL,01H 01H ;ICW4ICW4OUT DXOUT DX,AL AL ;写;写ICWICW4 47.1.5 7.1.5 命令字格式与编程命令字格式与编程1-8086/80881-8086/8088 模式模式0-8080/8087 0-8080/8087 模式模式1-1-特殊全嵌套方式特殊全嵌套方式0-0-一般全嵌套方式一般全嵌套方式1-1-自动自动EOIEOI0-0-正常正常EOIEOI非缓冲方式非缓冲

23、方式缓冲方式缓冲方式/ /从控制器从控制器缓冲方式缓冲方式/ /主控制器主控制器0 00 01 11 11 1A0A0D7D7D6D6D7D7D4D4D3D3D2D2D1D1D0D01 10 00 00 0SFNMSFNMBUFBUF M/SM/SAEOIAEOI PMPMICWICW4 47-16例例7.2 7.2 某某80X8680X86系统的中断系统由二片系统的中断系统由二片82598259级联而成,主、级联而成,主、从从82598259的的IRIR7 7上各接有一个外部中断源,其中断向量号分上各接有一个外部中断源,其中断向量号分别为别为0DH0DH,87H87H。假设它们的中断入口地址

24、均在同一段中,。假设它们的中断入口地址均在同一段中,段基址为段基址为4310H,4310H,偏移地址分别为偏移地址分别为1230H1230H、2340H;2340H;所有中断所有中断都采用边沿触发方式、全嵌套方式、正常都采用边沿触发方式、全嵌套方式、正常EOIEOI结束方式。结束方式。 写出主、从写出主、从82598259中断向量号范围;中断向量号范围; 假定主、从片端口地址分别为假定主、从片端口地址分别为20H20H21H21H、26H26H27H27H,试画出电路连线图;,试画出电路连线图; 试编写全部初始化程序。试编写全部初始化程序。7.1.5 7.1.5 命令字格式与编程命令字格式与编

25、程7-17 有选择地写操作命令字有选择地写操作命令字OCWOCW1 1OCWOCW3 3到操作命令到操作命令寄存器组。寄存器组。 这项工作可在这项工作可在82598259已经初始化后的任何时候进行,已经初始化后的任何时候进行,目的是对中断处理过程实现动态控制。目的是对中断处理过程实现动态控制。 如果不写操作命令字,如果不写操作命令字,82598259就按初始化编程所设就按初始化编程所设置好的方式和模式工作置好的方式和模式工作, ,工作于工作于IRIR0 0优先级最高优先级最高, ,从从IRIR0 0IRIR7 7优先级依次降低的固定优先级的全嵌套工作方式。优先级依次降低的固定优先级的全嵌套工作

26、方式。 如需改变初始化时设置的中断控制方式如需改变初始化时设置的中断控制方式, ,或屏蔽某或屏蔽某些中断级,读出一些状态信息,就必须在些中断级,读出一些状态信息,就必须在82598259进入工进入工作之前或工作过程中酌情写入操作命令字作之前或工作过程中酌情写入操作命令字OCWOCW。2.2.操作命令字与操作方式编程操作命令字与操作方式编程7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-18用来设置用来设置/ /清除对中断源的屏蔽清除对中断源的屏蔽格式:格式:A0A0D7D7 D6D6 D7D7 D4D4 D3D3 D2D2 D1D1 D0D01 1M7M7 M6M6 M7M7M4M

27、4 M3M3 M2M2M1M1 M0M00-0-中断请求被开放中断请求被开放1-1-中断请求被屏蔽中断请求被屏蔽操作命操作命令令 字字 OCWOCW1 1 OCW OCW2 2 OCW OCW3 3OCWOCW1 1的功能:的功能:7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-19 用于设置中断优先级是否循环,循环的方式用于设置中断优先级是否循环,循环的方式及中断结束的方式。及中断结束的方式。A0A0D7D7D6D6D7D7D4D4 D3D3D2D2D1D1D0D00 0R RSLSLEOIEOI0 00 0L2L2L1L1L0L0标志位标志位非特殊非特殊EOIEOI特殊特殊EO

28、IEOI中断结束中断结束自动循环优先级清除自动循环优先级清除自动循环自动循环EOIEOI自动循环优先级设置自动循环优先级设置自动循环自动循环特殊循环特殊循环EOIEOI特殊循环优先级设置特殊循环优先级设置停止操作停止操作特殊循环特殊循环操作命操作命令令 字字 OCWOCW1 1 OCW OCW2 2 OCW OCW3 3最低优先最低优先级编码级编码0 0 0 01 0 0 12 0 1 03 0 1 14 1 0 07 1 0 16 1 1 07 1 1 10 0 10 1 11 0 11 0 00 0 01 1 11 1 00 1 0OCWOCW2 2的功能的功能: :7.1.5 7.1.5

29、 命令字格式与编程命令字格式与编程7-20 用于设置查询方式、特殊屏蔽方式、以及用用于设置查询方式、特殊屏蔽方式、以及用来读来读82598259的的IRRIRR、ISRISR、IMRIMR的当前状态的当前状态格式:格式:A0A0D7D7 D6D6D7D7D4D4 D3D3 D2D2D1D1D0D00 00 00 0S1S1 S2S21 1P PPRPR RISRIS标志位标志位操作命操作命令令 字字 OCWOCW1 1 OCW OCW2 2 OCW OCW3 30 0 0 00 00 01 11 11 1 1 1无作用无作用特殊屏蔽方式清除特殊屏蔽方式清除特殊屏蔽方式设置特殊屏蔽方式设置0 0

30、 0 00 00 01 11 11 1 1 1无作用无作用下一个下一个RDRD读读IRRIRR下一个下一个RDRD读读ISRISR1-1-查询命令查询命令0-0-不查询不查询OCWOCW3 3的功能:的功能:7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-21 把正在执行的高级中断屏蔽掉,而开放较低级把正在执行的高级中断屏蔽掉,而开放较低级中断的屏蔽方式。中断的屏蔽方式。 先利用先利用OCWOCW1 1命令将正在执行的高级中断屏蔽掉;命令将正在执行的高级中断屏蔽掉;然后用然后用OCWOCW3 3命令命令(D(D6 6D D7 7=11)=11)设置特殊屏蔽方式,这样设置特殊屏蔽方式

31、,这样可使可使ISRISR相应位的功能中止相应位的功能中止, ,直到清除特殊屏蔽方式。直到清除特殊屏蔽方式。 利用该功能,可使中断不受优先级限制利用该功能,可使中断不受优先级限制, ,而人而人为地为某一较低优先级中断服务为地为某一较低优先级中断服务, ,这就为用户提供这就为用户提供了很大的灵活性。了很大的灵活性。实现方法:实现方法:操作命操作命令令 字字 OCWOCW1 1 OCW OCW2 2 OCW OCW3 3 特殊屏蔽方式特殊屏蔽方式7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-22 例如系统正在为例如系统正在为IRQIRQ4 4中断服务中断服务, ,服务过程中为了服务过

32、程中为了允许比它低的中断得到响应允许比它低的中断得到响应, ,可用特殊屏蔽命令字将可用特殊屏蔽命令字将IRQIRQ4 4中断暂时屏蔽,当为较低级中断服务完后中断暂时屏蔽,当为较低级中断服务完后, ,再解再解除对除对IRQIRQ4 4中断的屏蔽中断的屏蔽, ,以最后完成对它的中断服务。以最后完成对它的中断服务。 . . ;为;为IRQIRQ4 4中断服务的程序中断服务的程序 . . ;屏蔽除准备允许响应的低级中断屏蔽除准备允许响应的低级中断 . . ;外的所有其它低级中断。外的所有其它低级中断。CLI CLI ;为在为在IRQIRQ4 4服务程序中开放低级中服务程序中开放低级中 ;断设置特殊命令

33、字而关中断。断设置特殊命令字而关中断。MOV AL,10H MOV AL,10H ;送屏蔽;送屏蔽IRQIRQ4 4的的OCWOCW1 1命令命令MOV DX,PORT1 MOV DX,PORT1 ;送;送OCWOCW1 1口地址口地址DXDXOUT DX,AL OUT DX,AL ;OCWOCW1 18259,A0=18259,A0=1MOV AL,68H MOV AL,68H ;送特殊屏蔽方式字:;送特殊屏蔽方式字: ;OCWOCW3 3ALAL,S S1 1S S2 2=11=11。操作命操作命令令 字字 OCWOCW1 1 OCW OCW2 2 OCW OCW3 3特殊屏蔽特殊屏蔽举例

34、:7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-23MOV DX,PORT2 MOV DX,PORT2 ;送;送OCWOCW3 3口地址口地址DXDXOUT DX,AL OUT DX,AL ;OCWOCW3 38259,A8259,A0 0=0=0STI STI ;开中断;开中断.CLI CLI ;为复位特殊屏蔽方式而关中断;为复位特殊屏蔽方式而关中断MOV AL,48H MOV AL,48H ;OCWOCW3 3AL,SAL,S1 1S S2 2=10=10MOV DX,PORT2 MOV DX,PORT2 ;送;送OCWOCW3 3口地址口地址DXDXOUT DX,AL OU

35、T DX,AL ;OCWOCW3 38259,A8259,A0 0=0=0MOV AL,0 MOV AL,0 ;解除对;解除对IRQIRQ4 4的屏蔽的屏蔽MOV DX,PORT1 MOV DX,PORT1 ;OCWOCW1 1口地址口地址DXDXOUT DX,AL OUT DX,AL ;OCWOCW1 18259,A8259,A0 0=1=1STI STI ;开中断;开中断. ;包含;包含EOIEOI的中断结束命令的中断结束命令IRETIRET ;中断结束返回;中断结束返回操作命操作命令令 字字 OCWOCW1 1 OCW OCW2 2 OCW OCW3 37.1.5 7.1.5 命令字格式

36、与编程命令字格式与编程7-24 CPU CPU根据需要随时查询中断源,当查询到有中根据需要随时查询中断源,当查询到有中断请求时,就转入为相应中断源服务的程序中去。断请求时,就转入为相应中断源服务的程序中去。v系统关中断,写入查询命令字系统关中断,写入查询命令字OCWOCW3 3至至0 0端口端口 查询命令字为查询命令字为: 00001100: 00001100实现方法:实现方法:v读读0 0口,可读到下列查询字:口,可读到下列查询字: I X X X X W2 W1 W0I=1 I=1 表示有中断请求,表示有中断请求,W W2 2W W1 1W W0 0为中断请求源中为中断请求源中优先级最高者

37、的编码,程序执行转到优先级最高者的编码,程序执行转到W W2 2W W1 1W W0 0所所对应的中断源服务程序去。对应的中断源服务程序去。I=0 I=0 表示无中断请求,表示无中断请求,CPUCPU继续执行原程序。继续执行原程序。操作命操作命令令 字字 OCWOCW1 1 OCW OCW2 2 OCW OCW3 3 查询方式查询方式7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-25读命令字格式为:读命令字格式为:0 0 0 0 1 0 R0 0 0 0 1 0 R1 1 R R0 0R R1 1R R0 0=10=10,读出的是中断请求寄存器,读出的是中断请求寄存器IRRIRR

38、;R R1 1R R0 0=11=11,读出的是中断服务寄存器,读出的是中断服务寄存器ISRISR。操作命操作命令令 字字 OCWOCW1 1 OCW OCW2 2 OCW OCW3 3 读读IRRIRR、ISRISR的方法:的方法: 先发读命令字先发读命令字OCWOCW3 3到到0 0端口,再读端口,再读0 0端口。端口。 读读IMRIMR的方法:的方法: 直接对直接对1 1端口进行读操作,即可读出端口进行读操作,即可读出IMRIMR的内容。的内容。 读读82598259状态状态7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-263.3.可编程设置的工作方式可编程设置的工作方式8

39、2598259具有十分灵活的中断管理方式:具有十分灵活的中断管理方式:中断优先级管理中断优先级管理中断管理的核心中断管理的核心 1)1)中断嵌套方式中断嵌套方式 2)2)中断优先级循环方式中断优先级循环方式 3)3)中断屏蔽方式中断屏蔽方式 4)4)程序查询方式程序查询方式 5)5)中断结束方式中断结束方式 6)6)中断请求触发方式中断请求触发方式 7)7)读状态方式读状态方式 8)8)数据缓冲方式数据缓冲方式 9)9)多片级联方式多片级联方式7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-271)1)中断嵌套方式中断嵌套方式 8259 8259支持两种中断嵌套方式:支持两种中断嵌

40、套方式:全嵌套方式全嵌套方式和特殊全嵌套方式。和特殊全嵌套方式。 全嵌套方式全嵌套方式 一种最普通的工作方式,芯片写完初始化一种最普通的工作方式,芯片写完初始化命令字命令字ICWICW后,如不再写入操作命令字后,如不再写入操作命令字OCWOCW,则,则自动进入并保持此方式。此时中断优先级固定自动进入并保持此方式。此时中断优先级固定为为IRQIRQ0 0最高,最高,IRQIRQ7 7最低,且高级中断源可中断最低,且高级中断源可中断低级中断源。低级中断源。7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-28全嵌套方式工作的条件:全嵌套方式工作的条件:n主程序必须开中断主程序必须开中断。

41、n每进入一个中断服务程序,系统都会自动关每进入一个中断服务程序,系统都会自动关中断,故中断,故必须在中断服务程序中再次开中断必须在中断服务程序中再次开中断,才有可能嵌套更高级的中断。才有可能嵌套更高级的中断。n每次中断服务程序结束时,必须执行中断结每次中断服务程序结束时,必须执行中断结束命令束命令,清除清除ISRISR中对应的位中对应的位, ,才能返回断点才能返回断点并响应再次到来的中断请求。并响应再次到来的中断请求。7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-29全嵌套中断方式流程全嵌套中断方式流程开中断开中断主程序主程序IRQIRQ3 3中断服务程序中断服务程序IRQIRQ

42、1 1中断请求中断请求开中断开中断中断结束中断结束(EOI)(EOI)关中断关中断返回返回IRQIRQ1 1中断服务程序中断服务程序IRQ3中断请求中断请求开中断开中断开中断开中断关中断关中断中断结束中断结束(EOI)(EOI)返回返回开中断开中断7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-30特殊全嵌套方式特殊全嵌套方式 适用于多片适用于多片82598259级联且响应的中断优先级保存在级联且响应的中断优先级保存在各从片中的大系统。各从片中的大系统。与普通全嵌套方式相比,特殊全与普通全嵌套方式相比,特殊全嵌套方式的特殊性表现在:嵌套方式的特殊性表现在:n当从片的中断请求被响应后

43、,主片并不封锁从当从片的中断请求被响应后,主片并不封锁从片的片的INTINT输入端输入端, ,以便从片中优先级更高的请求以便从片中优先级更高的请求可得到响应。可得到响应。n在从片中断服务程序快结束时要检查其在从片中断服务程序快结束时要检查其ISRISR内内容,检测刚服务完的中断是否为该从片唯一的容,检测刚服务完的中断是否为该从片唯一的中断请求源,如是,则连发两个非特殊中断请求源,如是,则连发两个非特殊EOIEOI命命令令, ,使从片、主片相继结束中断;否则使从片、主片相继结束中断;否则, ,只发一只发一个个EOIEOI命令,使主片仍不结束中断。命令,使主片仍不结束中断。7.1.5 7.1.5

44、命令字格式与编程命令字格式与编程7-3182598259提供了两种中断优先级循环方式:提供了两种中断优先级循环方式: 自动循环优先级方式自动循环优先级方式 适合于各中断源的优先适合于各中断源的优先级相同的应用场合,一个中断源被服务后,其优先级级相同的应用场合,一个中断源被服务后,其优先级自动排到最低。自动排到最低。 此方式又分非自动结束方式下循环和自动结束方此方式又分非自动结束方式下循环和自动结束方式下循环两种,具体通过写式下循环两种,具体通过写OCWOCW2 2最高三位设置。最高三位设置。 特殊循环优先级方式特殊循环优先级方式 适合于中断源的优先级适合于中断源的优先级需随意改变的应用场合,由

45、需随意改变的应用场合,由OCWOCW2 2的最高三位再辅之以的最高三位再辅之以最低三位设定,通过设定最低三位编码指定最低优先最低三位设定,通过设定最低三位编码指定最低优先级从而改变各中断源优先级。级从而改变各中断源优先级。2)2)中断优先级循环方式中断优先级循环方式7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-32具体屏蔽方式有两种:具体屏蔽方式有两种: 普通屏蔽方式:普通屏蔽方式:用用OCWOCW1 1 设置设置IMRIMR中某一位或某几位中某一位或某几位 为为1 1,即可将相应中断请求屏蔽掉。,即可将相应中断请求屏蔽掉。 特殊屏蔽方式:特殊屏蔽方式:允许开放低级中断。允许开放

46、低级中断。 用用OCWOCW3 3设置该方式,设置该方式,OCWOCW1 1建立普通屏蔽信息建立普通屏蔽信息, ,当响当响应一个中断请求时,开放所有未被应一个中断请求时,开放所有未被OCWOCW1 1屏蔽的其它优屏蔽的其它优先级中断。先级中断。3)3)中断屏蔽方式中断屏蔽方式7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-33 这种方式下这种方式下CPUCPU可获得当前请求中断可获得当前请求中断服务的优先级。服务的优先级。 实现方法是将实现方法是将OCWOCW3 3的的D D2 2位设置为位设置为1 1,再紧跟一个读命令。再紧跟一个读命令。4)4)程序查询方式程序查询方式7.1.5

47、 7.1.5 命令字格式与编程命令字格式与编程7-3482598259提供了两种中断结束方式:提供了两种中断结束方式:自动中断结束自动中断结束-只能用于不要求中断嵌套的场合只能用于不要求中断嵌套的场合非自动中断结束非自动中断结束-中断服务程序要借助于中断服务程序要借助于OCWOCW2 2发发 出中断结束命令出中断结束命令EOIEOIEOIEOI命令又有两种形式:命令又有两种形式:工作在全嵌套方式下的非特殊工作在全嵌套方式下的非特殊EOIEOI命令命令-由由OCWOCW2 2最最高的三位为高的三位为001001规定;规定;工作在非嵌套方式下的特殊工作在非嵌套方式下的特殊EOIEOI命令命令-由由

48、OCWOCW2 2最高最高的三位为的三位为011011规定,同时必须由其最低三位指定需规定,同时必须由其最低三位指定需复位的复位的ISRISR中的中断级编码。中的中断级编码。5)5)中断结束方式中断结束方式7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-35 通过设置初始化命令字通过设置初始化命令字ICWICW1 1的的D D3 3位为位为0 0或为或为1,1,可可使使82598259工作于边沿工作于边沿( (上升沿上升沿) )触发方式或电平触发方式或电平( (高电平高电平) )触发方式。触发方式。q 在电平触发方式下,在电平触发方式下,CPUCPU在发出在发出EOIEOI命令前或

49、再次命令前或再次开放中断前,必须确保已响应的中断请求开放中断前,必须确保已响应的中断请求IRiIRi为低电为低电平,以防出现第二次中断。平,以防出现第二次中断。说明:说明:6)6)中断请求触发方式中断请求触发方式q 无论哪种触发方式无论哪种触发方式, ,必须确保在接收到第必须确保在接收到第1 1个个INTAINTA脉冲负跳变之前,脉冲负跳变之前,IRiIRi输入保持高电平输入保持高电平, ,若若IRiIRi输入提输入提前变低前变低, ,则则CPUCPU响应中断时就自动设定响应中断时就自动设定IRIR7 7。这样可防。这样可防止由止由IRiIRi输入端上严重的噪声干扰产生的中断。输入端上严重的噪

50、声干扰产生的中断。7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-36 8259 8259内部的内部的IRRIRR、ISRISR和和IMRIMR三个寄存器三个寄存器状态,可通过适当的输入命令读至状态,可通过适当的输入命令读至CPUCPU中。中。7)7)读状态方式读状态方式7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-37-常用于多片级联的大系统中常用于多片级联的大系统中设置方式:设置方式:将将ICWICW4 4的的D D7 7位位(BUF(BUF位位) )置置“1”1”。8)8)数据缓冲方式数据缓冲方式 各片各片82598259的中断向量号均要在接收第二个的中断向量号

51、均要在接收第二个INTAINTA脉冲脉冲之后向数据总线发送,故芯片需要通过总线缓冲器挂之后向数据总线发送,故芯片需要通过总线缓冲器挂接在数据总线上。采用数据缓冲方式后接在数据总线上。采用数据缓冲方式后, ,将在将在SP/ENSP/EN端端输出一个有效低电平,开启缓冲器工作。输出一个有效低电平,开启缓冲器工作。7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-38 一个系统中,可将多片一个系统中,可将多片82598259级联,级联后一片级联,级联后一片82598259为主片,若干片为主片,若干片82598259为从片,最多可有为从片,最多可有8 8个从片,个从片,将中断源扩展到将中断源

52、扩展到6464个。个。 主片和每个从片都必须通过写入主片和每个从片都必须通过写入ICWICW3 3分别初始分别初始化和设置必要的工作状态。每片化和设置必要的工作状态。每片82598259都必须分配两都必须分配两个互不相同的端口地址:偶地址、奇地址各一个。个互不相同的端口地址:偶地址、奇地址各一个。9 9)多片级联方式)多片级联方式7.1.5 7.1.5 命令字格式与编程命令字格式与编程7-397.1.6 82597.1.6 8259在在PCPC系列机中断系统中的应用系列机中断系统中的应用1. 82591. 8259在在PC/XTPC/XT机中的应用机中的应用NMINMI屏蔽寄存器屏蔽位屏蔽寄存

53、器屏蔽位80878087中断请求中断请求RAMRAM奇偶错奇偶错I/OI/O通道检测错通道检测错 1 1& &82538253定时器定时器键盘键盘未用未用异步通信卡异步通信卡( (辅辅) )异步通信卡异步通信卡( (主主) )硬盘硬盘软盘软盘并行打印机并行打印机IRQ2IRQ2IRQ7IRQ78259A8259AINTACSINTACSXIORXIORXIOWXIOWXA0XA0CAS0CAS0CAS1CAS1CAS2CAS2IR0IR0IR1IR1IR2IR2. . . .IR7IR7CSCSRDRDA0A0WRWRSP/ENSP/ENINTAINTAD7D7D0D0. .

54、. .INTAINTAINTINTLS245LS245LS245LS245XD0XD0XD7XD7. . . .D0D0D7D7. . . .AD0AD0AD7AD7. . . .NMINMIINTRINTRAD0AD0AD7AD7. . . .8088CPU8088CPU82888288总线控制器总线控制器扩扩充充插插槽槽未用未用7-40 用户在此基础上附加用户在此基础上附加82598259芯片,扩充中断请求芯片,扩充中断请求线的方法和原理。线的方法和原理。q扩充方法:扩充方法:AENAEN8259825980888088INTRINTRINTAINTAINTINTINTAINTA扩充插座扩

55、充插座IRQ2IRQ2IRQ6IRQ6IRQ7IRQ7A0A0A1A1A9A91 1译码器译码器附加的附加的82598259A0A0INTINTIR0IR0IR7IR7SPSPCAS0CAS0CAS1CAS1CAS2CAS2INTAINTAIRQ0XIRQ0XIRQ7XIRQ7X8.2k8.2k+5V+5VD0D0D7D7G G74LS74LS245245D7D7D0D0IORIORIOWIOWCSCSRDRDWRWR. . . . . . . . . . . . . . . . . . .7.1.6 82597.1.6 8259在在PCPC系列机中断系统中的应用系列机中断系统中的应用7-41

56、q中断原理中断原理 采用向量式和查询式相结合的中断源识采用向量式和查询式相结合的中断源识 别和判优机理别和判优机理当附加当附加82598259的的IRQiIRQi中有中断请求时:中有中断请求时:附加附加8259INTINT信号信号系统板系统板82598259INTINT信号信号CPUCPU80888088系统板系统板82598259INTAINTAIR2IR2的中断向量号的中断向量号0AH0AH程序转入程序转入IR2IR2的中断服务程序:向附加的中断服务程序:向附加8259“08259“0口发查询命令字口发查询命令字OCW3OCW3从而转入从而转入 W2W1W0W2W1W0所指向的中断处理程序

57、。结束后所指向的中断处理程序。结束后返回系统板返回系统板82598259的的IR2IR2服务程序服务程序返回被中断的主程序返回被中断的主程序7.1.6 82597.1.6 8259在在PCPC系列机中断系统中的应用系列机中断系统中的应用7-42q说明说明 PC/XT PC/XT的的I/OI/O扩展槽上未引出级联线扩展槽上未引出级联线CAS2CAS2CAS0CAS0,故不可能采用主、从片级联方法。所以,用本法扩充故不可能采用主、从片级联方法。所以,用本法扩充后的中断系统工作机理与通过级联线扩充的主从式后的中断系统工作机理与通过级联线扩充的主从式两级两级82598259系统的工作原理有根本区别,这

58、也就决定了系统的工作原理有根本区别,这也就决定了它在硬件连接上和初始化编程上的不同点:它在硬件连接上和初始化编程上的不同点: SP/EN SP/EN、CAS2CAS2CAS0CAS0和和INTAINTA都不必使用。都不必使用。 对附加对附加82598259的中断响应的中断响应, ,通过在系统板上通过在系统板上82598259的的IRQ2IRQ2中断服务程序中查询附加中断服务程序中查询附加82598259的状态来的状态来进行,故附加进行,故附加82598259无需向无需向CPUCPU送中断向量号。送中断向量号。7.1.6 82597.1.6 8259在在PCPC系列机中断系统中的应用系列机中断系

59、统中的应用7-43 对附加对附加82598259初始化编程时,初始化编程时,ICW2ICW2、ICW3ICW3不必写。不必写。 为了对附加为了对附加82598259的中断请求级进行开放的中断请求级进行开放/ /禁禁止控制,可对其写中断屏蔽字止控制,可对其写中断屏蔽字OCW1OCW1。 如附加如附加82598259中中ICW4ICW4定义的是非自动定义的是非自动EOIEOI方方式,则在其中断处理程序的最后要通过写式,则在其中断处理程序的最后要通过写OCW2OCW2来来发中断结束命令;否则,不必写发中断结束命令;否则,不必写OCW2OCW2。q注意注意 : 为对附加为对附加82598259编程编程

60、( (写命令字、读状态写命令字、读状态) ),同,同样需给它分配样需给它分配2 2个在系统中具有唯一性的个在系统中具有唯一性的0 0、1 1端口端口地址。地址。7.1.6 82597.1.6 8259在在PCPC系列机中断系统中的应用系列机中断系统中的应用7-442. 82592. 8259在在PC/ATPC/AT机中的应用机中的应用7.1.6 82597.1.6 8259在在PCPC系列机中断系统中的应用系列机中断系统中的应用NMINMI屏蔽寄存器屏蔽位屏蔽寄存器屏蔽位RAMRAM奇偶错奇偶错I/OI/O通道检查错通道检查错串行或并行通信串行或并行通信并行口并行口2 2INTA1CSINTA1CSIRIR0 0IRIR1

温馨提示

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

评论

0/150

提交评论