微型計算機原理及應用課件06_第1頁
微型計算機原理及應用課件06_第2頁
微型計算機原理及應用課件06_第3頁
微型計算機原理及應用課件06_第4頁
微型計算機原理及應用課件06_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微型計算機原理及應用第6章中斷系統(tǒng)6.1中斷概述6.1.1基本概念1.中斷與中斷源中斷是一個“過程”。這個過程,由微處理器內外部硬件或軟中斷指令引起,即由它們發(fā)出中斷請求,CPU接到中斷請求后暫時終止現行程序的執(zhí)行,轉去執(zhí)行請求中斷的那個外設或事件的中斷處理子程序,待中斷服務子程序處理完畢后,再返回到暫停處繼續(xù)執(zhí)行原來的程序,也就是說,中斷就是CPU在執(zhí)行當前程序的過程中,由于意外的事件輸入另一段程序的運行。中斷源:引起中斷的事件稱為中斷源。中斷源有多種,可以是外部的,也可以是CPU內部的。例如一般的輸入輸出設備、數據通道中斷源(如磁盤磁帶等)、實時時鐘、故障源(如電源掉電等)、軟件中斷(如在調試程序時設置斷點等)、CPU內部運算產生的某些錯誤(如運算溢出)。2.中斷系統(tǒng)能實現中斷過程的軟硬件系統(tǒng)叫中斷系統(tǒng)。中斷系統(tǒng)應具有以下功能:(1)能實現中斷響應、中斷服務和中斷返回。(2)能實現中斷優(yōu)先權排隊。(3)能實現中斷嵌套。

CPU響應中斷的過程與執(zhí)行調用子程序指令的過程很相似,但除了軟件中斷外,中斷是隨機發(fā)生的。6.1.2中斷處理過程各種微型計算機的中斷系統(tǒng)都不一樣,然而其實現中斷的過程是相同的。一個完整的中斷處理過程包括4個階段:中斷請求、中斷響應、中斷服務(處理)和中斷返回,如圖6-1所示。執(zhí)行指令指令結束?中斷請求?返回開中斷恢復現場中斷服務保護現場關中斷響應中斷取下一條指令否是是否1.中斷請求外部設備需要CPU為其服務時,首先向CPU發(fā)“中斷請求”信號。發(fā)出中斷請求信號必須滿足以下條件:(1)請求中斷的外設應通過接口電路在CPU的中斷請求輸入引腳上輸入一個符合規(guī)定的請求信號,該信號可以是電平或邊沿信號。(2)外設處于就緒狀態(tài),如輸出設備準備好接收CPU的數據時才能向CPU發(fā)出中斷請求。(3)該中斷源未被屏蔽。通常每個中斷源設置有一個中斷允許觸發(fā)器,用來開放或禁止該設備的中斷請求,中斷允許觸發(fā)器被置位時,表示允許發(fā)出中斷申請。中斷允許觸發(fā)器的置位或復位狀態(tài)由軟件設置(管理)。2.中斷響應由于中斷源的中斷請求是隨機的。CPU在現行指令周期結束時去檢測“中斷請求”輸入線(如8086CPU的INTR引腳),CPU檢測到有中斷請求時,如果中斷響應條件滿足(如中斷允許標志IF=1),則CPU在當前指令執(zhí)行結束時便響應中斷進入中斷響應周期,在中斷響應周期內CPU通過內部硬件自動完成三件事:(1)關中斷。使中斷響應周期不被其他中斷所終止。(2)保護斷點和標志寄存器內容,即將當前正在執(zhí)行程序的段地址(CS)和偏移地址(IP)即斷點地址壓入堆棧,將標志寄存器(FR)的內容壓入堆棧。(3)形成中斷服務程序的入口地址。將入口地址送入CS和IP后,開始執(zhí)行中斷服務程序。3.中斷處理

