第九章 可編程中斷控制器8259A_第1頁(yè)
第九章 可編程中斷控制器8259A_第2頁(yè)
第九章 可編程中斷控制器8259A_第3頁(yè)
第九章 可編程中斷控制器8259A_第4頁(yè)
第九章 可編程中斷控制器8259A_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

9.3可編程中斷控制器8259A9.3.18259A的內(nèi)部結(jié)構(gòu)與功能

9.3.28259A的初始化命令字及其編程

9.3.38259A的操作命令字及其編程

9.3.48259A的應(yīng)用舉例可編程中斷控制器8259A

8259A它既是一種可編程中斷控制器,又稱為“優(yōu)先級(jí)中斷控制器”,具有強(qiáng)大的中斷管理功能。作為一種可編程中斷控制器,是一種集成芯片。它用來(lái)管理輸入到CPU的各種外部中斷申請(qǐng),能提供中斷向量、屏蔽各種中斷輸入等功能。每一片8259A芯片都能直接管理8級(jí)中斷,最多可以9片8259A芯片級(jí)連,由其構(gòu)成級(jí)連機(jī)構(gòu)可以管理64級(jí)中斷。8259A的主要功能(1)具有8級(jí)優(yōu)先權(quán)控制,通過(guò)級(jí)連可擴(kuò)展至64級(jí)優(yōu)先權(quán)控制。(2)每一級(jí)中斷都可以獨(dú)立進(jìn)行屏蔽或允許。(3)在中斷響應(yīng)周期,8259A可向CPU提供相應(yīng)的中斷向量,從而能迅速地轉(zhuǎn)至中斷服務(wù)程序。(4)8259A具有多種中斷優(yōu)先權(quán)管理方式,有完全嵌套方式、自動(dòng)循環(huán)方式、特殊循環(huán)方式、特殊屏蔽方式和查詢方式5種工作方式,可以通過(guò)編程來(lái)進(jìn)行選擇。9.3.18259A的內(nèi)部結(jié)構(gòu)與功能一、8259A的內(nèi)部結(jié)構(gòu)(1)8位中斷請(qǐng)求寄存器IRR(InterruptRequestRegister)用來(lái)存放外設(shè)來(lái)的中斷請(qǐng)求信號(hào)IR0—IR7,是一個(gè)中斷源的中斷請(qǐng)求寄存器。它有“正跳變”邊沿觸發(fā)和“高電平”電平觸發(fā)兩種觸發(fā)方式。(2)8位中斷屏蔽寄存器IMR是用來(lái)存放CPU送來(lái)的屏蔽信號(hào),當(dāng)某位為“1”時(shí),則對(duì)應(yīng)的中斷請(qǐng)求就被屏蔽。(3)8位中斷服務(wù)寄存器ISR是用來(lái)記憶正在處理的中斷級(jí)別。當(dāng)CPU正執(zhí)行中斷服務(wù)時(shí),則使ISR中的相應(yīng)位置“1”,當(dāng)ISR中為全“0”時(shí),表示CPU正執(zhí)行正常程序。(4)優(yōu)先權(quán)判別器(PR)也稱為優(yōu)先權(quán)分析器,是用來(lái)管理中斷源的優(yōu)先級(jí)別的。9-68259A的結(jié)構(gòu)框圖(a)

VCC

A0

INTA

IR7

IR6

IR5

IR4

IR3

IR2

IR1

IR0

INT

SP/EN

CAS2

CS

WR

RD

D7

D6

D5

D4

D3

D2

D1

D0

CAS0CAS1

GND

1

8259A28

2

27

3

26

4

25

5

24

6

23

7

22

8

21

9

20

10

19

11

18

12

17

13

16

14

15

