第七章中斷系統(tǒng)_第1頁(yè)
第七章中斷系統(tǒng)_第2頁(yè)
第七章中斷系統(tǒng)_第3頁(yè)
第七章中斷系統(tǒng)_第4頁(yè)
第七章中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩47頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第七章

中斷系統(tǒng)7.18086/8088CPU中斷系統(tǒng)7.1.1中斷系統(tǒng)的基本概念7.1.2中斷的分類(lèi)7.1.3計(jì)算機(jī)中斷處理的步驟7.2Intel8259A可編程中斷控制器7.3中斷程序舉例本章學(xué)習(xí)目標(biāo)

掌握有關(guān)中斷的基本概念、中斷優(yōu)先級(jí)、中斷嵌套、中斷屏蔽、中斷向量等基本概念。了解8086/8088中斷系統(tǒng)中的中斷源分類(lèi)掌握可編程中斷控制器8259A的功能、內(nèi)部結(jié)構(gòu)、工作方式及初始化命令和操作命令的定義、使用方法,服務(wù)程序的基本編寫(xiě)方法。7.1.1中斷系統(tǒng)基本概念1、中斷實(shí)質(zhì)上是一過(guò)程,當(dāng)CPU執(zhí)行程序過(guò)程中,由于隨機(jī)事件(包括CPU內(nèi)部的和外部的事件)引起CPU暫時(shí)停止正在執(zhí)行的程序,而轉(zhuǎn)去執(zhí)行一個(gè)用于處理該事件的程序(中斷服務(wù)程序),中斷程序處理完后,又返回到被中止的程序斷點(diǎn)處繼續(xù)執(zhí)行。2、中斷系統(tǒng)的作用(1)分時(shí)處理(2)故障處理(3)實(shí)時(shí)處理7.1.2中斷的分類(lèi)8086/8088可以處理256種不同類(lèi)型的中斷,每個(gè)中斷對(duì)應(yīng)一個(gè)中斷向量碼(0-255)。CPU按照向量碼的不同來(lái)識(shí)別不同的中斷源。中斷源:引起程序中斷的事件。1、外部中斷:由硬件電路或外設(shè)接口產(chǎn)生的。可屏蔽中斷不可屏蔽中斷(1)通過(guò)INTR引腳將中斷信號(hào)送入CPU通過(guò)NMI引腳將中斷信號(hào)送入CPU(2)級(jí)數(shù):在一個(gè)系統(tǒng)中,通過(guò)8259A的配合工作可有幾十個(gè);(3)是否受IF的影響若有中斷請(qǐng)求,能否響應(yīng),取決于IF,優(yōu)先級(jí)的高低。若有中斷請(qǐng)求,不論當(dāng)前正在做什么事,都會(huì)在執(zhí)行完當(dāng)前指令后立即響應(yīng)并進(jìn)入中斷服務(wù)程序。(4)優(yōu)先級(jí)別:受硬件、軟件的限制;(5)觸發(fā)方式:電平觸發(fā),高電平有效,其引腳的高電平必須維持到CPU響應(yīng)中斷結(jié)束。上升沿觸發(fā),之后維持2個(gè)時(shí)鐘周期的高電平。(6)向量碼:由用戶(hù)設(shè)計(jì),硬件連線決定中斷向量碼、優(yōu)先次序。(7)處理一般外部設(shè)備的中斷用于處理系統(tǒng)中出現(xiàn)的重大故障或緊急事件。2、內(nèi)部中斷/軟件中斷:與外部硬件完全無(wú)關(guān)。(1)由CPU的某些運(yùn)算錯(cuò)誤引起的中斷CPU在運(yùn)行程序時(shí),會(huì)發(fā)現(xiàn)一些運(yùn)算中的錯(cuò)誤,此時(shí)CPU就會(huì)中斷程序,讓用戶(hù)去處理。A、除法錯(cuò)中斷:除數(shù)為零,或商超過(guò)了結(jié)果寄存器所能表示的最大范圍。處理:該中斷的服務(wù)處理一般由系統(tǒng)軟件進(jìn)行處理。B、溢出中斷:算術(shù)運(yùn)算的結(jié)果,導(dǎo)致OF=1專(zhuān)用指令:INTO,必須與算術(shù)指令配合。處理方法:算術(shù)運(yùn)算后,+INTO處理方法:算術(shù)運(yùn)算后,+INTO當(dāng)OF=1,則產(chǎn)生溢出中斷當(dāng)OF=0,繼續(xù)執(zhí)行下一條指令算術(shù)運(yùn)算后,-INTO當(dāng)OF=1,不會(huì)向CPU發(fā)中斷,會(huì)導(dǎo)致錯(cuò)誤的運(yùn)算結(jié)果。當(dāng)OF=0,不會(huì)導(dǎo)致錯(cuò)誤的運(yùn)算結(jié)果。(2)由調(diào)試程序debug設(shè)置的中斷