CPU響應中斷,執(zhí)行中斷服務程序要順序完成以下幾步工作:(1)保護現場。(2)開中斷。(3)查找中斷源轉向相應的中斷服務程序。(4)關閉中斷。(5)恢復現場。(6)開中斷。4.中斷返回中斷服務程序的最后一條指令必須是“中斷返回”指令,CPU執(zhí)行中斷返回指令時,自動將保存在現行堆棧中的標志寄存器的內容和斷點地址彈出,使程序回到中斷前的地址繼續(xù)執(zhí)行,即CPU從中斷服務程序返回而繼續(xù)執(zhí)行被終止的主程序。6.1.3中斷識別和中斷優(yōu)先級實際系統(tǒng)中,常常會出現多個中斷源同時提出中斷請求,或者在尚未處理完一個中斷時又有一個新的中斷請求提出。然而CPU每次只能響應一個中斷源的請求,所以CPU必須確定首先為哪一個中斷源服務及服務次序。

1.中斷優(yōu)先級排隊微型計算機系統(tǒng)中,對多個中斷源進行識別和優(yōu)先級排隊的目的是要尋找出優(yōu)先級最高的中斷源,并形成該中斷源的中斷服務程序的入口地址,以便CPU將控制轉移到該中斷服務程序。系統(tǒng)中CPU識別中斷源和比較其優(yōu)先級是同時解決的,稱為中斷優(yōu)先級排隊。

CPU實現中斷優(yōu)先級排隊的方法有兩種:查詢中斷和矢量中斷。(1)查詢中斷。查詢中斷(或叫程序查詢方式)就是在CPU響應中斷后,通過簡單硬件接口電路中斷識別程序查詢連接到系統(tǒng)上的每個設備。確定哪些外設提出中斷請求,是按事先確定的優(yōu)先級別確定查詢的先后順序,最先被查詢的優(yōu)先級別最高。查詢過程如圖6-2所示。硬盤軟盤打印機電源故障…………恢復現場中斷返回IR0請求?IR7請求?IR1請求?中斷服務程序入口保護現場讀中斷請求0#中斷服務程序1#中斷服務程序7#中斷服務程序(2)矢量中斷。矢量中斷就是CPU響應中斷后,要求中斷源提供一個地址信息,該地址信息稱為中斷向量(或叫中斷矢量),這種中斷稱為矢量(向量)中斷。所以,中斷向量就是中斷服務程序的入口地址。當CPU識別出某個外設請求中斷并予以響應時,控制邏輯就將該I/O設備的中斷服務程序的入口地址送CPU,轉入中斷服務程序。根據形成入口地址的機制的不同,向量中斷又分為:簡單硬件查詢法——菊花鏈法和中斷控制專用硬件方法。1)簡單硬件查詢方式——菊花鏈法。菊花鏈邏輯電路菊花鏈邏輯電路菊花鏈邏輯電路接口1接口3接口2數據總線CPU以及總線控制邏輯

INTAINTR2)中斷控制專用硬件方式。是向量中斷的典型方法,該方法使用一個專門的中斷優(yōu)先級控制器來解決中斷優(yōu)先級的排隊管理。

總線控制階段中斷類型寄存器,由中斷請求決定中斷服務寄存器優(yōu)先級管理邏輯中斷請求寄存器中斷屏蔽寄存器IR0IR1IR78086/8088CPU控制總線INTRINTA2.中斷的多級嵌套

CPU總是首先響應優(yōu)先級最高的中斷請求。當CPU正在執(zhí)行優(yōu)先級別較低的中斷服務程序時,允許響應優(yōu)先級別高的中斷源的中斷請求,終止正在處理的中斷,這就是中斷嵌套或稱多重中斷。此時,CPU暫停正在執(zhí)行著的級別較低的中斷服務程序,為優(yōu)先級別高的中斷源服務,待優(yōu)先權高的中斷服務結束后,再返回到剛才被中斷的那一級,繼續(xù)為它進行中斷服務,直至處理結束返回主程序,如圖6-5所示。編寫具有中斷嵌套的中斷服務程序時需要注意:(1)要有屏蔽本級和低級中斷請求的環(huán)節(jié),防止低級中斷的干擾。(2)執(zhí)行中斷服務程序之前,要開放中斷,允許優(yōu)先級比它高的中斷源進行中斷,實現中斷嵌套。(3)中斷服務程序結束后,為使恢復現場的過程不受任何中斷請求的干擾,必須執(zhí)行CLI指令,中斷關閉,才能恢復現場。INT1#INT2#INT3#1#中斷服務程序2#中斷服務程序3#中斷服務程序主程序返回返回返回6.28086/8088的中斷系統(tǒng)