9-68259A的引腳圖(b)級(jí)聯(lián)工作方式單片8259A可支持8個(gè)中斷源;采用多片8259A級(jí)連,可最多支持64個(gè)中斷源。n片8259A可支持7n+1個(gè)中斷源;級(jí)連時(shí)只能有一片8259A為主片,其余的均為從屬片;涉及到的8259A引腳包括:CAS0-CAS2SP/ENIRiINT級(jí)連電路連接方法二、8259A的中斷優(yōu)先權(quán)管理及中斷結(jié)束方式(p260)8259A的中斷優(yōu)先權(quán)管理方式(1)完全嵌套方式這是一種按固定的優(yōu)先級(jí)別高低來(lái)管理中斷的方式。此時(shí)當(dāng)一個(gè)中斷請(qǐng)求正在處理過(guò)程中,不再響應(yīng)同級(jí)或較低級(jí)別的中斷請(qǐng)求,但能響應(yīng)高級(jí)別的中斷請(qǐng)求。IR0、IR1…IR7,8個(gè)中斷源的中斷優(yōu)先級(jí)固定為IR0的優(yōu)先級(jí)別最高,IR1次之,而IR7最低。這是一種最基本的優(yōu)先級(jí)管理方式,加電后8259A自動(dòng)進(jìn)入此方式。(2)自動(dòng)循環(huán)方式(自學(xué))這是一種中斷源的中斷優(yōu)先級(jí)別將隨著中斷響應(yīng)過(guò)程的結(jié)束而改變的中斷優(yōu)先權(quán)管理方式。(3)特殊循環(huán)方式(自學(xué))這是一種通過(guò)在主程序或中斷服務(wù)程序中發(fā)出特殊循環(huán)方式操作命令來(lái)指定某個(gè)中斷源的優(yōu)先級(jí)別為最低,而其余的中斷源優(yōu)先級(jí)別也隨著循環(huán)變化的中斷優(yōu)先管理方式。(4)特殊屏蔽方式(自學(xué))在某些應(yīng)用場(chǎng)合,希望一個(gè)中斷服務(wù)程序能動(dòng)態(tài)改變中斷系統(tǒng)的優(yōu)先級(jí)別結(jié)構(gòu)。(5)查詢排序方式(自學(xué))這是一種用軟件查詢方法來(lái)響應(yīng)與8259A相連接的8級(jí)中斷請(qǐng)求。2.8259A的中斷結(jié)束方式(p262)(1)EOI命令方式所謂“EOI命令方式”是指在中斷服務(wù)程序末尾向8259A發(fā)出中斷結(jié)束命令,清除ISR中的相應(yīng)位,表示該級(jí)的中斷服務(wù)程序結(jié)束。普通EOI命令將自動(dòng)清除ISR中優(yōu)先級(jí)最高的那一位。(2)自動(dòng)EOI方式采用自動(dòng)EOI方式時(shí),在第二個(gè)INTA響應(yīng)信號(hào)的后沿由8259A自動(dòng)執(zhí)行普通EOI命令操作,復(fù)位ISR中已置位的中斷優(yōu)先級(jí)最高的位。三、8259A的引腳信號(hào)每個(gè)引腳的功能如下所述:(1)片選信號(hào)(CS)(2)寫(xiě)信號(hào)(WR)(3)讀信號(hào)(RD)(4)D0--D7:8條數(shù)據(jù)總線(5)GND:地信號(hào)(6)Vcc:+5V電源(7)INT:中斷請(qǐng)求信號(hào)(8)INTA中斷響應(yīng)信號(hào)(9)IR0--IR7:8個(gè)中斷請(qǐng)求輸入信號(hào)(10)A0:地址選擇信號(hào)(11)SP/EN:從片編程/允許緩沖器信號(hào)(12)CAS0--CAS2:這三條信號(hào)是8259A級(jí)連時(shí)構(gòu)成8259A的主從式級(jí)連結(jié)構(gòu)四、中斷的順序1)當(dāng)它的一條或多條中斷請(qǐng)求線(IR7~I(xiàn)R0)變?yōu)楦唠娖綍r(shí),它就使中斷請(qǐng)求寄存器IRR相應(yīng)的位置1。2)8259A接受這些請(qǐng)求,分析它們的優(yōu)先級(jí),向CPU發(fā)出高電平有效信號(hào)INT,請(qǐng)求中斷服務(wù)。3)當(dāng)前一條指令執(zhí)行完畢,且IF=1時(shí),CPU響應(yīng)中斷請(qǐng)求,進(jìn)入中斷響應(yīng)總線周期。4)8259A接到來(lái)自CPU的第一個(gè)脈沖,把允許中斷的最高優(yōu)先級(jí)請(qǐng)求位,置入服務(wù)寄存器ISR,并把IRR中對(duì)應(yīng)的位清零。