軟件對(duì)Flags的設(shè)置引發(fā)的中斷調(diào)試程序過(guò)程中,為了檢查中間結(jié)果或?qū)ふ页绦蛑械腻e(cuò)誤,在程序中設(shè)置斷點(diǎn)或進(jìn)行單步跟蹤。為了實(shí)現(xiàn)該功能,由中斷指令實(shí)現(xiàn)。A、單步中斷:TF=1,單步執(zhí)行程序。每執(zhí)行完一條指令,自動(dòng)產(chǎn)生單步中斷,暫時(shí)中斷程序的運(yùn)行,檢查結(jié)果。產(chǎn)生中斷時(shí),CPU自動(dòng)將PSW、CS、IP→SP,清除TF、IF。由于進(jìn)入單步中斷處理程序時(shí),TF=0,不再處于單步工作方式,而以正常方式工作。當(dāng)單步處理結(jié)束后,SP→IP、CS、PSW,CPU又返回到單步工作方式。B、斷點(diǎn)中斷:由debug調(diào)試程序時(shí),用命令設(shè)置斷點(diǎn)。CPU執(zhí)行到斷點(diǎn)時(shí)便產(chǎn)生了中斷。INT3(單字節(jié)指令)原因:執(zhí)行指令I(lǐng)NT3INT3可插在程序的任何地方(斷點(diǎn))處理:該中斷服務(wù)處理,顯示有關(guān)寄存器、存儲(chǔ)器的內(nèi)容。(3)執(zhí)行指令I(lǐng)NTn引起的中斷

