微機接口原理課件第七章中斷技術1_第1頁
微機接口原理課件第七章中斷技術1_第2頁
微機接口原理課件第七章中斷技術1_第3頁
微機接口原理課件第七章中斷技術1_第4頁
微機接口原理課件第七章中斷技術1_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第七章第七章 中斷技術中斷技術(可屏蔽外中斷控制技術)(可屏蔽外中斷控制技術)微機原理與接口技術精品課程輸入輸入/輸出數(shù)據(jù)的傳輸控制方式輸出數(shù)據(jù)的傳輸控制方式 程序方式程序方式中斷方式中斷方式DMA方式方式 特點:特點:上級反復訪問上級反復訪問 特點:特點:下級請示執(zhí)行下級請示執(zhí)行 特點:特點:架空架空CPUCPU(三種接口設計模式)(三種接口設計模式)微機原理與接口技術精品課程3INT0INT1INT4INT3INT2斷點中斷斷點中斷溢出中斷溢出中斷復習:第二章中斷概念部分CPU硬件中斷信號腳:第17腳 非屏蔽中斷請求第18腳 可屏蔽中斷請求第24腳 可屏蔽中斷響應弄清幾個概念: 1.中斷分

2、類概念 2.中斷向量表概念 3.中斷服務子程序的執(zhí)行機制概念微機原理與接口技術精品課程48086/8088的中斷系統(tǒng) 注:INT 0 INT 4 為系統(tǒng)專用中斷號微機原理與接口技術精品課程5復習:中斷管理表復習:中斷管理表windows有APIAPI庫 dos返回返回28微機原理與接口技術精品課程6三、計算機中斷響應過程三、計算機中斷響應過程第一步:獲得中斷類型號;第一步:獲得中斷類型號;第二步:保護斷點并關中斷;第二步:保護斷點并關中斷;第三步:從中斷向量表中提取中斷向量,轉入中斷服務程序。第三步:從中斷向量表中提取中斷向量,轉入中斷服務程序。 關于中斷類型號的獲得,有三種情況:關于中斷類型

3、號的獲得,有三種情況: 1、對專用中斷(中斷號、對專用中斷(中斷號0 4),中斷類型號由),中斷類型號由CPU自動自動 生成;生成; 2、對軟件中斷、對軟件中斷 INT N ,中斷類型號,中斷類型號N從指令獲得;從指令獲得; 3、對外部可屏蔽中斷,、對外部可屏蔽中斷,CPU獲得中斷類型號的過程比較獲得中斷類型號的過程比較 復雜。見下頁復雜。見下頁微機原理與接口技術精品課程7 可屏蔽中斷接口必用可屏蔽中斷接口必用可編程中斷控制芯片可編程中斷控制芯片8259A連接連接CPU的中斷請求線的中斷請求線可擴展可擴展8個外部中斷個外部中斷源源 連接連接CPU的中斷響應線的中斷響應線注:其他管腳要解決:注:

4、其他管腳要解決: 可編程的初始化問題可編程的初始化問題 中斷源的再擴展問題中斷源的再擴展問題D0D7返回返回25微機原理與接口技術精品課程8CPU中斷中斷接口接口D0 D7中斷請求中斷請求INTR中斷相應中斷相應INTA第一個總線周期第一個總線周期CPU送中斷響應信號送中斷響應信號INTA第二個總線周期中斷接口送中斷類型號第二個總線周期中斷接口送中斷類型號8259AIR0IR7微機原理與接口技術精品課程9四、各類中斷的優(yōu)先級四、各類中斷的優(yōu)先級注注 注:優(yōu)先級可以通過硬件設計實現(xiàn)注:優(yōu)先級可以通過硬件設計實現(xiàn) 也可以通過軟件設計實現(xiàn)也可以通過軟件設計實現(xiàn)微機原理與接口技術精品課程10第三節(jié)第三