5)CPU在第二個(gè)總線周期,再次發(fā)出一個(gè)脈沖,8259A接到第二個(gè)脈沖,送出中斷類型碼,CPU讀取該類型碼,根據(jù)中斷類型碼執(zhí)行相應(yīng)的中斷服務(wù)程序。7.3.28259A的初始化命令字及其編程

對(duì)8259A的各種操作都是由CPU來(lái)控制的。CPU的命令分為兩大類:一類是初始化命令字ICW,另一類是操作命令字OCW。CPU對(duì)8259A的ICW操作,是由A0、RD、WR、CS等信號(hào)來(lái)共同控制的。由于8259A是一種可編程的中斷控制器芯片。上電之后,必須根據(jù)8259A的具體應(yīng)用環(huán)境對(duì)它進(jìn)行初始化編程。所謂初始化編程,就是通過(guò)程序向8259A寫(xiě)入若干個(gè)初始化命令字的過(guò)程。有4個(gè)初始化命令字,它們必須按次序依次寫(xiě)入8259內(nèi)部的命令字寄存器中。一、初始化命令字ICW1—ICW4的格式及其功能ICW1圖7-13ICW1命令字格式

A0

D7

D6D5

D4D3

D2

D1

D0

0

1要ICW4

0不要ICW4

1單片方式

0級(jí)連方式

無(wú)意義

特征位1電平觸發(fā)

0邊沿觸發(fā)

ⅹ1LTIMⅹSNGLIC4

其命令的具體格式如下:ICW1(設(shè)置工作狀態(tài))例:13H=(00010011B)無(wú)意義2.ICW2ICW2(選擇中斷向量字節(jié))圖7-14ICW2命令字

A0

D7

D6

D5

D4

D3

D2

D1

D0

1

中斷類型號(hào)的高5位8259A自動(dòng)填入

T7T6T5T4T3XXX

例:18H=(00011000B)3.ICW3ICW3(設(shè)置單片或級(jí)連方式)圖7-15主片8259A的ICW3命令字

1-IRi輸入引腳接從片的INT

0-IRi輸入引腳未接從片的INTA0

D7

D6

D5

D4

D3

D2

D1

D0

S3

S2

S1

S0

S4

S5

S6

S7

1

對(duì)于從片8259A,在ICW3中的各個(gè)位中,ID2~ID0位表示從設(shè)備標(biāo)志代碼,其余位未使用,其格式如下:表

ID2~ID0對(duì)應(yīng)的從設(shè)備狀態(tài)標(biāo)志4.ICW4(設(shè)定工作狀態(tài))圖7-16ICW4命令字

1-8088/8086CPU

0-8080/8085CPU

1-自動(dòng)EOI方式

0-非自動(dòng)EOI方式

1-特殊完全嵌套方式

0-一般完全嵌套方式

0

×非緩沖方式1

0

緩沖方式從片

1

1

緩沖方式主片

A0

D7

D6

D5

D4

D3

D2

D1D0

1

000SFNMBUFM/SAEOIuPM

