微機(jī)原理及應(yīng)用答案、課件第5章_第1頁
微機(jī)原理及應(yīng)用答案、課件第5章_第2頁
微機(jī)原理及應(yīng)用答案、課件第5章_第3頁
微機(jī)原理及應(yīng)用答案、課件第5章_第4頁
微機(jī)原理及應(yīng)用答案、課件第5章_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第五章微機(jī)及測控技術(shù)

第5章數(shù)字量輸入輸出

本章學(xué)習(xí)目標(biāo)

5.1概述

5.2系統(tǒng)總線及接口

5.3中斷控制系統(tǒng)

5.4計(jì)數(shù)/定時(shí)接口

5.5并行輸入/輸出接口

5.6串行輸入/輸出接口

5.7直接存儲(chǔ)器存取DMA

第五章微機(jī)及測控技術(shù)5.1概述5.1.1I/O信號的形式

CPU通過接口與外設(shè)交換信息,這些信息包括數(shù)據(jù)信息、狀態(tài)信息和控制信息。1、數(shù)據(jù)信息數(shù)據(jù)信息可分為數(shù)字量、模擬量和開關(guān)量。數(shù)字量是鍵盤、CRT、打印機(jī)及磁盤等I/O外設(shè)與CPU交換的信息,它是以二進(jìn)制形式表示的數(shù)或以ASCII碼表示的數(shù)或字符。當(dāng)微型計(jì)算機(jī)用于控制系統(tǒng)時(shí),大量的現(xiàn)場信息經(jīng)過傳感器把非電量(如溫度、壓力、流量、位移等)轉(zhuǎn)換成電量,并經(jīng)放大處理得到模擬量的電壓或電流。

第五章微機(jī)及測控技術(shù)這些模擬量必須先經(jīng)過A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量才能輸入計(jì)算機(jī);計(jì)算機(jī)控制信號的輸出也必須先經(jīng)過D/A轉(zhuǎn)換器把數(shù)字量轉(zhuǎn)換成模擬量才能去控制執(zhí)行機(jī)構(gòu)。開關(guān)量即兩個(gè)狀態(tài)的量。如開關(guān)的斷開與閉合、閥門的打開與關(guān)閉等。通常開關(guān)量要經(jīng)過相應(yīng)的電平轉(zhuǎn)換才能與計(jì)算機(jī)連接。每個(gè)開關(guān)量只要一位二進(jìn)制數(shù)表示,故對于字長為8位(或16位)的計(jì)算機(jī),一次可輸入或輸出8位(或16位)開關(guān)量。2、狀態(tài)信息狀態(tài)信息是CPU與外設(shè)之間交換數(shù)據(jù)時(shí)的聯(lián)絡(luò)信息。CPU通過讀取外設(shè)狀態(tài)信號,可知外設(shè)的工作狀態(tài)。如輸入設(shè)備的數(shù)據(jù)是否準(zhǔn)備好,輸出設(shè)備是否空閑。輸出設(shè)備正在輸出信息,則用BUSY信號通知CPU暫停送數(shù)。因此,狀態(tài)信號是CPU與I/O外設(shè)正確進(jìn)行數(shù)據(jù)交換的重要條件。

第五章微機(jī)及測控技術(shù)3、控制信息控制信息是設(shè)置I/O外設(shè)(包括I/O接口)的工作模式、命令字的有關(guān)信息。如“啟動(dòng)”、“停止”信息。

I/O

設(shè)備

CPU

譯碼

數(shù)據(jù)端口

狀態(tài)端口

控制端口

ABDBCB

第五章微機(jī)及測控技術(shù)5.1.2I/O接口的功能(1)信號的形式變換(2)電平的轉(zhuǎn)換(3)鎖存及緩沖(4)I/O定向(5)并行及串行I/O轉(zhuǎn)換

第五章微機(jī)及測控技術(shù)5.1.3I/O編址1、存儲(chǔ)器映像編址I/O端口和存儲(chǔ)器單元放在一起編址。優(yōu)點(diǎn):無需專業(yè)的I/O指令及專用的I/O控制信號就可以完成輸入輸出數(shù)據(jù)的傳送。缺點(diǎn):I/O端口占用了一部分內(nèi)存空間,使內(nèi)存空間減少;訪問I/O端口同訪問內(nèi)存一樣,由于訪問內(nèi)存的地址長,指令的機(jī)器碼也長,執(zhí)行時(shí)間顯然增加。

第五章微機(jī)及測控技術(shù)2、I/O單獨(dú)編址

CPU使用專門的I/O指令及控制信號進(jìn)行I/O,其主要優(yōu)點(diǎn)是I/O端口和存儲(chǔ)器分別編址。優(yōu)點(diǎn):I/O指令執(zhí)行速度比訪問存儲(chǔ)器的速度要快。8086CPUI/O端口地址空間為64KB對8086微處理器,CPU從端口讀入數(shù)據(jù)的指令稱為輸入指令,助記符為IN;CPU向端口輸出數(shù)據(jù)的指令稱為輸出指令,助記符為OUT。指令的一般格式為:INDST,SRCOUTDST,SRC

無條件傳送方式是假設(shè)輸入/輸出接口已經(jīng)準(zhǔn)備好,CPU無需查詢狀態(tài),可直接用IN和OUT指令完成與接口之間的數(shù)據(jù)傳送。

第五章微機(jī)及測控技術(shù)5.1.4I/O的控制方式1、直接傳送方式

無條件傳送方式是假設(shè)輸入/輸出接口已經(jīng)準(zhǔn)備好,CPU無需查詢狀態(tài),可直接用IN和OUT指令完成與接口之間的數(shù)據(jù)傳送。

第五章微機(jī)及測控技術(shù)

