版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、微型計(jì)算機(jī)原理(第六章),主講教師 賴于樹Email:laser121@sina.com,重慶三峽學(xué)院物理電子工程學(xué)院,第六章 中斷技術(shù),本章內(nèi)容6.1 中斷的基本概念6.2 IBM-PC微機(jī)中斷系統(tǒng)6.3 可編程中斷控制器8259A6.4 8259A在微機(jī)系統(tǒng)中的應(yīng)用,6.1 中斷的基本概念,本章首頁,什么是中斷,外設(shè)中斷:鍵盤、打印機(jī)、顯示器等指令中斷:INT 10H、INT21H等硬件故障中斷:奇偶錯(cuò)、
2、電源故障等程序性中斷:除法溢出、非法操作碼等,中斷:是指CPU在正常運(yùn)行程序時(shí),由于內(nèi)部/外部事件或由程序預(yù)先安排的事件,引起CPU中斷正在運(yùn)行的程序,轉(zhuǎn)去為該事件服務(wù)。服務(wù)完畢,再返回去繼續(xù)運(yùn)行被暫時(shí)中斷的程序的過程。,中斷源與中斷識別,1)中斷源:發(fā)出中斷請求的外部設(shè)備或引起中斷的內(nèi)部原因,2)中斷識別:確定中斷源,實(shí)現(xiàn)程序轉(zhuǎn)移,向量中斷:中斷向量、中斷號查詢中斷:軟、硬件查詢確定中斷源,3)中斷向量與中斷向量表,中斷向量:中斷
3、服務(wù)程序入口地址 ,4個(gè)字節(jié)(偏移地址、段首址)中斷向量表:PA=000H~3FFH, 256個(gè);存儲結(jié)構(gòu)(中斷號,順序),6.1 中斷的基本概念(續(xù)),本章首頁,4)中斷類型號與中斷向量指針,類型號:8位,N=00~FFH中斷向量指針:PA=4*N,5)中斷向量的裝入(填寫)與修改,裝入:系統(tǒng)配置和使用的系統(tǒng)軟件負(fù)責(zé),用系統(tǒng)功能調(diào)用裝入(參照修改),6.1 中斷的基本概念(續(xù)),本章首頁,… OL
4、D_OFF DW ? OLD_SEG DW ? s… s MOV AH,35H MOV AL,N INT 21H MOV OLD_OFF,BX MOV OLD_SEG,ES CLI MOV AH,25H
5、 MOV AL,N PUSH DS MOV DX,SEG INT_SEV MOV DS,DX MOV DX,OFFSET INT_SEV INT 21H POP DS STI s…,;定義保存原中斷向量的2個(gè)字單元,;保存原中斷向量,;設(shè)置新中斷向量,6)中斷
6、優(yōu)先級排隊(duì)方式,按優(yōu)先級排隊(duì)循環(huán)輪流排隊(duì),7)中斷嵌套,完全嵌套特定完全嵌套,6.2 IBM-PC微機(jī)中斷系統(tǒng),分類:硬中斷(外部中斷)、軟中斷(內(nèi)部中斷),硬中斷(NMI和INTR),1)不可屏蔽中斷NMI,本章首頁,系統(tǒng)硬中斷,不可屏蔽:不受IF狀態(tài)影響類型號固定:02H有效信號:上升沿,緊急故障處理:RAM奇偶校驗(yàn)錯(cuò)、I/O通道校驗(yàn)錯(cuò)、協(xié)處理器運(yùn)算錯(cuò),6.2 IBM-PC微機(jī)中斷系統(tǒng)(續(xù)),2)可屏蔽中斷INTR,可屏蔽:
7、IF=1,開放;IF=0,屏蔽類型號由8259A提供(PC機(jī)08H~0FH)有效信號:高電平,INTR的處理過程,軟中斷,1)雙字節(jié)指令形式的中斷(INT n),ROM-BIOS中斷:INT 10H;INT 16HDOS中斷:INT 21H;INT 20H未定義中斷:INT 60H;INT 78H,2)特殊中斷,除法溢出中斷(N=0)條件:商超出規(guī)定寄存器的表示范圍;字(AX),字節(jié)(AL),單步中斷(N=1)條件:TF=1
8、;調(diào)試工具或程序設(shè)置,斷點(diǎn)中斷(N=3)條件:調(diào)試工具中使用,溢出中斷(N=4)條件:OF=1且執(zhí)行INTO指令,本章首頁,6.2 IBM-PC微機(jī)中斷系統(tǒng)(續(xù)),硬中斷與軟中斷的比較,本章首頁,軟中斷的應(yīng)用,ROM-BIOS中斷DOS中斷,中斷的處理過程(INTR),不同中斷的處理過程區(qū)別:獲取類型號的方法不同;另,軟中斷無申請階段,1)中斷申請,2)中斷響應(yīng),3)中斷服務(wù),4)中斷返回,CPU執(zhí)行完每條指令檢測INTR;高電平,
9、 IF=1,且無DMA請求,當(dāng)前指令執(zhí)行完進(jìn)入響應(yīng)階段,執(zhí)行中斷服務(wù)程序,執(zhí)行到IRET恢復(fù)斷點(diǎn),返回原程序,中斷服務(wù)程序的結(jié)構(gòu) 保護(hù)現(xiàn)場 STI ;若允許中斷嵌套 服務(wù)程序主體 恢復(fù)現(xiàn)場 中斷結(jié)束(EOI)命令 IRET,6.2 IBM-PC微機(jī)中斷系統(tǒng)(續(xù)),本章首頁,第1個(gè)負(fù)脈沖:,第2個(gè)負(fù)脈沖:,,6.3 可編程中斷控制器8259A,8259A協(xié)助CPU完成的工作
10、,接收和擴(kuò)充外設(shè)的中斷請求(一片可管理8級中斷;兩級級聯(lián)最多管理64級)優(yōu)先級排隊(duì)管理(固定優(yōu)先級、循環(huán)優(yōu)先級)控制中斷請求的屏蔽與開放提供中斷類型號(向量中斷,還可實(shí)現(xiàn)查詢中斷),本章首頁,6.3 可編程中斷控制器8259A(續(xù)),8259A的外部特性和內(nèi)部結(jié)構(gòu),1)引腳(28腳),2)內(nèi)部結(jié)構(gòu),本章首頁,6.3 可編程中斷控制器8259A(續(xù)),中斷請求寄存器(IRR):8位,寄存有請求的中斷級,IRi有請求,IRRi=1正
11、在服務(wù)寄存器(ISR):8位,寄存正在服務(wù)的中斷級,IRi被響應(yīng)且未服務(wù)完,ISRi=1,ISR可能多位同時(shí)為1中斷屏蔽寄存器(IMR):8位,寄存中斷級的屏蔽情況,IMRi=1,IRi被屏蔽優(yōu)先級分析器(PR):由IRR、IMR、ISR的狀態(tài)確定INT引腳的輸出; 優(yōu)先級編碼器+比較電路,中斷嵌套,本章首頁,6.3 可編程中斷控制器8259A(續(xù)),級聯(lián)緩沖器/比較器:級聯(lián)時(shí)傳送級聯(lián)代碼;緩沖方式控制傳送方向讀寫控制邏輯:中
12、斷類型號的讀取不是讀寫邏輯控制的,,,,,,,,,,,8259A的工作方式,1)中斷觸發(fā)方式,2)連接系統(tǒng)總線的方式,3)中斷屏蔽的方式,4)優(yōu)先級排隊(duì)的方式,5)中斷結(jié)束的方式,本章首頁,6.3 可編程中斷控制器8259A(續(xù)),,,,,,,,,,,8259A的編程命令及中斷操作功能,1)ICW1,4個(gè)初始化命令字(ICW1~4)、3個(gè)操作命令字(OCW1~3);寫入到2個(gè)端口中同一端口寫入多個(gè)命令字的區(qū)分方式:設(shè)置特征位、規(guī)定寫入順
13、序,ICW1還實(shí)現(xiàn)對8259A的復(fù)位,如PC機(jī):邊沿觸發(fā),單片,MOV AL,13H OUT 20H,AL,2)ICW2,如PC機(jī):類型號08H~0FH,MOV AL,08H OUT 21H,AL,確定中斷類型號的高五位,本章首頁,6.3 可編程中斷控制器8259A(續(xù)),,,,,,,,,,,3)ICW3(級聯(lián)系統(tǒng)才寫入,主、從片格式不同),如圖中所示的級聯(lián)系統(tǒng),主片的ICW3=24H 從片1的ICW3=02H從片2的ICW3
14、=05H,ID2ID1ID0的編碼=i,該從片掛在主片的IRi上,主片:相應(yīng)的申請端是否掛接從片,從片:該從片的識別碼,級聯(lián)方式的硬件連接,級聯(lián)方式下工作過程,CPU的操作與單片無任何區(qū)別,本章首頁,6.3 可編程中斷控制器8259A(續(xù)),,,,,,,,,,,4)ICW4,特定完全嵌套方式(用于級聯(lián)系統(tǒng)的主片),開放同級和高級中斷,上例中,主片若采用特定完全嵌套方式,則允許D打斷B的服務(wù),給主片送EOI的條件:從片ISR=00H,5)
15、OCW1(設(shè)置IMR),如開放IR1、IR77; 屏蔽IR3、IR76;其他不變,本章首頁,6.3 可編程中斷控制器8259A(續(xù)),,,,,,,,,,,6)OCW2 (設(shè)置優(yōu)先級輪換、發(fā)EOI命令),如:不指定EOI MOV AL,20H OUT 20H,AL,指定EOI(清除ISR4) MOV AL,64H OUT 20H,AL,2,R、SL、EOI的組合就是OCW2的命令,本章首頁,6.3 可編程中斷控制器
16、8259A(續(xù)),,,,,,,,,,,7)OCW3 (設(shè)置特定屏蔽方式、查詢式中斷、讀寄存器選擇),特定屏蔽方式(開放低級中斷),本章首頁,6.3 可編程中斷控制器8259A(續(xù)),,,,,,,,,,,查詢式中斷,讀寄存器,不需要接收中斷請求,CPU查詢8259A,發(fā)查詢命令(P=1的OCW3)后讀查詢字(A0=0),再根據(jù)查詢字內(nèi)容確定中斷源,查詢字格式,讀IMR:直接對A0=1端口進(jìn)行讀讀IRR、ISR:先選擇(RR=1的OCW3
17、)再讀,初始為IRR,讀IMR: IN AL,21H讀IRR: MOV AL,0AH OUT 20H,AL IN AL,20H讀ISR: MOV AL,0BH OUT 20H,AL IN AL,20H,本章首頁,6.4 8259A在微機(jī)系統(tǒng)中的應(yīng)用,,,,,,,,,,,8259A編程命令的使用,ICW:初始化時(shí),按順序接收2~4個(gè)OCW:工作過程中,動態(tài)控制,82
18、59A初始化編程,早期PC機(jī)——單片系統(tǒng),,端口地址:20H、21H;邊沿觸發(fā);完全嵌套; 固定優(yōu)先級;非緩沖;中斷類型號:08H~0FH,本章首頁,6.4 8259A在微機(jī)系統(tǒng)中的應(yīng)用(續(xù)),,,,,,,,,,,286以上PC機(jī)——雙片級聯(lián)系統(tǒng),從片連在主片的IR2上;主從級聯(lián)信號互連 端口地址,主片:20H、21H;從片:0A0H、0A1H 邊沿觸發(fā);完全嵌套; 固定優(yōu)先級;非緩沖;中斷類型號,主片:08H~0FH;從片:70H~7
19、7H,MOV AL,11H OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,04H OUT 21H,AL MOV AL,01H OUT 21H,AL,初始化編程(主),MOV AL,11H OUT 0A0H,AL MOV AL,70H OUT 0A1H,AL MOV AL,02H OUT 0A1H,AL MOV AL,01H OUT 0A1H,A
20、L,初始化編程(從),例題6.1 可屏蔽中斷服務(wù)程序,在PC機(jī)中:8259A的IRQ0(向量號為08H)中斷請求來自定時(shí)器8253,每隔55ms產(chǎn)生一次定時(shí)中斷該例的 08H 號中斷服務(wù)程序?qū)@示一個(gè)字符串, 10次中斷共顯示10個(gè)字符串用內(nèi)存單元(共享變量)在主程序與外部中斷服務(wù)程序之間傳遞參數(shù):中斷發(fā)生的次數(shù)顯示信息安排在共同的數(shù)據(jù)段中,例題6.1 可屏蔽中斷服務(wù)程序,s_seg segment stack
21、 db 256 dup(0)s_seg endsd_seg segmentintmsg db " it is A 8259A Interrupt !",0dh,0ah,0counterdb 0d_seg endsc_seg segment assume cs:c_seg,ss:s_seg,ds:d_segstart: mov ax,d_seg
22、 mov ds,ax mov es,ax mov ax,s_seg mov ss,ax mov ax,3508h ;修改中斷向量int 21hpush bx ;保存偏移地址push es ;保存段基地址,clipush ds ;保護(hù)dsmov dx,off
23、set new08h ;中斷入口地址mov ax,seg new08hmov ds,ax mov ax,2508hint 21hpop ds in al,21h ;讀IMR push ax and al,0feh ;允許IRQ0(接8253) out 21h,al mov counter,0 ;設(shè)置中斷次數(shù)初值 sti ;開中斷start1:cmp counte
24、r,10 jb start1 ;中斷10次退出 clipop axout 21h,al pop dspop dxmov ax,2508hint 21hstimov ax,4c00hint 21h,例題6.1 可屏蔽中斷服務(wù)程序,new08h procsti
25、 ;開中斷push ax ;保護(hù)寄存器push bxpush ds assume ds:d_segmov ax,d_seg mov ds,ax ;設(shè)置數(shù)據(jù)段DS inc countermov si,offset intmsg ;顯示信息call dpstri mov al,
26、20h ;送中斷結(jié)束字out 20h,alpop ds ;恢復(fù)寄存器pop bxpop axiret ;中斷返回new08hendp,dpstri proc ;顯示字符串子程序 push axpush bxdps1: lodsb ;取一字符cmp al,0 ;判是否結(jié)束標(biāo)志jz
27、 dps2 mov bx,0mov ah,0ehint 10hjmp dps1dps2: pop bxpop axretdpstriendpc_seg ends end start,本章首頁,本章要點(diǎn)中斷、中斷向量、向量表的結(jié)構(gòu)、類型號與中斷向量的關(guān)系修改中斷向量的方法和步驟PC機(jī)中斷系統(tǒng)的組成;軟中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(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
提交評論