INTn;SP←SP-2,SP+1:SP←PSWIF←0,TF←0SP←SP-2,SP+1:SP←CSSP←SP-2,SP+1:SP←IPIP←4n+1:4nCS←4n+3:4n+2IRET;IP←SP+1:SP,SP←SP+2CS←SP+1:SP,SP←SP+2PSW←SP+1:SP,SP←SP+25.1.3計(jì)算機(jī)中斷處理的步驟處理一個(gè)中斷的過(guò)程,就是妥善處理以下一些基本問(wèn)題的過(guò)程:1)何時(shí)檢查中斷輸入信號(hào)及其處理辦法。2)如何把控制轉(zhuǎn)給中斷服務(wù)程序。3)如何保護(hù)和恢復(fù)中斷的現(xiàn)場(chǎng)。4)如何識(shí)別中斷源。5)如何識(shí)別優(yōu)先級(jí)較高的中斷。6)如何開(kāi)放和關(guān)閉中斷。計(jì)算機(jī)中斷處理的步驟1、中斷請(qǐng)求2、中斷允許3、中斷優(yōu)先權(quán)4、中斷響應(yīng)5、中斷處理6、中斷返回1、中斷請(qǐng)求:CPU如何識(shí)別有無(wú)中斷請(qǐng)求信號(hào)。(1)邊沿觸發(fā):CPU根據(jù)中斷請(qǐng)求端上有無(wú)上升沿或下跳沿來(lái)決定中斷請(qǐng)求信號(hào)是否有效。一般情況下,CPU能夠立即予以響應(yīng)的中斷可采用。例NMI。(2)電平觸發(fā)方式:CPU根據(jù)中斷請(qǐng)求端上有無(wú)穩(wěn)定的電平信號(hào)(高低電平取決于CPU的設(shè)計(jì))來(lái)確定中斷請(qǐng)求信號(hào)是否有效。一般,CPU不能立即響應(yīng)的中斷采用。例INTR。但為保證產(chǎn)生的中斷被CPU處理,INTR信號(hào)應(yīng)保持到該信號(hào)被CPU響應(yīng)為止。CPU響應(yīng)后,INTR信號(hào)還應(yīng)及時(shí)撤除,以免造成多次響應(yīng)。2、中斷允許(屏蔽):CPU查詢(xún)是否開(kāi)中斷。IF=0,禁止中斷;IF=1,開(kāi)放中斷3、中斷判優(yōu):解決請(qǐng)求中斷事件的識(shí)別,優(yōu)先級(jí)的順序問(wèn)題。系統(tǒng)具有多個(gè)中斷源,由于中斷產(chǎn)生的隨機(jī)性,有可能在某一時(shí)刻兩個(gè)以上的中斷源同時(shí)發(fā)生中斷請(qǐng)求,而CPU往往只有一條中斷請(qǐng)求線,并且任一時(shí)刻只能響應(yīng)并處理一個(gè)中斷,這就要求CPU能識(shí)別是哪些中斷源申請(qǐng)了中斷并找出優(yōu)先級(jí)最高的中斷源并響應(yīng)之,在其處理完后,再響應(yīng)級(jí)別較低的中斷源的請(qǐng)求優(yōu)先權(quán)的判別方法:(1)軟件判優(yōu):軟件安排各中斷源的優(yōu)先級(jí)別。優(yōu)先級(jí)別:由查詢(xún)順序決定特點(diǎn):優(yōu)先權(quán)安排靈活,,但所花時(shí)間長(zhǎng),中斷源較多的情況下,中斷響應(yīng)的實(shí)時(shí)性差。

CPU中斷請(qǐng)求寄存器并行輸入端口DBINTRIRQ0IRQ7

Y

Y

Y

N

N

N

保護(hù)現(xiàn)場(chǎng)

檢查IRQ1的中斷狀態(tài)是否為“1”

檢查IRQ2的中斷狀態(tài)是否為“1”

檢查IRQ3的中斷狀態(tài)是否為“1”

IRQ1的服務(wù)程序

IRQ2的服務(wù)程序

IRQ3的服務(wù)程序

恢復(fù)現(xiàn)場(chǎng)

中斷返回

中斷處理入口

(2)硬件判優(yōu):利用硬件電路安排各中斷源的優(yōu)先級(jí)別。將所有的中斷源構(gòu)成一個(gè)菊花鏈,各中斷源在鏈中的前后順序是根據(jù)中斷優(yōu)先級(jí)別的高低來(lái)排列的,排在鏈前面的高優(yōu)先級(jí)別的中斷會(huì)自動(dòng)封鎖低優(yōu)先級(jí)別的中斷。

I/ODATABUS中斷請(qǐng)求SYNPOL1號(hào)設(shè)備2號(hào)設(shè)備n號(hào)設(shè)備CPU(3)中斷向量法:不同的中斷源對(duì)應(yīng)不同的中斷向量碼的方法來(lái)確定中斷源。硬件中用一個(gè)中斷優(yōu)先權(quán)判別器判別出哪個(gè)中斷請(qǐng)求的優(yōu)先級(jí)別最高,然后在CPU響應(yīng)中斷時(shí)把此中斷源所對(duì)應(yīng)的中斷向量碼送給CPU,CPU根據(jù)中斷向量碼找到相應(yīng)的中斷服務(wù)程序入口,對(duì)此中斷進(jìn)行處理。

INTR1

INTA1

INTM1

INTR2

INTA2

INTM2

INTRn

INTAn

INTMn

優(yōu)

權(quán)

設(shè)備接口

1

IR

IM

設(shè)備接口

2

IR

IM

設(shè)備接口

n

IR

IM

INTR

INTA

向量地址

主機(jī)