當(dāng)進(jìn)行輸入時(shí),由于數(shù)據(jù)保持時(shí)間比CPU的處理時(shí)間長,輸入端必須用輸入緩沖器與CPU的數(shù)據(jù)總線相連。當(dāng)CPU執(zhí)行輸入指令時(shí),I/O讀信號有效,來自輸入設(shè)備的數(shù)據(jù)到達(dá)數(shù)據(jù)總線,傳送給CPU。顯然,CPU在執(zhí)行輸入指令時(shí),要求外設(shè)的數(shù)據(jù)已經(jīng)準(zhǔn)備好,否則就會(huì)出錯(cuò)。當(dāng)進(jìn)行輸出時(shí),由于外設(shè)速度較慢,要求接口有鎖存功能,即CPU送給外設(shè)的數(shù)據(jù)應(yīng)該在接口中保持一段時(shí)間。當(dāng)CPU執(zhí)行輸出指令時(shí),I/O寫信號有效,CPU輸出的信息經(jīng)過數(shù)據(jù)總線進(jìn)入輸出鎖存器,輸出鎖存器保持這個(gè)數(shù)據(jù),直到外設(shè)取走該數(shù)據(jù)。顯然,CPU在執(zhí)行輸出指令時(shí),必須保證鎖存器是空閑的。從以上分析可以看出,無條件傳送是最簡便的傳送方式,它所需的硬件和軟件都較少。

第五章微機(jī)及測控技術(shù)2、查詢方式

與無條件傳送方式相比,采用查詢方式的接口電路要復(fù)雜些,因?yàn)樗峁〤PU查詢的電路。查詢式輸出數(shù)據(jù)的流程圖SCAN:INAL,狀態(tài)口;TESTAL,01H;測忙閑標(biāo)志JNZSCAN;忙,轉(zhuǎn)移MOVAL,某數(shù)OUT數(shù)據(jù)口,AL;空閑,輸出數(shù)據(jù)

第五章微機(jī)及測控技術(shù)查詢式輸入數(shù)據(jù)的流程圖SCAN:INAL,狀態(tài)口地址

TESTAL,80HJZSCANINAL,數(shù)據(jù)口地址

第五章微機(jī)及測控技術(shù)3、中斷方式

中斷傳送方式中,CPU和外設(shè)(甚至多個(gè)外設(shè))可同時(shí)工作,避免了CPU的重復(fù)查詢,從而大大提高了CPU的效率和控制程序執(zhí)行的實(shí)時(shí)性。但數(shù)據(jù)傳送的過程還是靠軟件實(shí)現(xiàn)。

第五章微機(jī)及測控技術(shù)4、DMA方式

在中斷傳送方式中,是通過CPU執(zhí)行程序來實(shí)現(xiàn)數(shù)據(jù)傳送的,故實(shí)際傳送一個(gè)字節(jié)仍需要幾十到幾百微秒。這對于高速I/O設(shè)備以及成組交換數(shù)據(jù)的情況(例如磁盤與內(nèi)存之間的信息交換),速度就顯得太慢了。為此,設(shè)想采用硬件實(shí)現(xiàn)在外設(shè)與內(nèi)存之間直接的數(shù)據(jù)傳送,而不通過CPU,這樣,數(shù)據(jù)傳送速度的上限就取決于存儲(chǔ)器的工作速度。這種方式稱為直接存儲(chǔ)器存?。―irectMemoryAccess,簡稱DMA)。

DMA方式的數(shù)據(jù)交換不是由CPU執(zhí)行一段程序來完成的,而是由硬件來實(shí)現(xiàn)的。數(shù)據(jù)交換過程由單獨(dú)的DMA控制器來控制,CPU不介入。

第五章微機(jī)及測控技術(shù)5.2系統(tǒng)總線及接口5.2.1總線概述總線:計(jì)算機(jī)中多個(gè)部件之間公用的一組連線,是若干互連信號線的集合,由它構(gòu)成系統(tǒng)的插件間、插件的芯片間或系統(tǒng)間的標(biāo)準(zhǔn)信息通路。總線特點(diǎn):(1)多信號源(2)分時(shí)復(fù)用(3)由主控設(shè)備控制

第五章微機(jī)及測控技術(shù)總線的分類(1)芯片總線芯片總線又稱元件級總線。芯片內(nèi)部的數(shù)據(jù)傳輸公共通道。例如CPU內(nèi)部的寄存器之間利用芯片總線進(jìn)行數(shù)據(jù)傳送。片內(nèi)總線可以減少芯片內(nèi)導(dǎo)線所占的面積,增加芯片的集成度。

第五章微機(jī)及測控技術(shù)2.內(nèi)總線內(nèi)總線又稱為系統(tǒng)總線。它是微型計(jì)算機(jī)系統(tǒng)內(nèi)連接各插件板的總線,用于插件與插件之間的信息傳送。系統(tǒng)總線在計(jì)算機(jī)主板上,以幾個(gè)并列的擴(kuò)展插槽的形式提供給用戶。3.外總線外總線又稱通信總線。用于微型計(jì)算機(jī)系統(tǒng)與系統(tǒng)之間或微型計(jì)算機(jī)系統(tǒng)與外部設(shè)備之間的通信。例如串行接口總線標(biāo)準(zhǔn)RS232。

第五章微機(jī)及測控技術(shù)5.2.2系統(tǒng)總線標(biāo)準(zhǔn)

計(jì)算機(jī)I/O接口大部分是以插件的形式插到系統(tǒng)總線上工作的。I/O設(shè)備對計(jì)算機(jī)的接口實(shí)際上是對系統(tǒng)總線的接口。總線標(biāo)準(zhǔn)化對連接總線的插件的幾何尺寸、引腳排序、電路信號名稱及其電氣特征等都作了詳細(xì)的規(guī)定。各人計(jì)算機(jī)中常使用IBMPC/XT總線、ISA總線、PCI總線。

第五章微機(jī)及測控技術(shù)1、PC/XT總線

PC總線是PC/XT機(jī)中采用的系統(tǒng)總線標(biāo)準(zhǔn),適用于8位的數(shù)據(jù)傳送,最大通信速率為5MB/s。它有62根引腳,分A面(元件面)和B面(焊接面),引腳如圖5-5(a)所示??刹迦敕螾C總線的各種擴(kuò)展板,以擴(kuò)展微機(jī)的功能。

