<微機系統與接口技術>詳解外部可屏蔽中斷管理器8259A

命令字

編程狀態 初始化命令寄存器組

CPU使用IN/OUT指令對8259A芯片進行初始化編程。完成後即進入操作態。

  • ICW1 當D4=1並且A0=0時,表示是對ICW1進行設置。

  • ICW2 當A0=1時,表示對ICW2進行設置。ICW2用於設置芯片送出中斷號的高5位。

  • ICW3 當ICW1的D1位爲1,表示需要ICW3,纔會對ICW3進行設置。

  • ICW4 若ICW1的D0位爲1,表示需要ICW4,纔會對ICW4進行設置。

操作狀態 操作命令寄存器組

  • OCW1 用來設置中斷屏蔽寄存器。

  • OCW2 用來管理中斷優先級。

  • OCW3 用於設置或清除特殊屏蔽方式和讀取寄存器狀態。當D4D3=01且地址線A0=0時,表示對OCW3進行編程。

命令字總結

8259A工作邏輯

首先CPU使用IN/OUT指令對8259A芯片進行初始化編程,爲其設定好工作方式,然後8259A進入操作模式可以處理外部中斷,此時CPU可以通過IN/OUT指令實時對8259A的工作機制進行刷新。這也是CPU命令對8259A就是這樣編程的。具體到一條CPU命令如OUT AX,21H

工作週期
1.當有外部中斷通過IR0~IR7輸入時,根據IMR狀態將其存入IRR寄存器。
2.然後8259A通過INT引腳對CPU提出外部中斷請求,若CPU同意中斷,則連續向INTR* 輸出兩個脈衝信號,若未應答則等待。
3.獲取到第一個INTR* 信號後,置位最高優先級的ISR位,並將相應的IRR位復位。
4.在第二個INTR*脈衝信號時,8259A向數據總線輸出8位中斷向量號供CPU讀取。至此一個工作週期完成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章