版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、2021/6/1616.1 輸入輸出系統(tǒng)概述6.2 簡單接口電路6.3 基本輸入輸出方法6.4 中斷技術(shù)6.5 可編程中斷控制器第第6 6章章 輸入輸出和中斷技術(shù)輸入輸出和中斷技術(shù) 2021/6/162本章重點: 理解輸入/輸出接口的概念;了解CPU與外設(shè)數(shù)據(jù)傳送方式;熟練掌握中斷的處理過程,了解中斷優(yōu)先權(quán)的排隊方法、中斷在計算機中的使用方法。本章難點: 結(jié)合實際要求選擇合理的數(shù)據(jù)傳送方式,中斷類型號和中斷向量的關(guān)系。 第第6 6章章 輸入輸出和中斷技術(shù)輸入輸出和中斷技術(shù) 2021/6/1631、理解I/O接口的作用和一般結(jié)構(gòu);掌握I/O編址方式和I/O傳送方式,理解中斷的概念、分類2、熟練掌
2、握中斷的處理過程,會編寫中斷處理程序;了解中斷優(yōu)先權(quán)的排隊方法;了解中斷嵌套的概念,了解中斷在計算機中的使用方法。大綱要求大綱要求2021/6/1641、復(fù)雜性2、異步性3、實時性4、與設(shè)備無關(guān)性 6.1 6.1 輸入輸出系統(tǒng)概述輸入輸出系統(tǒng)概述6.1.1 I/O系統(tǒng)的特點1、常見設(shè)備具有不同的信息形式和工作速度鼠標(biāo)、鍵盤、打印機、顯示器等。 2、串行與并行的區(qū)別 串行傳送信息距離遠、速度慢 并行傳送信息距離短、速度快2021/6/1656.1.2 I/O接口的基本功能1、輸出/輸入信息 數(shù)字信號、狀態(tài)信號、控制信號2、I/O接口要解決的問題 1)速度不匹配 2)信號電平和驅(qū)動能力不匹配 3)
3、信號形式不匹配 4)信息格式不匹配 5)時序不匹配2021/6/1663、接口 指兩臺計算機之間、計算機與外圍設(shè)備之間、計算機內(nèi)部各部件之間起連接作用的邏輯電路,是CPU與外界進行信息交換的中轉(zhuǎn)站。4、輸入/輸出接口技術(shù) 是信息傳送的控制技術(shù),是一種采用軟、硬件結(jié)合的方法,實現(xiàn)CPU與外設(shè)之間協(xié)調(diào)與匹配,實現(xiàn)二者之間高效、可靠的信息傳遞的一門技術(shù)。2021/6/1675、 接口的功能 接口是連接計算機與I/O設(shè)備的部件。計算機與外部設(shè)備之間可以通過串行接口進行信息交換,也可以通過并行接口進行信息交換。接口電路的功能就是對信息傳送的硬件控制,具體應(yīng)有以下幾種功能。 1. 鎖存功能 2. 緩沖隔離
4、功能 3. 轉(zhuǎn)換功能 4. 聯(lián)絡(luò)功能 5. 對外圍設(shè)備編址(譯碼)功能 6. 中斷管理功能2021/6/1681、端口 端口是指I/O接口中供CPU直接存取訪問的那些寄存器或某些硬件特定電路。一個I/O接口總要包括的端口:數(shù)據(jù)端口、命令端口和狀態(tài)端口及特殊用途的端口。2、端口編址方式 1) I/O端口與內(nèi)存單元統(tǒng)一編址Motorola 把每一個端口視為一個存儲器單元,并賦以相應(yīng)的存儲器地址。訪問同存儲器。 2) I/O端口獨立編址Zilog和Intel 把所有I/O接口看作一個獨立于存儲的I/O空間。在這個I/O空間內(nèi),每個端口都被分配一個地址與之對應(yīng)。必須用專門的I/O指令訪問端口。 6.1
5、.3 I/O端口的編址方式2021/6/1691、定義 將總線上的地址信號轉(zhuǎn)換為某個端口的“使能(enable)信號”的操作。2、端口地址譯碼的幾點注意事項 6.1.4 I/O端口地址的譯碼2021/6/16106.2 6.2 簡單接口電路簡單接口電路6.2.1 接口信息 CPU通過接口和外設(shè)交換信息時,只有IN和OUT,因此狀態(tài)信息、控制信息看成廣義的數(shù)據(jù)信息,狀態(tài)信息看作輸入數(shù)據(jù),控制信息看作輸出數(shù)據(jù)。 數(shù)據(jù)信息存放在接口的數(shù)據(jù)緩沖器中; 狀態(tài)信息放在接口的狀態(tài)寄存器中;控制信息送到接口的控制寄存器中。2021/6/1611 計算機I/O接口電路與外部設(shè)備間交換的信號,通常有以下幾種類型:
6、 1、數(shù)據(jù)信息 CPU和外部設(shè)備交換的基本信息就是數(shù)據(jù),數(shù)據(jù)通常為8位或16位。數(shù)據(jù)信息大致分為以下三種類型:數(shù)字量、模擬量和開關(guān)量。2、狀態(tài)信息 狀態(tài)信息反映了當(dāng)前外設(shè)所處的工作狀態(tài),由外設(shè)通過接口送往CPU。 3、控制信息 控制信息是CPU通過接口傳送給外設(shè)的,CPU通過發(fā)送控制信息,控制外設(shè)的工作。2021/6/16121、CPU與接口之間操作:CPU對端口的初始化、發(fā)送命令、選通端口信息:數(shù)據(jù)、地址、控制2、接口與外設(shè)之間操作:數(shù)據(jù)傳送、讀外設(shè)狀態(tài)、對外設(shè)的啟動和停止信息:數(shù)據(jù)、狀態(tài)、控制 典型的I/O接口如圖所示。 譯碼數(shù)據(jù)端口狀態(tài)端口控制端口CPUI/O設(shè)備6.2.2 I/O接口的
7、基本構(gòu)成2021/6/1613 端口是指I/O接口(包括芯片和控制卡)中供CPU直接存取訪問的那些寄存器或某些硬件特定電路。一個I/O接口總要包括若干個端口,除常見的數(shù)據(jù)端口、命令端口和狀態(tài)端口外,還有特殊用途的端口。 在設(shè)計接口電路時,I/O接口電路與外部設(shè)備間交換的信息可以劃分為CPU與接口之間的信息以及接口與外設(shè)之間的信息兩部分。典型的I/O接口。 譯碼數(shù)據(jù)端口狀態(tài)端口控制端口CPUI/O設(shè)備2021/6/1614自學(xué):74LS244芯片 6.2.3 三態(tài)門接口自學(xué):74LS273芯片 6.2.4 鎖存器接口2021/6/16156.2.5 簡單接口的應(yīng)用舉例LED數(shù)碼管及其接口 發(fā)光二
8、極管LED是最簡單的顯示設(shè)備 由8段LED組成的LED數(shù)碼管 LED數(shù)碼管廣泛用于單板微型機、微型機控制系統(tǒng)及數(shù)字化儀器中 LED數(shù)碼管可以顯示內(nèi)存地址和數(shù)據(jù)等2021/6/1616LED數(shù)字顯示2021/6/16172021/6/16182021/6/16192021/6/16202021/6/16212021/6/16221、LED基礎(chǔ)知識1)什么是LED?發(fā)光二極管的英文縮寫light emitting diode在某些半導(dǎo)體材料的PN結(jié)中,注入的少數(shù)載流子與多數(shù)載流子復(fù)合時會把多余的能量以光的形式釋放出來,從而把電能直接轉(zhuǎn)換為光能。PN結(jié)加反向電壓,少數(shù)載流子難以注入,故不發(fā)光。這種利
9、用注入式電致發(fā)光原理制作的二極管叫發(fā)光二極管,通稱LED。2021/6/1623 2)LED的發(fā)光顏色和發(fā)光效率與制作LED的材料和工藝有關(guān),目前廣泛使用的有紅、綠、藍三種。 3)由于LED工作電壓低(僅1.5-3V),能主動發(fā)光且有一定亮度,亮度又能用電壓(或電流)調(diào)節(jié),本身又耐沖擊、抗振動、壽命長(10萬小時),所以在大型的顯示設(shè)備中,目前尚無其他的顯示方式與LED顯示方式匹敵。2021/6/16242021/6/16252 、LED顯示器將發(fā)光二極管封裝成數(shù)碼顯示的形式。2021/6/16263 、LED顯示屏 把紅色和綠色的LED放在一起作為一個像素制作的顯示屏叫雙基色屏或偽彩色屏(p
10、seudo-color LED panel);把紅、綠、藍三種LED管放在一起作為一個像素的顯示屏叫三基色屏或全彩屏(all-color LED panel)。 LED顯示屏如果想要顯示圖象,則需要構(gòu)成像素的每個LED的發(fā)光亮度都必須能調(diào)節(jié),其調(diào)節(jié)的精細程度就是顯示屏的灰度等級。灰度等級越高,顯示的圖像就越細膩,色彩也越豐富,相應(yīng)的顯示控制系統(tǒng)也越復(fù)雜。在當(dāng)前的技術(shù)水平下,256級灰度的圖像,顏色過渡已十分柔和,圖像還原效果比較令人滿意。2021/6/16274、控制LED亮度的方法: 一種是改變流過LED的電流,一般LED管允許連續(xù)工作電流在20毫安左右,除了紅色LED有飽和現(xiàn)象外,其他LE
11、D亮度基本上與流過的電流成比例; 另一種方法是利用人眼的視覺暫留現(xiàn)象,用脈寬調(diào)制方法來實現(xiàn)灰度控制,也就是周期性改變光脈沖寬度(即占空比),只要這個重復(fù)點亮的周期足夠短(即刷新頻率足夠高),人眼是感覺不到發(fā)光像素在抖動。由于脈寬調(diào)制更適合于數(shù)字控制,所以在普遍利用計算機來提供LED顯示內(nèi)容的今天,幾乎所有的LED屏都是采用脈寬調(diào)制來控制灰度等級的。2021/6/1628abcdefg5、 LED數(shù)碼管的工作原理主要部分是7段LED發(fā)光管各段順時針排列,分別稱為a、b、c、d、e、f、g、 dp (或h,即小數(shù)點,有時不用)通過7個發(fā)光段的不同組合可顯示可顯示09十個數(shù)碼也可以顯示AF(實現(xiàn)16
12、進制數(shù)的顯示)還可以顯示個別特殊字符,如、P、H 等2021/6/1629 如為共陽級結(jié)構(gòu),則數(shù)碼顯示端輸入低電平有效,當(dāng)某一段得到低電平時,便發(fā)光。 比如當(dāng)a、 b、g、 e、 d為低電平,而其他段為高電平時,則顯示數(shù)字“2”。 如為共陰極結(jié)構(gòu),則數(shù)碼顯示端輸入高電平有效,當(dāng)某段處于高電平時便發(fā)光。共陽極共陽極共陽極+5Vabcdefgh共陰極共陰極abcdefgh共陰極共陰極2021/6/16306、 靜態(tài)顯示 CPU通過8255A往LED傳輸七段代碼。8255A的端口本身是8位的,因此,有1位懸空未用。由于LED的一個段發(fā)光時,通過的平均電流為1020mA,所以,采用共陰極LED時陰極接
13、地,而陽極要加驅(qū)動電路,驅(qū)動電路可由三極管構(gòu)成,也可由小規(guī)模集成電路構(gòu)成。比如一片DM7407N 就可以實現(xiàn)對4位的電流驅(qū)動。用共陰極LED時,如驅(qū)動器輸出為1,則對應(yīng)的段發(fā)光。 當(dāng)然,也可以采用共陽極LED,此時,陽極接十5V電源,當(dāng)驅(qū)動器輸出為零時,對應(yīng)段發(fā)光 。2021/6/16318255APA0PA1PA2PA3PA4PA5PA6PA7同同相相驅(qū)驅(qū)動動電電路路abcdefghcom+5V對一般數(shù)字電路而言,其灌電流(輸出低電平)的能力對一般數(shù)字電路而言,其灌電流(輸出低電平)的能力要大于拉電流(輸出高電平)的能力要大于拉電流(輸出高電平)的能力共陽數(shù)碼管共陽數(shù)碼管送送0點亮點亮送送0
14、點亮點亮單個LED數(shù)碼管的顯示2021/6/1632單個數(shù)碼管的顯示LEDtbdb 0c0h,0f9h,0a4h ;共陽七段碼表共陽七段碼表db mov al,1;要顯示的數(shù)碼在表中的位置要顯示的數(shù)碼在表中的位置mov bx,offset LEDtb ;bx指向七段碼表指向七段碼表xlat;通過換碼取要顯示的七段碼通過換碼取要顯示的七段碼;alds:bxalmov dx,portout dx,al;輸出七段碼輸出七段碼軟件譯碼2021/6/1633agdbcefha b c d e f g hagdbcefha b c d e f g hPA0PA7PB0PB7并行接口直接控制顯示器2021/
15、6/1634 在應(yīng)用中通常將控制顯示字符形狀的段碼數(shù)據(jù)稱為“字?!?兩個數(shù)碼管上顯示數(shù)字“14”,可以用下面的程序段完成MOV AL,80H ;8255A初始化MOV DX,PORT8255 ;PORT8255為8255A控制口地址OUT DX,AL MOV AL,66H ;“4”的顯示字模MOV DX,PORTA ;PORTA為端口A的端口地址OUT DX,ALMOV AL,34H ;“1”的顯示字模MOV DX,PORTB ;PORTB為端口B的端口地址OUT DX,AL2021/6/163574LS164引腳圖 利用8位串入并出移位寄存器控制顯示2021/6/163674LS164邏輯符
16、號圖2021/6/1637 2021/6/1638Din Clk74LS164agdbcefha b c d e f g hDin Clk74LS164agdbcefha b c d e f g h8255APC1PC0兩位靜態(tài)LED顯示器原理2021/6/16397、 多個LED數(shù)碼管的顯示 以動態(tài)掃描顯示8個數(shù)碼管為例 硬件使用兩個8位的輸出端口,其中:鎖存輸出七段碼的端口,通過公用的段驅(qū)動電路來驅(qū)動多個數(shù)碼管各段 鎖存輸出位選通碼的端口,每次只點亮一個數(shù)碼管 軟件用輪流點亮(掃描)的方法實現(xiàn)多位數(shù)碼顯示,掃描頻率應(yīng)控制在16次/秒以上,當(dāng)掃描頻率達50次/秒時,顯示將無閃爍感。2021/
17、6/16408鎖存鎖存同相同相驅(qū)動驅(qū)動鎖存鎖存反相反相驅(qū)動驅(qū)動七段碼端口七段碼端口位選通碼端口位選通碼端口8共陽共陽數(shù)碼管數(shù)碼管控制控制控制控制數(shù)據(jù)數(shù)據(jù)送送0時點亮相應(yīng)段,時點亮相應(yīng)段,七段碼:七段碼:1111 1001B 將顯示數(shù)碼將顯示數(shù)碼“1”送送1時選通相應(yīng)數(shù)碼管,時選通相應(yīng)數(shù)碼管,選通碼:選通碼:0000 0001B 將選中最左邊的數(shù)碼管將選中最左邊的數(shù)碼管1多個LED數(shù)碼管的顯示2021/6/1641D0D1D2D3D4D5D6D7陽極陽極位位0a b c d e f g h位位1位位2段碼D0D7段控制段控制鎖鎖存存/同同相相驅(qū)驅(qū)動動segport, -IOW段控制端口電路202
18、1/6/1642段控制:段控制:Di0,相應(yīng)段,相應(yīng)段點亮點亮D7D6D5D4D3D2D1D0hgfedcba通過位、段控制端口的共同作用才能確通過位、段控制端口的共同作用才能確定定哪個數(shù)碼管哪個數(shù)碼管顯示顯示什么數(shù)碼什么數(shù)碼段控制端口作用控制哪些段點亮,決定具體顯示什么數(shù)碼段控制端口送出七段碼到數(shù)碼管段控制端此端口為8個數(shù)碼管的共用端口2021/6/1643D7D6D5D4D3D2D1D0共陽極共陽極數(shù)位數(shù)位0數(shù)位數(shù)位1 數(shù)位數(shù)位2位碼D0D7位控制位控制鎖鎖存存/反反相相驅(qū)驅(qū)動動bitport, -IOW共陽極共陽極共陽極共陽極位控制端口電路2021/6/1644位控制:位控制:Di0,相
19、應(yīng)數(shù)位的數(shù)碼管可以發(fā)光,相應(yīng)數(shù)位的數(shù)碼管可以發(fā)光D7D6D5D4D3D2D1D0位7位6位5位4位3位2位1位0位控制端口作用 位控制端口控制點亮哪位數(shù)碼管(其余數(shù)碼管暫不點亮) 當(dāng)位控制端口的控制碼某位為0時,經(jīng)反相驅(qū)動,便在相應(yīng)數(shù)碼管的公共陽極上加了高電平,該數(shù)碼管將點亮并顯示數(shù)據(jù)2021/6/1645數(shù)碼緩沖區(qū) ;數(shù)據(jù)段數(shù)據(jù)段LEDdt db 8 dup(0) ;顯示緩沖區(qū),存放要顯示顯示緩沖區(qū),存放要顯示 ;數(shù)碼在七段碼表中的序號數(shù)碼在七段碼表中的序號 ;主程序主程序 mov si,offset LEDdt ;si指向顯示緩沖區(qū)首址指向顯示緩沖區(qū)首址 call LEDdisp ;調(diào)用顯
20、示子程序調(diào)用顯示子程序LED顯示程序2021/6/1646獲取顯示代碼LEDdispprocpush axpush bxpush dxmov bx,offset LEDtbmov ah,0feh;從最左邊數(shù)碼管開始從最左邊數(shù)碼管開始LED1: lodsb;取顯示數(shù)據(jù)取顯示數(shù)據(jù)xlat;換碼得到要顯示的七段碼換碼得到要顯示的七段碼;ALCS:BXALLED顯示程序2021/6/1647數(shù)碼顯示mov dx,segport;segport為段控制端口為段控制端口out dx,al;送出七段碼送出七段碼mov al,ah;取出位顯示代碼取出位顯示代碼 mov dx,bitport;bitport為位
21、控制端口為位控制端口out dx,al;送出位選通碼送出位選通碼call delay;實現(xiàn)數(shù)碼管延時顯示實現(xiàn)數(shù)碼管延時顯示LED顯示程序2021/6/1648顯示下位數(shù)碼rol ah,1;選通碼移位,指向下個數(shù)碼管選通碼移位,指向下個數(shù)碼管 cmp ah,0feh;選通碼又回最左邊的數(shù)碼管?選通碼又回最左邊的數(shù)碼管?jnz LED1;否,顯示下一個數(shù)字否,顯示下一個數(shù)字pop dx;是,顯示完一輪,退出是,顯示完一輪,退出pop bxpop axretLEDtbdb 0c0h,0f9h;共陽七段碼表共陽七段碼表db LEDdispendpLED顯示程序2021/6/1649軟件延時timer=
22、 10;延時常量延時常量delayprocpush bxpush cxmov bx,timer;外循環(huán):外循環(huán):timer確定的次數(shù)確定的次數(shù)delay1:xor cx,cxdelay2:loop delay2 ;內(nèi)循環(huán):內(nèi)循環(huán):216次循環(huán)次循環(huán)LED顯示程序2021/6/1650軟件延時dec bxjnz delay1pop cxpop bxretdelayendp通過控制重復(fù)頻率和延時時間就可以通過控制重復(fù)頻率和延時時間就可以得到各種顯示效果得到各種顯示效果LED顯示程序2021/6/16518、 動態(tài)掃描顯示2021/6/16529、 點陣LED顯示器2021/6/1653行鎖存與驅(qū)動
23、列鎖存與驅(qū)動2021/6/16542021/6/16552021/6/16562021/6/1657 1)條件CPU與外設(shè)同步工作 2)定義無條件傳送方式是指CPU對外設(shè)接口的讀寫隨時都可以進行,不需要等待某種條件的滿足。 3)局限性外部控制過程的各種動作時間是固定且是已知的前提下,直接用IN或OUT指令與外設(shè)進行傳送數(shù)據(jù)。 4)工作原理了解 5)特點軟、硬件簡單,使用較少,只用于簡單外設(shè)。6.3 6.3 基本輸入輸出方法基本輸入輸出方法6.3.1 無條件傳輸方式2021/6/1658 1)條件CPU與外設(shè)不同步工作 2)定義CPU在與外設(shè)傳遞數(shù)據(jù)前首先查詢外設(shè)的狀態(tài)(即條件),若外設(shè)準(zhǔn)備好才
24、傳送,若未準(zhǔn)備好,CPU就等待。 3)查詢方式輸入 電路、框圖、程序 4)查詢方式輸出 電路、框圖、程序 5)特點I/O接口電路簡單,硬件比無條件傳輸復(fù)雜,使用較多的端口地址,占用大量CPU時間,難以實時地實施控制和管理。6.3.2 程序查詢傳輸方式2021/6/1659CPUCPU與外設(shè)之間的數(shù)據(jù)傳輸方式與外設(shè)之間的數(shù)據(jù)傳輸方式 1)目的提高CPU的效率、使系統(tǒng)具有實時性 2)前提外設(shè)具有申請CPU服務(wù)的主動權(quán), CPU能夠在每條指令執(zhí)行完畢后檢查有無中斷請求,有中斷且IF1保留斷點執(zhí)行中斷。 3)工作過程當(dāng)輸入設(shè)備將數(shù)據(jù)準(zhǔn)備好或輸出設(shè)備可以接收數(shù)據(jù)時,外設(shè)就可以向CPU提出中斷請求,使CP
25、U暫時停下目前的工作而和外設(shè)進行一次數(shù)據(jù)傳輸。等輸入操作和輸出操作完成后,CPU繼續(xù)進行原來的工作。 4)特點效率高、實時性好、快速響應(yīng)I/O傳送請求,由軟件實現(xiàn)服務(wù)較為麻煩。6.3.3 中斷方式2021/6/1660DMA方式直接存儲器存取方式 (Direct Memory Access)。 1)傳送方式在外設(shè)與存儲器之間建立一個通道。 2)特點沒有CPU介入、專門硬件直接控制數(shù)據(jù)傳送、DMA控制器成為系統(tǒng)主控部件。 3)工作過程: 外設(shè)發(fā)出數(shù)據(jù)請求DMA控制器 DMA向CPU提出CPU檢測后響應(yīng)請求DMA系統(tǒng)總線,實現(xiàn)外設(shè)和存儲器之間的直接數(shù)據(jù)傳送。 6.3.4 DMA方式2021/6/1
26、6616.4.1 中斷的概述 6.4.2 中斷的一般過程6.4.3 8086中斷系統(tǒng)6.4 6.4 中斷技術(shù)中斷技術(shù)2021/6/1662正在看書正在看書電話鈴響電話鈴響接電話接電話繼續(xù)看書繼續(xù)看書執(zhí)行程序執(zhí)行程序事件發(fā)生事件發(fā)生事件處理事件處理繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行程序中斷處理中斷處理中斷請求及響應(yīng)中斷請求及響應(yīng)實際場景實際場景計算機計算機中斷返回中斷返回中斷的概念與生活場景的比較2021/6/1663為何計算機中要引入中斷?1、提高數(shù)據(jù)傳輸率;2、避免了CPU不斷檢測外設(shè)狀態(tài)的過程,提高了CPU的利用率。3、實現(xiàn)對特殊事件的實時響應(yīng)。如多任務(wù)系統(tǒng)操作系統(tǒng)中:缺頁中斷、設(shè)備中斷、各類異常、實時
27、鐘,。等中斷系統(tǒng)的功能1、實現(xiàn)中斷及返回;2、實現(xiàn)優(yōu)先權(quán)的排列;3、高級中斷源能中斷低級的中斷處理。2021/6/1664 中斷是微機原理中的一種非常重要的技術(shù),也是CPU和外部設(shè)備進行數(shù)據(jù)交換的一種很有效的方法 。1、中斷及其相關(guān)概念 1)中斷 CPU執(zhí)行程序時,由于發(fā)生了某種隨機的事件(外部或內(nèi)部),引起CPU暫時中斷正在運行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。6.4.1 中斷的概述2021/6/16652)中斷源 引起CPU中斷的原因或事件,或能發(fā)出中斷申請的來源中斷源。例如:外設(shè)
28、請求輸入輸出數(shù)據(jù),報告故障等事件掉電、硬件故障、軟件錯誤、非法操作、定時時間到等3)中斷源分為類 內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序時自身產(chǎn)生的中斷,也稱為軟件中斷。其功能類似于子程序調(diào)用。 外部中斷:CPU以外的設(shè)備、部件產(chǎn)生的中斷。它的特點是通過硬件向CPU發(fā)出中斷請求信號,經(jīng)常稱外部中斷為硬件中斷。2021/6/1666 8086/8088的外部中斷信號:INTR、NMIINTR可屏蔽中斷請求,高電平有效,受IF標(biāo)志的控制。IF=1時,執(zhí)行完當(dāng)前指令后CPU對它作出響應(yīng)。 NMI非屏蔽中斷請求,上升沿有效,任何時候CPU都要響應(yīng)此中斷請求信號。4)斷點(地址) 發(fā)生中斷時被打斷程序的暫停點成為
29、斷點,發(fā)生中斷時被打斷程序的暫停點成為斷點,含含CS、IP及相應(yīng)的參數(shù)。及相應(yīng)的參數(shù)。5)中斷響應(yīng) CPU暫停現(xiàn)行程序而轉(zhuǎn)為響應(yīng)中斷請求的過程暫?,F(xiàn)行程序而轉(zhuǎn)為響應(yīng)中斷請求的過程稱為中斷響應(yīng)。稱為中斷響應(yīng)。2021/6/16676)中斷處理程序 處理中斷源的程序稱為中斷處理程序。7)中斷處理 CPU執(zhí)行有關(guān)的中斷處理程序稱為中斷處理。8)中斷返回 返回斷點的過程稱為中斷返回。 中斷的實現(xiàn)實行軟件和硬件綜合完成,硬件部分叫做硬件裝置,軟件部分成為軟件處理程序。 2021/6/16682、中斷的用途 1)CPU與I/O設(shè)備并行工作 中斷系統(tǒng)引入前用“查詢方式”工作 2)實現(xiàn)實時處理 3)多道程序或
30、多重任務(wù)的運行 4)故障處理3、中斷系統(tǒng)的功能 1)實現(xiàn)中斷及返回; 2)實現(xiàn)優(yōu)先權(quán)的排列; 3)高級中斷源能中斷低級的中斷處理。2021/6/16694、優(yōu)先級 在中斷系統(tǒng)系統(tǒng)中,根據(jù)中斷源的輕重緩急,為每一個中斷源規(guī)定了一個服務(wù)優(yōu)先級別,這就是所謂的中斷優(yōu)先級,或叫中斷優(yōu)先權(quán)。 中斷優(yōu)先權(quán)排隊一般有兩種方法,即軟件查詢法和硬件排隊法。 軟件查詢法:用軟件查詢中斷源,根據(jù)查詢的順序先后來確定中斷源的優(yōu)先級。先查詢的優(yōu)先級就高,后查詢的優(yōu)先級就低,只要改變查詢次序,就可以改變中斷源的中斷優(yōu)先級。 硬件排隊法:用硬件判優(yōu)邏輯電路來確定申請中斷的最高優(yōu)先級,系統(tǒng)中各中斷源的優(yōu)先級別是由它們在判優(yōu)電
31、路中的位置決定的。2021/6/16708086中斷處理的優(yōu)先級和順序8086CPU的中斷優(yōu)先權(quán)排列從高到低為:1)除法出錯中斷、溢出中斷、INT n、斷點中斷2)NMI(非屏蔽中斷)3)INTR(可屏蔽中斷)4)單步中斷2021/6/1671 中斷處理的五個步驟:中斷請求中斷判優(yōu)(有時還要進行中斷源識別) 中斷響應(yīng)中斷服務(wù)中斷返回1、中斷請求 外設(shè)接口(中斷源)發(fā)出中斷請求信號,送到CPU的INTR或NMI引腳; 中斷請求信號:邊沿請求,電平請求。例如NMI為邊沿請求,INTR為電平請求 中斷請求信號應(yīng)保持到中斷被處理為止;CPU響應(yīng)中斷后,中斷請求信號應(yīng)及時撤銷。在8086/8088系統(tǒng)中
32、,外設(shè)的中斷要經(jīng)過8259A可編程中斷控制器(PIC)的排隊判優(yōu)后向CPU發(fā)出。6.4.2 中斷處理的一般過程2021/6/16722、中斷源識別(判斷優(yōu)先級) 多個中斷源CPU必須識別是哪一個設(shè)備產(chǎn)生中斷。1)識別中斷源有兩個方法: 軟件查詢。將中斷信號從數(shù)據(jù)總線讀入用程序進行判別。 中斷矢量法。由中斷源提供中斷類型號,CPU根據(jù)類型確定中斷源。(8086/8088即采用此種方法)2)中斷判優(yōu) 應(yīng)首先處理優(yōu)先級別較高的中斷;若優(yōu)先級別相同,則按先來先服務(wù)的原則處理; 對非同時產(chǎn)生的中斷:低優(yōu)先級別的中斷處理程序允許被高優(yōu)先級別的中斷源所中斷即允許中斷嵌套。3)中斷優(yōu)先級的控制方法硬件判優(yōu)鏈?zhǔn)?/p>
33、判優(yōu)、并行判優(yōu)(中斷向量法)軟件判優(yōu)順序查詢中斷請求,先查詢的先服務(wù)(即先查詢的優(yōu)先級別高)通常將中斷判優(yōu)與中斷源識別合并在一起進行處理。2021/6/16733、中斷響應(yīng)1)響應(yīng)條件 一條指令結(jié)束; 無總線請求; CPU允許中斷; CPU執(zhí)行完現(xiàn)行指令。2)CPU響應(yīng)中斷要自動完成三項任務(wù): 關(guān)閉中斷; CS,IP以及PSW的內(nèi)容推入堆棧(保護斷點); 取得中斷服務(wù)程序入口地址,進入中斷服務(wù)。2021/6/16744、中斷服務(wù) 中斷服務(wù)包括以下六個過程: 保護現(xiàn)場 開中斷 中斷服務(wù)程序 關(guān)中斷 恢復(fù)現(xiàn)場 開中斷返回 5、中斷返回 在中斷服務(wù)程序最后安排一條中斷返回指令,使斷點送回程序CS、I
34、P、PSW,繼續(xù)執(zhí)行被中斷的程序。2021/6/16751、 8086中斷分類 8086有一個強有力的中斷系統(tǒng),可以處理256種不同的中斷,每個中斷對應(yīng)一個類型碼,所以,256種中斷對應(yīng)的中斷類型碼為0255。 從產(chǎn)生中斷的方法來分,這256種中斷可以分為兩大類:一類叫外部中斷;一類叫內(nèi)部中斷。1)外部中斷 外部中斷通常為外部設(shè)備需CPU處理相應(yīng)外部事件而向CPU提出申請引發(fā)的中斷。外部中斷是通過外部的硬件產(chǎn)生的,所以,也常常把外部硬件中斷稱為硬件中斷。 硬件中斷又可以分為兩類:一類叫非屏蔽中斷;另一類叫可屏蔽中斷。6.4.3 8086中斷系統(tǒng)2021/6/16761)內(nèi)部中斷 是由計算機內(nèi)部
35、執(zhí)行指令所產(chǎn)生的中斷,也稱為軟件中斷。 內(nèi)部中斷是CPU根據(jù)軟件中的某條指令或者軟件對標(biāo)志寄存器中某個設(shè)置而產(chǎn)生的。軟件中斷又可以分為兩類:軟中斷指令引發(fā)的中斷;CPU在特定條件下自身引發(fā)的中斷。 內(nèi)部中斷主要有:除數(shù)為0中斷、溢出中斷、斷點中斷、單步中斷、軟中斷(INT n)5類。類型號分別是:0、4、3、1、n。 2021/6/1677可屏蔽中斷請求NMIINTR硬件中斷INT n 指令非屏蔽中斷請求中 斷 邏 輯INT3指令I(lǐng)NTO指令單步中斷除數(shù)為0中 斷中斷控制系統(tǒng)(8259A)8086的中斷分類軟件中斷2021/6/1678mov bl,0idiv bl;除數(shù);除數(shù)BL0,產(chǎn)生除法
36、錯中斷,產(chǎn)生除法錯中斷mov ax,200hmov bl,1div bl;商;商200H,不能用,不能用AL表達表達;產(chǎn)生除法錯中斷;產(chǎn)生除法錯中斷 除法錯中斷在執(zhí)行除法指令時,若除數(shù)為0或商超過了寄存器所能表達的范圍,則產(chǎn)生一個向量號為0的內(nèi)部中斷,稱為除法錯中斷例如:2021/6/1679例如:例如:DEBUG.EXE調(diào)試程序的單步命令調(diào)試程序的單步命令T就利就利用單步中斷實現(xiàn)對程序的單步調(diào)試用單步中斷實現(xiàn)對程序的單步調(diào)試單步中斷 若單步中斷TF為1,則在每條指令執(zhí)行結(jié)束后產(chǎn)生一個向量號為1的內(nèi)部中斷,稱為單步中斷斷點中斷 設(shè)置斷點的專用指令,其操作碼為單字節(jié)0CCH,助記符為INT 32
37、021/6/1680mov ax,2000hadd ax, 7000h;2000H7000H9000H,溢出:,溢出:OF1into;因為;因為OF1,所以產(chǎn)生溢出中斷,所以產(chǎn)生溢出中斷溢出中斷 在執(zhí)行溢出中斷指令I(lǐng)NTO時,若溢出標(biāo)志OF為1,則產(chǎn)生一個向量號為4的內(nèi)部中斷,被稱為溢出中斷例如:2021/6/1681例如:例如:DEBUG.EXE調(diào)試程序的運行命令調(diào)試程序的運行命令G設(shè)置設(shè)置的斷點,就是利用的斷點,就是利用INT 3指令實現(xiàn)的指令實現(xiàn)的軟中斷 在執(zhí)行中斷調(diào)用指令I(lǐng)NT n時產(chǎn)生的一個向量號為n(0 255)的內(nèi)部中斷,稱為指令中斷,其中向量號為3的指令中斷比較特別(生成一個字
38、節(jié)的指令代碼:11001100),常用于程序調(diào)試,被稱為斷點中斷2021/6/16822) 外部中斷 外部中斷是由于8088外部提出中斷請求引起的程序中斷 利用外部中斷,微機系統(tǒng)可以實時響應(yīng)外部設(shè)備的數(shù)據(jù)傳送請求,能夠及時處理外部意外或緊急事件 外部中斷的原因是處理器外部隨機產(chǎn)生的,所以是真正的中斷(Interrupt) 內(nèi)部中斷的原因是處理器執(zhí)行程序出現(xiàn)異常,所以經(jīng)常被稱為異常(Exception)2021/6/1683 非屏蔽中斷 通過非屏蔽中斷請求信號向微處理器提出的中斷請求,微處理器無法禁止,將在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),這個中斷被稱為非屏蔽中斷 非屏蔽中斷的向量號為2,非屏蔽中斷請求
39、信號為NMI,非屏蔽中斷主要用于處理系統(tǒng)的意外或故障。例如:電源調(diào)電前的數(shù)據(jù)保護 存儲器讀寫錯誤的處理2021/6/1684 可屏蔽中斷IF控制可屏蔽中斷的響應(yīng)控制可屏蔽中斷的響應(yīng) 外部通過可屏蔽中斷請求信號向微處理器提出的中斷,微處理器在允許可屏蔽中斷的條件下,在當(dāng)前指令執(zhí)行結(jié)束予以響應(yīng),同時輸出可屏蔽中斷響應(yīng)信號,這個中斷就是可屏蔽中斷 8086的可屏蔽中斷請求和響應(yīng)信號分別是INTR和INTA*;由IF標(biāo)志控制可屏蔽中斷是否允許響應(yīng);向量號來自外部中斷控制器 8086通常需要配合中斷控制器8259A共同處理可屏蔽中斷 可屏蔽中斷主要用于主機與外設(shè)交換數(shù)據(jù)2021/6/1685 中斷標(biāo)志I
40、F的狀態(tài)IF0:可屏蔽中斷不會被響應(yīng) 關(guān)中斷、禁止中斷、中斷屏蔽 系統(tǒng)復(fù)位,使IF0 任何一個中斷被響應(yīng),使IF0 執(zhí)行指令CLI,使IF0IF1:可屏蔽中斷會被響應(yīng) 開中斷、允許中斷、中斷開放 執(zhí)行指令STI,使IF1 執(zhí)行指令I(lǐng)RET恢復(fù)原IF狀態(tài)明確明確IF標(biāo)志的狀態(tài)是關(guān)鍵標(biāo)志的狀態(tài)是關(guān)鍵2021/6/16862、中斷向量及中斷向量表1)定義:所謂中斷向量,實際上就是中斷處理子程序的入口地址,每個中斷類型對應(yīng)一個中斷向量 8086的中斷系統(tǒng)是以位于內(nèi)存0段的03FFH區(qū)域的中斷向量表為基礎(chǔ)的,中斷向量表中最多可以容納256個中斷向量。 中斷向量并不是任意存放的。一個中斷向量占4個存儲單元
41、,其中前2個單元存放IP且低位在前,高位在后, 后2個單元存放CS,同樣也是低位在前、高位在后。 按照中斷類型的序號,對應(yīng)的中斷向量在內(nèi)存的0段0單元開始有規(guī)則地進行排列。重點:由中斷類型號如何求中斷向量。2021/6/16872) 8086中斷類型號的獲取方法有兩種方法獲取類型號。第一種是用指令直接獲取。對于類型號04的中斷,由于8086CPU已規(guī)定了產(chǎn)生中斷的原因,所以可以直接獲取類型號。而INT N類型的中斷可以由指令直接得到中斷類型號。第二種是由外部引入的INTR中斷,當(dāng)CPU響應(yīng)中斷時必須由硬件提供中斷類型號。在可屏蔽中斷響應(yīng)周期進行到第二個周期時,類型號放入數(shù)據(jù)總線,CPU從數(shù)據(jù)總
42、線上獲取類型號 。2021/6/1688 中斷向量:中斷服務(wù)程序的入口地址(首地址),邏輯地址含有段地址CS和偏移地址IP(32位)每個中斷向量的低字是偏移地址、高字是段地址,需占用4個字節(jié) 8086微處理器從物理地址000H開始,依次安排各個中斷向量,向量號也從0開始256個中斷占用1KB區(qū)域,就形成中斷向量表向量號為向量號為N的中斷向量的的中斷向量的物理地址物理地址N42021/6/1689向量號255的CS值用戶中斷(向量號255)3FCH向量號255的IP值向量號2的CS值非屏蔽中斷(向量號2)008H向量號2的IP值向量號1的CS值單步中斷(向量號1)004H向量號1的IP值向量號0
43、的CS值除法錯中斷(向量號0)000H向量號0的IP值8086的中斷向量表2021/6/16903、8086中斷過程內(nèi)部中斷過程 1)首先將狀態(tài)寄存器的內(nèi)容壓入堆棧中。2)置TF=0,暫停單步中斷,并置IF=0,用以屏蔽以后的可屏蔽中斷。3)斷點地址CS:IP壓入堆棧。4)識別中斷源,首先獲取中斷類型號,并將其乘4,得到存儲中斷向量的起始地址,進而取得中斷向量。將中斷向量中的高地址的字送入CS寄存器,將低地址的字送IP寄存器中。2021/6/16915)執(zhí)行中斷服務(wù)程序。6)中斷服務(wù)程序最后一條指令為IRET,這條指令的功能保證了從堆棧中彈出斷點IP和CS的內(nèi)容,并存入各自的寄存器中,并接著彈
44、出狀態(tài)寄存器的內(nèi)容,恢復(fù)斷點的狀態(tài)標(biāo)志。7)CPU按CS和IP指示的內(nèi)容正確地返回了程序的斷點處,程序從斷點處繼續(xù)運行2021/6/16926、 8086中斷過程非屏蔽中斷過程 1)CPU一旦響應(yīng)了中斷請求,首先將狀態(tài)寄存器的內(nèi)容壓入堆棧中。2)置TF=0,暫停單步中斷,并置IF=0,用以屏蔽以后的中斷。3)斷點地址CS:IP壓入堆棧。4)識別中斷源,首先由中斷類型號02H查中斷向量表讀取中斷服務(wù)程序的入口地址到CS和IP中。5)執(zhí)行中斷服務(wù)程序。2021/6/16936)執(zhí)行中斷返回指令I(lǐng)RET,這條指令的功能保證了從堆棧中彈出斷點IP和CS的內(nèi)容,并存入各自的寄存器中,并接著彈出狀態(tài)寄存器
45、的內(nèi)容,恢復(fù)斷點的狀態(tài)標(biāo)志。7)CPU按CS和IP指示的內(nèi)容正確地返回了程序的斷點處,程序從斷點處繼續(xù)運行。2021/6/1694 7、 8086中斷過程可屏蔽中斷過程 1)執(zhí)行中斷響應(yīng)周期發(fā)出中斷響應(yīng)信號, 從數(shù)據(jù)總線讀取中斷類型號。 2)如果當(dāng)時IF=0,那么可屏蔽的中斷源被屏蔽。當(dāng)IF=1時,CPU在執(zhí)行完當(dāng)前指令(有重復(fù)前綴的字符串操作指令除外)后將響應(yīng)它所收到的中斷請求。如果有幾個中斷源同時請求中斷,則CPU只響應(yīng)其中優(yōu)先級最高的。 3)CPU一旦響應(yīng)了中斷請求,首先將狀態(tài)寄存器的內(nèi)容壓入堆棧中。 4)置TF=0,暫停單步中斷,并置IF=0,用以禁止CPU響應(yīng)新的可屏蔽中斷請求。 5
46、)將指示斷點的指令指針寄存器IP及代碼段寄存器CS的內(nèi)容壓入堆棧。2021/6/1695 6)識別中斷源,首先獲取中斷類型號,并將其乘4,得到存儲中斷向量的起始地址,進而取得中斷向量。 7)將中斷向量中的高地址的字送入CS寄存器,將低地址的字送IP寄存器,于是開始執(zhí)行中斷服務(wù)程序。 8)中斷服務(wù)程序最后一條指令為IRET,這條指令的功能保證了從堆棧中彈出斷點IP和CS的內(nèi)容,并存入各自的寄存器中,并接著彈出狀態(tài)寄存器的內(nèi)容,恢復(fù)斷點的狀態(tài)標(biāo)志。 9)CPU按CS和IP指示的內(nèi)容正確地返回了程序的斷點處,程序從斷點處繼續(xù)運行。2021/6/1696例8.1 內(nèi)部中斷服務(wù)程序 編寫80H號中斷服務(wù)
47、程序 功能:顯示以“0”結(jié)尾字符串的功能 利用顯示器功能調(diào)用INT 10H 字符串緩沖區(qū)首地址為入口參數(shù) DS:DX(段地址:偏移地址)傳遞參數(shù)2021/6/1697intoffdw ?intsegdw ?intmsgdb A Instruction Interrupt !db 0dh,0ah,0例6.1以以“0”結(jié)尾結(jié)尾回車、換行回車、換行數(shù)據(jù)段2021/6/1698 mov ax,3580h 21h mov intoff,bx ;保存偏移地址 mov intseg,es;保存段基地址例6.1獲取中斷向量(獲取中斷向量(DOS功能調(diào)用功能調(diào)用INT 21H)功能號:功能號:AH35H入口參數(shù)
48、:入口參數(shù):AL中斷向量號中斷向量號出口參數(shù):出口參數(shù):ES:BX中斷向量(段地址:偏移地址)中斷向量(段地址:偏移地址)保存中斷向量2021/6/1699例6.1push dsmov dx,offset new80hmov ax,seg new80hmov ds,axmov ax,2580hint 21hpop ds設(shè)置中斷向量(設(shè)置中斷向量(DOS功能調(diào)用功能調(diào)用INT 21H)功能號:功能號:AH25H入口參數(shù):入口參數(shù):AL中斷向量號中斷向量號DS:DX中斷向量(段地址:偏移地址)中斷向量(段地址:偏移地址)設(shè)置中斷向量2021/6/16100例6.1 ;設(shè)置入口參數(shù):DS段地址(已設(shè)
49、置) DX偏移地址 mov dx,offset intmsg int 80h ;調(diào)用80H中斷服務(wù)程序A Instruction Interrupt !調(diào)用中斷服務(wù)程序2021/6/16101例6.1;80H號內(nèi)部中斷服務(wù)程序:;顯示字符串(以“0”結(jié)尾);入口參數(shù):DS:DX緩沖器首地址new80hprocsti;開中斷push ax;保護寄存器push bxpush siA Instruction Interrupt !進入中斷服務(wù)程序2021/6/16102例6.1 mov si,dxnew1: mov al,si cmp al,0 jz new2 mov bx,0 mov ah,0eh
50、 int 10h inc si jmp new1A Instruction Interrupt !顯示字符串2021/6/16103例6.1new2:pop si;恢復(fù)寄存器pop bxpop axiret;中斷返回new80hendpA Instruction Interrupt !退出中斷服務(wù)程序2021/6/16104例6.1mov dx,intoffmov ax,intsegmov ds,axmov ax,2580hint 21hmov ax,4c00hint 21hA Instruction Interrupt !主程序結(jié)束2021/6/161056.5 可編程中斷控制器8259A
51、Intel 8259A是可編程中斷控制器PIC 可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中斷 8259A的基本功能一片8259A可以管理8級中斷,可擴展至64級每一級中斷都可單獨被屏蔽或允許在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號8259A設(shè)計有多種工作方式,可通過編程選擇2021/6/161066.5.1 8259A的內(nèi)部結(jié)構(gòu)和引腳2021/6/161076.5.1 8259A的內(nèi)部結(jié)構(gòu)和引腳2021/6/161081. 中斷控制 中斷請求寄存器IRR保存8條外界中斷請求信號IR0IR7的請求狀態(tài)Di位為1表示IRi引腳有中斷請求;為0表示無
52、請求 中斷服務(wù)寄存器ISR保存正在被8259A服務(wù)著的中斷狀態(tài)Di位為1表示IRi中斷正在服務(wù)中;為0表示沒有被服務(wù) 中斷屏蔽寄存器IMR保存對中斷請求信號IR的屏蔽狀態(tài)Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許2021/6/161092. 與處理器接口 A0 RD* WR* CS*功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1寫入ICW1、OCW2和OCW3寫入ICW2ICW4和OCW1讀出IRR、ISR和查詢字讀出IMR數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)2021/6/161103. 中斷級連 一個系統(tǒng)中,8259A可以級連,有一個主8259A,
53、若干個(最多8個)從8259A 級連時,主8259A的三條級連線CAS0CAS2作為輸出線,連至每個從8259A的CAS0CAS2 每個從8259A的中斷請求信號INT,連至主8259A的一個中斷請求輸入端IR 主8259A的INT線連至CPU的中斷請求輸入端 SP*/EN*在非緩沖方式下,規(guī)定該8259A是主片(SP*1)還是從片(SP*0)2021/6/16111CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/EN CAS0INTA CAS1 CAS2INT IR0 IR1SP/EN IR7CAS0 IR0CAS1 IR1CAS2
54、 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/ENINTAINTR+5V8259級聯(lián)工作示意圖級聯(lián)工作示意圖2021/6/161128259級聯(lián)工作示意圖級聯(lián)工作示意圖2021/6/161136.5.2 8259A的中斷過程CAS0CAS2D0D7SP/ENIR0IR7CPU響應(yīng)周期響應(yīng)周期8259A工作波形工作波形INT第一個周期第一個周期T1 T2 T3 T4ALECLK 第二個周期第二個周期T1 T2 T3 T4第一個前保持為高電平第一個前保持為高電平 INTALOCK2021/6/161148259級聯(lián)工作示意圖級聯(lián)工作示意圖2021/6/161156.5.3 8
55、259A的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自動循環(huán)方式自動循環(huán)方式特殊循環(huán)方式特殊循環(huán)方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)循環(huán)方式優(yōu)先權(quán)循環(huán)方式設(shè)置優(yōu)先權(quán)方式設(shè)置優(yōu)先權(quán)方式普通中斷結(jié)束方式普通中斷結(jié)束方式特殊中斷結(jié)束方式特殊中斷結(jié)束方式自動中斷結(jié)束方式自動中斷結(jié)束方式非自動中斷結(jié)束方式非自動中斷結(jié)束方式結(jié)束中斷處理方式結(jié)束中斷處理方式屏蔽中斷源方式屏蔽中斷源方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中斷觸發(fā)方式中斷觸發(fā)方式邊沿觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式電平觸發(fā)方式數(shù)據(jù)線連接方式數(shù)據(jù)線連接方式緩沖方式緩沖方式非緩沖方式非緩沖方式2021/6/16
56、1161. 設(shè)置優(yōu)先權(quán)方式 普通全嵌套方式8259A的中斷優(yōu)先權(quán)順序固定不變,從高到低依次為IR0、IR1、IR2、IR7中斷請求后,8259A對當(dāng)前請求中斷中優(yōu)先權(quán)最高的中斷IRi予以響應(yīng),將其向量號送上數(shù)據(jù)總線,對應(yīng)ISR的Di位置位,至到中斷結(jié)束(ISR的Di位復(fù)位)在ISR的Di位置位期間,禁止再發(fā)生同級和低級優(yōu)先權(quán)的中斷,但允許高級優(yōu)先權(quán)中斷的嵌套 特殊全嵌套方式 優(yōu)先權(quán)自動循環(huán)方式 優(yōu)先權(quán)特殊循環(huán)方式2021/6/161172. 結(jié)束中斷處理方式什么是什么是8259A的中斷結(jié)束?的中斷結(jié)束?8259A利用中斷服務(wù)寄存器利用中斷服務(wù)寄存器ISR判斷:判斷:n某位為某位為1,表示正在進
57、行中斷服務(wù);,表示正在進行中斷服務(wù);n該位為該位為0,就是該中斷結(jié)束服務(wù)。,就是該中斷結(jié)束服務(wù)。這里說明如何使這里說明如何使ISR某位為某位為0,不反映不反映CPU的工作狀態(tài)。的工作狀態(tài)。2021/6/161182. 結(jié)束中斷處理方式 自動中斷結(jié)束方式 普通中斷結(jié)束方式配合全嵌套優(yōu)先權(quán)方式使用當(dāng)CPU用輸出指令往8259A發(fā)出普通中斷結(jié)束EOI命令時,8259A就會把所有正在服務(wù)的中斷中優(yōu)先權(quán)最高的ISR位復(fù)位 特殊中斷結(jié)束方式配合循環(huán)優(yōu)先權(quán)方式使用CPU在程序中向8259A發(fā)送一條特殊中斷結(jié)束命令,這個命令中指出了要清除哪個ISR位2021/6/161193. 屏蔽中斷源方式 普通屏蔽方式將
58、IMR的Di位置1,則對應(yīng)的中斷IRi被屏蔽,該中斷請求不能從8259A送到CPU如果IMR的Di位置0,則允許IRi中斷產(chǎn)生 特殊屏蔽方式將IMR的Di位置1,對應(yīng)的中斷IRi被屏蔽的同時,使ISR的Di位置02021/6/161204. 中斷觸發(fā)方式 邊沿觸發(fā)方式8259A將中斷請求輸入端出現(xiàn)的上升沿作為中斷請求信號 電平觸發(fā)方式中斷請求端出現(xiàn)的高電平是有效的中斷請求信號2021/6/161215. 數(shù)據(jù)線連接方式 緩沖方式8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動8259A把SP*/EN*引腳作為輸出端,輸出允許信號,用以鎖存或開啟緩沖器 非緩沖方式SP*/EN*引腳為輸入端若8259A級連,由其確定是主片或從片 2021/6/161226.5.4 8259A的編程 初始化編程8259A開始工作前,必須進行初始化編程給8259A寫入初始化命令字ICW 中斷操作編程在8259A工作期間可以寫入操作命令字OCW將選定的操作傳送給8259A,使之按新的要求工作還可以讀取8259A的信息,以便了解他的工作狀態(tài)2021/6/161231. 初始化命令字ICW 初始化命令字ICW最多有4個 8259A在開始工作前必須寫入 必須按
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 羊肉代加工合同(2篇)
- 濟南的冬天說課稿8篇
- 南京工業(yè)大學(xué)浦江學(xué)院《視覺系統(tǒng)設(shè)計》2022-2023學(xué)年第一學(xué)期期末試卷
- 翠月嘉苑5-6#、11-12#、16-17#樓施工組織設(shè)計
- 發(fā)現(xiàn)與創(chuàng)作說課稿
- myschoolbag說課稿第課時
- 《整百整千加減法》說課稿
- 南京工業(yè)大學(xué)浦江學(xué)院《機械基礎(chǔ)綜合設(shè)計》2022-2023學(xué)年第一學(xué)期期末試卷
- 南京工業(yè)大學(xué)浦江學(xué)院《工程合同管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 《全國文明城市創(chuàng)建》演講稿
- 低空飛行基地項目可行性研究報告寫作參考范文
- 2018年人教版九年級英語單詞表
- 成語故事課件一諾千金
- 物業(yè)公司環(huán)境因素清單
- 國內(nèi)旅游出團通知書(新版)
- 趕工措施費申請報告
- 全橋逆變電路濾波電路設(shè)計步驟
- 蒲公英總黃酮的提取及其抑菌性能
- 4gl語言開發(fā)原則及規(guī)范--簡化版
- 工程量確認(rèn)單樣本(管線)
- 區(qū)最新關(guān)于生活垃圾分類工作推進會上的講話稿
評論
0/150
提交評論