PC總線實(shí)際上是8088CPU核心電路總線的擴(kuò)展和重新驅(qū)動(dòng),所以它和最大組態(tài)下的8088引腳具有許多相似之處,也有其特點(diǎn)。例如,PC總線上不再具有三態(tài)信號線,數(shù)據(jù)總線和地址總線不再分時(shí)使用等。

第五章微機(jī)及測控技術(shù)(1)數(shù)據(jù)總線

D0~D7:雙向數(shù)據(jù)線。它們?yōu)镃PU、存儲(chǔ)器、I/O電路提供數(shù)據(jù)信息傳輸通道。平時(shí)由CPU控制,當(dāng)DMA操作時(shí)由DMA控制器8237A控制。(2)地址總線

A0~A19:地址總線。CPU通過地址總線訪問內(nèi)存和I/O口。當(dāng)訪問內(nèi)存時(shí),用20根地址線,尋址范圍為1MB。當(dāng)訪問I/O口時(shí),用16根地址線(A0~A15)可訪問64K個(gè)端口,但XT機(jī)中實(shí)際上只用了10根地址線(A0~A9),可訪問1K個(gè)端口。

第五章微機(jī)及測控技術(shù)(3)控制線

ALE:地址鎖存允許信號。它是由總線控制器8288提供的,以便把地址和數(shù)據(jù)分離。把地址/狀態(tài)復(fù)用線上的信號作為地址碼加以鎖存。

IRQ2~I(xiàn)RQ7:中斷請求輸入信號。8259A有8個(gè)中斷請求輸入端IRQ0~I(xiàn)RQ7。其中IRQ0、IRQ1直接用在系統(tǒng)主板上,剩下的6個(gè)中斷請求輸入端IRQ2~I(xiàn)RQ7引到擴(kuò)展槽,供I/O設(shè)備申請中斷使用。中斷優(yōu)先級別是IRQ0最高,IRQ7最低。

第五章微機(jī)及測控技術(shù):I/O讀命令。此信號由總線控制器8288產(chǎn)生。當(dāng)DMA操作時(shí)由DMA控制器8237A產(chǎn)生。低電平有效。信號的作用是將選中的I/O接口中的數(shù)據(jù)讀到數(shù)據(jù)總線。:I/O寫命令。此信號由總線控制器8288產(chǎn)生。當(dāng)DMA操作時(shí)由DMA控制器8237A產(chǎn)生。電平有效。信號的作用是把數(shù)據(jù)總線上的數(shù)據(jù)寫入所選中的I/O接口中。

:存儲(chǔ)器讀命令。此信號由總線控制器8288或DMA控制器8237A產(chǎn)生。低電平有效。當(dāng)信號有效時(shí),將所選中的存儲(chǔ)單元的數(shù)據(jù)讀到數(shù)據(jù)總線。:存儲(chǔ)器寫命令。此信號由總線控制器8288或DMA控制器8237A產(chǎn)生。低電平有效。當(dāng)信號有效時(shí),將數(shù)據(jù)總線上的數(shù)據(jù)寫入所選中的單元。

第五章微機(jī)及測控技術(shù)DRQ1~DRQ3:DMA控制器8237A通道1~通道3的DMA請求輸入信號。這些信號是由外設(shè)發(fā)出的,DRQ1的優(yōu)先級最高,DRQ3的優(yōu)先級最低。當(dāng)有DMA請求時(shí),對應(yīng)的DRQ為高電平,直到相應(yīng)的DACK為低電平為止。DRQ0已用于主板上動(dòng)態(tài)RAM的定時(shí)刷新,故未引出?!篋MA通道0~通道3的響應(yīng)信號。它們由DMA控制器送往外設(shè)接口,低電平有效。信號用來響應(yīng)外設(shè)的DMA請求或者實(shí)現(xiàn)對動(dòng)態(tài)RAM的刷新。

第五章微機(jī)及測控技術(shù)AEN:地址允許信號。這是由8237A輸出的,此信號用來切斷CPU的控制,從而允許DMA傳送。當(dāng)AEN為高電平時(shí),由DMA控制器控制地址總線、數(shù)據(jù)總線和對存儲(chǔ)器及I/O設(shè)備的讀/寫命令線。

T/C:計(jì)數(shù)結(jié)束信號輸出。當(dāng)DMA通道計(jì)數(shù)到達(dá)終點(diǎn)時(shí),I/O線上便出現(xiàn)高電平的脈沖。

RESETDRV:系統(tǒng)總清信號,此信號使系統(tǒng)各部件復(fù)位。(4)狀態(tài)線:I/O通道奇偶校驗(yàn)信號。此信號由插入擴(kuò)展槽的存儲(chǔ)器卡或I/O卡發(fā)出,用來向CPU提供關(guān)于I/O通道上的設(shè)備或存儲(chǔ)器的奇/偶校驗(yàn)信息。當(dāng)為低電平時(shí),表示奇/偶校驗(yàn)有錯(cuò)。

第五章微機(jī)及測控技術(shù)I/OCHRDY:I/O通道準(zhǔn)備好信號。該信號由擴(kuò)展槽中的存儲(chǔ)器卡或I/O卡發(fā)出。當(dāng)一些慢速的外設(shè)跟不上CPU工作速度時(shí),可將該信號變低來使CPU或DMA控制器插入等待周期,從而延長I/O周期或存儲(chǔ)周期。此信號為低電平的時(shí)間不應(yīng)超過10個(gè)時(shí)鐘周期。(4)輔助線和電源線

OSC:晶體振蕩信號。此信號周期為70ns,占空比為50%。CLK:系統(tǒng)時(shí)鐘信號。此信號由OSC三分頻得到,周期為210ns,占空比為33%。

CARDSLCTD:插件板選中信號,PC/XT有8個(gè)擴(kuò)展槽J1~J8。J1~J8的這個(gè)引腳連在一起,但此信號僅由J8中的擴(kuò)展板提供,信號有效時(shí),表示J8中的擴(kuò)展板選中。

第五章微機(jī)及測控技術(shù)62芯總線有以下幾組電源:

+5V電源使用2個(gè)引腳;

-5V電源使用1個(gè)引腳;

+12V電源使用1個(gè)引腳;

