<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

8259a的5種工作方式詳細介紹

姚小熊27 ? 來源:網絡整理 ? 2018-05-23 14:12 ? 次閱讀

8259A概述

8259A是專門為了對8085A和8086/8088進行中斷控制而設計的芯片,它是可以用程序控制的中斷控制器。單個的8259A能管理8級向量優先級中斷。在不增加其他電路的情況下,最多可以級聯成64級的向量優級中斷系統。8259A有多種工作方式,能用于各種系統。各種工作方式的設定是在初始化時通過軟件進行的。 在總線控制器的控制下,8259A芯片可以處于編程狀態和操作狀態,編程狀態是CPU使用IN或OUT指令對8259A芯片進行初始化編程的狀態。

8259A主要功能

功能:就是在有多個中斷源的系統中,接受外部的中斷請求,并進行判斷,選中當前優先級最高的中斷請求,再將此請求送到cpu的INTR端;當cpu響應中斷并進入中斷子程序的處理過程后,中斷控制器仍負責對外部中斷請求的管理。

8259A的主要功能如下:

①一片8259A可以接受并管理8級可屏蔽中斷請求,通過8片8259A級聯可擴展至63級可屏蔽中斷優先控制。

②對每一級中斷都可以通過程序來屏蔽或允許。

③在中斷響應周期,8259A可為CPU提供相應的中斷類型碼。

④具有多種工作方式,并可通過編程來加以選擇。

8259a的5種工作方式詳細介紹

8259a的5種工作方式

1.中斷優先權方式

8259A中斷優先權的管理方式有固定優先權方式和自動循環優先權方式兩種。

1)固定優先權方式

在固定優先權方式中,IR7~IR0的中斷優先權的級別是由系統確定的。

它們由高到低的優先級順序是:IR0,IR1,IR2,…,IR7,其中,IR0的優先級最高,IR7的優先級最低。當有多個IRi請求時,優先權判決器(PR)將它們與當前正在處理的中斷源的優先權進行比較,選出當前優先權最高的IRi,向CPU發出中斷請求INT,請求為其服務。

(2)自動循環優先權方式

在自動循環優先權方式中,IR7~IR0優先權級別是可以改變的。

其變化規律是:當某一個中斷請求IRi服務結束后,該中斷的優先權自動降為最低,而緊跟其后的中斷請求IR(i+1)的優先權自動升為最高,IR7~IR0優先權級別按如下所示的右循環方式改變。

8259a的5種工作方式詳細介紹

假設在初始狀態IR0有請求,CPU為其服務完畢,IR0優先權自動降為最低,排在IR7之后,而其后的IR1的優先權升為最高,其余依次類推。這種優先權管理方式,可以使8個中斷請求都擁有享受同等優先服務的權利。

在自動循環優先權方式中,按確定循環時的最低優先權的方式不同,又分為普通自動循環方式和特殊自動循環方式兩種。

普通自動循環方式的特點是:IR7~IR0中的初始最高優先級由系統指定,即指定IR0的優先級最高,以后按右循環規則進行循環排隊。

而特殊自動循環方式的特點是:IR7~IR0中的初始最低優先級,由用戶通過置位優先權命令指定。

2.中斷嵌套方式

8259A的中斷嵌套方式分為完全嵌套和特殊完全嵌套兩種。

(1)完全嵌套方式

完全嵌套方式是8259A在初始化時自動進入的一種最基本的優先權管理方式.

其特點是:中斷優先權管理為固定方式,即IR0優先權最高,IR7優先權最低,在CPU中斷服務期間(即執行中斷服務子程序過程中),若有新的中斷請求到來,只允許比當前服務的中斷請求的優先權“高”的中斷請求進入,對于“同級”或“低級”的中斷請求禁止響應。

(2)特殊完全嵌套方式

特殊完全嵌套方式是8259A在多片級聯方式下使用的一種最基本的優先權管理方式。

其特點是:中斷優先權管理為固定方式,IR7~IR0的優先順序與完全嵌套規定相同;與完全嵌套方式不同之處是在CPU中斷服務期間,除了允許高級中斷請求進入外,還允許同級中斷請求進入,從而實現了對同級中斷請求的特殊嵌套。

在級聯方式下,主片通常設置為特殊完全嵌套方式,從片設置為完全嵌套方式。當主片為某一個從片的中斷請求服務時,從片中的IR7~IR0的請求都是通過主片中的某個IRi請求引入的。因此從片的IR7~IR0對于主片IRi來說,它們屬于同級,只有主片工作于特殊完全嵌套方式時,從片才能實現完全嵌套。

