《匠人手记》推荐网上购书渠道:
EDN网(ednchina)购书入口   >>>
互动出版网(china-pub)购书入口   >>>
当当网(dangdang)购书入口   >>>
淘宝网(taobao)购书入口   >>>
更多购书渠道……   >>> 

设为首页加入收藏联系匠人管理入口21IC首页21IC博客21IC社区侃单片机回复的贴参与的贴

天气预报
百宝日历

百宝专栏

  • 首页 相册 标签
  • 电脑应用(65)
  • 供需信息(22)
  • 写书近况(82)
  • 匠人文集(115)
  • 硬件技术(171)
  • 匠人公告(86)
  • 与非门专栏(545)
  • 匠人笔记(115)
  • 团队撰写(96)
  • 汽车电子(52)
  • 编程技巧(465)
  • 程序宝典(476)
  • 网络酷文(472)
  • 开发工具(19)
  • 资料宝藏(274)
  • 项目管理(11)
  • 藏经宝阁(42)
  • 趣味设计(5)
  • 社区热贴(2)
  • 比尔盖茨熊专栏(0) 
  • 百宝信息

    载入中...

    百宝流量

    (2006-07-01开始)



    匠人手记

    PC中断原理
    程序匠人 发表于 2005-11-17 22:39:00  阅读全文 | 回复(0) | 引用通告 | 编辑

    PC中断原理
    
      现在主题是什么呢? 我就写一些电脑内部中断用法及讲一些 8259 IC 是如何动作及如
    何RESET 并说明为何 RESET 会造成 S-ICE OR GAMEBUTER AND GAMETOOLS等软体无法执行
    请用心看喔!不然你会渐渐看不懂我的意思了..劝您最好用列表机印出来喔!
    
     图(一)
    ┌━━━━┬━━━━━━━━┬━━━━━━━━━━━━━━━━━━━━━━━┐
    ┃位   址 ┃中  断  编  号  ┃  中      断      名       称                 ┃
    ├━━━━┼━━━━━━━━┼━━━━━━━━━━━━━━━━━━━━━━━┤
    ┃  0-3   ┃  INT   0       ┃ 除零中断                                     ┃
    ┃  4-7   ┃        1       ┃ 单步中断                                     ┃
    ┃  8-B   ┃        2       ┃ 不可罩盖中断                                 ┃
    ┃  C-F   ┃        3       ┃ 断点中断                                     ┃
    ┃ 10-13  ┃        4       ┃ 溢位中断                                     ┃
    ┃ 14-17  ┃        5       ┃ 萤幕列印中断                                 ┃
    ┃ 18-1B  ┃        6       ┃ 保留                                         ┃
    ┃ 1C-1F  ┃        7       ┃ 保留                                         ┃
    ┃ 20-23  ┃        8       ┃ 计时中断 (8259 #1 IRQ 0)                     ┃
    ┃ 24-27  ┃        9       ┃ 键盘介面中断 (8259 #1 IRQ 1)                 ┃
    ┃ 28-2B  ┃        A       ┃ 保留 (8259 #1 IRQ 2)                         ┃
    ┃ 2C-2F  ┃        B       ┃ 通讯 1 介面中断 (8259 #1 IRQ 3)              ┃
    ┃ 30-33  ┃        C       ┃ 通讯 2 介面中断 (8259 #1 IRQ 4)              ┃
    ┃ 34-37  ┃        D       ┃ 列表机介面 2 中断 (8259 #1 IRQ 5)            ┃
    ┃ 38-3B  ┃        E       ┃ 磁碟机介面中断 (8259 #1 IRQ 6)               ┃
    ┃ 3C-3F  ┃        F       ┃ 列表机介面 1 中断 (8259 #1 IRQ 7)            ┃
    ┃ 40-43  ┃       10       ┃ 影像中断                                     ┃
    ┃ 44-47  ┃       11       ┃ 设备检查中断                                 ┃
    ┃ 48-4B  ┃       12       ┃ 记忆体大小中断                               ┃
    ┃ 4C-4F  ┃       13       ┃ 磁碟 I/O 中断                                ┃
    ┃ 50-53  ┃       14       ┃ 通讯 I/O 中断                                ┃
    ┃ 54-57  ┃       15       ┃ 卡带 I/O 中断                                ┃
    ┃ 58-5B  ┃       16       ┃ 键盘 I/O 中断                                ┃
    ┃ 5C-5F  ┃       17       ┃ 列表机 I/O 中断                              ┃
    ┃ 60-63  ┃       18       ┃ Basci 进入中断                               ┃
    ┃ 64-67  ┃       19       ┃ 启动程式中断 (Boot strap)                    ┃
    ┃ 68-6B  ┃       1A       ┃ 计时中断                                     ┃
    ┃ 6C-6F  ┃       1B       ┃ 键盘 Break 中断                              ┃
    ┃ 70-73  ┃       1C       ┃ 计时器滴声中断                               ┃
    ┃ 74-77  ┃       1D       ┃ 影像参数中断                                 ┃
    ┃ 78-7B  ┃       1E       ┃ 磁片参数中断                                 ┃
    ┃ 7C-7F  ┃       1F       ┃ 影像图形字元中断                             ┃
    ┃ 80-83  ┃       20       ┃ DOS 程式结束中断                             ┃
    ┃ 84-87  ┃       21       ┃ DOS 功能呼叫中断                             ┃
    ┃ 88-8B  ┃       22       ┃ DOS 结束位址中断                             ┃
    ┃ 8C-8F  ┃       23       ┃ DOS CTRL+BREAK 出口位址中断                  ┃
    ┃ 90-93  ┃       24       ┃ DOS 严重错误出口位址中断                     ┃
    ┃ 94-97  ┃       25       ┃ DOS 绝对磁碟读取                             ┃
    ┃ 98-9B  ┃       26       ┃ DOS 绝对磁碟写入                             ┃
    ┃ 9C-9F  ┃       27       ┃ DOS 程式结束,但保留在记忆体中断              ┃
    ┃ AO-FF  ┃     28-3F      ┃ DOS 保留                                     ┃
    ┃100-17F ┃     40-5F      ┃ 保留                                         ┃
    ┃180-19F ┃     60-67      ┃ 供使用者程式之中断                           ┃
    ┃1A0-1BF ┃     68-6F      ┃ 不用                                         ┃
    ┃1C0-1C3 ┃       70       ┃ 即时时脉中断 (8259 #2 IRQ 8)                 ┃
    ┃1C4-1C7 ┃       71       ┃ 保留未用     (8259 #2 IRQ 9)                 ┃
    ┃1C8-1CB ┃       72       ┃ 保留未用     (8259 #2 IRQ10)                 ┃
    ┃1CC-1CF ┃       73       ┃ 保留未用     (8259 #2 IRQ11)                 ┃
    ┃1D0-1D3 ┃       74       ┃ 保留未用     (8259 #2 IRQ12)                 ┃
    ┃1D4-1D7 ┃       75       ┃ 80287 错误处理中断 (8259 #2 IRQ13)           ┃
    ┃1D8-1DB ┃       76       ┃ 硬式磁碟机控制器 (8259 #2 IRQ14)             ┃
    ┃1DC-1DF ┃       77       ┃ 保留未用 (8259 #2 IRQ15)                     ┃
    ┃1E0-1FF ┃     78-7F      ┃ 不用                                         ┃
    ┃200-217 ┃     80-85      ┃ Basic 保留                                   ┃
    ┃218-3C3 ┃     86-F0      ┃ 执行 Basic 时 , 供 Basic 解译器使用          ┃
    ┃3C4-3FF ┃     F1-FF      ┃ 不用                                         ┃
    └━━━━┴━━━━━━━━┴━━━━━━━━━━━━━━━━━━━━━━━┘
                    以上是 PC /AT  中断向量表的功能表
    
     再来就是讲 8259 IC 的一些动作方式及设定方法
    
     图(二)         ┌━━━━━┐  ┌━━━━━┐
                /CS ┃1         └━┘        28┃VCC
                /WA ┃2                       27┃A0
                /RD ┃3     ⒏⒉⒌⒐ A       26┃/INTA
            ┌   D7 ┃4                       25┃IR7
      连接到┃   D6 ┃5                       24┃IR6
            ┃   D5 ┃6     主  I  C       23┃IR5
      CPU┘   D4 ┃7                       22┃IR4
            ┐   D3 ┃8                       21┃IR3
        中  ┃   D2 ┃9     各接脚图说明      20┃IR2
            ┃   D1 ┃10                      19┃IR1
            └   D0 ┃11                      18┃IR0
                CAS0┃12                      17┃INT
                CAS1┃13                      16┃/SP / /EN
                 GND┃14                      15┃CAS2
                    └━━━━━━━━━━━━━┘
    
    VCC 电源    
    /CS 晶片选取
    GND 接地          当此脚信号为『低电位』时,表示 8259被致能;反之,则是禁能
    /RD 读取
          当此脚为『低电位』时,CPU会要求 8259A 送出 IRR (中断要求到暂存器)
          ISR (中断服务暂存器),及 IMR (中断罩盖暂存器) 其中之一到 D0-D7上。
    /WR 写入
          当此脚为『低电位』时,CPU要送控制字组 ( control word) 给 8259A。
    D0~D7 资料线
            为跟 CPU 连接线
    A0  存取线
          此信号与/R0,/WR,/CS合起来决定 CPU 要对那一个暂存器(IMR,IRR,ISR...)做读写
          动作
    INT 中断
          此信号是用来通知CPU有周边设备要求中断服务,此线接到 80x86 的/INTA 接脚上
    /INTA 中断认知
            为CPU认可一个中断请求的认知讯号,此信号须接到 80x86 /INTA 输出线上
    IR0~IR7 中断请求 0~7
              这八条讯号线是用来连接外部周边设备作为它们的中断要求信号线。
    /SP / /EN 主IC规划 及 缓冲致能
                此脚具二种功能 一是:若为缓冲型态时,此接脚是用来做为缓冲器的收发
                               二是:若不是缓冲型态,则是用来指定 8259 IC为主 (SP=1)
                                    或仆 (SP=0)
    CAS0~CAS2 串接线
                这三条是用来接多颗的 8259 IC,最多可以串接 5个喔! 每颗8259 IC可以处
                理八个中断请求,所以共可以使用 64 个中断请求。 在PC AT中有 16个中断
                请求。 如附图(三)
    
    图(三) 8259 中断控制器方块图    ┌━┐
                                    ┃  ┃
              ┌━━━━━━━━┐  ┃内┃  ┌━━━━━━━━━━━━━━━━━┐
    D7-D0 <-->┃资料汇流排缓冲器┃┌┤  ├━┤  控    制    逻   辑   单   元   ┃
              └━━━━━━━━┘┃┃  ┃  └━━━━━━━━━━━━━━━━━┘
              ┌━━━━━━━━┐┃┃部┃    ┃         ┃         ┃
      /RD --->┤读/写 逻辑电路  ┃┃┃  ┃    ┃         ┃         ┃
      /WR --->┤                ├┤┃  └━━━━━━━━━━━━━━━━━━┐
      A0  --->┤                ┃┃┃汇                                      ┃
              └━━━┬━━━━┘┃┃  ┌━━━━━━━━━━━━━━━━━━┘
                      ┃          ┃┃  ┃    ┃         ┃         ┃
      /CS --->━━━━┘          ┃┃  ┃ ┌━━━┐   ┌━━┐   ┌━━━┬ IR0
                                  ┃┃流┃ ┃中暂  ┃   ┃优  ┃   ┃中暂  ┃ ...
              ┌━━━━━━━━┐┃┃  ┃ ┃断存  ┃<->┃先  ┃<->┃断存  ┃ ...
     CAS0 --->┤串联缓冲器      ┃┃┃  ┃ ┃处器  ┃   ┃调器┃   ┃要器  ┃ ...
     CAS1 --->┤     /比较器    ├┘┃排┃ ┃理 ISR┃   ┃解  ┃   ┃求 IRR┃ ...
     CAS2 --->┤                ┃  ┃  ┃ └━━━┘   └━━┘   └━━━┴ IR7
              └━━━┬━━━━┘  ┃  ┃    ┃         ┃         ┃
    /SP / /EN --->━━┘            ┃  ┃┌━━━━━━━━━━━━━━━━━┐
                                    └━┘┃ 中  断  罩  盖  暂  存  器 (IMR) ┃
                                          └━━━━━━━━━━━━━━━━━┘
    
      中断请求暂存器 ( Interrupt Request Register 简称 IRR)
      中断罩盖暂存器 ( Interrupt Mask Register    简称 IMR)
      中断处理暂存器 ( Interrupt Service Register 简称 ISR)
    
    -------------------------------------------------------------------------------
      再来跟各位说说 8259 初始值设定步骤 如附图 (四):
    
     图(四): 8259 ICWS 流程图
                ┌━━━┐
                ┃ ICW1 ┃  (Initialization Command Words 简称 ICW) 初始值命令字组
                └━━━┘
                            (Operation Command Words 简称 OCW) 作业命令字组
    
                ┌━━━┐
                ┃ ICW2 ┃  说明: 8259 必须要先送出 ICW1 接著再送 ICW2,二者顺序不可
                └━━━┘        以巅倒喔! 否则会有错误的。
    
    
                     
                  /   \
           N    /CASCADE \
          ┌━ \    ?   /
          ┃     \   /
          ┃        
          ┃SNGL=1     Y (SNGL=0)
          ┃    ┌━━━┐
          ┃    ┃ ICW3 ┃
          ┃    └━━━┘
          ┃
          └━━━>
                     
                  /   \
           N    /        \
         ┌━━\  ICW4  /
         ┃      \   /
         ┃ICW4=0   
         ┃            Y (ICW4=1)
         ┃     ┌━━━┐
         ┃     ┃ ICW4 ┃
         ┃     └━━━┘
         ┃
         └━━━>
            ┌━━━━━━━┐
            ┃ NORMAL       ┃
            ┃    OPERATION ┃
            └━━━━━━━┘
    
     我来讲解一下 ICW1,ICW2,ICW3,ICW4 实际的用法....:如附图(五)
    
      
        A0    D7    D6    D5    D4    D3    D2    D1    D0
     ┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
     ┃ 0  ┃ A7 ┃ A6 ┃ A5 ┃ 1  ┃LTIM┃ AD4┃SNGL┃ IC4┃
     └━━┴━┬┴━━┴━┬┴━━┴━┬┴━┬┴━┬┴━┬┘  ┌━━━━━━━━┐
               └━━┬━━┘          ┃    ┃    ┃    └━━┤1: 需要 ICW4    ┃
                     ┃                ┃    ┃    ┃          ┃0: 不需要 ICW4  ┃
                     ┃                ┃    ┃    ┃          └━━━━━━━━┘
                     ┃                ┃    ┃    ┃          ┌━━━━━━━━┐
                     ┃                ┃    ┃    └━━━━━┤1: 单一         ┃
                     ┃                ┃    ┃                ┃0: 串接模式     ┃
                     ┃                ┃    ┃                └━━━━━━━━┘
                     ┃                ┃    ┃                ┌━━━━━━━━┐
                     ┃                ┃    ┃                ┃呼 叫 位 址 间隔┃
                     ┃                ┃    └━━━━━━━━┤1: 4个间隔      ┃
                     ┃                ┃                      ┃0: 8个间隔      ┃
                     ┃                ┃                      └━━━━━━━━┘
                     ┃                ┃                      ┌━━━━━━━━┐
                     ┃                └━━━━━━━━━━━┤1: 准位触发     ┃
                     ┃                                        ┃0: 边缘触发模式 ┃
                     ┃                                        └━━━━━━━━┘
                     ┃                                        ┌━━━━━━━━┐
                     └━━━━━━━━━━━━━━━━━━━━┤A5-A7 中断向量位┃
                                                               ┃址,只在MCS80/85 ┃
                                                               ┃模式下动作      ┃
                                                               └━━━━━━━━┘
    
       
         A9    D7    D6    D5    D4    D3    D2    D1    D0
      ┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
      ┃ 1  ┃ A16┃ A14┃ A13┃ A12┃ A11┃ A10┃ A9 ┃ A8 ┃
      ┃    ┃ /T7┃ /T6┃ /T5┃ /T6┃ /T3┃    ┃    ┃    ┃
      └━━┴━┬┴━┬┴━┬┴━┬┴━┬┴━┬┴━┬┴━┬┘
                └━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┐
                                                                ┃
                                                     ┌━━━━━━━━━━━━┐
                                                     ┃A8-A15 是中断向量的位址 ┃
                                                     ┃(MCS 80/85 模式下)      ┃
                                                     ┃T3-T7 是8086/8088 模式的┃
                                                     ┃中断向量位址            ┃
                                                     └━━━━━━━━━━━━┘
    
       
         A0    D7    D6    D5    D4    D3    D2    D1    D0
      ┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
      ┃  1 ┃ S7 ┃ S6 ┃ S5 ┃ S4 ┃ S3 ┃ S2 ┃ S1 ┃ S0 ┃
      └━━┴━┬┴━┬┴━┬┴━┬┴━┬┴━┬┴━┬┴━┬┘
                └━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┐
                                                                ┃
                                                     ┌━━━━━━━━━━━━┐
                                                     ┃1: IR输入有一从元件     ┃
                                                     ┃0: IR输入没有从元件     ┃
                                                     └━━━━━━━━━━━━┘
    
       
         A0    D7    D6    D5    D4    D3    D2    D1    D0
      ┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
      ┃  1 ┃ 0  ┃ 0  ┃  0 ┃  0 ┃ 0  ┃ 1D2┃ 1D1┃1D0 ┃
      └━━┴━━┴━━┴━━┴━━┴━━┴━┬┴━┬┴━┬┘
                                              └━━┼━━┘
                                                    ┃
                       ┌━┬━┬━┬━┬━┬━┬━┬━┐
                       ┃0 ┃1 ┃2 ┃3 ┃4 ┃5 ┃6 ┃7 ┃
                       ├━┼━┼━┼━┼━┼━┼━┼━┤
                       ┃0 ┃ 1┃0 ┃ 1┃ 0┃1 ┃0 ┃1 ┃
                       ├━┼━┼━┼━┼━┼━┼━┼━┤
                       ┃0 ┃0 ┃1 ┃ 1┃0 ┃0 ┃1 ┃1 ┃
                       ├━┼━┼━┼━┼━┼━┼━┼━┤
                       ┃0 ┃0 ┃ 0┃ 0┃1 ┃ 1┃ 1┃ 1┃
                       └━┴━┴━┴━┴━┴━┴━┴━┘
    
       
         A0    D7    D6    D5    D4    D3    D2    D1    D0
      ┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
      ┃ 1  ┃ 0  ┃  0 ┃  0 ┃SFNM┃ SUF┃M/S ┃AE01┃ UPM┃
      └━━┴━━┴━━┴━━┴━┬┴━┬┴━┬┴━┬┴━┬┘
                                  ┃    └━┬┘    ┃    ┃  1=8086/8088 模式
                              ┌━┘      互┃      ┃    └━
                              ┃          相┃      ┃        0=MCS 80/85 模式
                              ┃          配┃      ┃
                          1:特别巢状模式  合┃      └━━━━1=自动 E0I
                          0:不是特别巢状 ┌━━┬━━━━━┐ 0=正常 E0I
                            模式         ┃0 X ┃1.没有缓冲┃
                                         ├━━┤  模式    ┃
                                         ┃1 0 ┃2.缓冲模式┃
                                         ├━━┤  /从元件 ┃
                                         ┃1 1 ┃3.缓冲模式┃
                                         ├━━┘  /主元件 ┃
                                         └━━━━━━━━┘
    
      哇...我花了好多时间KEYIN喔..怎么都没人写信给我感谢一下呢?? 哈 ..我93年6月20日
      要到成功岭暑训罗..这是之前的小礼物吧! 若下一集可能要等到 7月底罗!..所以希望各
      位好好的利用 暑假多K点书,也希望您真的喜欢我写的『破解入门』的话 请到破解技术
      交流网来写写信喔!..当然你有任何问题 可以写信给我 ID:YU HWANG 就可以了 本网要
      您的加入才会更加茁壮,当然来本网并非一定要高手才可以来的喔!..也有一些飙信大王
      的信管等著您来飙信,我希望藉著您对我的爱护,并对破解技术交流网草创不久给与鼓励
      与支持。
    
      讲了一些话..再来继续讲 OCW的指令用法..各位看官接招罗...如附图(六):
    
     
          A0    D7    D6    D5    D4    D3    D2    D1    D0
       ┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
       ┃ 1  ┃ M7 ┃ M6 ┃ M5 ┃ M4 ┃ M3 ┃ M2 ┃ M1 ┃ M0 ┃
       └━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┘
    
     (D7~M0)
        这些是用来设定及清除 IMR (中断罩盖暂存器) 中相对应的罩盖位元。
        其中 M0 控制 IR0,M1控制 IR1......依此类推 M7控制IR7。
        若 MX=1 表示相对应的 IRX 中断被禁能, 此时若有来自 IRX 的硬体中断 8259A 亦不
        会去理会中断请求,若反之 MX=0 则表示其对应的中断致能,此时若有中断产生时,CPU
        会跳到中断副程式去执行。
    
    
     
          A0    D7    D6    D5    D4    D3    D2    D1    D0
       ┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
       ┃ 0  ┃ R  ┃ SL ┃ EOI┃ 0  ┃ 0  ┃ L2 ┃ L1 ┃ L0 ┃
       └━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┘
    
     (D2~D0)
         此三个位元是决定中断序号,配合D5~D7使用形成8种组合。
    
     (D4~D3)
         此二位元必须设定为 0 ,为 OCW2 的识别码。
     (D7~D5)
         此三位元是用来控制旋转模式,中断结束模式以及二者合并的模式,共有 8 种组合。
         当 8259A收到此一命令组时,它会自动将目前正在接受处理的IR输入所对应ISR的位
         元清除为0。
    
    
     
          A0    D7    D6    D5    D4    D3    D2    D1    D0
       ┌━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┬━━┐
       ┃ 0  ┃ 0  ┃ESMM┃SMM ┃ 0  ┃ 1  ┃ P  ┃ RR ┃ RIS┃
       └━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┴━━┘
    
     (D1,D0)
        此二位元是读取 ISR及IRR 暂存器中的内容。 共有四组组合方式...
         ┌━━┬━━┬━━━━━━┐
         ┃ RR ┃RIS ┃  功   能   ┃
         ├━━┼━━┼━━━━━━┤
         ┃ 0  ┃ 0  ┃不动作      ┃
         ├━━┼━━┼━━━━━━┤
         ┃ 0  ┃ 1  ┃不动作      ┃
         ├━━┼━━┼━━━━━━┤
         ┃ 1  ┃ 0  ┃读IRR暂存器 ┃
         ├━━┼━━┼━━━━━━┤
         ┃ 1  ┃ 1  ┃读ISR暂存器 ┃
         └━━┴━━┴━━━━━━┘
    
     (D2)
        此位元是 8259A为查询或中断 模式。 当P=1时,8259A 被设定为查询模式,反之为
        非查询模式。
    
     (D4~D3)
        此二位元没有用到。D3必须设定为1 (OCW3的识别位元),D4必须设定为0 。
    
     (D6~D5)
        此二位元是用来设定特殊罩盖模式(Special Mask Mode),共有四种组合,如下..
         ┌━━┬━━┬━━━━━━━┐
         ┃ESMM┃SMM ┃  功   能     ┃
         ├━━┼━━┼━━━━━━━┤
         ┃ 0  ┃ 0  ┃不动作        ┃
         ├━━┼━━┼━━━━━━━┤
         ┃ 0  ┃ 1  ┃不动作        ┃
         ├━━┼━━┼━━━━━━━┤
         ┃ 1  ┃ 0  ┃清除罩盖暂存器┃
         ├━━┼━━┼━━━━━━━┤
         ┃ 1  ┃ 1  ┃清除罩盖暂存器┃
         └━━┴━━┴━━━━━━━┘
    
      哇...终於讲解完 8259A的一些命令组的用法及一些简单介绍...
    
     附图(七)
        8259A #1 (主)      8259A #1 (次)
     ┌━━┬━━━┐   ┌━━┬━━━┐  如附图(七)中,可以大概看出 8259A所要的暂存
     ┃位址┃暂存器┃   ┃位址┃暂存器┃    器超过 2个I/O位址所能提供的,解决的方法
     ├━━┼━━━┤   ├━━┼━━━┤    是必须以一定的规划流程及利用某些特定位
     ┃ 20H┃ ICW1 ┃   ┃ A0H┃ ICW1 ┃    元来决定暂存器。
     ├━━┼━━━┤   ├━━┼━━━┤
     ┃ 21H┃ ICW2 ┃   ┃ A1H┃ ICW2 ┃
     ├━━┼━━━┤   ├━━┼━━━┤
     ┃ 21H┃ ICW3 ┃   ┃ A1H┃ ICW3 ┃
     ├━━┼━━━┤   ├━━┼━━━┤
     ┃ 21H┃ ICW4 ┃   ┃ A1H┃ ICW4 ┃
     ├━━┼━━━┤   ├━━┼━━━┤
     ┃ 21H┃ 0CW1 ┃   ┃ A1H┃ 0CW1 ┃
     ├━━┼━━━┤   ├━━┼━━━┤
     ┃ 20H┃ 0CW2 ┃   ┃ A0H┃ 0CW2 ┃
     ├━━┼━━━┤   ├━━┼━━━┤
     ┃ 20H┃ 0CW3 ┃   ┃ A0H┃ 0CW3 ┃
     └━━┴━━━┘   └━━┴━━━┘
    
     我写一些范例让您知道一下规划方式:
    
         ┌ MOV     AL,11H ┐ICW1,8259主 需要ICW4 IR 中断输入为边缘触发模式
         ┃ OUT     20H,AL ┘
         ┃ MOV     AL,8   ┐ICW2,从中断向量表 TYPE 8 开始,可以参考 ICW2
         ┃ OUT     21H,AL ┘
    8259主  MOV     AL,04H ┐ICW3,(主) 8259的IR2为仆 8259(次)的 中断输入
         ┃ OUT     21H,AL ┘
         ┃ MOV     AL,01H ┐ICW4,非缓冲模式,8086/8088
         ┃ OUT     21H,AL ┘
         ┃ MOV     AL,0FFH┐8259(主) 之OCW1,罩盖所有的中断输入
         └ OUT     21H,AL ┘
    
         ┌ MOV     AL,11H ┐ICW1,8259(次),需要ICW4 IR中断输入为边缘触发模式
         ┃ OUT     0A0H,AL┘
         ┃ MOV     AL,70H ┐ICW2,从中断向量表 TYPE 12 开始
         ┃ OUT     0A1H,AL┘
         ┃ MOV     AL,02H ┐ICW3,次 ID
    8259次  OUT     0AH,AL ┘
         ┃ MOV     AL,01H ┐ICW4,没有缓冲模式,8088/8086 模式
         ┃ OUT     0A1H,AL┘
         ┃ MOV     AL,0FFH┐8259(次)之 OCW1,罩盖所有中断输入
         └ OUT     0A1H,AL┘
     若不懂的话,可以参考我前面的附图就可以罗! 以上我希望您能多用点心去研究,如果您没
     用些心去了解的话,那我也没那么多时间可以一一为您解释,我相信我所写出来的这些一定
     可以让您了解 8259的概况,当然还有一些细节比较无关紧要,所以我就没列出来了.您可以
     去参考一些PC/AT内部硬体的书就可以罗!

    看《匠人手记》,与匠人同行!北航出版,正在热卖!

    发表评论:
    载入中...

    芯片专题

    器件专题

    软件专题

    硬件专题

    综合专题

    项目专题

    原创专题

    器件检测
    LCD LED
    按键 触摸键
    E2PROM
    电池 电机
    电阻 电容 电感

    指令系统
    软件算法
    编程规范
    滤波算法
    串行通讯

    PCB设计
    I2C PWM
    红外遥控
    充电技术
    中断 ADC 

    匠人手记
    匠人夜话
    网络心路
    一周热点串烧
    从零开始玩PIC
    DIY旋转时钟

    广告5号位 [投放]


    学习板、开发板、编程器、下载器、仿真器(查看详情……)

    站内搜索


    站外搜索


    百度  google
    mp3  歌词 
    图片  FLASH 
    知道  文档
    新闻  词典 
    地图  mp3 
    软件  天网 
    雅虎  爱问 
    搜狗  讯雷 
    网讯  华军 
    天空 

    21IC器件搜索
    百宝箱分站
  • 《匠人的百宝箱》21IC站
  • 《匠人的百宝箱》21IC笔记团队
  • 《匠人的百宝箱》MCUBLOG站
  • 《匠人的百宝箱》MCUBLOG笔记团队
  • 《匠人的百宝箱》EDN站
  • 《匠人手记》EDN书友会
  • 《匠人的百宝箱》与非网站
  • 《匠人的百宝箱》新浪站
  • 《匠人的百宝箱》百度站
  • 《匠人的百宝箱》网易126站
  • 《匠人的百宝箱》网易163站
  • 《匠人的百宝箱》互动出版网站
  • 广告4号位 [投放]

     
     
     

    新鲜货色

    匠人手记

    近期动态

    载入中...

      《匠人手记》购书全攻略 
     书友近况:淘书手记答疑与讨论:什么是散转程序 
     《匠人手记》新书艳照
     EDN《匠人手记》签名售书优惠活动开始报名啦!
     欢迎加入《匠人手记》EDN书友会
     欢迎加入《匠人手记》书友会Q群
     《匠人手记》终稿目录
     《匠人手记》封面,请大家先睹为快
     上周六收到了北航寄来的《匠人手记》清样,让大家先睹为快

    匠人原创

    粉丝评论

    往日酷贴

    载入中...

    载入中...



     网络酷文:博客,改变的不仅仅是图书 
     网络酷文:C语言宏定义技巧C语言 条件编译详解

      21IC上海2008-04聚会报名进行中。。。 
     两分钟让你明白什么是ERP![转]
      神奇的Duff's Device 算法
      实用一线通讯电路及软件设计方法
      程序员的“七年之痒”
      史上最短但最精彩的武侠小说
      网络无厘头文学《缺钙水浒》(爆笑)

     你的博客还能持续多久(转贴)
     电动车无刷电机控制器软件设计要点(作者:谢渊斌)

    大千八卦

    友情连接

    新浪新闻:
    新浪财经:
    AK58新闻:
    新浪股票:
    新浪股票:
    证券之星:

     [更多酷站连接]

     

     

    [欢迎交换连接]

    [百宝箱之与非门分舵]

    [电脑圈圈的家当]

    [IC921的博客]

    [柔月阁]

    [八楼的呼吸]

    [hotpower 的水潭]

    [xwj的文君阁]

    [所长的BLOG]

    [阿摆手记]

    [电子伙伴]

    [unaided的笔记]

    [小飞的笔记]

    [单片机开发联盟]

    [网址之家]

    [好东西网址大全]

    [美萍中文精选]

    [数字电视之家]

    [SMARTCODE电子书斋]

    [软件开发之窗]

    [Armoric]

    [我爱研发网]

    [infernal的笔记]

    [雄鹰的空中加油站]

    [SunK]

    [逍遥电子]

    [ningpanda的博客]

    [C-Design]

    [一网见天下]

    [海边淘沙]

    [嵌入式365]

    [水牛的仓库]

    [股剩是怎样炼成的]

    [PIC论坛]

    [ICC AVR开发网]

    [中国高校自动化网]

     

     

     

    MCU博客-中国电子工程师博客网 

    大学生电子网 

     

     

     

     

     

    !!! 《匠人的百宝箱》 !!!