-12V電源使用1個(gè)引腳。

第五章微機(jī)及測控技術(shù)

PC總線僅適用于8位數(shù)據(jù)的傳送,所以,從IBMPC/XT微機(jī)開始采用ISA總線,也稱為AT總線,以便進(jìn)行16位數(shù)據(jù)傳送。ISA總線的數(shù)據(jù)傳送速率最快為8MB/s,地址總線寬度為24位,可以支持16MB的內(nèi)存。為了和PC總線兼容,在PC總線的基礎(chǔ)上,ISA總線延伸出一段插槽。

第五章微機(jī)及測控技術(shù)

在微機(jī)系統(tǒng)中,CPU是在時(shí)鐘信號CLK控制下,按節(jié)拍有序地執(zhí)行指令序列。從取指令開始,經(jīng)過分析指令、對操作數(shù)尋址,然后執(zhí)行指令、保存操作結(jié)果,這個(gè)過程稱為指令執(zhí)行周期。指令周期:執(zhí)行一條指令所需要的時(shí)間??偩€周期(機(jī)器周期):CPU通過總線與存儲(chǔ)器或I/O接口進(jìn)行一次數(shù)據(jù)傳輸所需的時(shí)間。時(shí)鐘周期:CPU處理動(dòng)作的最小單位。5.2.3總線周期

T1T2T3TWT4總線周期

第五章微機(jī)及測控技術(shù)總線操作總線讀操作:CPU從存儲(chǔ)器或外設(shè)讀取數(shù)據(jù)??偩€寫操作:CPU將數(shù)據(jù)寫入存儲(chǔ)器或外設(shè)。1、存儲(chǔ)器讀周期總線周期包括:T1、T2、T3、(TW)、T4時(shí)鐘周期。

第五章微機(jī)及測控技術(shù)

正常的存儲(chǔ)器讀總線周期,需要4個(gè)時(shí)鐘周期T。在T1期間,地址數(shù)據(jù)分時(shí)復(fù)用信號線、地址狀態(tài)分時(shí)復(fù)用線送出相應(yīng)的地址信號,同時(shí)送出地址鎖存允許信號ALE。若利用ALE信號將地址信號送入鎖存器中。在以后的時(shí)鐘周期內(nèi),CPU根據(jù)各種控制信號,如IO/M、RD、WR等完成對內(nèi)存或外設(shè)的讀寫操作。在T3狀態(tài),存儲(chǔ)器或外設(shè)沒有準(zhǔn)備好數(shù)據(jù),不能在T3狀態(tài)將數(shù)據(jù)放到總線上,使READY=0,則CPU在T3和T4之間插入一個(gè)或幾個(gè)TW狀態(tài),直到數(shù)據(jù)準(zhǔn)備好READY=1為止。

第五章微機(jī)及測控技術(shù)T1的下降沿之后,鎖存信號ALE有效,20位地址線上輸出20位地址。T2的下降沿,地址進(jìn)入地址鎖存器中,I0/M和RD同時(shí)有效。T3的下降沿,存儲(chǔ)器將數(shù)據(jù)放入數(shù)據(jù)總線上,同時(shí)采樣READY信號,決定是否需插入等待狀態(tài)TW.T4的下降沿,CPU采樣數(shù)據(jù)線,獲得數(shù)據(jù)。

第五章微機(jī)及測控技術(shù)2、存儲(chǔ)器寫周期T1的下降沿之后,鎖存信號ALE有效,20位地址線上輸出20位地址。T2的下降沿,地址進(jìn)入地址鎖存器中,I0/M和WR同時(shí)有效。T3的下降沿,CPU將數(shù)據(jù)放入數(shù)據(jù)總線上,同時(shí)采樣READY信號,決定是否需插入等待狀態(tài)TW.T4的下降沿,存儲(chǔ)器采樣數(shù)據(jù)線,獲得數(shù)據(jù)。

第五章微機(jī)及測控技術(shù)1、簡單輸入接口MOVDX,218HINAL,DX5.2.4接口舉例

第五章微機(jī)及測控技術(shù)2、簡單輸出接口MOVDX,219HOUTDX,AL

第五章微機(jī)及測控技術(shù)5.3中斷控制系統(tǒng)5.3.1基本概念定義:CPU暫停現(xiàn)行程序,轉(zhuǎn)而處理隨機(jī)到來的事件,待處理完后再回到被暫停的程序繼續(xù)執(zhí)行,這個(gè)過程就是中斷。中斷過程:中斷請求,中斷判優(yōu),中斷響應(yīng),中斷處理,中斷返回五個(gè)階段。

第五章微機(jī)及測控技術(shù)5.3.28086/8088的中斷源

1、內(nèi)部中斷-CPU執(zhí)行某些指令引起的中斷。除法溢出中斷――0號中斷單步中斷――1號中斷(受IF和TF的管理)INT指令中斷INTO溢出中斷――4號中斷

注:內(nèi)部中斷除了單步中斷外,都不受軟件的管理。

第五章微機(jī)及測控技術(shù)2、外部中斷-由CPU外部硬件電路發(fā)出的電信號引起的中斷(1)非屏蔽中斷

非屏蔽中斷的優(yōu)先權(quán)高于可屏蔽中斷。其中斷請求信號是發(fā)生在NMI上的電壓跳變(邊沿觸發(fā))(2)可屏蔽中斷

出現(xiàn)在INTR線上的請求信號是電平觸發(fā)的。只有當(dāng)中斷允許標(biāo)志位IF為1時(shí),CPU才能響應(yīng)INTR的中斷請求。如果IF為0,即使INTR端有中斷請求信號CPU也不會(huì)響應(yīng)。這種情況稱為中斷屏蔽。

第五章微機(jī)及測控技術(shù)5.3.3中斷向量表

8086/8088系統(tǒng)支持最多256個(gè)中斷,對應(yīng)每一個(gè)中斷,都有一個(gè)中斷服務(wù)程序,該中斷服務(wù)程序的入口地址稱為中斷向量。每個(gè)中斷向量占用4個(gè)字節(jié),前兩個(gè)字節(jié)為服務(wù)程序的IP(偏移量),后兩個(gè)字節(jié)為服務(wù)程序的CS(段地址)。