5、節(jié) 可編程中斷控制器可編程中斷控制器Intel 8259A 8259A應具備下列四項功能:應具備下列四項功能: 1、中斷請求端的擴展功能、中斷請求端的擴展功能 2、中斷優(yōu)先級的管理功能、中斷優(yōu)先級的管理功能 3、中斷類型碼的預置和自動上傳功能、中斷類型碼的預置和自動上傳功能 4、可編程功能:通過程序獲得不同的工作、可編程功能:通過程序獲得不同的工作 模式模式 叫叫“可編程器件可編程器件” 微機原理與接口技術精品課程11可編程中斷控制器可編程中斷控制器8259A內部結構內部結構 返回到返回到17頁頁8259A芯片引腳芯片引腳返回到返回到31返回到返回到22 返回返回25記錄當前正執(zhí)行記錄當前正執(zhí)

6、行的中斷號的中斷號 IRi微機原理與接口技術精品課程128259A的讀寫操作的讀寫操作I/O端口地址端口地址 單板機8259A初始化命令字:初始化命令字: ICW1、 ICW2、 ICW3、 ICW4 8259A操作命令字:操作命令字: OCW1、 OCW2、 OCW3難點:兩個地址難點:兩個地址(一個偶地址和一個奇地址一個偶地址和一個奇地址),但要寫進這么多,但要寫進這么多 命令字!借助了可編程芯片的內部邏輯管理。命令字!借助了可編程芯片的內部邏輯管理。微機原理與接口技術精品課程131 初始化命令字初始化命令字ICW1例:若例:若8259A的端口地址為的端口地址為20H、21H,采用電平觸發(fā)

7、,單片使用,采用電平觸發(fā),單片使用, 需要需要ICW4,請初始化,請初始化命令字命令字ICW1解:根據(jù)題意,解:根據(jù)題意,ICW1 =1BH,初始化程序如下:,初始化程序如下:MOVAL,1BHOUT 20H,AL借助于標志位,一個地借助于標志位,一個地址就可存兩個命令字址就可存兩個命令字!決定是否有ICW3返返28返返18微機原理與接口技術精品課程142 初始化命令字初始化命令字ICW 2 (預存中斷號)(預存中斷號)例:已知原計算機系統(tǒng)中斷向量表例:已知原計算機系統(tǒng)中斷向量表60H以后為空,請設置以后為空,請設置 命令字命令字ICW2并裝入,并裝入,8259A地址為地址為20H, 21H解

8、:解: ICW2的低三位的低三位000 111由由8259A自動分配給外設中斷自動分配給外設中斷 請求端請求端IR0 IR7, 所以高所以高5位應定位位應定位01100比較合理。比較合理。 初始化程序如下:初始化程序如下:MOVAL,01100000B OUT 21H,AL ;8259A地址為地址為20H, 21H ;問:;問:MOV, AL,01100111B行嗎?行嗎?返返28D0D7微機原理與接口技術精品課程153 初始化命令字初始化命令字ICW 3 ICW3稱為主片稱為主片/從片標志命令字,必須寫到從片標志命令字,必須寫到8259A的奇的奇地址端口(即地址端口(即A01)中。僅在)中。

