微機原理與接口技術漆強版第10章中斷與中斷管理_第1頁
微機原理與接口技術漆強版第10章中斷與中斷管理_第2頁
微機原理與接口技術漆強版第10章中斷與中斷管理_第3頁
微機原理與接口技術漆強版第10章中斷與中斷管理_第4頁
微機原理與接口技術漆強版第10章中斷與中斷管理_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第10章第10章中斷與中斷管理本章主要內容8086的中斷系統(tǒng)

21中斷概念

1310.1中斷概念1、中斷在CPU正常執(zhí)行程序的過程中,如果發(fā)生內部/外部事件或是程序預先安排的事件急需CPU處理時,CPU會暫時中斷正在執(zhí)行的程序,轉去執(zhí)行相應的事件處理程序。待事件處理完畢后,CPU再返回到被暫時中斷的程序繼續(xù)執(zhí)行。這個過程就稱為中斷。中斷是微處理器CPU與外部設備交換信息的一種方式,是CPU處理隨機事件和外部請求的主要手段。10.1.1中斷與中斷源1、中斷最初,中斷技術引入計算機系統(tǒng),只是為了解決快速的CPU與慢速的外部設備之間傳送數據的矛盾。例如:打印輸出時,CPU傳送數據的速度高,而打印機打印的速度低。如果不采用中斷技術,CPU將經常處于等待狀態(tài),效率極低。采用中斷技術后,CPU可以正常進行其它的工作,只在打印機緩沖區(qū)中的當前內容打印完畢發(fā)出中斷請求之后,才予以響應。這時,CPU暫時停止執(zhí)行當前程序而轉去執(zhí)行向緩沖區(qū)傳送數據的程序,傳送完成后又返回原來的程序執(zhí)行。這樣就大大地提高了CPU的效率。1、中斷隨著計算機技術的發(fā)展,中斷技術不斷被賦予新的功能,它可以使計算機系統(tǒng)完成如下功能:CPU與外部設備并行工作實時信息處理故障檢測和自動處理分時處理2、中斷源產生中斷請求的設備或事件稱為“中斷源”。根據中斷源不同,中斷可分為三類:由計算機硬件異?;蚬收弦鸬闹袛?,也稱為內部異常中斷;程序中執(zhí)行了中斷指令引起的中斷,也稱為軟件中斷或軟中斷;外部設備(如輸入、輸出設備)請求引起的中斷,也稱為硬件中斷或外部中斷。10.1.2中斷系統(tǒng)的功能中斷過程BECDA中斷請求中斷判優(yōu)中斷響應中斷返回中斷服務中斷過程需要由計算機的軟、硬件共同完成,能完成中斷過程的所有硬件和軟件構成中斷系統(tǒng)。中斷系統(tǒng)應具備如下功能:接收中斷請求中斷源識別中斷源判優(yōu)中斷嵌套中斷處理與返回10.1.2中斷系統(tǒng)的功能對于不同的微機系統(tǒng)和不同的中斷方式(如軟件、硬件中斷),CPU進行中斷處理的具體過程不完全一樣。但都要經過:請求中斷、中斷判優(yōu)、中斷響應、中斷處理和中斷返回等階段。10.1.3簡單的中斷處理過程(1)中斷請求觸發(fā)器置位CPU只有在當前指令執(zhí)行結束后才會檢測有無中斷請求發(fā)生,因此對于外部中斷,中斷源要向CPU發(fā)出中斷請求,就必須把自己的中斷請求信號保持到CPU響應,才可以清除。故要求每一個中斷源都有一個中斷請求觸發(fā)器,用于記錄中斷請求標志。當提出中斷請求時,該觸發(fā)器被置位,如下圖所示。1、CPU響應中斷的條件(2)中斷屏蔽觸發(fā)器置位在通常情況下,往往有多個中斷源。在外設接口中,為每一個中斷源設置了一個中斷屏蔽觸發(fā)器,用來開放或關閉中斷源的請求。只有中斷屏蔽觸發(fā)器設置為“1”時,外設的中斷請求信號才能被送到CPU,如下圖所示。1、CPU響應中斷的條件(3)中斷是開放的外部中斷是否響應,還取決于CPU是允許中斷還是禁止中斷。CPU通過內部設置的一個中斷允許觸發(fā)器(標志寄存器FR的IF位),來開放或關閉可屏蔽中斷INTR。執(zhí)行STI指令后,IF置“1”,稱為開中斷,允許CPU響應INTR請求;執(zhí)行CLI指令后,IF清“0”時,稱為關中斷,禁止CPU響應INTR請求。1、CPU響應中斷的條件(4)CPU在執(zhí)行當前指令的最后一個時鐘周期CPU在執(zhí)行當前指令的最后一個時鐘周期才去查詢INTR引腳。若查詢到該引腳信號為高電平,則表示收到有效中斷請求信號。在開中斷(即IF=1)的情況下,CPU在下一個總線周期不進入取指周期,而是進入中斷響應周期處理中斷。1、CPU響應中斷的條件1、CPU響應中斷的條件中斷響應、服務及返回流程圖CPU進入中斷響應周期后,自動完成如下操作:(1)關閉中斷