256個(gè)中斷的中斷向量組成一個(gè)中斷向量表,按照中斷類型號順序排列,放在內(nèi)存中地址最低的1024個(gè)單元(00000H-003FFH)。中斷類型碼與中斷向量在向量表中的位置之間的對應(yīng)關(guān)系為:

中斷向量地址指針=4×中斷類型碼

第五章微機(jī)及測控技術(shù)說明:前5個(gè)中斷類型是80X86規(guī)定的專用中斷,有著固定的意義和處理功能;類型碼5~31為系統(tǒng)使用或保留;類型碼32~255可以由用戶自行使用。

第五章微機(jī)及測控技術(shù)5.3.4中斷響應(yīng)過程

80X86中的各種中斷響應(yīng)和處理過程是不相同的,其主要區(qū)別在于如何獲取相應(yīng)的中斷類型碼。

1.內(nèi)部中斷響應(yīng)過程對于專用中斷,中斷類型碼是自動(dòng)形成的,而對于INTn指令,其類型碼即為指令中給定的n。在取得了類型碼后的處理過程如下:①把類型碼乘4,作為中斷向量表的指針。②把CPU的標(biāo)志寄存器入棧,保護(hù)各個(gè)標(biāo)志位。③清除IF和TF標(biāo)志,屏蔽新的INTR中斷和單步中斷。

第五章微機(jī)及測控技術(shù)

④保存斷點(diǎn),即把斷點(diǎn)處的IP和CS值壓入堆棧,先壓入CS值,再壓入IP值。⑤從中斷向量表中取中斷服務(wù)程序的入口地址,分別送至CS和IP中。⑥按新的地址指針執(zhí)行中斷服務(wù)程序。內(nèi)部中斷特點(diǎn):

①中斷由CPU內(nèi)部引起,中斷類型碼的獲得與外部無關(guān),CPU不需要執(zhí)行中斷響應(yīng)周期去獲得中斷類型碼。②除單步中斷外,內(nèi)部中斷無法用軟件禁止,不受中斷允許標(biāo)志位的影響。

第五章微機(jī)及測控技術(shù)2.外部中斷響應(yīng)過程

(1)非屏蔽中斷響應(yīng)。當(dāng)CPU采樣到非屏蔽中斷請求時(shí),自動(dòng)提供中斷類型碼2,然后根據(jù)中斷類型碼查到中斷向量表指針,其后的中斷處理過程與內(nèi)部中斷一樣。

(2)可屏蔽中斷響應(yīng)。當(dāng)INTR信號有效時(shí),如果中斷允許標(biāo)志IF=1,則CPU就會(huì)在當(dāng)前指令執(zhí)行完畢,響應(yīng)外部的中斷請求,轉(zhuǎn)入中斷響應(yīng)周期。

第五章微機(jī)及測控技術(shù)3、中斷響應(yīng)周期中斷響應(yīng)周期:CPU中止現(xiàn)行程序轉(zhuǎn)中斷服務(wù)程序的過程。中斷響應(yīng)周期要用兩個(gè)總線周期。

第五章微機(jī)及測控技術(shù)5.3.4可編程中斷控制器8259一、8259功能(1)管理中斷(2)中斷判優(yōu)(3)提供中斷類型號

第五章微機(jī)及測控技術(shù)二、8259內(nèi)部結(jié)構(gòu)

第五章微機(jī)及測控技術(shù)

(1)中斷請求寄存器IRR:IRR是一個(gè)8位寄存器,用來接收來自IR0~I(xiàn)R7上的中斷請求信號,并將IRR相應(yīng)位置位。外設(shè)產(chǎn)生中斷請求信號的方式有邊沿觸發(fā)方式和電平觸發(fā)方式,用戶可根據(jù)需要通過編程進(jìn)行設(shè)置。

(2)中斷服務(wù)寄存器ISR:ISR是一個(gè)8位寄存器,用來存放當(dāng)前正在處理的中斷請求。在中斷嵌套方式下,可以將其內(nèi)容與新進(jìn)入的中斷請求進(jìn)行優(yōu)先級比較,從而決定是否進(jìn)行嵌套。

(3)中斷屏蔽寄存器IMR:IMR是8位寄存器,用來存放中斷屏蔽字,可由用戶通過編程進(jìn)行設(shè)置。

第五章微機(jī)及測控技術(shù)(4)中斷優(yōu)先權(quán)判斷器。在中斷響應(yīng)期間,可以根據(jù)控制邏輯規(guī)定的優(yōu)先權(quán)級別和IMR的內(nèi)容,把IRR中提出中斷的優(yōu)先權(quán)最高的中斷請求位送ISR。(5)數(shù)據(jù)總線緩沖器。數(shù)據(jù)總線緩沖器是一個(gè)8位三態(tài)雙向緩沖器,是8259A與系統(tǒng)數(shù)據(jù)總線的接口。用于傳送初始化命令字、操作命令字、狀態(tài)字和中斷類型碼。

第五章微機(jī)及測控技術(shù)(6)控制邏輯。在8259A的控制邏輯電路中,有一組初始化命令寄存器(ICW1~I(xiàn)CW4)和一組操作命令字寄存器(OCW1~OCW3),這7個(gè)寄存器可由用戶根據(jù)需要通過編程進(jìn)行設(shè)置,控制邏輯電路可以根據(jù)程序來管理8259A的全部工作。(7)讀/寫控制邏輯。讀/寫控制邏輯電路在四個(gè)輸入信號、

、的控制下,控制著8259A的數(shù)據(jù)總線緩沖器之間的信息傳送,控制邏輯如表6-2所示。它把微處理器送來的命令字傳送到8259A中相應(yīng)的命令寄存器中(包括初始化命令字ICW1、ICW2、ICW3、ICW4和操作控制字OCW1、OCW2、OCW3、OCW4),再把8259A中相應(yīng)的控制器/寄存器中的內(nèi)容(IRR、ISR、IMR)輸出到數(shù)據(jù)總線上。

第五章微機(jī)及測控技術(shù)

