講稿7教案資料_第1頁
講稿7教案資料_第2頁
講稿7教案資料_第3頁
講稿7教案資料_第4頁
講稿7教案資料_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

講稿7三、中斷源

引起中斷的原因或發(fā)出中斷申請的來源稱中斷源。

中斷源通常有以下幾種:

a、一般的I/O設(shè)備。

b、由外部事件引起。

c、故障請求中斷。

d、軟件設(shè)置的中斷。

§2中斷的處理過程

一、中斷處理過程中應(yīng)解決的幾個(gè)問題

a、CPU何時(shí)檢測中斷請求信號(hào)以及響應(yīng)中斷的條件。

c、CPU響應(yīng)中斷時(shí),如何保存斷點(diǎn)地址。

d、CPU如何識(shí)別中斷源以及如何轉(zhuǎn)去執(zhí)行相應(yīng)的中

斷服務(wù)程序。

e、如何處理優(yōu)先級(jí)較高的中斷源去中斷正在執(zhí)行的

優(yōu)先級(jí)較低的中斷服務(wù)程序。二、中斷請求

由于每個(gè)中斷源向CPU發(fā)出中斷請求信號(hào)是隨機(jī)的,

而大多數(shù)CPU是在現(xiàn)行指令周期結(jié)束時(shí),才去檢測

有無中斷請求。因此,必須把隨機(jī)的中斷請求信號(hào)

暫存起來,在CPU響應(yīng)中斷后再清除此中斷請求,為

此,要求設(shè)置一個(gè)中斷請求觸發(fā)器。

在多個(gè)中斷源請求中斷的情況下,可設(shè)置中斷屏蔽

觸發(fā)器。它可用來控制外設(shè)的中斷請求能否被送到

CPU,這樣可以增加控制的靈活性。

三、中斷優(yōu)先權(quán)判別

在實(shí)際系統(tǒng)中,常常會(huì)遇到多個(gè)中斷源同時(shí)請求中

斷的情況,這時(shí)CPU必須確定首先為哪一個(gè)中斷源

服務(wù),以及服務(wù)的次序。解決的方法是用中斷優(yōu)先

排隊(duì)的處理方法,即給每一個(gè)中斷源規(guī)定一個(gè)中斷

級(jí)別一優(yōu)先權(quán)。實(shí)現(xiàn)中斷優(yōu)先權(quán)的判別一般有硬件

判別和軟件判別兩種方法。

1、軟件判優(yōu)

當(dāng)CPU響應(yīng)中斷后,把中斷請求觸發(fā)器的狀態(tài)讀入

CPU中,然后逐位檢測,若發(fā)現(xiàn)有中斷請求則轉(zhuǎn)至

相應(yīng)的中斷服務(wù)程序入口,顯然各中斷源的優(yōu)先權(quán)

取決于查詢程序的順序,先測試的優(yōu)先權(quán)為高。

查詢程序如下:

INAL,20H

TESTAL,80H

JNZPWF

TESTAL,40H

JNZDISS

2、硬件判優(yōu)

采用菊花鏈法是硬件判優(yōu)的最簡單的方法,其邏輯

電路如圖示:

菊花鏈邏輯:

由電路可知,來自CPU的中斷響應(yīng)信號(hào)INTA從1號(hào)段備

的菊花鏈邏輯電路開始串行地往下傳送,若1號(hào)設(shè)備

有中斷請求,則中斷響應(yīng)信號(hào)將在門3處被封鎖。可

見,在鏈?zhǔn)脚抨?duì)電路中,排在鏈的前面的設(shè)備其優(yōu)先

權(quán)高。四、中斷響應(yīng)及中斷服務(wù)

1響應(yīng)中斷的條件:

當(dāng)CPU得到經(jīng)中斷判別輸出的中斷請求信號(hào)后,并不

立即響應(yīng)中斷而要等待適當(dāng)?shù)臈l件被滿足。這些條

件有:CPU對中斷是開放的(即中斷允許觸發(fā)IF=1),

一條指令已執(zhí)行完畢,滿足上述條件后,CPU將響應(yīng)

中斷,并進(jìn)入中斷響應(yīng)周期,

2中斷響應(yīng)的順序:

a、發(fā)中斷響應(yīng)信號(hào),INTA。

