




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、1,8 中斷和中斷控制器8259A,8.1 中斷 8.2.1 8259A的內(nèi)部結(jié)構(gòu) 8.2.2 8259A的工作方式 8.2.3 8259A的初始化命令字和操作命令字 8.3 8259A使用舉例,2,8.1 中斷,1 8086/8088的中斷分類(P254) 硬件中斷 (非屏蔽中斷和可屏蔽中斷) 軟件中斷(中斷指令和內(nèi)部中斷),8086的中斷系統(tǒng)采用中斷向量機(jī)制 能夠處理256個(gè)中斷 用中斷類型號(hào)0255區(qū)別,3,非屏蔽中斷,通過非屏蔽中斷請(qǐng)求信號(hào)引腳(NMI)向微處理器提出的中斷請(qǐng)求,微處理器無法禁止,將在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),這個(gè)中斷被稱為非屏蔽中斷 8086的非屏蔽中斷的類型號(hào)為2
2、非屏蔽中斷主要用于處理系統(tǒng)的意外或故障。,4,可屏蔽中斷,外部通過可屏蔽中斷請(qǐng)求信號(hào)引腳(INTR)向微處理器提出的中斷,微處理器在允許可屏蔽中斷(IF=1)的條件下,在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),同時(shí)輸出可屏蔽中斷響應(yīng)信號(hào)(INTA#),這個(gè)中斷就是可屏蔽中斷 8086通常需要配合中斷控制器8259A共同處理可屏蔽中斷,中斷類型號(hào)由8259A發(fā)出 可屏蔽中斷主要用于主機(jī)與外設(shè)交換數(shù)據(jù),IF控制可屏蔽中斷的響應(yīng),5,指令中斷,在執(zhí)行中斷調(diào)用指令I(lǐng)NT n時(shí)產(chǎn)生的一個(gè)類型號(hào)為n(0 255)的內(nèi)部中斷,稱為指令中斷,6,除法錯(cuò)中斷,在執(zhí)行除法指令時(shí),若除數(shù)為0或商超過了寄存器所能表達(dá)的范圍,則產(chǎn)生
3、一個(gè)類型號(hào)為0的內(nèi)部中斷,稱為除法錯(cuò)中斷 例如:,mov bl,0 div bl;除數(shù)BL0,產(chǎn)生除法錯(cuò)中斷,mov ax,200h mov bl,1 div bl;商200H,不能用AL表達(dá) ;產(chǎn)生除法錯(cuò)中斷,7,單步中斷,若單步中斷標(biāo)志TF為1,則在每條指令執(zhí)行結(jié)束后產(chǎn)生一個(gè)類型號(hào)為1的內(nèi)部中斷,稱為單步中斷,8,其中類型號(hào)為3的內(nèi)部中斷,常用于程序調(diào)試,被稱為斷點(diǎn)中斷,斷點(diǎn)中斷(INT 3),9,溢出中斷(有符號(hào)數(shù)加減運(yùn)算),在執(zhí)行溢出中斷指令I(lǐng)NTO時(shí),若溢出標(biāo)志OF為1,則產(chǎn)生一個(gè)類型號(hào)為4的內(nèi)部中斷,被稱為溢出中斷,10,8086/8088的中斷分類 :,除法錯(cuò)中斷,11,2 中斷
4、向量和中斷向量表(P256),中斷向量:中斷服務(wù)子程序的入口地址(首地址) 入口地址含有段地址CS和偏移地址IP(32位) 每個(gè)中斷向量的低字是偏移地址IP、高字是段地址CS,需占用4個(gè)字節(jié) 8086微處理器從物理地址00000H開始,依次安排各個(gè)中斷向量,類型號(hào)也從0開始 256個(gè)中斷占用1KB區(qū)域,就形成中斷向量表,類型號(hào)為N的中斷向量的 物理地址N4,12,除法錯(cuò)中斷,13,例:中斷類型號(hào)為10的中斷處理子程序存放在1234H:5678H開始的內(nèi)存區(qū)域中,求中斷向量地址及其每個(gè)單元中所存放的數(shù)值。,1044028H 求得中斷向量物理地址是00028H0002BH 按8086存儲(chǔ)原則,從0
5、0028H0002BH的每個(gè)單元中分別存放78H、56H、34H、12H,14,可屏蔽中斷的響應(yīng)過程 :(CPU自動(dòng)執(zhí)行) 讀取中斷類型碼 將標(biāo)志寄存器FR的值推入堆棧(IF=?) 把標(biāo)志寄存器的IF和TF清零 將斷點(diǎn)地址保護(hù)到堆棧中。(CS:IP) 尋找中斷向量,轉(zhuǎn)入中斷服務(wù)程序,3 硬件中斷的響應(yīng)和時(shí)序(P258),15,8086的中斷響應(yīng)時(shí)序 :,16,中斷響應(yīng)用2個(gè)總線周期,第1個(gè)總線周期,通知外設(shè),CPU準(zhǔn)備響應(yīng)中斷; 第2個(gè)總線周期,外設(shè)(8259A)發(fā)送中斷類型碼,17, 保護(hù)現(xiàn)場(PUSH) 開放中斷(原因) 中斷處理的具體內(nèi)容 恢復(fù)現(xiàn)場(POP) 中斷返回指令( ? ),IR
6、ET,4 中斷服務(wù)子程序(261),18,8.2.1 8259A的內(nèi)部結(jié)構(gòu)(P262),19,1.數(shù)據(jù)總線緩沖器,D0D7接數(shù)據(jù)總線低8位(AD0AD7) 接收命令字(8位) 輸出中斷類型碼(8位)、查詢字(8位)和相關(guān)寄存器的狀態(tài)(8位),20,3. 級(jí)聯(lián)緩沖/比較器,CAS2CAS0用于指出8個(gè)從片的地址; SP#/EN#可用于輸入/輸出,輸入(SP#)決定主(1)/從片(0),輸出(EN#)控制總線驅(qū)動(dòng)器74LS245(緩沖器)工作。,21,4. 中斷請(qǐng)求寄存器IRR 8位寄存器,可鎖存由外部輸入的中斷請(qǐng)求信號(hào)IR7IR0 5. 中斷服務(wù)寄存器ISR 8位寄存器,用來記錄正在處理中的中斷
7、請(qǐng)求,22,6. 中斷屏蔽寄存器IMR 8位寄存器,用來存放對(duì)各級(jí)中斷請(qǐng)求的屏蔽信息。 7. 優(yōu)先權(quán)判別器PR 多個(gè)中斷同時(shí)產(chǎn)生,判斷優(yōu)先響應(yīng)哪個(gè) 出現(xiàn)多重中斷,判斷是否打斷當(dāng)前中斷操作,23,8. 控制部件,輸出中斷請(qǐng)求信號(hào)INT接CPU的INTR INTA#接收來自CPU的中斷應(yīng)答信號(hào),應(yīng)為2個(gè)負(fù)脈沖才有效;,24,CPU中斷響應(yīng)之后8259的動(dòng)作:,1)第一個(gè)負(fù)脈沖:IRR鎖存失效,ISR相應(yīng)位置1,IRR相應(yīng)位清0; 2)第二個(gè)負(fù)脈沖:送出中斷類型碼;若是中斷自動(dòng)結(jié)束方式(AEOI),則ISR相應(yīng)位清0。,25,8.2.2 8259A的工作方式(P264),1. 設(shè)置優(yōu)先級(jí)的方式(4)
8、 2. 結(jié)束中斷處理的方式(3) 3 . 引入中斷請(qǐng)求的方式(2),26,1. 設(shè)置優(yōu)先級(jí)的方式,(1)全嵌套方式:(默認(rèn)方式) 0級(jí)最高,只進(jìn)行高級(jí)中斷嵌套(最多實(shí)現(xiàn)8級(jí)中斷嵌套)。PR比較ISR與IRR中優(yōu)先級(jí)高低決定是否中斷嵌套。,27,(2)特殊全嵌套方式:(級(jí)聯(lián)系統(tǒng)),0級(jí)最高,但同級(jí)中斷也會(huì)響應(yīng)、嵌套。級(jí)聯(lián)系統(tǒng)中的主片必須使用該方式,保證來自同一從片但不同優(yōu)先級(jí)的中斷請(qǐng)求能被響應(yīng)。,主8259A,INT,INTR,從8259A,INT,IR2,IR0,IR7,28,(3)普通循環(huán)方式:(優(yōu)先級(jí)相同的系統(tǒng)) 設(shè)備中斷請(qǐng)求被響應(yīng)并執(zhí)行中斷服務(wù)程序后,其優(yōu)先級(jí)自動(dòng)降為最低,原先低一級(jí)中斷
9、成為最高優(yōu)先級(jí)。但該方式開始總是IR0優(yōu)先級(jí)最高。,29,普通循環(huán)方式舉例,30,(4)特殊循環(huán)方式:(優(yōu)先級(jí)相同的系統(tǒng)) 與普通循環(huán)方式唯一不同是一開始的最低優(yōu)先級(jí)由程序確定(最高也就確定),而非IR0。,31,特殊循環(huán)方式舉例,32,2. 結(jié)束中斷處理的方式,必要性:中斷服務(wù)程序結(jié)束后,要使相應(yīng)ISn清0,否則,低級(jí)或同級(jí)的中斷再就不可能被響應(yīng),導(dǎo)致中斷系統(tǒng)功能異常。 區(qū)別:就是使ISn清零的方法不同。,33,(1)中斷自動(dòng)結(jié)束(AEOI)方式:(適用于只有1片8259且中斷不嵌套) ICW4中的AEOI位設(shè)置,CPU響應(yīng)中斷即自動(dòng)清0相應(yīng)的ISn,在INTA#的第二個(gè)負(fù)脈沖時(shí)完成。,34
10、,(2)一般中斷結(jié)束(EOI)方式:(適用于全嵌套方式,即知道優(yōu)先級(jí)的情況下) CPU發(fā)一般中斷結(jié)束命令(OCW2中EOI為1,SL為0),使8259當(dāng)前ISR中最高的非零IS位復(fù)位,35,(3)特殊中斷結(jié)束(E0I)方式:(主要適用于循環(huán)方式,即不知道當(dāng)前中斷服務(wù)優(yōu)先級(jí)的情況下) CPU發(fā)特殊中斷結(jié)束命令(OCW2中EOI為1,SL為1),使8259當(dāng)前ISR中由OCW2的L2、L1、L0位指出的IS位復(fù)位,36,3 . 引入中斷請(qǐng)求的方式,(1)邊沿觸發(fā)方式: 上升沿有效 (2)電平觸發(fā)方式: 高電平有效,注意:必須及時(shí)撤除中斷請(qǐng)求,否則可能反復(fù)響應(yīng)同一中斷。,37,8.2.3 8259A
11、初始化命令字和操作命令字(P266),初始化編程 8259A開始工作前,必須進(jìn)行初始化編程 給8259A寫入初始化命令字ICW,38,中斷操作編程,在8259A工作期間 可以寫入操作命令字OCW將選定的操作傳送給8259A,使之按新的要求工作 還可以讀取8259A的信息,以便了解他的工作狀態(tài),39,1. 初始化命令字ICW,初始化命令字ICW最多有4個(gè) 8259A在開始工作前必須寫入 必須按照ICW1ICW4順序?qū)懭?ICW1和ICW2是必須送的 ICW3和ICW4由工作方式?jīng)Q定,40,ICW1(芯片控制初始化命令字),表示可以任意 為1為0都可以(建議為0),1只能為1,作為標(biāo)志(與OCW2
12、和OCW3區(qū)分),中斷觸發(fā)方式: LTIM1,電平觸發(fā)方式 LTIM0,邊沿觸發(fā)方式,規(guī)定單片或級(jí)連方式: SNGL1,單片方式 SNGL0,級(jí)連方式,是否寫入ICW4 IC41,要寫入ICW4 IC40,不寫入ICW4,即ICW4規(guī)定的位全為0,偶地址,41,ICW2(中斷類型碼初始化命令字),設(shè)置中斷類型號(hào) T7T3為中斷類型碼的高5位 低3位由8259A自動(dòng)確定: IR0為000、IR1為001、IR7為111,奇地址,42,說明:,IRi的中斷類型碼 = ICW2的高5位(低三位為0)+i(由IR0IR7) 例:如果ICW2設(shè)為19H,則IR3的中斷類型碼(4為中斷向量地址)為,18H
13、(取高五位)+03H=1BH。,43,ICW3(主/從片初始化命令字),主片8259A:IRi1對(duì)應(yīng)IRi引腳接有從片;否則IRi引腳沒有接從片 從片8259A:ID0ID2編碼說明從片INT引腳接到主片哪個(gè)IR引腳,奇地址,44,ICW4(方式控制初始化命令字),嵌套方式: 特殊全嵌套方式(SFNM1) 普通全嵌套方式(SFNM0),數(shù)據(jù)線的緩沖方式: 緩沖方式(BUF1) 非緩沖方式(BUF0),主片/從片選擇: 主片(M/S=1) 從片(M/S=0),中斷結(jié)束方式: 自動(dòng)中斷結(jié)束(AEOI1) 非自動(dòng)中斷結(jié)束(AEOI0),微處理器類型: 16位8086(PM1) 8位8080/8085
14、(PM0),奇地址,45,BUF、M/S和SP#/EN#定義,46,2. 初始化流程,1,2,3,4,47,對(duì)初始化流程的幾點(diǎn)說明, ICW1寫入偶端口,ICW2ICW4寫入奇端口 ICW1和ICW2必須設(shè)置(所有系統(tǒng)每個(gè)芯片),ICW3(只在級(jí)聯(lián)系統(tǒng))和ICW4(16位系統(tǒng)要設(shè)置特殊方式時(shí))非必須 在級(jí)聯(lián)時(shí),主片和從片分別設(shè)置ICW3,48,對(duì)8259A設(shè)置初始化命令字的例子,MOV AL,13H(00010011B) OUT 80H,AL;設(shè)置ICW1(單片 8259,設(shè)置ICW4) MOV AL,18H(00011000B) OUT 81H,AL;設(shè)置ICW2(中斷類型碼是18H1FH)
15、 MOV AL,0DH(00001101B) OUT 81H,AL;設(shè)置ICW4(非特殊全嵌套,緩沖,非中斷自動(dòng)結(jié)束方式,16位系統(tǒng)),49,3. 操作命令字OCW,8259A工作期間,可以隨時(shí)接收操作命令字OCW OCW共有3個(gè):OCW1OCW3 寫入時(shí)沒有順序要求,需要用到哪個(gè)OCW就寫入哪個(gè),50,OCW1(中斷屏蔽操作命令字),內(nèi)容寫入中斷屏蔽寄存器IMR DiMi對(duì)應(yīng)IRi,為1禁止IRi中斷; 為0允許IRi中斷。各位互相獨(dú)立。,奇地址,51,說明:,1)通過奇端口寫入,也可通過奇端口讀取。 2)用于普通中斷屏蔽,特殊屏蔽方式要設(shè)置OCW3相應(yīng)位才行。,52,OCW2(優(yōu)先級(jí)循環(huán)和
16、中斷結(jié)束方式操作命令字),R、SL和EOI配合使用 產(chǎn)生中斷結(jié)束(EOI)命令和改變優(yōu)先權(quán)順序,L2L0的3位編碼 指定IR引腳,偶地址,53,特征位:D4D3=00; 結(jié)束方式管理: D6D5=X0,自動(dòng)結(jié)束,硬件自動(dòng)清除ISR的相應(yīng)位;(AEOI1) D6D5=01,普通結(jié)束不指定清ISR的哪一位; D6D5=11,特殊結(jié)束指定清ISR的哪一位。 優(yōu)先權(quán)管理: D7=0,優(yōu)先權(quán)固定;D7=1,優(yōu)先權(quán)循環(huán)。,標(biāo)志位說明:,54,中斷結(jié)束(EOI)和優(yōu)先權(quán)設(shè)置命令表,55,4 各寄存器的區(qū)別方法:,送到偶地址端口:OCW2和OCW3通過D3位區(qū)別,前者為0,后者為1; 送到偶地址端口:ICW1
17、和OCW2、OCW3的區(qū)別通過D4位,前者為1,后兩者為0; 送到奇地址端口:ICW2/3/4均按序在初始化時(shí)一次性寫入,OCW1不能緊跟ICW1之后寫入,因而不會(huì)混淆。,56,8.3 8259A使用舉例(P273),利用8259A實(shí)現(xiàn)對(duì)外部中斷的響應(yīng)和處理,要求如下: 將1Hz時(shí)鐘信號(hào)接8259A的IR2端作為中斷請(qǐng)求信號(hào),CPU響應(yīng)此中斷后通過8255PA口輸出使發(fā)光二極管按照每秒加1的方式進(jìn)行亮滅。,57,8259電路圖,8259A,D7D0,D7D0,WR,RD,IOW,IOR,Y2,G1,G2B,G2A,C,B,A,74LS138,CS,A10,如何算出中斷向量地址? mov ax,
18、 offset int_2 stosw mov ax, seg int_2 stosw;設(shè)定IR2中斷向量,存放中斷服務(wù)程序入口地址,60,8259初始化,mov al,13h mov dx,650h out dx,al;設(shè)定ICW1 mov al,08h mov dx,652h out dx,al;設(shè)定ICW2 mov al,01h out dx,al;設(shè)定ICW4 mov al, 0fbh out dx,al;設(shè)定OCW1,61,8255初始化及其他初始狀態(tài),mov al,80h mov dx,666h out dx,al;設(shè)定8255PA口輸出 mov al,0ffh mov dx,660h out dx,al;發(fā)光二極管全滅 mov bl,0;加法計(jì)數(shù)初值為0 sti;開中斷 jmp $;程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療大數(shù)據(jù)與個(gè)性化醫(yī)療考核試卷
- 加油站現(xiàn)場安全管理考核試卷
- 工業(yè)控制計(jì)算機(jī)在智能建筑管理系統(tǒng)中的作用考核試卷
- D城市模型構(gòu)建與應(yīng)用考核試卷
- 機(jī)床功能部件在深海探測設(shè)備中的抗壓性能考核試卷
- 數(shù)字出版物的市場趨勢與用戶需求分析考核試卷
- 招標(biāo)投標(biāo)居間合同范本
- 業(yè)務(wù)提成附加合同范本
- 養(yǎng)殖合同魚塘養(yǎng)殖合同范本
- 考前沖刺攻略課件
- 2024年12月2025中央統(tǒng)戰(zhàn)部直屬事業(yè)單位應(yīng)屆高校畢業(yè)生公開招聘21人筆試歷年典型考題(歷年真題考點(diǎn))解題思路附帶答案詳解
- 2024年湖北省煙草專賣局(公司)招聘筆試真題
- 2025中鐵快運(yùn)股份限公司招聘全日制普通高校畢業(yè)生35人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年浙江寧波寧興集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 計(jì)算機(jī)網(wǎng)絡(luò)試題及答案
- 2025年安徽馬鞍山市兩山綠色生態(tài)環(huán)境建設(shè)有限公司招聘筆試參考題庫附帶答案詳解
- 人效管理措施
- 籃球教練職業(yè)生涯規(guī)劃
- 機(jī)器人手術(shù)后期護(hù)理
- 自力式調(diào)節(jié)閥閥門
評(píng)論
0/150
提交評(píng)論