1 / 96

第 8 章 中断控制器 DMA 控制器 计数器 / 定时器

8-1 中断控制器 8259A 8-2 计数器 / 定时器 8253 8-2DMA 控制器 8273A 第 8 章小节 第 8 章思考题. 第 8 章 中断控制器 DMA 控制器 计数器 / 定时器. 通过对本章的学习, 您应该能够达到下列要求: 了解 8259A 、 8237A 、 8253 芯片的内部结构 描述各芯片的工作原理 熟悉 8259A 、 8253 芯片的工作方式 掌握各芯片的编程方法 学会 8253 的应用 重点: 8259A 、 8237A 、 8253A 工作原理与应用. 学习目的:. 主要内容:

bryga
Télécharger la présentation

第 8 章 中断控制器 DMA 控制器 计数器 / 定时器

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 8-1中断控制器 8259A 8-2计数器/定时器 8253 8-2DMA控制器 8273A 第8章小节 第8章思考题 第 8 章 中断控制器DMA控制器计数器/定时器

  2. 通过对本章的学习,您应该能够达到下列要求:通过对本章的学习,您应该能够达到下列要求: 了解 8259A、8237A、8253 芯片的内部结构 描述各芯片的工作原理 熟悉 8259A、8253 芯片的工作方式 掌握各芯片的编程方法 学会 8253 的应用 重点: 8259A、8237A、8253A工作原理与应用 学习目的:

  3. 主要内容: 8529A的内部结构 8259A的工作方式 8259A 的初始化命令字和操作命令字 8259A 级联方式 8259A使用举例 多片8259A组成的主从式中断系统 第一节 中断控制器8259A

  4. 中断:外设向CPU发中断请求,CPU接收到中断请 求并在一定条件下,暂时停止执行原来的程 序而转去处理中断,处理好中断服务再返回 继续执行原来的程序,就称为一个中断过程。 中断是CPU被动的响应外设要求服务。 1、中断源:(1)数据输入/输出设备请求中断 (2)定时时间到申请中断 (3)满足规定条件申请中断 (4)电源掉电 (5)故障报警申请中断 (6)程序调试设置中断 中断的概念

  5. 2、CPU响应中断的条件 (1)、无总线请求 (2)、CPU允许中断:IF=1 (3)、CPU执行完当前指令 3、CPU响应中断要自动完成的任务: (1)关中断 (2)保护断点(IP,CS,FLAG入栈) (3)给中断服务程序的入口地址

  6. 保护现场:保护主程序中的一些寄存器值 开中断 :开放优先级更高的中断 执行中断服务程序 关中断 恢复现场 中断返回 5、中断源的识别: 查询(软件识别) 硬件识别:外设提供中断申请信号和中断矢量 4、中断处理过程

  7. 8259A的功能: 中断优先权管理 中断屏蔽 自动中断矢量转移 8259A特点: 单片8259可处理8级中断 级联时:最多可用9片处理64级中断 8259A的片内寻址 A0=1、0 中断控制器8259A

  8. 一、 8529A的芯片内部结构1. 数据总线缓冲2.读写控制逻辑3.级联缓冲比较4.中断请求寄存器5.中断服务寄存器6.中断屏蔽寄存器 7.优先权判别单路8.控制电路在8086系统中,CPU和8259A的所有数据传送都在数据总线的低8位上进行。地址总线的A1与8259A的A0相连,以保证数传都在总线的低8位中进行。

  9. 中断请求寄存器IRR分别和IR7~IR0相对应,IRR接收外部的中断请求。接到某一引脚的中断请求后,IRR中的对应位便置1。中断请求寄存器IRR分别和IR7~IR0相对应,IRR接收外部的中断请求。接到某一引脚的中断请求后,IRR中的对应位便置1。 中断屏蔽寄存器IMR中的对应位为1表示此中断以加屏蔽,为0表示此中断未加屏蔽可通过而进入中断优先级裁决器PR作裁决。 PR对新进入的中断请求和ISR中当前正在处理的中断比较,从而决定哪一个优先级更高,是否使8259A的输出端INT为1。 8259A的工作原理如下:

  10. 第一个负脉冲到达时,8259A完成以下动作:1. 使IRR的锁存功能失效2. 使当前中断服务寄存器ISR中的相应位置13. 使IRR寄存器中的相应位〈即刚才设置的位〉清0。 第二个负脉冲到达时,8259A完成下 列动作: 1. 将中断类型寄存器的内容ICW2送到数据总线的D7~D0, CPU将此作为中断类型码。 2. 如果ICW4中的中断自动结束位为1,那么,在第INTA 脉冲结束时,8259A会将第 一 INTA脉冲到来时设置的 当前中断服务寄存器ISR的相应位清0。 如CPU的IF为1,CPU执行完当前指令后,就可以响应中断。CPU从INTA线上往8259A回送两个负脉冲。

  11. 1.中断触发方式 (1)边沿触发方式此方式由ICW1来设置。(2)电平触发方式当中断输入端出现1个中断请求并得到响应后,输入端必须及时撤除高电平。 中断类型码: D7D6D5D4D3 D2D1D0 0 0 0 0 0 1 … 1 1 1 二、8259A的工作方式

  12. 2. 优先级的管理方式(1)完全嵌套方式在对8259进行初始化后,没有设置其它优先级方式,则自动按此方式工作. 特点:在全嵌套方式中,中断请求按优先级IR0~IR7级进行处理,IR0级中断的优先级最高。当一个中断被响应时,中断类型码被放到数据总线上,ISR中的对应位ISn被置1,然后进入中断服务程序。一般情况下(除了中断自动结束方式外),在CPU发出中断结束命令(EOI)前,此对应位一直保持“1”。

  13. (2)优先级自动循环方式用在:多个中断源优先级相等的场合。(2)优先级自动循环方式用在:多个中断源优先级相等的场合。 特点:优先级是在变化的,一个设备中断处理完 后,它的优先级自动降为最低。 由8259A的操作命令字OCW2决定。 (3) 特殊全嵌套方式 用于:多片级联方式, 特殊全嵌套方式仅设置在主片中. 特点: 和全嵌套方式基本相同,不同的是:在处理某以及中断时,可响应同级中断,从而实现对同 级中断请求的特殊嵌套.

  14. 3.中断屏蔽方式 (1)普通屏蔽方式用OCW1命令将中断屏蔽寄存器IMR的相应位置“1”。 (2)特殊屏蔽方式 用于中断处理程序中。当要允许优先级低的中断进入,可采用特殊屏蔽方式. 可用OCW3的D6D5=11设置,此时除IMR中置1位对应的中断被屏蔽外,其它置0位对应的中断无论优先级高低都可得到相应。

  15. (1)中断自动结束方式: 用于系统中只有一片8259A,多个中断不会嵌套的情形。系统一进入中断处理,就将当前中断服务寄存器ISR的对应位清除。对8259A来说,好像已经结束了当前中断。 在命令字ICW4中将AEOI(D1)位置“1”。(2)一般的中断结束方式: 用在全嵌套的情形。 CPU用OUT指令往8259A偶地址发一个EOI命令,8259A将使ISR最高非零IS位清0。结束当前正在处理的中断。 4. 结束中断处理的方式(EOI)

  16. 发一条特殊中断结束命令,命令中指出了要清除当前ISR的哪个IS位。发一条特殊中断结束命令,命令中指出了要清除当前ISR的哪个IS位。 往偶地址端口输出OCW2命令。 OCW2中:EOI=1、SL=1、R=0是特殊中断结束命令。 OCW2中:L2、L1、L0指出了要对哪个IS位复位。 (3)特殊的中断结束方式

  17. EOI命令的使用

  18. 主片:SP/EN接+5V 从片:SP/EN接地。 三.8259A的级联使用

  19. 主 接5V,从8259 接地. 1号从8259的INT接主8259的IR6 2号从8259的INT接主8259的IR4 可管理22级中断 级联方式:一片主8259,2片从8259

  20. 设1号从8259:IR7有申请,并响应 1号从8259向主8259的IR6发申请,并得到响应 现在,1号从8259:IR0有申请,而IR0的优先级别高于IR7,应该响应IR0,应该允许IR0进入。 解决办法:使用特殊全嵌套方式 特殊嵌套方式的使用

  21. 四、8259A 的控制字和工作方式 命令字:ICWi (i=1~4) 操作命令字:OCWi(i=1~4) 8259A的地址:偶地址端口(A0=0) 奇地址端口(A0=1) 1. 8259A的初始化命令字ICW1:芯片控制初始化命令字 ICW2:设置中断类型码的 ICW3:主片/从片的初始化命令字 ICW4:方式控制初始化命令字

  22. ICW1 :芯片控制初始化命令字。必须写入偶地址端口中。A0D7 D6 D5 D4 D3 D2 D1 D0 D7~D5:这几位在此系统中不用,为1为0都可以。D4 :设置为1,指示ICW1的标志。D3(LTIM):设定中断请求信号的形式。 为1,表示中断请求为电平触发方式, 为0,表示中断请求为边沿触发方式。D2(ADI):在8086/8088中不起作用。D1(SNGL):指出8259A有否级联。 为1,表示系统中有一片8259A, 为1,表示系统中有多片8259A。 D0(IC4):指出后面是否设置ICW4。使用ICW4时IC4必须为1。 (1) ICW1的格式(A0=0) 0

  23. (2)ICW2的格式(A0=1)ICW2是设置中断类型码的高5位初始化命令字,写入8295A的奇地址端口。(2)ICW2的格式(A0=1)ICW2是设置中断类型码的高5位初始化命令字,写入8295A的奇地址端口。 (3)ICW3的格式(A0=1)ICW3是标志主片/从片的初始化命令字,指出主8259那个引脚连有从8259,对应位置一。 为主片:A0 D7 D6 D5 D4 D3 D2 D1 D0 1

  24. 本片8259A为从片,ICW3的格式,指出从8259连在主8259那个引脚,由D2D1D0指出。(4)ICW4的格式(A0=1)ICW4为方式控制初始化命令字,写入奇地址 端口。

  25. 用ICW1设置,是否级连,请求 信号格式,后面是否用ICW4 2. 8259A的初始化流程 用ICW2设置中断类型码 是否为级连方式? 否 是 是 本片为主片吗? 否 设ICW3的各位对应 IR0~IR7的连接情况 设ICW3的高五位为佳,低三位为标识码 需要用ICW4吗? 否 是 用ICW4设置,是否为特殊全嵌套方式;缓冲 方式;自动结束中断方式;8086/8088系统 图 6-4 8259A的初始化流程 结束

  26. (1) OCW1的格式(A0=1) OCW1称为屏蔽命令字,写入8259A的奇地址端口。 当OCW1某位=1,表示对应的中断请求被屏蔽。 3. 8259A的操作命令字:OCW1~OCW3

  27. 用于设置优先级循环方式和中断结束方式,写入偶地址单元。用于设置优先级循环方式和中断结束方式,写入偶地址单元。 R=1,优先级循环方式;R=0,非循环方式。 EOI=1,使当前ISR的对应位ISn复位。 SL=1,L2、L1、L0有效。 在ICW4中,若AEIO=1,自动清除当前ISn。 AEIO=0, Isn要用EOI清除。 (2)OCW2的格式(A0=0)

  28. P=1时,表示查询。 RR=1,RIS=0,对IRR寄存器的读出; RR=1,RIS=1,对ISR寄存器的读出。 若要读IMR,不须设OCW3的查询命令。 IR4和IR1引脚上有中断请求,CPU执行一条输入指令,从奇地址端口读得以下查询字: (3)OCW3的格式(A0=0)

  29. ESMM=SMM=1,置特殊屏蔽方式,8259A脱离当前优先级方式.ESMM=SMM=1,置特殊屏蔽方式,8259A脱离当前优先级方式. ESMM=1,SMM=0,撤销特殊屏蔽方式

  30. 1)读中断屏蔽寄存器IMR内容:中断屏蔽字 IN AL,82H ;A0=1 2)要读出ISR或IRR的内容, 必须设置OCW3中的P(D2)=1: (1)读IRR:设置OCW3:D1D0=10 (2)读ISR:设置OCW3:D1D0=11 执行输入指令 IN AL,82H 4.8259A那些寄存器内容可读出? 设8259A地址80H,82H

  31. 四.8259A使用举例例1:IBM PC/XT 8259A (P470)

  32. 端口地址:20H~21H 8个中断请求信号:IR0~IR7 采用完全嵌套方式、0级最高,7级最低。 设定0级请求对应中断号为8,1级为9,…. 7级为0FH。 IRQ0: 0000 1 000=08H IRQ1: 0000 1 001=09H IRQ2: 0000 1 010=08H …... IRQ7: 0000 1 111=0FH 8259A初始化要求:

  33. INTA00 EQU 020H ;8259A端口0 INTA01 EQU 021H ; 8259A端口1 ……. MOV AL, 13H ;ICW1:边沿触发.单片.要ICW4 OUT 20H,AL MOV AL , 8 ;ICW2:IRQ0中断类型为08H OUT 21H,AL MOV AL, 9 ;ICW4全嵌套.8088系统 OUT 21H,AL ;普通EOI方式 8259A初始化编程:

  34. 0 0 0 10 0 11=13H D4:设置为1,指示ICW1的标志。D3(LTIM):设定中断请求信号的形式。为0, 表示中断请求为边沿触发方式。D2(ADI): 在8086/8088中不起作用。D1(SNGL):指出8259A有否级联。 为1,表示系统中有一片8259A, D0:(IC4) : 为1,表示系统为8086/8088,要用ICW4. (1)预制命令字: ICW1, ICW2. ICW3. ICW4ICW1:边沿触发.单片.要ICW4

  35.      D2D1D0 0 1 0 0 0 0 0 0 = 80H 01000 0 0 0=80H : IRQ0 01000 0 0 1=81H : IRQ1 01000 0 1 0=82H : IRQ2 …. 01000 1 1 1=87H : IRQ7 ICW2的格式:

  36. 0 0 0 0 1 0 0 1 = 09H ICW4全嵌套.8088系统 非自动结束 ICW4的格式:必须写到8259A的奇地址端口中.

  37. 例2:教材P239例1:一片从8259的INT端连在主8259的IR3上,主8259的IR0和IR5端分别引入两个中断,从8259的IR2和IR3引入两个中断.例2:教材P239例1:一片从8259的INT端连在主8259的IR3上,主8259的IR0和IR5端分别引入两个中断,从8259的IR2和IR3引入两个中断. 主8259中断类型码为:40H,45H; 中断服务程序的段基址为1000H,偏移地址为1050H和2060H. 主8259端口地址为:FFE8H,FFE9H 从8259中断类型码为:32H,33H; 中断服务程序的段基址为2000H,偏移地址为5440H和3620H. 从8259端口地址为:FFFAH,FFF9H

  38. 主8259A的初始化程序段: MOV AL,11H ;定义ICW1,边缘触发,级联,单级,需ICW4 MOV DX,0FFE8H OUT DX,AL ;ICW1送偶地址端口 MOV AL,40H;定义ICW2,使IRQ0的中断类型码为40H MOV DX,0FFE9H ;送奇地址端口 OUT AL,DX MOV AL,08H ;定义主片ICW3,IR5上接从片 OUT DX,AL ;ICW3送奇地址端口 MOV AL,11H ;定义ICW4,8086,特殊完全嵌套方式 OUT DX,AL MOV AL,0D6H ;定义OCW1,屏蔽IR0,IR3,IR5以外的中断申请 OUT DX,AL MOV AL,20H ;定义OCW2,普通EOI方式 OUT DX,AL

  39. (1)中断类型为40H的中断向量设置: 服务程序的入口地址:1000H:1050H 40H*4=00C8H 00C8H+2=00CAH PUSH DS XOR AX,AX ;清AX MOV DS,AX MOV AX,1050H MOV [00C8H],AX ;设中断服务程序的入口地址,送IP MOV AX,1000H MOV [00CAH],AX ;送CS POP DS

  40. 1)在IR3中断服务程序开始 关中断(CLI) 用OCW3设置特殊屏蔽方式 取原屏蔽字保存, 将IMR3,IMR4,IMR6,IMR7置1,允许IR5进入 开中断(STI) 2)在IR3中断服务程序 适当处恢复原屏蔽字 用OCW3撤销特殊屏蔽方式 例3:1片8259A工作于全嵌套方式若要求在IR3的中断服务中,允许IR5进入,该如何作?

  41. 1. 8088/8086中断向量表的作用是什么? 2. 8259A中 IRR、IMR和 ISR三个寄存器的作用是 什么? 3.某时刻8259A的IRR内容是08H(00001000B),说明_____。某时刻8259A的ISR内容是08H,说明_______。在两片8259A级连的中断电路中,主片的第5级IR5 作为从片的中断请求输入,则初始化主、从片时,ICW3的控制字分别是00100000和 00000101 . 思考题

  42. 计数器/定时器8253特点 三个通道,可单独使用 片内寻址 A1 A0= 00、01、10、11 对应:通道0、1、2和控制口地址 工作方式:6种 第2节 计数器/定时器8253

  43. 一、微机定时方法1. 软件定时——延迟子程序2. 硬件定时——用计数器/定时器8253二、可编程计数器/定时器的工作原理功能:一是为计数;一是为定时。8253的用处:1)在多任务的分时系统中用来作为中断信号实 现程序的切换;2)可以往I/O设备输出精确的定时信号;3)作为一个可编程的波特率发生器;4)实现时间延时。

  44. 计数器/定时器的工作特点1)门脉冲控制时钟输入;2)用门脉冲来重新启动计数;3)用门脉冲停止计数;4)单一计数;5)循环计数.计数初始值=时钟频率*T计数器/定时器的工作特点1)门脉冲控制时钟输入;2)用门脉冲来重新启动计数;3)用门脉冲停止计数;4)单一计数;5)循环计数.计数初始值=时钟频率*T

  45. 1.数据总线缓冲器 往计数器设置计数初值;  从计数器读取计数值;  往控制寄存器设置控制字。 2.读/写逻辑电路 A1 A0:端口选择 0 0:通道0(0号计数器) 0 1:通道1(1号计数器) 1 0:通道2(2号计数器) 1 1:控制字寄存器 8_2_1 8253芯片内部结构

More Related