b、關(guān)中斷,使IF=0

c、保護(hù)斷點(diǎn),封鎖PC+1,把PC值壓棧,以便中斷處

理后返回。

d、給出中斷服務(wù)程序的入口地址,使控制轉(zhuǎn)移到相

應(yīng)的中斷服務(wù)程序。

3中斷服務(wù)程序:

中斷服務(wù)程序的格式如下所示。它包括保護(hù)現(xiàn)場, 中斷服務(wù),恢復(fù)現(xiàn)場,開中斷和返回幾部分。

保護(hù)現(xiàn)場(寄存器及標(biāo)志)

中斷服務(wù)

恢復(fù)現(xiàn)場

開中斷(低級(jí)中斷時(shí),開中斷

應(yīng)放在保護(hù)現(xiàn)場之后)

返回五、中斷嵌套

當(dāng)CPU執(zhí)行優(yōu)先權(quán)級(jí)別較低的中斷服務(wù)程序時(shí),

允許響應(yīng)比它優(yōu)先級(jí)別高的中斷請求,而掛起

正在處理的中斷,這就是所謂中斷嵌套或稱為

多重中斷。要實(shí)現(xiàn)中斷的嵌套,除應(yīng)加入屏蔽

本級(jí)和較低級(jí)中斷請求的環(huán)節(jié)以外,應(yīng)在中斷

服務(wù)程序中,在保護(hù)現(xiàn)場后立即開中斷,以便

響應(yīng)優(yōu)先權(quán)高的中斷源的請求。

§38086的中斷系統(tǒng)

一、8086的中斷分類

8086有一個(gè)強(qiáng)有力的中斷系統(tǒng),可處理256種不同的

中斷,每一個(gè)中斷對應(yīng)一個(gè)類型碼。故256種中斷

對應(yīng)的中斷類型碼為0-225。

從產(chǎn)生中斷的方法來分,可分為外部中斷與內(nèi)部中

斷兩類。

1、外部中斷

8086CPU的兩條引腳INTR和NMI供外部設(shè)備申請中斷

使用。

a、非屏蔽中斷:不受中斷允許標(biāo)志IF的屏蔽。NMI

的中斷類型碼為2。

b、可屏蔽中斷:只有當(dāng)IF=1時(shí),才被允許。可屏蔽

中斷的優(yōu)先權(quán),通常通過對中斷控制

器8259編程來實(shí)現(xiàn)。

2、內(nèi)部中斷

由CPU自己啟動(dòng)的中斷處理過程稱為內(nèi)部中斷。

a、軟件陷井

軟件陷井是指在某些指令執(zhí)行期間,CPU中發(fā)生了某

種情況時(shí),由CPU的內(nèi)部邏輯去啟動(dòng)所需的中服程

序。8086有兩種陷井中斷。

類型0中斷:除法錯(cuò)誤中斷.

類型1中斷:單步中斷(標(biāo)志TF=1時(shí))

b、軟件中斷,通過中斷指令來實(shí)現(xiàn)的中斷。

INTn指令:指定類型中斷,類型為n,n≤255

INT3指令:斷點(diǎn)中斷指令

INT0指令:溢出中斷指令,類型碼為4

IRET指令:中斷返回指令

二、8086的中斷優(yōu)先權(quán)排序

8086系統(tǒng)中優(yōu)先權(quán)順序規(guī)定如下:

除法錯(cuò)誤→NMI→INTR→單步

INTnINTO

高低

三、中斷向量和中斷向量表

1、中斷類型碼與中斷入口地址

8086可處理256種中斷,每個(gè)中斷對應(yīng)一個(gè)類型碼.

A、中斷類型碼:

軟件中斷通過中斷指令I(lǐng)NTn來實(shí)現(xiàn),其中斷類 型碼由n提供。

外部中斷的中斷類型碼由外設(shè)接口電路提供。

B、中斷入口地址:

8086根據(jù)中斷類型碼,將它乘以4,在RAM的0 段讀得中斷入口地址,CPU將它送至CS,IP,實(shí) 現(xiàn)轉(zhuǎn)移。2、中斷向量:中斷處理子程序的入口地址。

一個(gè)中斷向量將占4個(gè)存貯單元, 即入口地址的IP與CS。