8086/8088微機系統(tǒng)具有一個功能強大的中斷系統(tǒng),可以處理多達256種不同類型的中斷。對應的中斷類型碼為0~255。6.2.18086/8088的中斷分類按產生中斷的方法來分,8086/8088的中斷可以分為兩大類:一類是硬件中斷,另一類是軟件中斷,如圖6-6所示。非屏蔽中斷請求中斷邏輯INTn指令級管單步中斷除法出錯中斷8086/8088CPU8259AINTR可屏蔽中斷請求6.2.2中斷向量和中斷向量表中斷向量是中斷服務程序的入口地址,每一個中斷服務程序都有一個惟一確定的入口地址,即中斷向量。把系統(tǒng)中的全部中斷向量集中存放到存儲器的某一區(qū)域內,這個存放中斷向量的存儲區(qū)就叫中斷向量表,即中斷服務程序入口地址表。

8086/8088的中斷系統(tǒng)可以處理256種不同的中斷,每個中斷對應一個類型碼。8086/8088中斷系統(tǒng)中的中斷向量表是位于0段的0~3FFFH的存貯區(qū)內。每個中斷向量占四個單元,其中前兩個單元存放中斷處理子程序的入口地址的偏移量(IP),低位在前,高位在后;后兩個單元存放中斷處理子程序入口地址的段地址(CS),也是低位在前,高位在后,整個中斷向量的排列是按中斷類型號進行的。8086/8088系統(tǒng)在存儲器的最低端地址從0段0單元開始的,共1KB單元作為中斷向量表,如圖6-7所示.CSIP≈≈CSIPCSIPCSIPCSIPCSIP≈≈CSIP…類型255類型32類型5類型4類型3類型2類型1類型0類型31供用戶定義的中斷(共224個)保留的中斷(共27個)專用的中斷(共5個)0000:03FFH0000:007FH0000:007EH0000:0014H0000:0013H0000:0010H0000:000FH0000:0008H0000:0007H0000:0004H0000:0003H0000:0000H0000:000CH0000:000BH溢出中斷斷點中斷除數為0中斷單步中斷非屏蔽中斷8086/8088系統(tǒng)中的256個中斷分為以下三大類:(1)專用中斷。它們對應于類型0~4,它們有明確的定義和處理功能,分別對應于除法出錯、單步中斷、不可屏蔽中斷、斷點中斷和溢出中斷,用戶不能修改。(2)從類型5~31共27個中斷是系統(tǒng)保留的中斷,提供給系統(tǒng)使用,這些中斷中,有的沒有使用,但是為了保持系統(tǒng)之間的兼容性以及與將來Intel系統(tǒng)的兼容,用戶不能對這些中斷進行自行定義。(3)從類型32~255共224個中斷,這類中斷原則上是可以由用戶定義的??啥x為由INTn指令引入軟中斷,可以是通過INTR引腳直接引入,或者通過中斷控制器8259A引入可屏蔽中斷,使用時用戶要裝入相應的入口地址。但是,這類中斷類型號中,有的系統(tǒng)已分配有固定的用處,比如類型號為21H的中斷已定義為操作系統(tǒng)MS-DOS的系統(tǒng)調用。6.2.3硬件中斷硬件中斷也叫外部中斷,由I/O設備或外部電路產生。8086/8088CPU中的硬件中斷分為兩種:1.非屏蔽中斷NMI從CPU的NMI引腳引入從NMI引腳引入的中斷為非屏蔽中斷,它不受中斷允許標志的影響。非屏蔽中斷的類型碼為2,因此非屏蔽中斷處理子程序的入口地址存放在開始的4個單元中。2.可屏蔽中斷INTR從CPU的INTR引腳引入一般外部設備請求的中斷都是從CPU的INTR端引入的可屏蔽中斷。當CPU接收到一個可屏蔽中斷請求時,如果中斷允許標志IF為1,那么CPU就會在執(zhí)行完當前指令后響應這一中斷請求。至于IF的設置和清除,則可以通過指令或調試工具來實現。3.硬件中斷的響應和時序CPU響應外設中斷并轉入中斷服務程序的過程要依次完成以下操作:(1)執(zhí)行第一個中斷響應總線周期,發(fā)負脈沖,通知外部設備接口中斷請求已被響應,同時封鎖總線,禁止其他總線主模塊發(fā)總線請求。(2)執(zhí)行第二個中斷響應總線周期,從數據總線上讀取中斷類型碼存入內部暫存器。(3)將標志寄存器的內容壓入堆棧。(4)將IF和TF清零。清除IF是為了在中斷響應過程中禁止其他外部中斷,以免中斷響應過程被中斷請求打擾;清除TF是為了避免CPU以單步方式執(zhí)行中斷服務子程序。(5)保護斷點。即將當前指令的下一條指令的段地址CS值和段內偏移地址IP值壓入棧,使中斷處理完畢后正確地返回斷點處繼續(xù)執(zhí)行主程序。(6)轉入中斷處理子程序。根據(2)得到的類型碼,從中斷向量表中找到中斷向量并轉入相應的中斷服務子程序。(7)中斷返回。中斷服務程序結束時,CPU依次從堆棧中彈出IP、CS和FR的內容,然后按照IP和CS值返回主程序的斷點處繼續(xù)執(zhí)行原來的程序,返回斷點的一系列操作是由IRET中斷返回指令實現的。標志入棧令TEMP=TF清除IF、TF執(zhí)行中斷服務程序調用中斷服務程序CS、IP入棧有NMI嗎?TEMP=1?彈出CS和IP彈出標志IF=1?結束當前指令是內部中斷?是NMI中斷?是INTR中斷?TF=1?執(zhí)行下一條指令中斷響應讀類型碼n是否是是是是有4.中斷服務子程序不同的中斷源,其中斷服務子程序的功能不同,但所有的中斷服務子程序都有著相同的結構模式。(1)中斷服務程序的開始要用壓棧指令保護現場,即保護CPU內有關寄存器的值以及中斷服務程序中要使用的寄存器值。(2)用STI指令開中斷,以便在中斷處理過程中允許優(yōu)先級更高的中斷進入實現嵌套。(3)執(zhí)行中斷處理程序,進行具體的中斷服務,這是中斷服務程序的主要部分。(4)中斷處理模塊執(zhí)行完后,用CLI指令關中斷,恢復現場過程中禁止其他中斷。(5)通過一系列的出棧指令POP將保護現場時壓入堆棧的內容以相反的次序彈出,即恢復現場。(6)開放中斷。(7)中斷返回指令返回主程序。執(zhí)行中斷返回指令,使堆棧中保存的斷點值和標志值分別裝入IP、CS和標志寄存器。6.2.4軟件中斷8086/8088系統(tǒng)中,提供了直接調用中斷處理子程序的軟件手段,這就是中斷指令INTn。通過中斷指令使CPU執(zhí)行中斷處理子程序的方法叫軟件中斷。軟件中斷是由CPU內部所引起的,也叫內部中斷。軟件中斷可以由中斷指令INTn引起,由CPU的某些運算錯誤(如除法出錯等)引起或由調試程序DEBUG設置的中斷。CPU執(zhí)行程序過程中,會發(fā)現運算中出現的一些錯誤,這時就會中斷程序的執(zhí)行,自動啟動內部邏輯轉去執(zhí)行所需要的中斷服務程序處理這些錯誤。(1)類型0中斷(除法出錯中斷)。除法過程中,若除數為0或商超過了寄存器所能表示的范圍,這時就會產生一個類型為0的中斷,轉入類型0的中斷服務程序。(2)類型1中斷(單步中斷)。在CPU執(zhí)行一條指令前,如果檢測到標志寄存器中的單步標志IF=1,則8086/8088就處于單步工作方式,即每執(zhí)行完一條指令后都自動產生一個1型中斷,執(zhí)行一次單步中斷處理程序,此程序用來顯示一些內部寄存器的值以及一些附帶信息。因此,單步中斷一般用于程序的調試。(3)類型3中斷(斷點中斷)。斷點中斷是專供在程序中設置斷點用的,可以很方便地插入到程序的任何地方,插入類型3中斷的地方便是斷點。在斷點處,停止正常的執(zhí)行過程,以便進行某種特殊的處理。也用于程序的調試。(4)類型4中斷(運算溢出中斷)。CPU檢測溢出標志OF=1時,就執(zhí)行一條INTO指令,之后立即產生一個類型4中斷,此時中斷處理程序給出錯誤標志。由中斷指令INTn引起中斷。CPU執(zhí)行一條INTn指令后立即產生中斷,并且會調用系統(tǒng)中相應的中斷處理程序來完成中斷功能。指令中的n為中斷類型碼。軟件中斷具有以下特點:(1)執(zhí)行一條指令進入中斷處理子程序,并從指令本身獲得中斷類型碼。(2)進入中斷時,不需要執(zhí)行中斷響應總線周期,不需要發(fā)響應信號,也不需要從數據總線上獲取中斷類型碼。(3)除單步中斷外,內部中斷不受中斷允許標志IF的影響,即不論IF=1還是0,任何一個軟件中斷均可執(zhí)行。單步中斷需要IF=1時才能執(zhí)行。(4)除單步中斷外,所有內部中斷都比外部中斷的優(yōu)先級別高。(5)正在執(zhí)行軟件中斷時,如果有外部中斷請求,且是不可屏蔽中斷請求,則會在執(zhí)行完當前指令之后立即予以響應;如果來了可屏蔽中斷請求,且中斷是開放的(即IF=1),則也會在當前指令執(zhí)行完后響應可屏蔽中斷請求。(6)軟件中斷沒有隨機性。軟件中斷是由安排在程序中的指令引起的,何時執(zhí)行此指令是可事先知道的,硬件中斷是由外設發(fā)中斷請求信號引起的,外設何時發(fā)出請求是完全隨機的,無法預測。6.3可編程中斷控制器8259A