(8)級連緩沖器/比較器。級連緩沖器/比較器用來存放和比較系統(tǒng)中全部8259A的標(biāo)記IDS。這個(gè)標(biāo)記是微處理器通過數(shù)據(jù)總線送入8259A的。所有的8259A通過級連線CAS0

~CAS2

三條I/O外線實(shí)現(xiàn)互連。其中必須有一個(gè)8259A為主片,其余的8259A為從片。主片通過CAS0~CAS2輸出標(biāo)記信息,而從片通過這三條線輸入標(biāo)記信息,并與自己原有的標(biāo)記進(jìn)行比較,如果相同則該從片被主片選中,它就在中斷響應(yīng)周期把自己的中斷向量送到數(shù)據(jù)總線上。

第五章微機(jī)及測控技術(shù)8259A的外部引腳三、8259外部引腳

第五章微機(jī)及測控技術(shù)D0~D7:雙向數(shù)據(jù)線,用來與CPU交換數(shù)據(jù)。INTR:中斷請求,輸出信號,由8259A傳給CPU,或由從8259A傳給主8259A。:中斷響應(yīng),輸入信號,來自CPU。IR0~I(xiàn)R7:中斷請求輸入,由外設(shè)傳給8259A。8259A規(guī)定的中斷優(yōu)先級順序?yàn)镮R0>IR1>…

>IR7。

CAS0~CAS2:級連信號。對于主片,這三個(gè)信號是輸出信號,根據(jù)它們的不同組合000~111,分別確定連在哪個(gè)IRi上的從片工作。對于從片,這三個(gè)信號是輸入信號,以此判別本從片是否被選中。

第五章微機(jī)及測控技術(shù)/:多片8259工作在級聯(lián)狀態(tài)時(shí),主片的該信號接高電平,從片的該信號接地。A0:內(nèi)部寄存器選擇控制信號,輸入信號。8259A規(guī)定,當(dāng)A0=0時(shí),對應(yīng)的寄存器為ICW1、OCW2和OCW3;當(dāng)A0=1時(shí),對應(yīng)的寄存器為ICW2~I(xiàn)CW4和OCW1。:片選信號,輸入信號。一般來自地址譯碼器的輸出。:讀允許信號,輸入。來自CPU的。:寫允許信號,輸入。來自CPU的。

第五章微機(jī)及測控技術(shù)四、8259A的中斷控制過程

8259A同微處理器之間,除了提出中斷申請外,還要通過8位數(shù)據(jù)線傳送數(shù)據(jù)和命令,把8位的數(shù)據(jù)總線用作輸入、輸出端口,由微處理器對8259A寫入命令,設(shè)置其工作狀態(tài),或者由微處理器對8259A的狀態(tài)寄存器進(jìn)行讀出。下面主要介紹單個(gè)8259A工作(即8259A作為主片)時(shí)進(jìn)入中斷處理的過程:

第五章微機(jī)及測控技術(shù)

①當(dāng)一條或多條中斷請求線(IR0~I(xiàn)R7)變成高電平時(shí),設(shè)置相應(yīng)的IRR位。②在8259A判斷了中斷優(yōu)先權(quán)和中斷屏蔽寄存器的狀態(tài)后,如果條件合適,就向微處理器發(fā)出高電平信號INT,請求中斷服務(wù)。③微處理器接到中斷請求信號后,如果滿足條件,則響應(yīng)中斷,輸出回答信號為引腳上的兩個(gè)負(fù)脈沖。④8259A接到來自微處理器的第一個(gè)脈沖時(shí),把允許中斷的最高優(yōu)先級請求位置入ISR,并把IRR中相應(yīng)的位復(fù)位。接到第二個(gè)中斷應(yīng)答信號時(shí),8259A向數(shù)據(jù)總線發(fā)送中斷類型號。

第五章微機(jī)及測控技術(shù)五、8259A的工作方式

1.中斷嵌套方式按照優(yōu)先權(quán)設(shè)置方法來分,8259A有以下兩種工作方式:(1)普通全嵌套方式。普通全嵌套方式是8259A最常用的工作方式,簡稱為全嵌套方式。該方式下中斷優(yōu)先權(quán)是固定的,即IR0優(yōu)先權(quán)最高,IR7優(yōu)先權(quán)最低。當(dāng)CPU響應(yīng)中斷時(shí),8259A就把申請中斷的優(yōu)先權(quán)最高的中斷源在ISR中的相應(yīng)位置“1”,而且把它的中斷類型碼送到數(shù)據(jù)總線上。

在此中斷源的中斷服務(wù)程序完成之前,與它同級或優(yōu)先權(quán)更低的中斷源的申請就被屏蔽,只有優(yōu)先權(quán)比它高的中斷源的申請才是允許的(當(dāng)然,CPU是否響應(yīng)取決于CPU是否處在開中斷狀態(tài))。

第五章微機(jī)及測控技術(shù)(2)特殊全嵌套方式。特殊全嵌套方式和普通全嵌套方式只有一點(diǎn)不同:在特殊全嵌套方式下,當(dāng)處理某一級中斷時(shí),如果有同級的中斷請求,那么也會(huì)給予響應(yīng),從而實(shí)現(xiàn)一種對同級中斷請求的特殊嵌套。特殊全嵌套方式一般用在8259A級連系統(tǒng)中。在這種情況下,主片8259A編程為特殊全嵌套方式。這樣,當(dāng)來自某一從片的中斷請求正在處理時(shí),一方面,和普通全嵌套方式一樣,對來自優(yōu)先級較高的主片其他引腳上的中斷請求進(jìn)行開放;另一方面,對來自同一從片的較高優(yōu)先級請求也會(huì)開放。

第五章微機(jī)及測控技術(shù)2.優(yōu)先權(quán)方式