中斷嵌套當(dāng)CPU正在處理中斷時(shí),有更高優(yōu)先級(jí)別的中斷請(qǐng)求,并且IF=1,CPU轉(zhuǎn)去響應(yīng)更高級(jí)別的中斷請(qǐng)求,屏蔽掉低級(jí)別的中斷請(qǐng)求,形成中斷嵌套。

4、中斷響應(yīng):(1)中斷響應(yīng)的條件有中斷請(qǐng)求信號(hào)中斷請(qǐng)求沒(méi)有被屏蔽中斷是開(kāi)放的CPU在現(xiàn)行指令執(zhí)行結(jié)束時(shí)響應(yīng)中斷(2)CPU何時(shí)檢測(cè)到中斷請(qǐng)求中斷請(qǐng)求何時(shí)發(fā)生是隨機(jī)的。CPU在每條指令執(zhí)行的最后一個(gè)時(shí)鐘周期檢測(cè)中斷引腳上有無(wú)請(qǐng)求信號(hào)。(3)中斷響應(yīng)的時(shí)間及條件CPU在現(xiàn)行指令執(zhí)行結(jié)束后,馬上響應(yīng)中斷。當(dāng)前執(zhí)行的指令是STI或IRET,則他們執(zhí)行完后再執(zhí)行一條指令,CPU才去響應(yīng)中斷。(4)中斷響應(yīng)過(guò)程發(fā)出中斷響應(yīng)信號(hào)。獲取中斷向量碼n并暫存。將PSW壓入堆棧,同時(shí)清IF、TF。斷點(diǎn)保護(hù)。即將當(dāng)前IP、CS壓入堆棧保護(hù)獲取中斷服務(wù)程序的入口地址。5、中斷處理:通過(guò)執(zhí)行中斷服務(wù)程序完成保護(hù)現(xiàn)場(chǎng)開(kāi)中斷(允許中斷嵌套)。執(zhí)行中斷服務(wù)程序。注意不易過(guò)長(zhǎng)和過(guò)于復(fù)雜。在中斷服務(wù)程序中停留的時(shí)間越短越好,否則程序易出錯(cuò),也影響對(duì)其他中斷源的及時(shí)處理。一般方法是,只執(zhí)行必須執(zhí)行的操作,其他放到其他程序。關(guān)中斷,確保有效恢復(fù)到被中斷程序的現(xiàn)場(chǎng)?;謴?fù)現(xiàn)場(chǎng)開(kāi)中斷中斷返回。中斷服務(wù)程序框圖與程序示例

中斷服務(wù)程序入口

CPU響應(yīng)中斷后

自動(dòng)關(guān)中斷保護(hù)現(xiàn)場(chǎng)

開(kāi)中斷

中斷服務(wù)

關(guān)中斷

恢復(fù)現(xiàn)場(chǎng)

開(kāi)中斷

中斷返回

入口地址:

PUSHAX;保護(hù)現(xiàn)場(chǎng)

PUSHBX

PUSHCX

PUSHDX

PUSHSI

PUSHDI

PUSHSP

PUSHBP

STI;開(kāi)中斷

;中斷服務(wù)

CLI;關(guān)中斷

POPBP;恢復(fù)現(xiàn)場(chǎng)

POPSP

POPDI

POPSI

POPDX

POPCX

POPBX

POPAX

STI;開(kāi)中斷

IRET;中斷返回

結(jié)尾部分

主體部分

起始部分

返回本節(jié)6、中斷向量和中斷向量表中斷向量:中斷服務(wù)程序的入口地址。每個(gè)中斷向量占4個(gè)字節(jié)。中斷向量表:中斷服務(wù)程序入口地址表。是中斷向量碼與它相應(yīng)的中斷服務(wù)程序入口地址之間的轉(zhuǎn)換表。中斷向量地址:中斷服務(wù)程序入口地址的存儲(chǔ)地址。中斷向量地址(偏移地址)與中斷向量碼之間的關(guān)系是4n。中斷向量表003FFH

003FCH

00080H

0007CH

00014H

00012H

0000CH

00008H

00004H

00000H

專(zhuān)用

中斷向量

(5個(gè))

系統(tǒng)保留

中斷向量

(27個(gè))

用戶(hù)可用