9、僅在8259A級聯(lián)(級聯(lián)(ICW1中中D10)時使用,且時使用,且CPU送給主送給主8259A和從和從8259A的的ICW3格式是不相格式是不相同的。同的。 例:一片例:一片8259A 級聯(lián)級聯(lián)8片從片,需要寫片從片,需要寫9次次ICW3, 如何寫?如何寫?微機原理與接口技術精品課程注:注:1 主片主片 2 從片的連接電路圖從片的連接電路圖 SP / EN 為主為主/從控制線(從控制線(SP) CAS0、 CAS1、 CAS2 為級聯(lián)線為級聯(lián)線 微機原理與接口技術精品課程174 初始化命令字初始化命令字ICW 4 ICW4叫做方式控制初始化命令字,必須寫到叫做方式控制初始化命令字,必須寫到82

10、59A奇地址端口(奇地址端口(A01)。)。ICW4僅在僅在ICW1中的中的D0l時才有時才有必要設置,否則就省略不用。必要設置,否則就省略不用。 說明:說明:D4位位特殊特殊指級聯(lián)時主片用指級聯(lián)時主片用“特殊特殊”,其它都,其它都用用“非特殊非特殊”。D3 D2位位,說明,說明與系統(tǒng)總線是否與系統(tǒng)總線是否用緩沖器(大系用緩沖器(大系統(tǒng)的總線驅動)統(tǒng)的總線驅動)相連。相連。D1位位一般取一般取0.為為了實現(xiàn)有優(yōu)先級了實現(xiàn)有優(yōu)先級要求的中斷嵌套,要求的中斷嵌套,8259A中有一個中有一個現(xiàn)行服務寄存器現(xiàn)行服務寄存器ISR ,自動,自動EOI方式,即一進入中斷,方式,即一進入中斷,8259A 即將

11、即將ISR的中斷服務位的中斷服務位ISRi請零,可能造成發(fā)生嵌套的優(yōu)先級請零,可能造成發(fā)生嵌套的優(yōu)先級混亂。除非保證不發(fā)生嵌套時才用自動混亂。除非保證不發(fā)生嵌套時才用自動EOI方式。方式。返返28 微機原理與接口技術精品課程18例:例:假設假設8259A地址為地址為20H 21H,與總線之間有緩沖器連接,與總線之間有緩沖器連接,非自動結束方式,只用一片非自動結束方式,只用一片8259A,普通完全嵌套,用,普通完全嵌套,用8088。請初始化請初始化ICW4解:解: MOV AL , 0000 1101B OUT 21H , AL微機原理與接口技術精品課程194個命令字的初始化順序個命令字的初始化

12、順序A0 = 0A0 = 1A0 = 1A0 = 1ICW1導向導向ICW1導向導向微機原理與接口技術精品課程20例例: 現(xiàn)有現(xiàn)有8086微機系統(tǒng),其中斷控制單元由單片微機系統(tǒng),其中斷控制單元由單片8259A構成。構成。8259A的觸發(fā)方式是邊沿觸發(fā),中斷類型號為的觸發(fā)方式是邊沿觸發(fā),中斷類型號為08H0FH,非,非自動結束方式,全嵌套方式,非緩沖方式。自動結束方式,全嵌套方式,非緩沖方式。8259A的地址為的地址為0DAH和和0DBH。試編寫該片。試編寫該片8259A的初始化程序。的初始化程序。解:解:微機原理與接口技術精品課程21操作命令字:操作命令字:OCW1, OCW2, OCW3 1

13、、中斷屏蔽命令字、中斷屏蔽命令字OCW1例:開放中斷IR0 IR1 IR2 IR3 其它中斷請求端 均屏蔽。假 定8259A的片地址為 : 20H 21H 請初始化OCW1 解:MOV AL , 0F0H OUT 21H , AL返返28 微機原理與接口技術精品課程222 . 中斷模式設置命令字 OCW2說明:一般使用ICW4的的非自動非自動EOI方式,用方式,用OCW2的普通的普通EOI方式結束中斷服方式結束中斷服務子程序。務子程序。注意:注意: ICW4用用在主程序的初始化中,而在主程序的初始化中,而OCW2用在中斷服務子程序中斷服務子程序中使用。中使用。在在子程序結束處用!子程序結束處用

14、! R=0為固定優(yōu)先級;為固定優(yōu)先級;IR0最高最高R=1為輪換優(yōu)先級。為輪換優(yōu)先級。例:中斷服務子程序片斷: . . MOV AL , 20H ;用普通EOI方式(不用設Li), OUT 20H , AL ; 送入偶地址20H , ISR的相應位清零 IRET ;CPU平臺上的中斷返回,恢復上層程序斷口。返回30頁注:外中斷結束前需要 兩個關鍵指令 : OUT 20H , AL ;接口片處理 IRET ;計算機系統(tǒng)處理記錄著正在執(zhí)記錄著正在執(zhí)行的中斷號行的中斷號微機原理與接口技術精品課程23返回返回20微機原理與接口技術精品課程243、 OCW3 例:編一段了解ISR狀態(tài)的程序片斷,假定82

15、59A的地址為20H 21H . : MOV AL , 00001111B ;普通屏蔽方式 OUT 20H , AL ; 寫OCW3 NOP ;此指令可有可無 IN AL , 20H ;讀ISR(注意端口A0=0)返回30頁微機原理與接口技術精品課程4個命令字個命令字 3個操作命令字的使用總結個操作命令字的使用總結5.4微機原理與接口技術精品課程26例例:某一中斷系統(tǒng),有一片主片和兩片從片8259A,主片的要求為:特定全嵌套方式、邊沿觸發(fā)、非自動EOI方式、非緩沖方式、中斷類型為40H;從片的要求為:全嵌套方式、邊沿觸發(fā)、非自動EOI方式、非緩沖方式、中斷類型為60H和80H;地址:主片為FF

16、D0H,F(xiàn)FD2H;從片分別為 FFD4H,F(xiàn)FD6H和FFD8H,F(xiàn)FDAH 。試編寫各8259A的初始化程序。級聯(lián)級聯(lián)管腳管腳微機原理與接口技術精品課程ICW1ICW2ICW3ICW4微機原理與接口技術精品課程28主片:ICW1:00010001B=11HICW2:40HICW3:01001000B=48HICW4:00010001B=11H從片A:ICW1:00010001B=11HICW2:60HICW3:00000011B=03HICW4:00000001B=01H從片B:ICW1:00010001B=11HICW2:80HICW3:00000110B=06HICW4:0000000

17、1B=01H三片8259A的控制字分別是:微機原理與接口技術精品課程29CLI ;初始化時要關中斷MOV DX,0FFD0HMOV AL,11HOUT DX,ALINC DXINC DXMOV AL,40HOUT DX,ALMOV AL,48HOUT DX,ALMOV AL,11HOUT DX,AL主片8259A的初始化程序:CLIMOV DX,0FFD4HMOV AL,11HOUT DX,ALINC DXINC DXMOV AL,60HOUT DX,ALMOV AL,3HOUT DX,ALMOV AL,01HOUT DX,AL從片A的初始化程序:CLIMOV DX,0FFD8HMOV AL,

18、11HOUT DX,ALINC DXINC DXMOV AL,80HOUT DX,ALMOV AL,6HOUT DX,ALMOV AL,01HOUT DX,AL從片B的初始化程序:微機原理與接口技術精品課程作業(yè):某一中斷系統(tǒng),有一片主片和兩片從片8259A,主片的要求為:特定全嵌套方式、電平觸發(fā)、非自動EOI方式、緩沖方式、中斷類型為48H;從片的要求為:全嵌套方式、邊沿觸發(fā)、非自動EOI方式、緩沖方式、中斷類型為60H和80H;地址:主片為0D0H,0D2H;從片分別為 0D4H,0D6H和0D8H,0DAH 。試編寫各8259A的初始化程序。微機原理與接口技術精品課程31例例:電腦:電腦I

19、BMPC/XT上使用的上使用的8259A介紹介紹電腦電腦IBMPC/XT的主機板上有一個以的主機板上有一個以8259A為中心組成的外為中心組成的外部中斷控制邏輯。下表為外部中斷源的分配表。部中斷控制邏輯。下表為外部中斷源的分配表。電腦在上電初始化期間,電腦在上電初始化期間,BIOS中有三段與中有三段與8259A有關的程序,見下頁有關的程序,見下頁 返回46頁微機原理與接口技術精品課程32 8259A初始化初始化MOV AX , 13H;ICW1:邊沿觸發(fā)、單片8259A、要送ICW4OUT 20H , AL;8259A接口的偶地址為20HMOV AL ,8;ICW2:裝中斷類型碼,從08H開始

20、0UT 21H , AL;8259A接口的奇地址為21HMOV AL , 9;裝ICW4:緩沖方式,80868088CPUOUT 21H , ALMOV AL , 0FFH ;裝0CWl:屏蔽全部中斷OUT 21H , AL微機原理與接口技術精品課程33例:例: 編寫中斷處理程序,要求主程序運行時,每編寫中斷處理程序,要求主程序運行時,每10秒響鈴一次,秒響鈴一次,同時屏幕上顯示信息同時屏幕上顯示信息“The bell is ring!”。(小自動化程序)。(小自動化程序)解:此問題的解決用VB或VC的控件很容易,但通過底層匯編語言更能看出 解決問題的實質。兩不同:前者是利用了系統(tǒng),后者是修改

21、了系統(tǒng)!兩不同:前者是利用了系統(tǒng),后者是修改了系統(tǒng)! 分析:1、每每10秒響鈴一次秒響鈴一次可用電腦中的定時器中斷實現(xiàn),其中斷號為可用電腦中的定時器中斷實現(xiàn),其中斷號為08H。 2、響鈴響鈴用并行接口用并行接口8255所控制的電腦揚聲器實現(xiàn)。所控制的電腦揚聲器實現(xiàn)。 3、顯示信息顯示信息“The bell is ring!”用軟件中斷調用用軟件中斷調用INT 21H 實現(xiàn)。實現(xiàn)。 定時中斷使用分析:電腦中定時中斷使用分析:電腦中定時時間為:定時時間為:1/18.2秒(約秒(約55ms),即每隔),即每隔55ms便進便進入入08H號中斷服務程序中(執(zhí)行完立馬返回),此程序的主要任務是:實時號中斷

22、服務程序中(執(zhí)行完立馬返回),此程序的主要任務是:實時修改修改“秒秒”“”“分分”“”“時時”“”“天天”等參數(shù),在中斷返回之前,有一個軟件調用等參數(shù),在中斷返回之前,有一個軟件調用指令:指令:INT 1CH;在系統(tǒng);在系統(tǒng)BIOS中,中,1CH的處理程序只有一條的處理程序只有一條IRET指令,僅指令,僅為用戶提供一個中斷類型號。所以可以利用中斷類型為用戶提供一個中斷類型號。所以可以利用中斷類型1CH設計一些動態(tài)功能。設計一些動態(tài)功能。在本例中,因為題目要求每在本例中,因為題目要求每10秒處理一次,而秒處理一次,而8號中斷執(zhí)行號中斷執(zhí)行182次才夠次才夠10秒,秒,即每中斷即每中斷182次響鈴

23、一次,同時屏幕上顯示信息次響鈴一次,同時屏幕上顯示信息“The bell is ring!”設計任務:設計任務:利用系統(tǒng)利用系統(tǒng)BIOS提供的中斷號提供的中斷號1CH,編寫一個完成任務的中斷服務程,編寫一個完成任務的中斷服務程序即可。序即可。(既編寫一段程序,程序的入口地址放入由(既編寫一段程序,程序的入口地址放入由1CH所指定的中斷表里)所指定的中斷表里) 在編寫程序時,除了功能實現(xiàn)外,還必須做兩個方面的工作:在編寫程序時,除了功能實現(xiàn)外,還必須做兩個方面的工作:1、在主程序初始化部分,先保存當前中斷向量表里、在主程序初始化部分,先保存當前中斷向量表里由1CH所指定中斷向量,再,再置新的中斷

24、向量;置新的中斷向量;2、在主程序結束部分恢復原保存的、在主程序結束部分恢復原保存的1CH中斷向量。中斷向量。微機原理與接口技術精品課程34主程序1.設置定時中斷次數(shù):1822.獲得原1CH中斷號處的中斷向量并保存之。中斷服務子程序1.保護現(xiàn)場.2.判斷定時中斷的次數(shù)是否夠 182次.不夠則中斷返回;若 夠則完成下列任務: (1)響鈴 (2)顯示: The bell is ring 恢復現(xiàn)場中斷返回在1CH中斷號處創(chuàng)建新的中斷向量。設置8259A的中斷屏蔽字。在1CH中斷號處恢復原中斷向量。主程序結束。程序設計框圖程序設計框圖每隔55ms執(zhí)行1次延時延時微機原理與接口技術精品課程35DATA

25、SEGMENT;數(shù)據(jù)段COUNT DW182 ;定時次數(shù)MESSDBThe bell is ring!,0AH,0DH,$ ;顯示內容DATA ENDSSTACK SEGMENT ;堆棧段DB 100 DUP(?)STACK ENDSCODE SEGMENTMAIN PROC FAR ASSUME CS:CODE, DS:DATA, ES:DATA, SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX ;各段地址初始化完畢 MOV AL,1CH;得到原中斷向量 MOV AH,35H INT 21H PUSHES ;存儲原中斷向量 PUSHBX微機原理與接口技術精品課程36MOV DX,OFFSET RING ;RING的偏移地址和段地址,取出新中斷向

溫馨提示

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

評論

0/150

提交評論