(1)循環(huán)優(yōu)先權(quán)方式。在優(yōu)先權(quán)自動(dòng)循環(huán)方式中,優(yōu)先級隊(duì)列是在變化的。某個(gè)中斷請求被服務(wù)以后,它的優(yōu)先級自動(dòng)降為最低,原來比它低一級的中斷則為最高級,依次排列。如初始優(yōu)先級隊(duì)列規(guī)定為IR0、IR1、IR2、…、IR7。此時(shí),若IR4請求中斷,則處理IR4,在IR4被服務(wù)以后,IR4自動(dòng)左循環(huán)到最低優(yōu)先級,IR5成為最高優(yōu)先級,這時(shí)中斷源的優(yōu)先級依次為IR5、IR6、IR7、IR0、IR1、IR2、IR3、IR4。這種方式一般用在系統(tǒng)中多個(gè)中斷源優(yōu)先級相同的場合。

第五章微機(jī)及測控技術(shù)

(2)固定優(yōu)先權(quán)方式。優(yōu)先權(quán)是固定的。

3.結(jié)束中斷處理方式我們知道,不管用哪種優(yōu)先權(quán)方式工作,當(dāng)一個(gè)中斷請求得到響應(yīng)時(shí),8259A都會(huì)將中斷服務(wù)寄存器ISR中相應(yīng)位置“1”,為以后中斷優(yōu)先權(quán)電路的工作提供依據(jù)。當(dāng)中斷服務(wù)程序結(jié)束時(shí),必須使該ISR位清零;否則,8259A的中斷控制功能就會(huì)不正常。這個(gè)使ISR位復(fù)位的動(dòng)作就是中斷結(jié)束處理。注意,這里的中斷結(jié)束是指8259A結(jié)束中斷的處理,而不是CPU結(jié)束執(zhí)行中斷服務(wù)程序。

第五章微機(jī)及測控技術(shù)

8259A分自動(dòng)中斷結(jié)束方式和非自動(dòng)中斷結(jié)束方式,而非自動(dòng)中斷結(jié)束方式又分為普通(或稱一般、正常)中斷結(jié)束方式和特殊中斷結(jié)束方式。

(1)自動(dòng)中斷結(jié)束方式(AEOI)。若采用該方式,則在第二個(gè)中斷響應(yīng)周期INTA非信號的后沿,8259A將自動(dòng)把中斷服務(wù)寄存器ISR中的對應(yīng)位清除。這樣,盡管系統(tǒng)正在為某個(gè)設(shè)備進(jìn)行中斷服務(wù),但對8259A來說,中斷服務(wù)寄存器中卻沒有對應(yīng)位作指示,所以,就好像已經(jīng)結(jié)束了中斷服務(wù)一樣。這種最簡單的中斷結(jié)束方式,只能用于不要求中斷嵌套的情況。

第五章微機(jī)及測控技術(shù)(2)普通中斷結(jié)束方式。當(dāng)CPU用輸出指令向8259A發(fā)出普通中斷結(jié)束EOI時(shí),8259A就會(huì)把ISR中已置位的最高位復(fù)位。

(3)特殊中斷結(jié)束方式(SEOI)。采用這種方式反映在程序中就是要發(fā)一條特殊中斷結(jié)束命令,在這個(gè)命令中指出了要清除哪個(gè)ISR位。

這里,我們還要指出一點(diǎn),不管是普通中斷結(jié)束方式,還是特殊中斷結(jié)束方式,對于級連系統(tǒng)的從片在一個(gè)中斷服務(wù)程序結(jié)束時(shí),都必須發(fā)兩次中斷結(jié)束命令,一次是對主片發(fā)送的,一次則是對從片發(fā)送的。

第五章微機(jī)及測控技術(shù)4.屏蔽中斷源的方式

8259A的8個(gè)中斷請求都可根據(jù)需要單獨(dú)屏蔽,屏蔽是通過編程使得屏蔽寄存器IMR相應(yīng)位清“0”或置“1”,從而允許或禁止相應(yīng)中斷。8259A有兩種屏蔽方式。

(1)普通屏蔽方式。普通屏蔽方式中,將IMR某位置“1”,則它對應(yīng)的中斷就被屏蔽,從而使這個(gè)中斷請求不能從8259A送到CPU。如果該位清“0”,則允許該級中斷。(2)特殊屏蔽方式。只要CPU處于開中斷模式下,任何沒有被IMR屏蔽的中斷都將被響應(yīng)。這時(shí)中斷優(yōu)先級不起作用。

第五章微機(jī)及測控技術(shù)5.中斷觸發(fā)方式外設(shè)的中斷請求信號從8259A的引腳IRn引入,但根據(jù)實(shí)際工作需要,8259A的中斷觸發(fā)方式可分成如下兩種:

(1)邊沿觸發(fā)方式。在邊沿觸發(fā)方式下,8259A的引腳IRn上出現(xiàn)上升沿,表示有中斷請求,高電平不表示有中斷請求。(2)電平觸發(fā)方式。在電平觸發(fā)方式下,8259A的引腳IRn上出現(xiàn)高電平,表示有中斷請求。這種方式下,應(yīng)注意及時(shí)撤除高電平,否則可能引起不應(yīng)該有的第二次中斷。

第五章微機(jī)及測控技術(shù)6、狀態(tài)讀取模式和查詢模式通過對8259進(jìn)行工作方式編程,可以讓其工作在狀態(tài)讀取模式和查詢模式。當(dāng)8259工作在狀態(tài)讀取模式下,用IN指令讀偶地址端口的內(nèi)容就可以讀出IRR或ISR的內(nèi)容,具體讀的內(nèi)容時(shí)IRR還是ISR由用戶進(jìn)行工作方式編程時(shí)決定。8259工作在查詢模式,再用IN指令讀偶地址端口的內(nèi)容就可以讀出8259的查詢字,通過查詢字,用戶可以了解當(dāng)前8259上是否有中斷請求,如果有,優(yōu)先級最高的中斷請求是哪個(gè)。注:用IN指令讀奇地址端口的內(nèi)容讀出的總是IMR的內(nèi)容。

第五章微機(jī)及測控技術(shù)五、8259A的狀態(tài)設(shè)定