FR中的中斷標志位IF清零;(2)保護斷點將當前CS和IP的內容壓入堆棧保存,以便中斷處理完畢后能返回被中斷的原程序繼續(xù)執(zhí)行;(3)送中斷類型號在中斷響應周期的第二個總線周期中,由中斷控制器給出中斷類型號,CPU根據中斷類型號獲取中斷服務子程序的入口地址,并裝入CS與IP;一旦裝入完畢,中斷服務程序就開始執(zhí)行。2、CPU對中斷的響應中斷服務程序,就是為實現中斷源所期望達到的功能而編寫的程序。步驟:(1)保護現場

為使中斷處理程序不破壞主程序中寄存器的內容,應先將斷點處各寄存器的內容壓入堆棧保護起來;(2)中斷服務不同的中斷請求,有各自不同的中斷服務內容;需要根據中斷源所要完成的功能,事先編寫相應的中斷服務程序存入內存;(3)恢復現場中斷處理完后,恢復主程序斷點處各寄存器的內容。3、CPU對中斷的處理在中斷服務子程序的最后,要開中斷(CPU能響應新的中斷請求)并安排一條中斷返回指令IRET。執(zhí)行指令IRET后,之前壓入堆棧的斷點值及程序狀態(tài)字彈回到CS、IP及FLAGS中,CPU繼續(xù)執(zhí)行主程序。4、中斷的返回10.1.4中斷源識別及優(yōu)先權判斷1、中斷源識別原因:當系統(tǒng)中有多個中斷源時,一旦發(fā)生中斷,CPU需確定是哪一個中斷源提出了中斷請求。任務:確定該響應的是哪個中斷源;找到該中斷服務程序的入口地址。1、中斷源識別的方法(1)軟件查詢法

任一中斷請求,都可向CPU發(fā)出INTR信號;將中斷請求信號相“或”后,作為INTR信號。(1)軟件查詢法優(yōu)點硬件電路簡單,無需優(yōu)先權的硬件排隊電路,可隨時修改優(yōu)先級(改變查詢的先后順序);缺點軟件查詢由詢問轉至相應中斷服務程序入口時間長,尤其在中斷源較多的情況下,中斷響應的實時性受到影響。1、中斷源識別的方法1、中斷源識別(2)中斷向量法通過硬件控制電路形成一個供CPU識別中斷源的中斷向量號,并由此中斷向量號實現中斷響應。(2)中斷向量法優(yōu)點CPU可直接通過中斷向量表轉向相應的處理程序,不需要CPU去逐個檢測和確定中斷源,因此大大加快了中斷響應的速度。1、中斷源識別的方法系統(tǒng)按任務的輕重緩急,為每個中斷源進行排隊,并給出順序編號,稱為中斷優(yōu)先級??墒孪冉o各中斷源安排一個中斷優(yōu)先級次序,當多個中斷源同時申請時,按優(yōu)先級從高到低的次序來處理,選中當前優(yōu)先級最高的中斷進行處理,這個過程稱為中斷優(yōu)先級判優(yōu)。在一般情況下,系統(tǒng)的內部中斷優(yōu)先于外部中斷,不可屏蔽中斷優(yōu)先于可屏蔽中斷。中斷源的優(yōu)先級判優(yōu)可以通過軟件查詢方式和硬件排隊電路兩種方法實現。2、中斷優(yōu)先權(1)軟件查詢方式基本原理當CPU接收到中斷請求信號后,執(zhí)行優(yōu)先級判優(yōu)的查詢程序,逐個檢測外設中斷請求標志位的狀態(tài);檢測的順序:優(yōu)先級的高低;最先檢測到的中斷源具有最高的優(yōu)先級;最后檢測到的中斷源具有最低的優(yōu)先級。優(yōu)點硬件電路簡單,無需優(yōu)先權硬件排隊電路,可以通過修改程序的方法隨時修改優(yōu)先級;缺點軟件查詢影響中斷響應的實時性。