可編程中斷控制器8259A可用于管理8級優(yōu)先權中斷,將9片8259A級聯可構成最多可達64級優(yōu)先權的中斷管理系統(tǒng)。8259A具有多種工作方式,自動提供中斷服務程序入口地址。6.3.18259A的外部引腳和內部結構1.8259A的外部引腳信號2.8259A的內部結構8259A的內部結構如圖6-11所示。

8259A由以下幾部分組成:(1)數據總線緩沖器。(2)讀/寫控制電路。(3)級聯緩沖器/比較器。(4)中斷請求寄存器IRR。(5)中斷屏蔽寄存器IMR。(6)中斷服務寄存器ISR。(7)優(yōu)先級判別器PR。(8)控制電路??刂齐娐分袛喾占拇嫫鳎↖SR)優(yōu)先級判別器(PR)中斷請求寄存器(IRR)中斷屏蔽寄存器(IMR)IR0IR1IR7內部總線3.8259A的編程結構8259A內部由兩大部分組成。

上半部分包括中斷請求寄存器IRR、優(yōu)先級別器PR和中斷服務寄存器ISR,它們構成8259A的中斷處理部分,稱為處理部件。這部分的功能是接收和處理從IR1~IR0引腳進入的外部中斷,其工作過程體現了8259A本身的工作原理。即接收中斷請求,進行中斷判優(yōu),記錄當前正在處理的中斷優(yōu)先級,實現中斷嵌套,向CPU發(fā)出中斷申請,當CPU響應中斷時,接收CPU的兩個連續(xù)中斷響應信號,將控制轉移到中斷服務程序中去。8259A的下半部有7個8位寄存器,是8259A的控制部分,它們都是可編程、用指令對其內容進行設置的。7個寄存器分為兩組。