3、中斷向量表:按中斷類型的序號(hào),對應(yīng)的中斷向

量在內(nèi)存00000H單元開始有規(guī)則地

進(jìn)行排列。

由于8086有256個(gè)中斷,故中斷向 量表為0段的0000H-03FFH。

4、中斷類型碼與中斷向量表的對應(yīng)關(guān)系:

類型0:(除數(shù)為0)0000H:0000H~0003H

1:(單步)0000H:0004H~0007H

2:(NMI)0000H:0008H~000BH

3:(斷點(diǎn))0000H:000CH~000FH

4:(溢出)0000H:0010H~0013H

5~31:(保留)0000H:0014H~007FH

32~:(用戶)0000H:0080H~

5、舉例:

A、INT21H指令的中斷向量存于RAM的哪4個(gè)單元中。

B、設(shè)中斷類型碼為A0H,中斷入口地址為1000:223AH, 試問該中斷入口地址應(yīng)寫入RAM哪些單元中。

C、設(shè)中斷類型碼為60H,中斷入口地址為1000:0A40H,

試編一設(shè)置該中斷入口地址的程序。

四、中斷處理順序

A、中斷響應(yīng)過程

8086對中斷響應(yīng)過程流程圖如圖示:

結(jié)束當(dāng)前指令標(biāo)志壓棧,令TEMP=TF清TF,IF內(nèi)部中斷?y斷點(diǎn)壓棧(CS與IP)n有NMI否?y進(jìn)入中斷處理程序n有INTR否?YIF=1?有NMI否?ynnyn取中斷類型碼TEMP=1?ynTF=1?y執(zhí)行中斷處理程序n執(zhí)行下一條指令彈出CS,IP.彈出標(biāo)志(返回?cái)帱c(diǎn))

B、中斷響應(yīng)總線周期

8086中斷響應(yīng)總線周期如圖所示:注:

a、8086中斷響應(yīng)要用兩個(gè)總線周期

一個(gè)用來發(fā)INTA,通知外設(shè)CPU已響應(yīng)中斷,請準(zhǔn)

備好類型碼。

一個(gè)用來接收類型碼。

b、外設(shè)中斷類型碼必須從DB總線的低8位送CPU。

c、INTR應(yīng)是一個(gè)電平信號(hào),且必須維持2個(gè)時(shí)鐘

周期的高電平。

附:軟件中斷的特點(diǎn)

a、用一條指令便可進(jìn)入中斷處理程序,且類型碼由

指令提供。

b、進(jìn)入中斷,不需要執(zhí)行中斷響應(yīng)總線周期。

c、不受IF標(biāo)志的影響。

d、當(dāng)正在執(zhí)行軟件中斷時(shí),可實(shí)現(xiàn)中斷嵌套。

e、它沒有隨機(jī)性。§4中斷控制器8259A

8259A是專為控制優(yōu)先級(jí)中斷而設(shè)計(jì)的芯片。它將中

斷源按優(yōu)先級(jí)排隊(duì),辯認(rèn)中斷源,提供中斷向量的

電路集成于一體,因而中斷系統(tǒng)無需附加任何電路,

只需對8259A進(jìn)行編程就可管理8級(jí)中斷,而且通過

級(jí)聯(lián)連接,最多可管理64級(jí)中斷請求。

一、8259A的結(jié)構(gòu)及引腳信號(hào)說明

8259A的結(jié)構(gòu)框圖如圖所示:1、各部件的功能

a、數(shù)據(jù)總線緩沖器:實(shí)現(xiàn)8259A與CPU進(jìn)行命令,數(shù)

據(jù)的傳送。

b、讀/寫控制邏輯:接收CPU的讀/寫命令,完成規(guī)

定操作。

c、級(jí)聯(lián)緩沖器/比絞器:在級(jí)聯(lián)方式的主從結(jié)構(gòu)中,

用來存放和比較系統(tǒng)中各

8259A的從設(shè)備標(biāo)志。

d、中斷屏蔽寄存器(IMR):用來控制各中斷請求是

允許還是禁止。

e、中斷請求寄存器(IRR):用來暫存中斷請求信號(hào)。

f、中斷服務(wù)寄存器(ISR):用來存放當(dāng)前正在進(jìn)行