中斷向量(224個(gè))

16位

CS

IP

255號(hào)向量

32號(hào)向量

31號(hào)向量

5號(hào)向量

4號(hào)向量(溢出)

3號(hào)向量

2號(hào)向量(非屏蔽)

1號(hào)向量(單步)

0號(hào)向量(除法錯(cuò))

中斷向量的設(shè)置:如何將中斷服務(wù)程序入口地址送入中斷類(lèi)型碼所對(duì)應(yīng)中斷向量表中1、采用DOS系統(tǒng)功能調(diào)用。即INT21H的25H號(hào)功能調(diào)用。2、將中斷服務(wù)程序的入口地址直接裝入中斷向量表中。

1.中斷優(yōu)先級(jí)別中斷源優(yōu)先級(jí)除法錯(cuò)、INTn,INTO最高NMI↑INTR∣單步(陷阱)最低中斷優(yōu)先級(jí)順序小結(jié)7.2Intel8259A可編程中斷控制器7.2.18259A的框圖和引腳7.2.2中斷觸發(fā)方式和中斷響應(yīng)過(guò)程7.2.3工作方式7.2.4屏蔽中斷源的方式7.2.5結(jié)束中斷處理的方式7.2.6中斷級(jí)聯(lián)方式7.2.78259A初始化命令字和操作方式命令字返回本章首頁(yè)7.2.18259A的框圖和引腳1.功能管理和控制80x86的外部中斷請(qǐng)求實(shí)現(xiàn)中斷判優(yōu)提供中斷向量屏蔽中斷輸入使用單片8259A可以管理8級(jí)中斷,采用級(jí)聯(lián)方式,最多可管理64級(jí)中斷2、結(jié)構(gòu)框圖

D7~D0

SP/EN

CAS0

CAS1

CAS2

RD

WR

A0

CS

控制邏輯中斷服務(wù)寄存器ISR

中斷判優(yōu)器

中斷請(qǐng)求寄存器IRR

中斷屏蔽寄存器IMR

INTA

INT

內(nèi)部總線

IR0

IR1

IR2

IR3

IR4

IR5

IR6

IR7

讀寫(xiě)控制邏輯數(shù)據(jù)總線緩沖器級(jí)聯(lián)緩沖比較器3、8259A的引腳

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

CAS0

CAS1

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

4、8259A的工作原理及中斷響應(yīng)過(guò)程(1)外部設(shè)備在中斷請(qǐng)求輸入線(IR7~I(xiàn)R0)上發(fā)了中斷請(qǐng)求,使中斷請(qǐng)求寄存器IRR的相應(yīng)位置位。(2)IRR的內(nèi)容與IMR的內(nèi)容的非相“與”,結(jié)果送給優(yōu)先級(jí)分析器。中斷優(yōu)先級(jí)分析器把優(yōu)先級(jí)最高的中斷請(qǐng)求送到控制電路。(3)控制電路將接收到的中斷請(qǐng)求向CPU輸出INT信號(hào)。

(4)若CPU是處在開(kāi)中斷狀態(tài),則在當(dāng)前指令執(zhí)行完以后,接收到INT信號(hào),輸出一個(gè)中斷響應(yīng)脈沖,進(jìn)入第一個(gè)中斷響應(yīng)周期。(5)8259A的腳上收到脈沖信號(hào),就將最高優(yōu)先級(jí)所對(duì)應(yīng)的IRR位清除,并將對(duì)應(yīng)的ISR位置位。(6)CPU啟動(dòng)第二個(gè)中斷響應(yīng)周期,輸出另一個(gè)脈沖,在這個(gè)周期8259A向數(shù)據(jù)總線輸出一個(gè)中斷向量碼。(7)CPU讀取該中斷向量碼,把它乘以4,得到中斷服務(wù)程序入口地址,轉(zhuǎn)入該中斷服務(wù)程序。這樣一個(gè)中斷響應(yīng)周期就完成了。5、8259A寄存器及I/O端口的識(shí)別CSRDWRA0功能8259A端口PC/XT機(jī)端口0010讀IRR,ISR偶地址20H0011讀IMR奇地址21H0100寫(xiě)ICW1,OCW2,OCW3偶地址20H0101寫(xiě)ICW2,ICW3,ICW4,OCW1奇地址21H011×無(wú)操作