ICW1~ICW4為一組,稱為初始化命令寄存器,用來接收CPU向8259A發(fā)出的初始化命令以決定8259A的工作方式。初始化命令一般在計算機系統(tǒng)啟動時由初始化程序發(fā)出設置,一旦設定,在系統(tǒng)工作過程中就不再改變。

OCW1~OCW3為一組,稱為操作命令寄存器,用來存放CPU向8259A發(fā)出的操作命令,操作命令由應用程序設置,用以在工作過程中對8259A進行動態(tài)控制。操作命令可以多次被設置。6.3.28259A的工作方式1.設置中斷優(yōu)先級的方式8259A對中斷優(yōu)先級的設置方式有:全嵌套方式、特殊全嵌套方式、優(yōu)先級自動循環(huán)方式和優(yōu)先級特殊循環(huán)方式4種。(1)全嵌套方式。(2)特殊全嵌套方式。(3)優(yōu)先級自動循環(huán)方式。(4)優(yōu)先級特殊循環(huán)方式。2.結束中斷方式8259A的中斷結束方式分為兩類:自動結束方式和非自動結束方式。非自動結束方式又分為兩種:一種叫普通的中斷結束方式,另一種叫特殊的中斷結束方式。(1)中斷自動結束方式。(2)一般的中斷結束方式(即一般EOI方式)。(3)特殊的中斷結束方式。3.屏蔽中斷源的方式將IF清零,可以禁止所有的可屏蔽中斷進入CPU,即屏蔽掉所有的中斷源。但如果要屏蔽某個或某幾個中斷源,則要用8259A的中斷優(yōu)先級管理的屏蔽方式來實現。8259A對中斷源的屏蔽方式有以下兩種:(1)普通屏蔽方式。(2)特殊屏蔽方式。4.8259A與系統(tǒng)總線的連接方式8259A與系統(tǒng)總線的連接有緩沖和非緩沖兩種方式。(1)緩沖方式。(2)非緩沖方式。5.引入中斷請求方式中斷請求的引入方式也叫中斷觸發(fā)方式。外部設備可以采用三種觸發(fā)方式向8259A提出中斷請求:電平觸發(fā)方式、邊沿觸發(fā)方式和中斷查詢方式。(1)邊沿觸發(fā)方式。(2)電平觸發(fā)方式。(3)中斷查詢方式。要實現查詢功能,CPU執(zhí)行的查詢軟件中必須有查詢命令,查詢命令是CPU執(zhí)行的查詢軟件中向8259A發(fā)查詢命令OCW3來完成的,其過程是:系統(tǒng)先關中斷,然后CPU用OUT指令向8259A的偶地址端口發(fā)查詢命令字OCW3,如果在此之前某IR有中斷請求,則8259A將ISR寄存器中的對應位置“1”,且立即組成查詢字。6.3.38259A的初始化命令字和操作命令字8259A的各種工作方式都要通過軟件來設置,工作狀態(tài)的改變動態(tài)也需要通過軟件來實現,也就是對8259A的編程。1.8259A的初始化命令初始化命令字ICW1~ICW4用來設定8259A的初始化狀態(tài),在初始化程序中向8259A發(fā)出,而且整個工作過程中保持不變。(1)ICW1:芯片控制初始化命令。ICW1應寫入偶地址端口,即A0為0,其格式如圖6-13所示。01LTIMADISNGLIC4A0D4D3D2D1D0D5D6D7(2)ICW2:設置中斷類型碼的初始化命令。