8259的編程為兩個(gè)階段:初始化階段和操作階段。初始化階段應(yīng)該在系統(tǒng)加電或復(fù)位后由系統(tǒng)初始化程序完成。這階段要用輸出指令向8259置入初始化命令字。在操作階段,要用輸出指令向8259發(fā)適當(dāng)?shù)牟僮髅钭?,?shí)現(xiàn)對8259的狀態(tài),中斷方式和過程的控制。這期間一般不再發(fā)初始化命令字。

第五章微機(jī)及測控技術(shù)(1)初始化編程初始化編程階段的任務(wù)是:第1,設(shè)定中斷請求信號的有效形式;第2,8259是單片工作方式還是級聯(lián)工作方式;第3,設(shè)定8259管理的中斷類型號基值第4,設(shè)定各級的優(yōu)先排序規(guī)則;第5,設(shè)定一次中斷處理結(jié)束時(shí)的結(jié)束操作規(guī)則。這些任務(wù)都是通過向8259發(fā)初始命令字ICW實(shí)現(xiàn)的。

第五章微機(jī)及測控技術(shù)①初始化命令字ICW1功能:設(shè)定中斷請求信號的有效形式;設(shè)定8259是單片工作方式還是級聯(lián)工作方式;

第五章微機(jī)及測控技術(shù)②初始化命令字ICW2ICW2用于設(shè)置中斷類型號基值。微處理器在響應(yīng)外中斷時(shí),依據(jù)中斷類型號獲得中斷向量在中斷向量表內(nèi)的地址,即保存中斷服務(wù)子程序入口地址的地址。

第五章微機(jī)及測控技術(shù)③初始化命令字ICW3

單片工作時(shí),則不設(shè)置ICW3。級聯(lián)工作時(shí),需要設(shè)置ICW3。

第五章微機(jī)及測控技術(shù)④初始化命令字ICW4

只有ICW1中的IC4位為1才能設(shè)置ICW4。A0D7D6D5D4D3D2D1D01000SFNMBUFM/SAEOIuPMD7

~D5位總是為0,用來作為ICW4的標(biāo)識(shí)碼。若D4(SFNM)為1,則為特殊的全嵌套方式。在采用特殊全嵌套方式的系統(tǒng)中,一般都使用了多片8259A。若D3(BUF)為1,則8259工作在緩沖方式。此時(shí)SP/EN作為輸出引腳,作為數(shù)據(jù)收發(fā)緩沖器的控制信號。

8259工作在緩沖方式下時(shí),靠若D2(M/S)來區(qū)分主片和從片,D2=1,說明是主片,否則是從片。

第五章微機(jī)及測控技術(shù)

D1(AEOI)指定是否為中斷自動(dòng)結(jié)束方式。AEOI=1,則設(shè)置中斷自動(dòng)結(jié)束方式;AEOI=0時(shí),不用中斷自動(dòng)結(jié)束方式,這時(shí)必須在中斷服務(wù)程序中使用EOI,使ISR中最高的優(yōu)先權(quán)的位復(fù)位。

D0(μPM)指定微處理器的類型。μPM=0時(shí),表示8259A工作于8080/8085系統(tǒng)中;μPM=1時(shí),表示8259A工作于8086/8088系統(tǒng)中。

第五章微機(jī)及測控技術(shù)初始化編程過程:

第五章微機(jī)及測控技術(shù)注:不同8259A的I/O端口地址不同;必須按照順序?qū)懭脒@4個(gè)初始化命令字;8259A級聯(lián)時(shí),每個(gè)8259A均必須有完整的初始化過程[端口地址和部分參數(shù)不同而已例如:MOV AL,00010011B;ICW1:邊沿觸發(fā),要ICW4;單片方式,不要ICW3OUT 20H,ALMOV AL,00001000BOUT 21H,ALMOV AL,00000001B;ICW4:非緩沖,全嵌套,非自動(dòng)中斷結(jié)束(EOI)。OUT 21H,AL

第五章微機(jī)及測控技術(shù)(2)工作方式編程①操作命令字OCW1功能:設(shè)置中斷屏蔽寄存器。

第五章微機(jī)及測控技術(shù)②操作命令字OCW2功能:設(shè)置中斷結(jié)束方式和中斷優(yōu)先級循環(huán)方式。OCW2的高3位R、SL和EOI組合起來才能指明一種工作方式和中斷結(jié)束控制方式。雖然這3位只有組合起來才使方式明確,但每位也有自己的意義。先說明各位意義,然后再說明各種方式時(shí)如何設(shè)置這3位的組合。

第五章微機(jī)及測控技術(shù)D7(R)是優(yōu)先級循環(huán)控制位。R=1為循環(huán)優(yōu)先權(quán),R=0為固定優(yōu)先權(quán)。

D6(SL)用來選擇指定的IR級別位。決定OCW2中的L2、L1

、L0是否有效。若SL=1,則L2、L1、L0有效;若SL=0,則L2、L1

、L0無效。

D5(EOI)是中斷結(jié)束命令位。在非自動(dòng)中斷結(jié)束命令的情況下,EOI=1表示中斷結(jié)束命令,它使ISR中最高優(yōu)先權(quán)的位復(fù)位;EOI=0則不起作用。這三個(gè)控制位的組合格式所形成的命令和方式如表所示。

第五章微機(jī)及測控技術(shù)

第五章微機(jī)及測控技術(shù)③操作命令字OCW3OCW3的功能有三個(gè)方面:一是設(shè)置和撤消特殊屏蔽方式;二是設(shè)置中斷查詢方式;三是用來設(shè)置對8259A內(nèi)部寄存器的讀出命令。其格式如下:

第五章微機(jī)及測控技術(shù)特征位:D4D3=01;D6=1,允許特殊的屏蔽方式,D6=0,不允許特殊的屏蔽方式。特殊的屏蔽方式:除了OCW1屏蔽掉的中斷和正在服務(wù)的中斷級外,其它任何級別的中斷請求都將被響應(yīng)。D5=1,設(shè)置特殊的屏蔽方式,D5=0,清除特殊的屏蔽方式。D2=1,查詢方式,可以讀取查詢字的信息。D2=0非查詢方式,可以讀出ISR和IRR中的內(nèi)容。

第五章微機(jī)及測控技術(shù)PRRRIS功能

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論