(1)軟件查詢方式硬件優(yōu)先權排隊電路是專門的硬件電路;優(yōu)點節(jié)省CPU的時間,而且中斷響應較快;缺點成本比較高。菊花鏈(或稱鏈式)優(yōu)先權排隊電路在每個中斷源的電路中設置一個菊花鏈邏輯電路當某設備有中斷請求時,會向CPU發(fā)送中斷請求信號若CPU允許中斷,則CPU發(fā)出中斷響應信號信號在菊花鏈中傳遞如果某設備沒有中斷請求,則信號通過菊花鏈邏輯電路繼續(xù)往下一級傳遞。(2)硬件優(yōu)先權排隊電路Intel80X86系列微機有一個靈活的中斷系統(tǒng),可以處理256種中斷源,每個中斷源都有對應的中斷類型號(0~255D)供CPU識別。10.28086的中斷系統(tǒng)1、外部中斷外部中斷是指由外部設備通過硬件請求的方式產生的中斷;外部中斷也稱為硬件中斷。外部中斷可分為:非屏蔽中斷可屏蔽中斷10.2.18086的中斷類型(1)非屏蔽中斷NMI當外設向CPU提出中斷請求時,CPU在當前指令執(zhí)行結束后,就立即無條件的予以響應,這樣的中斷就是非屏蔽中斷。由CPU的NMI引腳引入,NMI上升沿時觸發(fā),維持2個T高電平。不受中斷允許標志IF的影響;中斷類型號固定為2;在外部中斷源中優(yōu)先級最高;主要用于處理系統(tǒng)的意外或故障,如:電源掉電、存儲器讀/寫錯誤等。(2)可屏蔽中斷INTR受CPU中斷允許標志位IF的控制:IF=1時,CPU響應中斷請求;IF=0時,CPU屏蔽中斷請求,不予響應;由CPU的INTR引腳引入,高電平有效。中斷類型號由中斷請求的設備提供。2、內部中斷內部中斷是由CPU運行程序異?;驁?zhí)行內部程序調用引起的一種中斷;內部中斷也稱為軟件中斷。不受IF影響。中斷類型號由指令提供。2、內部中斷內部中斷有:除法錯中斷執(zhí)行除法指令時,若除數為0或商超過寄存器所能表達的范圍,則CPU立即產生一個0型中斷。

溢出中斷如果上一條指令使溢出標志位OF為1,則執(zhí)行INTO指令產生4型中斷。INTn指令中斷8086的指令系統(tǒng)中有一條INTn指令,執(zhí)行這條指令就會立即產生中斷。2、內部中斷

單步中斷當單步標志(陷阱標志)TF置“1”時,80x86處于單步工作方式。在單步工作時,每執(zhí)行完一條指令,CPU自動產生中斷類型號為1的中斷。斷點中斷斷點中斷是80x86提供的一種調試程序的手段。用于設置程序中的斷點,中斷類型號為3。中斷優(yōu)先級由高到低分別為:除法錯、INTn指令、溢出、斷點中斷非屏蔽中斷NMI

可屏蔽中斷INTR

單步中斷1、中斷向量表的概念(1)中斷類型號在8086系統(tǒng)中,共設有256類中斷,每類中斷分配到一個8位的編號,這個編號就叫做中斷類型號。中斷類型號的范圍:

00~FFH(0~255D)10.2.2中斷向量和中斷向量表需要響應的每一類中斷都編寫有相應的中斷服務程序,并預先裝入內存,中斷服務程序在內存中的入口地址叫中斷向量。每個中斷類型對應一個中斷向量。中斷向量的字長是4個字節(jié)2個字節(jié)的段地址2個字節(jié)的偏移地址(2)中斷向量把系統(tǒng)中所有的中斷向量集中起來放到存儲器的某一區(qū)域內,這個存放中斷向量的存儲區(qū)就叫中斷向量表或中斷服務程序入口地址表。8086系統(tǒng)把中斷向量表安排在內存地址00000H~003FFH區(qū)域(1K)。每四個連續(xù)字節(jié)存放一個中斷向量,高地址2個字節(jié)單元放段地址(CS)低地址2個字節(jié)單元中放偏移地址(IP)。(3)中斷向量表為了便于在中斷向量表中找到中斷向量,通常設置一種指針,來指出中斷向量存放在中斷向量表的具體位置;存放中斷向量的4個存儲單元的最低地址稱為向量表地址指針。計算方法:

中斷類型號×4(4)中斷向量表地址指針如果已知一個中斷類型號,則通過兩次地址轉換(中斷類型號到中斷向量表地址;中斷向量表地址到中斷處理程序入口地址)后,可到達中斷服務程序。(4)中斷向量表地址指針在8086系統(tǒng)中各種中斷的響應和處理過程是不完全相同的,主要區(qū)別還在于如何獲取相應的中斷類型號。1、順序查詢(1)中斷源識別CPU在當前指令執(zhí)行完后,按內部中斷(除法出錯、INTn、斷點中斷、溢出中斷)、NMI、INTR、單步中斷的順序來逐個查詢是否有中斷請求,對于INTR還要判斷CPU是否允許中斷(IF=1)。(2)8086的中斷優(yōu)先級CPU檢測的順序是按優(yōu)先級的高低來進行的,最先檢測到的中斷源具有最高的優(yōu)先級,最后檢測到的中斷源具有最低的優(yōu)先級。10.2.38086中的中斷響應和處理過程當內部中斷發(fā)生時,是按預定方式得到中斷類型號(專用中斷:0、1、3、4)在用軟件中斷指令INTn時,中斷指令本身就為CPU提供了中斷類型號n。非屏蔽中斷類型號固定是2??善帘蔚闹袛嘤烧埱笾袛嗟脑O備提供中斷類型號。2、形成中斷類型號斷點保護。將標志寄存器(PSW)、當前段寄存器(CS)及指令指針(IP)內容壓入堆棧。關閉中斷,并清除IF及TF位(IF←0,TF←0),以便禁止響應可屏蔽中斷或單步中斷。將取得的中斷類型號乘4,到中斷向量表中取中斷向量(中斷處理程序的入口地址),其中高2字節(jié)段地址送到CS中,低2字節(jié)偏移地址送入IP中。一旦中斷處理程序的入口地址置入IP及CS中,程序就被轉入并開始執(zhí)行中斷處理程序。中斷服務程序一般包括:保護現場、中斷服務、恢復現場等部分。同時,為了能夠處理多重中斷,還可在中斷處理程序的適當地方加入開中斷指令(STI)。3、中斷處理中斷服務程序執(zhí)行完畢,最后執(zhí)行一條中斷返回指令IRET,將壓入堆棧的原標志寄存器內容及斷點地址彈出,繼續(xù)執(zhí)行原程序。4、中斷返回1、ADC0808/0809的內部結構及引腳

ADC0809是CMOS工藝制作的8位A/D轉換器;包含有一個8通道的多路模擬開關和尋址邏輯,可接入8個模擬輸入電壓并對其進行分時轉換;其數字輸出部分,分辨率為8位。具有三態(tài)鎖存和緩沖能力,可直接與微處理器的總線相連。轉換時間為200μs,工作溫度范圍為–40℃~+85℃,功耗為15mw,輸入模擬電壓范圍為0~5V,采用5V電源供電。1、ADC0808/0809的內部結構及引腳

(1)ADC0808/0809的內部結構:(2)引腳說明IN0~IN78路模擬電壓輸入

(2)引腳說明ADD3個引腳分別為:ADDA/ADDB/ADDC8路模擬電壓輸入的選擇譯碼后選擇8路模擬電壓輸入中的一路進行轉換(2)引腳說明ADDCADDBADDA模擬輸入通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7(2)引腳說明ALE地址鎖存允許信號控制通道選擇開關的打開與閉合ALE=1時接通某一路的模擬信號ALE=0時,鎖存該路的模擬信號(2)引腳說明D0~D78位數字量輸出

(2)引腳說明START轉換啟動信號寬度大于200ns上升沿清除逐次逼近寄存器SAR下降沿啟動ADC轉換(2)引腳說明CLOCK時鐘脈沖輸入頻率范圍為10KHz~1MHz典型值為640KHZ(2)引腳說明EOC轉換結束信號輸出上升沿有效(2)引腳說明OECPU允許輸出信號打開三態(tài)輸出鎖存器的門,把轉換結果送到數據總線上(2)引腳說明VREF(+)

參考電壓輸入T形電阻網絡用通常接VccVREF(-)

參考電壓輸入T形電阻網絡用通常接地2、ADC0809的工作過程和時序分析工作過程:由ADDA、ADDB、ADDC三位決定選擇哪一路模擬信號;ALE=1,該路模擬信號經選擇開關到達比較器的輸入端。轉換啟動信號START緊隨ALE之后(或與ALE同時)出現,

溫馨提示

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

評論

0/150

提交評論