1IR4IR3IR2IR1IR0IR5IR6IR7A0D4D3D2D1D0D5D6D7(3)ICW3:標識主片/從片初始化命令字。

100ID2ID1ID0000A0D4D3D2D1D0D5D6D7(4)ICW4:方式控制初始化命令字。2.8259A的初始化流程在8259A進入正常運行之前,必須將系統(tǒng)中的每一片8259A進行初始化。初始化就是將上述的初始化命令字按固定的次序寫入8259A的指定端口。8259A的初始化流程如圖6-17所示。用ICW4設置是否級聯中斷為請示信號格式后面是否用ICW4用ICW2設置類型碼是否為級聯方式?本片為主片嗎?設置ICW2,各位對應IR0~IR7的連接情況設置ICW2,高5位為0,低3位為標識位需要用ICW4?用ICW4設置是否為特殊全嵌套方式是否為緩沖方式是否為自動結束中斷方式是否為8086/8088系統(tǒng)結束是是否否否是例如:某8086/8088微機系統(tǒng)內有一片8259A,中斷請求信號采用邊沿觸發(fā)方式,中斷類型碼基值為18H,中斷優(yōu)先級管理采用全嵌套方式,即非特殊全嵌套,中斷結束方式采用普通EOI方式,系統(tǒng)中采用數據緩沖器,8259A的端口地址為3F80H和3F81H,對該8259A進行初始化,程序如下:MOV DX,3F80H