1×××無(wú)操作

返回本節(jié)7.2.2中斷管理方式1、優(yōu)先級(jí)設(shè)置方式(1)一般完全嵌套方式:中斷優(yōu)先級(jí)分配固定級(jí)別0~7級(jí),IR0具有最高優(yōu)先級(jí),IR7優(yōu)先級(jí)最低。但優(yōu)先級(jí)順序可通過(guò)程序來(lái)改變處理某級(jí)中斷時(shí),只允許高級(jí)中斷進(jìn)入,實(shí)現(xiàn)中斷嵌套,禁止同級(jí)或低級(jí)中斷請(qǐng)求進(jìn)入。中斷結(jié)束方式:普通EOI方式,自動(dòng)AEOI方式。

(2)特殊完全嵌套方式用于級(jí)連系統(tǒng),且僅適用于主片,確定從片內(nèi)部?jī)?yōu)先級(jí)的工作方式;中斷優(yōu)先級(jí)固定;處理某級(jí)中斷時(shí),允許同級(jí)(同一從片上,優(yōu)先級(jí)高的中斷;對(duì)主片,認(rèn)為同級(jí)中斷)、高級(jí)(主片上其它優(yōu)先級(jí)較高);特殊EOI方式(3)優(yōu)先級(jí)自動(dòng)循環(huán)方式

a、用于系統(tǒng)中多個(gè)中斷源優(yōu)先級(jí)相等的場(chǎng)合;b、優(yōu)先級(jí)別可以改變,一個(gè)中斷源得到服務(wù)以后,它的優(yōu)先級(jí)別變?yōu)樽畹?,將最高?yōu)先級(jí)賦給原來(lái)比它低一級(jí)的中請(qǐng);IRR00010010優(yōu)先級(jí)76543210IR1被服務(wù)后優(yōu)先級(jí)54321076C、AEOI、普通EOI方式(4)優(yōu)先級(jí)特殊循環(huán)方式A、優(yōu)先級(jí)別可以改變,一個(gè)中斷源得到服務(wù)以后,它的優(yōu)先級(jí)別變?yōu)樽畹?,將最高?yōu)先級(jí)賦給原來(lái)比它低一級(jí)的中請(qǐng);

b

初始最低優(yōu)先級(jí)由程序規(guī)定,最高優(yōu)先級(jí)也就確定了。不是固定IR0為初始最高級(jí);C、特殊EOI方式。

2、中斷結(jié)束方式

使ISR中ISRn清零的工作,什么時(shí)刻使ISR中對(duì)應(yīng)位置0。(1)中斷自動(dòng)結(jié)束方式:任何一級(jí)中斷被響應(yīng)后,ISR對(duì)應(yīng)位置1。在CPU進(jìn)入中斷響應(yīng)周期,發(fā)第二個(gè)INTA脈沖(后沿),8259A將自動(dòng)把ISR中的對(duì)應(yīng)位清除。。(2)一般的中斷結(jié)束方式

任何一級(jí)中斷處理結(jié)束返回上一級(jí)程序前,CPU向8259A傳送EOI結(jié)束命令字(必須放在IRET前),8259A就會(huì)把當(dāng)前的ISR中的最高IS位(反映了最后一次被響應(yīng)和被處理的中斷)復(fù)位(ISRn=0相當(dāng)于結(jié)束了當(dāng)前正在處理的中斷)。(3)特殊的中斷結(jié)束方式CPU向8259A發(fā)特殊EOI方式命令字,指出要清除當(dāng)前ISR中的哪一位ISRn。3、中斷源屏蔽方式(1)普通屏蔽方式將IMR某位置1,則它對(duì)應(yīng)的IRi就被屏蔽,使對(duì)應(yīng)的中斷請(qǐng)求被屏蔽,不能從8259A送到CPU;將IMR某位清0,則允許該IRi中斷傳送給CPU。