例:0DH=(00001101B)對(duì)8259A的初始化編程是向它輸送2~4個(gè)字節(jié)的初始化命令字,其順序如圖7-17所示。ICW1和ICW2是必須送的,而ICW3和ICW4是由工作方式來(lái)選擇的。二、8259A的初始化編程1.8259A初始化程序流程7-178259A的操作命令字及其編程

開(kāi)始

初始化ICW1

初始化ICW2

是否用級(jí)連方式?

初始化ICW3

是否用ICW4?

初始化ICW4

準(zhǔn)備接近中斷請(qǐng)求

結(jié)束

YYYN

N

2.單片8259A的初始化編程令8259A的端口地址為80H和81H,則初始化程序如下: MOVAL,13H(00010011);設(shè)置ICW1,即中斷采用邊沿觸發(fā)方式

OUT80H,AL MOVAL,18H(00011000);設(shè)置ICW2,即中斷類型碼高五位為00011B OUT81H,AL MOVAL,0DH(00001101);設(shè)置ICW4,即特殊的完全嵌套方式,也不用自動(dòng)中斷;結(jié)束方式采用緩沖,CPU8086 OUT81H,AL7.3.38259A的操作命令字及其編程一、操作命令字OCW1—OCW3OCW1

OCW1用于設(shè)置8259A的屏蔽中斷操作,它可以直接對(duì)中斷屏蔽寄存器IMR的相應(yīng)屏蔽位進(jìn)行操作。其格式如下:中斷屏蔽寄存器中某位為1,表示相應(yīng)的IRX被屏蔽。為0表示允許相應(yīng)的IRX上的中斷請(qǐng)求。

OCW1用來(lái)設(shè)置IMR,即中斷屏蔽寄存器。某位為“1”時(shí),對(duì)應(yīng)的中斷請(qǐng)求就被屏蔽。 例:已知8259的端口地址為20H,21H,若鍵盤(pán)與8259的IR1相連,如何將鍵盤(pán)產(chǎn)生的中斷請(qǐng)求屏蔽?

INAL,21H ORAL,02H OUT21H,AL2.OCW2功能是用于設(shè)置中斷結(jié)束的方式和修改為循環(huán)方式的中斷優(yōu)先權(quán)管理方式。其具體格式如下:表OCW2的組合控制方式0(完全嵌套方式)3.OCW3

OCW3的功能是用來(lái)設(shè)置特殊屏蔽方式和查詢方式,并用來(lái)控制8259A內(nèi)部的狀態(tài)字IRR,ISR的讀出。3.OCW3

OCW3主要有三個(gè)方面的功能:控制8259A的中斷屏蔽;設(shè)置中斷查詢方式;設(shè)置讀8259A內(nèi)部寄存器命令。其具體格式如下:表COW3的組合控制方式表RR和RIS組合控制邏輯二、8259A操作命令的編程8259A的編程主要完成:初始化編程、操作命令編程和讀取狀態(tài)字。8259A的編程可以分為兩種:(1)初始化編程:由CPU向8259A送2~4個(gè)字節(jié)的初始化命令字ICW(InitializationCommandWord)。在8259A開(kāi)始正常工作之前,必須先送初始化命令字。(2)工作方式編程:由CPU向8259A送三個(gè)字節(jié)的工作命令字OCW(OperationCommandWord)。以規(guī)定8259A的工作方式,例如:中斷屏蔽結(jié)束中斷優(yōu)先權(quán)旋轉(zhuǎn)中斷狀態(tài)初始化必須在使用前編程。工作命令字可在8259A已經(jīng)初始化以后的任何時(shí)間寫(xiě)入。7.3.48259A的應(yīng)用舉例例18259A在IBM-PC/XT中的應(yīng)用.

在IBM-PC/XT微型計(jì)算機(jī)中只有一片8259A,可連接8個(gè)外部中斷源,其連接方法、中斷源名稱、中斷類型碼及中斷服務(wù)程序入口地址如圖7-22和表

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論