服務(wù)的所有中斷級(jí)。

g、優(yōu)先權(quán)分析電路:對IRR中的中斷請求,進(jìn)行邏輯

判斷,確定此請求是否向CPU發(fā)

INT信號(hào)。

h、控制邏輯:它由初始化命令寄存器和操作命令寄

存器組成,它們按編程設(shè)置的工作方式

管理8259A的全部工作。

2、中斷響應(yīng)過程

a、中斷請求線(IR0~I(xiàn)R7)變?yōu)楦唠娖綍r(shí),設(shè)置相

應(yīng)的IRR位。

b、在判斷優(yōu)先權(quán)和IMR狀態(tài)后,如條件合適,則向

CPU發(fā)INT。

c、CPU響應(yīng)中斷時(shí),發(fā)INTA脈沖。

d、第一個(gè)INTA到達(dá)時(shí):

①使IRR鎖存功能失效即不接收中斷請求信號(hào)。

②使當(dāng)前ISR中的相應(yīng)位置“1”。

③使IRR中相應(yīng)位清“0”。

e、第二個(gè)INTA到達(dá)時(shí)

①使IRR鎖存功能有效。

②將中斷類型寄存器的內(nèi)容ICW2送至數(shù)據(jù)總線。

③當(dāng)方式字中的中斷自動(dòng)結(jié)束位為1,則在INTA2

結(jié)束時(shí),將ISR的相應(yīng)位清"0"。

3、引腳信號(hào)說明

D0~7:數(shù)據(jù)總線,雙向。

RD/WR:讀/寫

A0:命令選擇地址。(用來對寄存器進(jìn)行選

擇),通常和地址總線A1相連。以保證

DB低8位和8259A交換數(shù)據(jù)。

CS:選片

INTR:中斷請求(出)

INTA:中斷響應(yīng)入

IR0~7:中斷請求入,IR0優(yōu)先級(jí)最高。

CAS0~2:級(jí)連線,用來構(gòu)成8259A主一從式級(jí)聯(lián)控制

結(jié)構(gòu)。主片作輸出,從片作輸入,主片通過

此線發(fā)出從片中斷請求識(shí)別碼,從片識(shí)別碼

和它相符時(shí),則該片中斷被允許。

SP/EN:從片編程/允許緩沖器,雙向。

A.采用緩沖方式,為輸出,在數(shù)據(jù)8259A→CPU

時(shí)啟動(dòng)數(shù)據(jù)總線驅(qū)動(dòng)器。

B.采用非緩沖方式為輸入,

SP/EN=1為主片,SP/EN=0為從片

注:緩沖方式:8259A通過總線驅(qū)動(dòng)器與數(shù)據(jù)總線 相連。

非緩沖方式:8259A直接與數(shù)據(jù)總線相連。

二、8259A的編程

在8259啟動(dòng)之前必須送入2-4字節(jié)的ICW命令。且必

須嚴(yán)格按規(guī)定順序進(jìn)行。初始化完成下列操作:

①、復(fù)位內(nèi)部邊沿檢測電路,使IRi高電平有效。

②、量“0”IMR。

③、規(guī)定IR7優(yōu)先權(quán)最低。

④、使特殊屏蔽方式觸發(fā)器及狀態(tài)觸發(fā)器復(fù)位。 8259A的操作方式則由操作控制字來設(shè)置,此字可在 初始化之后任何時(shí)刻寫入。

1、8259A的初始化命令字

A、ICW1:芯片控制字

A0D7654321D0

LTIM:D3=0邊沿觸發(fā)D3=1為電平觸發(fā)

SNGL:D1=1一片8259D1=0多片8259 IC4:D0=1后面將設(shè)置ICW4。0///1LTIM/SNGLICW4

B、ICW2:中斷類型碼字

A0D7654321D0

用戶定義中斷類型碼由IR0~7確定

C、ICW3:主/從片字(當(dāng)SNGL=0才設(shè)置1CW3)

A0D7654321D0

主片:

IRi=1,此引腳連有從片IRi=0,未連從片。

A0D7654321D0

從片:

從片INT連在主從IRi時(shí),則ID2~0代碼=i。1///IR7IR6IR5IR4IR3IR2IR1IR0