3.中斷屏蔽方式

中斷屏蔽方式是對8259A的外部中斷源IR7~IR0實現屏蔽的一種中斷管理方式,有普通屏蔽方式和特殊屏蔽方式兩種。

(1)普通屏蔽方式

普通屏蔽方式是通過8259A的中斷屏蔽寄存器(IMR)來實現對中斷請求IRi的屏蔽。由編程寫入操作命令字OCW1,將IMR中的Di位置1,以達到對IRi(i=0~7)中斷請求的屏蔽。

(2)特殊屏蔽方式

特殊屏蔽方式允許低優先級中斷請求中斷正在服務的高優先級中斷。這種屏蔽方式通常用于級聯方式中的主片,對于同一個請求IRi上連接有多個中斷源的場合,可以通過編程寫入操作命令字OCW3來設置或取消。

在特殊屏蔽方式中,可在中斷服務子程序中用中斷屏蔽命令來屏蔽當前正在處理的中斷,同時可使ISR中的對應當前中斷的相應位清0,這樣一來不僅屏蔽了當前正在處理的中斷,而且也真正開放了較低級別的中斷請求。

在這種情況下,雖然CPU仍然繼續執行較高級別的中斷服務子程序,但由于ISR中對應當前中斷的相應位已經清0,如同沒有響應該中斷一樣。所以,此時對于較低級別的中斷請求,8259A仍然能產生INT中斷請求,CPU也會響應較低級別的中斷請求。

4.中斷結束方式

中斷結束方式是指CPU為某個中斷請求服務結束后,應及時清除中斷服務標志位,否則就意味著中斷服務還在繼續,致使比它優先級低的中斷請求無法得到響應。中斷服務標志位存放在中斷服務寄存器(ISR)中,當某個中斷源IRi被響應后,ISR中的Di位被置1,服務完畢應及時清除。

8259A提供了以下三種中斷結束方式:

(1)自動結束方式

自動結束方式是利用中斷響應信號8259a的5種工作方式詳細介紹的第二個負脈沖的后沿,將ISR中的中斷服務標志位清除。

這種中斷服務結束方式是由硬件自動完成的,需要注意的是:ISR中為“1”位的清除是在中斷響應過程中完成的,并非中斷服務子程序的真正結束,若在中斷服務子程序的執行過程中有另外一個比當前中斷優先級低的請求信號到來,因8259A并沒有保存任何標志來表示當前服務尚未結束,致使低優先級中斷請求進入,打亂正在服務的程序,因此這種方式只適合用在沒有中斷嵌套的場合。

(2)普通結束方式

普通結束方式是通過在中斷服務子程序中編程寫入操作命令字OCW2,向8259A傳送一個普通EOI(endofinterrupt)命令(不指定被復位的中斷的級號)來清除ISR中當前優先級別最高位。

由于這種結束方式是清除ISR中優先權級別最高的那一位,適合使用在完全嵌套方式下的中斷結束。因為在完全嵌套方式下,中斷優先級是固定的,8259A總是響應優先級最高的中斷,保存在ISR中的最高優先級的對應位,一定對應于正在執行的服務程序。

(3)特殊結束方式

特殊結束方式是通過在中斷服務子程序中編程寫入操作命令字OCW2,向8259A傳送一個特殊EOI命令(指定被復位的中斷的級號)來清除ISR中的指定位。

由于在特殊EOI命令中明確指出了復位ISR中的哪一位,不會因嵌套結構出現錯誤。因此,它可以用于完全嵌套方式下的中斷結束,更適用于嵌套結構有可能遭到破壞的中斷結束。

5.中斷觸發方式

8259A中斷請求輸入端IR7~IR0的觸發方式有電平觸發和邊沿觸發兩種,由初始化命令字ICW1中的LTIM位來設定。

當LTIM設置為1時,為電平觸發方式,8259A檢測到IRi(i=0~7)端有高電平時產生中斷。在這種觸發方式中,要求觸發電平必須保持到中斷響應信號8259a的5種工作方式詳細介紹有效為止,并且在CPU響應中斷后,應及時撤銷該請求信號,以防止CPU再次響應,出現重復中斷現象。

當LTIM設置為0時,為邊沿觸發方式,8259A檢測到IRi端有由低到高的跳變信號時產生中斷。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 8259A
    +關注

    關注

    0

    文章

    6

    瀏覽量

    8248
  • 中斷屏蔽
    +關注

    關注

    0

    文章

    4

    瀏覽量

    6683
  • 中斷控制
    +關注

    關注

    0

    文章

    26

    瀏覽量

    8806