;設置8259A的偶地址端口MOV AL,13H

;設置ICW1初始化命令字OUT DX,AL

;將ICW1輸出到偶地址端口(ICW1寄存器)MOV DX,3F81H

;設置8259A的奇地址端口MOV AL,18H

;ICW2,中斷類型號基值OUT DX,AL

;將ICW2送入奇地址端口MOV AL,0DH

;ICW4OUT DX,AL

;將ICW4送入奇地址端口HLT3.8259A的操作命令字8259A有3個操作命令:OCW1、OCW2、OCW3。操作命令字在應用程序中設置,沒有固定的順序,而且可以根據需要多次寫入,但對各操作命令字的寫入口地址有嚴格的規(guī)定,OCW1必須寫入奇地址端口,OCW2和OCW3必須寫入偶地址端口。(1)OCW1:中斷屏蔽操作命令字。OCW1用來實現對中斷源的屏蔽功能,其內容直接置入IMR屏蔽寄存器。1M4M3M2M1M0M5M6M7A0D4D3D2D1D0D5D6D7(2)OCW2:優(yōu)先級循環(huán)方式和中斷結束方式操作命令字。OCW2有兩個功能:設置中斷結束方式和設置優(yōu)先級循環(huán)方式,要求寫入偶地址端口,其格式如圖6-19所示。100L2L1L0EOISLRA0D4D3D2D1D0D5D6D7(3)OCW3:特殊屏蔽方式和中斷查詢方式操作命令字。OCW3有三個功能:設置和撤消特殊方式、設置中斷查詢方式、設置對8259A內部寄存器的讀出命令。001PRRRISSMMESMM0A0D4D3D2D1D0D5D6D7

ODFIFTF

12111098131415AFPFCFZFSF43210567溢出標志方向標志中斷允許標志單步標志符號標志零標志輔助進位標志奇偶校驗標志進位標志OCW3的中斷查詢功能為:P位為中斷查詢方式位,當P=1時,使8259A處于中斷查詢方式,當CPU向8259A偶地址端口寫入一個查詢命令后,再執(zhí)行一條輸入指令,CPU就可讀入8259A提供的查詢字,查詢字表明了當前有無中斷請求以及中斷請求中優(yōu)先級最高的是哪一個。8259A的查詢字格式如圖6-21所示。4.8259A級聯使用舉例某8086微機系統(tǒng)由兩片8259A級聯構成中斷控制系統(tǒng),從片8259A接主片的IR1,主片的IR4和IR5有中斷引入,中斷類型號為44H和45H。兩個中斷服務程序在同一段內,段基址為1000H,偏移地址分別為1500H和2000H。從片的IR3和IR6上有中斷請求引入,類型號分別為43H和46H,中斷服務程序在同一段內,段基址為2000H,偏移地址為4000H和4700H,試分別對主8259A和叢8259A進行初始化編程。中斷系統(tǒng)的硬件連接如圖6-22所示。+5V外部中斷請求RDWRINTAD7~D0CSA0 INCAS2CAS1主8259ACAS0CAS2RDWRINTAD7~D0

溫馨提示

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

評論

0/150

提交評論