100000ID2ID1ID0

1

ID2~0為一標(biāo)識(shí)碼,主片通過它與從片聯(lián)絡(luò),即

從片的CAS2~0接收主片發(fā)來編碼,并與ID2~0

代碼比較。如相等,則在INTA2到來時(shí),將自己的

中斷類型碼送到數(shù)據(jù)總線上。

D、ICW4:方式控制

A0D7654321D0

SFNMD4=1特殊全嵌套方式

BUFD3=1緩沖方式D3=0,非緩沖方式

(直接與數(shù)據(jù)總線相連)

M/SBUF=1時(shí),M/S=1,主片/M/S=0:從片

BUF=0時(shí),M/S不起作用

AEOID1=1,中斷自動(dòng)結(jié)束方式

UPMD0=1,8259A當(dāng)前所在系統(tǒng)為8086/8088

系統(tǒng)。000SFMNBUFM/SAEOIUPM

12、初始化編程順序

ICW1(A0=0,D4=1)[設(shè)置了SNGL與IC4]

ICW2(A0=1)

↓n

SNGL0?───┐

(級(jí)聯(lián)方式)│

y↓│

ICW3(A0=1)│

↓←───┘n

IC4=1?────┐

↓Y│

ICW4(A0=1)│

↓←───┘

3、8259A操作命令字

A、無OCW的操作方式:即沒有OCW字寫入。

8259以全嵌套的操作方式工作,一般的中斷結(jié) 束方式,IR0級(jí)別最高。

B、OCW1:中斷屏蔽

A0D7654321D0

┌─┐┌─┬─┬─┬─┬─┬─┬─┬─┐

│1││M7│M6│M5│M4│M3│M2│M1│M0│

└─┘└─┴─┴─┴─┴─┴─┴─┴─┘

Mi=0對應(yīng)位中斷允許。

Mi=1對應(yīng)位中斷被屏蔽。

C、0CW2(設(shè)置優(yōu)先循環(huán)/中斷結(jié)束方式)

A0D7654321D0

┌─┐┌─┬─┬──┬─┬─┬─┬─┬─┐

│0││R│SL│EOI│0│0│L2│L1│L0│

└─┘└─┴─┴──┴─┴─┴─┴─┴─┘

R:D7=1,采用優(yōu)先級(jí)循環(huán)方式,D7=0,非循環(huán)

方式。

EOI:中斷結(jié)束命令位,D5=1時(shí),將使ISn=0。

SL:D6=1,則L2~0有效,D6=0,L2~0無效。

L2~0:SL=1,EOI=1時(shí),L2~0指出要清除ISn哪一

位。SL=1,R=1時(shí),L2~7指出循環(huán)工始時(shí),

哪個(gè)優(yōu)先級(jí)最低。

D、OCW3

A0D7654321D0┌─┐┌─┬──┬──┬─┬─┬─┬─┬──┐

│0││0│ESMM│SMM│0│1│P│RR│RIS│

└─┘└─┴──┴──┴─┴─┴─┴─┴──┘

ESMM特殊屏蔽模式允許位。

SMM特殊屏蔽模式位。

ESMM=1:SMM=1,工作特殊屏蔽方式;ESMM=0則SMM位

無意義;SMM=0恢復(fù)一般屏蔽方式。

P查詢方式位,P=1,工作于查詢方式,P=0退出

查詢方式。

RR讀IRR/ISR命令位,RR=1允許讀,RR=0禁止讀。

RIS讀IRR/ISR選擇位,RIS=1讀ISRRIS=0讀IRR。

注:屏蔽寄存器IMR的值,隨時(shí)可通過輸入指令從奇 地址口讀取。

三、編程舉例

設(shè):單片/主片地址:0020H,0022H.

從片地址:00A0H,00A2H.

1、ICW編程

a、單片:MOVAL,13HICW1

OUT20H,AL

MOVAL,80HICW2

OUT22H,AL MOVAL,01HICW4

OUT22H,AL

b、主/從片

主片:MOVAL,11HICW1

OUT20H,AL

MOVAL,80HICW2

OUT22H,AL

MOVAL,4ICW3

OUT22H,AL

溫馨提示

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

最新文檔

評論

0/150

提交評論