zoukankan      html  css  js  c++  java
  • 8259A的编程

    补充知识:对8259中断控制器的说明2

    3. 8259A的编程

    因为8259A是可编程的中断控制器,所以它的操作是用软件通过命令进行控制的。8259A的编程命令字有两类:一是初始化命令字(ICW),二是操作命令字(OCW)。相应的8259A的控制部分有一些可编程的位,它们分布在7个8位寄存器中。这些寄存器分成两组,一组用作存ICW,另一组存OCW。当计算机刚开机时,用初始化程序设定ICW,即由CPU按次序发送2~4个不同格式的ICW,用来建立起8259A操作的初始状态,此后的整个工作过程中该状态保持不变。相反操作命令字(OCW)用于动态控制中断处理,是在需要改变或控制8259A操作时发送的。注意:当发出ICW或OCW时,CPU中断申请脚INTR应关闭(使用CLI关中断指令)。

    1. ICW(ICW1、ICW2、ICW3、ICW4)初始化命令字编程格式

    (1) ICW1(芯片控制初始化命令字)功能介绍

     

     

    A0

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    0

    0

    0

    0

    1

    LTIM

    ADI

    SNGL

    IC4

     

    16位机无效

    标志位

    电平触发

    无效

    弹片使用

    需要ICW4

    ICW1负责启动8259A和进行初始化工作:

    1) 清除IMR

    2) 把最低优先权分配给IR7

    3) 把最高优先权分配给IR0

    4) 将从设备标志ID置成7

    5) 清除特殊屏蔽方式以及设置读IRR方式

    (2) ICW2(中断类型号的设置)功能介绍:

     

     

    A0

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    1

    T7

    T6

    T5

    T4

    T3

    0

    0

    0

     

    中断类型号的高5位

    16位机无效

    ICW2负责规定中断类型号字节。编程时规定高5位T7---T3,低3位由IR的编码写入。

    例8.3.1:输入时地址线A0=1,IR0---IR7的中断向量为08H---0FH,PC/XT机中的T7—T3==00001,当IR4申请时8259向CPU发出中断申请的类型号为00001100==0CH。

    (3) ICW3(主/从片初始化命令字)功能介绍:

    主片ICW3:

    A0

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    1

    S7

    S6

    S5

    S4

    S3

    S2

    S1

    S0

    主片ICW3负责记录与从片哪一个输入端与从片相连。

    当主片输入端IRi上连接有从片的INT时,则Si=1;否则Si=0

    从片ICW3:

    A0

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    1

    *

    *

    *

    *

    *

    ID2

    ID1

    ID0

    从片ICW3负责自己连接到主片的哪一端。

    应用ICW3时的注意点:

    一是什么时候用ICW3:即当ICW1中的SNGI位为0时,也就是工作于级联方式,才需要ICW3设置8259A的状态。

    二是(主片接出)判断哪个引脚(IR7—IR0)有级联:当D7—DO的某位为1时则接有从片,为0时不接从片。

    三是(从片接入)判断接入主片的哪个引脚:是通过对D2 D1 D0三位的组合来判断接入的引脚。

    (4) ICW4(方式控制初始化命令字)功能介绍:

    A0

    D7

    D6

    D5

    D4

    D3

    D2

    D1

    D0

    1

    0

    0

    0

    SFNM

    BUF

    M/S

    AEOI

    uPM

    ICW4负责缓冲器方式和中断结束方式的设置。

    应用ICW4时的注意点:

    一是什么时候写入ICW4:当ICW1的IC=1时,才使用ICW4。

    二是命令字各位所代表的含义:

    UPM:指定CPU类型:UPM=0时,工作于8080(8位机);UPM=1时,工作于8086(16位机)

    AEOI:指定是否自动中断结束方式:1:自动中断结束方式;0:非自动中断结束方式。

    BUF:8259A是否工作于缓冲方式:1:工作于缓冲方式、0:不工作于缓冲方式

    SFNM:决定8259A在级联时是否工作于特殊全嵌套方式:1:工作于特殊全嵌套方式0:工作于一般全嵌套方式。

  • 相关阅读:
    Sql Server 2012 数据库同步方式 (发布、订阅)
    博客搬家通知
    无聊而又劳累的一天
    有没有大神知道国产加密算法SM2的详细介绍
    Android开发环境搭建helloworld程序创建(新手)
    debian下安装东西,遇到两个东西,记录下
    算法:扑克牌相关的一个简单功能示意(纯C实现)
    [51单片机学习笔记FIVE]----独立按键
    [51单片机学习笔记FOUR]----16*16LED点阵
    [51单片机学习笔记THREE]----继电器
  • 原文地址:https://www.cnblogs.com/shenlian/p/2076693.html
Copyright © 2011-2022 走看看