收藏 人收藏

    評論

    相關推薦

    8259A芯片是一種什么類型的芯片?從硬件看中斷之8259A

    在中斷控制過程中,中斷源的識別和優先權的確定可以用硬件排隊電路等實現, **Intel 8259A可編程中斷控制器就是為完成這些任務而設計的一種器件** 。
    的頭像 發表于 08-04 17:17 ?4027次閱讀
    <b class='flag-5'>8259A</b>芯片是一種什么類型的芯片?從硬件看中斷之<b class='flag-5'>8259A</b>

    求答

    某一8086CPU系統中,采用一片8259A進行中斷管理。設8259A工作在全嵌套方式,發送EIO命令結束中斷,邊沿觸發方式,IR0對應的中
    發表于 08-26 14:25

    求助?。?!protues的8259仿真問題

    ,8259A的ICW2OUTDX,ALMOV DX,IOY1+02HMOVAL,03H;一般中斷結束方式,8259A的ICW4 OUTDX,AL;8255初始化MOV DX,MY8255_MODE
    發表于 05-30 21:48

    請問有關于shadow register的工作方式詳細介紹文檔嗎?

    請問有關于shadow register的工作方式詳細介紹文檔嗎? keep on studying
    發表于 06-01 12:04

    介紹UPS電源的四工作方式

    UPS電源是較為常見的應急電源系統,其在市電正常與市電異常的情況下,工作方式也有所不同,以下介紹UPS電源的四工作方式:正常運行、電池工作
    發表于 11-16 06:19

    8251A編程字的相關資料分享

    1、8251A編程字(1)工作方式控制字:(2)工作命令控制字:(3)狀態字:2、8253A編程字(1)模式設置控制字3、8255A編程字(
    發表于 12-22 07:51

    GPIO基本結構和工作方式介紹

    GPIO的8工作方式一、GPIO基本結構和工作方式1、戰艦/精英板2、Min板3、基本結構4、工作方式二、GPIO寄存器說明1、GPIO相關寄存器2、端口配置低寄存器(GPIOx_C
    發表于 01-11 07:02

    串行口的工作方式0介紹

    前言上一篇就已經介紹串行口通信相關概念,寄存器。對串行口通信已經有一定的了解。還介紹串行口工作方式1,這個方式所用最多,務必會用?,F在來介紹
    發表于 02-17 06:16

    8259A在51單片機中的應用

    8259A在MCS一51中的應用進行了分析,給出了電路和相應的程序,并對應用中容易遇到的問題給出了解決方案。
    發表于 11-07 15:20 ?57次下載

    鼠標的工作方式

    鼠標的工作方式 工作方式是指鼠標采用什么工作原理或方式進行工作。常見的鼠標工作方式有滾輪式和光
    發表于 12-28 11:38 ?793次閱讀

    步進電機及驅動電路工作原理及工作方式介紹

    步進電機及驅動電路工作原理及工作方式介紹
    發表于 05-11 18:00 ?0次下載

    8259a初始化的步驟及代碼介紹

    本文首先介紹8259a工作初始化的步驟及程序,其次介紹了通過OCW對8259A進行操作方法,最后介紹
    的頭像 發表于 05-23 14:24 ?2.9w次閱讀
    <b class='flag-5'>8259a</b>初始化的步驟及代碼<b class='flag-5'>介紹</b>

    8259引腳和工作原理介紹

    本文首先介紹8259A主要功能及內部結構,其次介紹8259A引腳圖及工作原理和工作方式,最后
    發表于 05-28 08:34 ?1.8w次閱讀
    <b class='flag-5'>8259</b>引腳和<b class='flag-5'>工作</b>原理<b class='flag-5'>介紹</b>

    ups不間斷電源工作方式

    本視頻主要詳細介紹了ups不間斷電源工作方式,分別是正常運行方式、電池工作方式、旁路運行方式以及
    的頭像 發表于 06-26 14:38 ?6743次閱讀

    AD級聯的工作方式配置和AD雙排序的工作方式配置詳細說明

    本文檔的主要內容詳細介紹的是AD級聯的工作方式配置和AD雙排序的工作方式配置詳細說明
    發表于 12-23 08:00 ?2次下載
    AD級聯的<b class='flag-5'>工作方式</b>配置和AD雙排序的<b class='flag-5'>工作方式</b>配置<b class='flag-5'>詳細</b>說明
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>