(2)特殊屏蔽方式希望一個(gè)中斷服務(wù)程序能動(dòng)態(tài)地改變系統(tǒng)的優(yōu)先級(jí)結(jié)構(gòu)。注意事項(xiàng):在中斷處理程序中使用。操作:在IRi的處理中,若希望使除IRi以外的所有IR中斷請(qǐng)求均可被響應(yīng)的話,則首先設(shè)置特殊屏蔽方式,再編程(用OCW1對(duì)IMR)將IRi屏蔽掉(使IMR中的ImRi位置1),同時(shí)會(huì)使ISR中的IsRi位復(fù)位。這樣,除了正在服務(wù)的這級(jí)中斷被屏蔽(不允許產(chǎn)生進(jìn)一步的中斷外),其它各級(jí)中斷全部開(kāi)放。4、中斷級(jí)聯(lián)方式(1)緩沖方式:8259A通過(guò)總線驅(qū)動(dòng)器和數(shù)據(jù)總線相連,這就是緩沖方式。(2)非緩沖方式:當(dāng)系統(tǒng)中只有單片8259A時(shí),一般將它直接與數(shù)據(jù)總線相連。

5、中斷請(qǐng)求方式(1)邊沿觸發(fā)方式:上升沿(2)電平觸發(fā)方式:高電平(3)中斷查詢(xún)方式:外設(shè)通過(guò)邊沿或電平觸發(fā)方式向8259A提中斷,而CPU通過(guò)軟件查詢(xún)方式來(lái)確認(rèn)中斷源。具有中斷、查詢(xún)二者特點(diǎn)

B7~B0

T

74LS245OE

A7~A0

DT/R

INTR

DEN

局部數(shù)據(jù)總線

B7~B0

T

74LS245OE

A7~A0

SP/END7~D0

從控B

CAS2-0INTAINT

SP/END7~D0

從控A

CAS2-0INTAINT

SP/END7~D0

主控制器INT

IR5IR6INTACAS2-0

+5V1kΩ

B7~B0

OE74LS245T

A7~A0

+5V1kΩ

+5V1kΩ

系統(tǒng)數(shù)據(jù)總線

INTA

8259A緩沖方式下級(jí)連結(jié)構(gòu)8259A非緩沖方式下級(jí)連結(jié)構(gòu)

地址總線

控制總線

數(shù)據(jù)總線

CSA0DBINTA

INT

CAS0

8259A從控ACAS1

CAS2

SP/ENIRQ7┅IRQ0

CSA0DBINTAINT

CAS0

CAS18259A主控

CAS2

IRQ7┅IRQ0

SP/EN76

5432

10

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

GND76543210

GND76543210

VCC76543210

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

7.2.38259A初始化命令字和操作方式命字1.初始化命令字ICW(1)ICW1(2)ICW2(3)ICW3(4)ICW4(5)初始化命令字的編程順序ICW1命令字

A00

偶地址端口

D7D6D5D4D3D2D1D0XXX1LTIMXSNGLIC4

特征位

1電平觸發(fā)

0邊沿觸發(fā)

1單片方式

0級(jí)連方式

1要ICW4

0不要ICW4

ICW2命令字

A0

D7

D6

D5

D4

D3

D2

D1D0

1

8259A填入T7T6T5T4T3000

中斷類(lèi)型號(hào)的高5位主8259A的ICW3命令字

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

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

A0

D7

D6

D5

D4

D3

D2

D1

D0

S3

S2

S1

S0

S4

S5

S6

S7

1

從8259A的ICW3命令字

A0

D7

D6

D5

D4

D3

D2

D1

D0

0

S2

S1

S0

0

0

0

0

1

該從片的INT引腳與主片的哪一個(gè)引腳相連ICW4命令字

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

x8259A初始化命令字的順序

開(kāi)始

初始化ICW1

初始化ICW2

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

初始化ICW3

是否用ICW4?

初始化ICW4

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

結(jié)束

Y

Y

Y

N

N

2.操作命令字OCW(1)OCW1:OCW1是中斷屏蔽命令字,D7~D0分別控制對(duì)應(yīng)的IRQ7~I(xiàn)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論