第5章輸入輸出技術(shù)_第1頁
第5章輸入輸出技術(shù)_第2頁
第5章輸入輸出技術(shù)_第3頁
第5章輸入輸出技術(shù)_第4頁
第5章輸入輸出技術(shù)_第5頁
已閱讀5頁,還剩108頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 5.1 概述概述 5.2 中斷方式中斷方式5.3 直接存貯器存取直接存貯器存取(DMA)西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 5.1 概述概述 5.1.1 外設(shè)接口的編址方式: 兩種 1.外設(shè)地址與內(nèi)存地址統(tǒng)一編址 這種編址方式又稱為存貯器映射編址方式。在這種編址方式中,將外設(shè)接口地址和內(nèi)部存貯器地址統(tǒng)一安排在內(nèi)存的地址空間中。 原則上,用于內(nèi)存的指令可以用于外設(shè)。但內(nèi)存的可用范圍相對減少。 Motorola的68系列和65系列微型機中

2、廣泛應(yīng)用。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 2. 外設(shè)與內(nèi)存獨立編址 在這種編址方法中,內(nèi)存地址空間和外設(shè)地址空間是相互獨立的。 以8088為例,內(nèi)存地址為連續(xù)的1M字節(jié),從00000H至FFFFFH,而外設(shè)的地址為0000H至FFFFH。由IO/M來區(qū)分。 各有自己的指令和尋址空間,但用于外設(shè)的指令功能較弱,這種編址方式在Z80和Intel80系列中有廣泛應(yīng)用。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 5.1.2 輸入輸出的基本方法 在微型計算機系統(tǒng)中,主要的輸入輸出方法有以下4種: 無條件傳送。 查詢方式

3、。 中斷方式。 直接存貯器存取(DMA)方式。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 1.無條件傳送 在微機系統(tǒng)中,有一些簡單的外設(shè)。當(dāng)它們工作時,隨時都準(zhǔn)備好接收CPU的輸出數(shù)據(jù)或它們的數(shù)據(jù)隨時都是準(zhǔn)備好的,CPU什么時候讀均可以正確地讀到他們的數(shù)據(jù)。CPU可以無條件的向外設(shè)傳送數(shù)據(jù)。 下面看看無條件傳輸?shù)膬蓚€例子。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.1 開關(guān)K的輸入接口 74LS24474LS244地址為FFF7H西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 無條件數(shù)

4、據(jù)傳送的另一個例子如圖5.2表示。圖中外設(shè)是簡單的發(fā)光二極管。此外設(shè)的接口用鎖存器(273)來實現(xiàn)。鎖存器在打入脈沖CP上升沿將輸入端D的數(shù)據(jù)鎖存在它的輸出Q端。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.2 鎖存器輸出接口 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.2中,鎖存器作為輸出接口,其外設(shè)地址為0000H。當(dāng)CPU執(zhí)行如下指令時,即可將圖中兩個發(fā)光二極管點亮。 MOV AL,81H MOV DX,0000H OUT DX,AL 當(dāng)執(zhí)行OUT指令時,CP端會有負脈沖產(chǎn)生,這就可以將數(shù)據(jù)線上的81H鎖

5、存在輸出端,從而點亮發(fā)光二極管。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 2.查詢方式 無條件傳送對于那些慢速的或總是準(zhǔn)備好的外設(shè)是適用的。對并不總是準(zhǔn)備好的外設(shè)則可以采用查詢的方式。通常要求外設(shè)提供一個狀態(tài)信息。 查詢方式:計算機利用程序不斷地詢問外設(shè)的狀態(tài),根據(jù)外設(shè)狀態(tài)來實現(xiàn)數(shù)據(jù)的輸入輸出。 圖5.3 查詢工作方式示意圖 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (1) 單一外設(shè)的查詢工作 接收和發(fā)送數(shù)據(jù)都要首先查詢外設(shè)狀況,其數(shù)據(jù)的輸入和輸出可簡要的用圖5.4所示流程來表示。 為了說明查詢方式工作的過程,以如圖

6、5.5所示例子加以說明。 由圖5.5可以看到,數(shù)據(jù)輸出口和狀態(tài)輸入口共用一個地址00FFH。前者是只寫的,而后者是只讀的?,F(xiàn)欲將48000H為首地址的順序100單元的數(shù)據(jù),利用查詢方式輸出到此外設(shè),其程序可簡寫如下:西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) START: MOV AX,4000H MOV DS,AX MOV SI,8000H MOV CX,100GOON:MOV DX,00FFHWAIT: IN AL,DX AND AL,01H JZ WAIT MOV AL,SI OUT DX,AL INC SI LOOP GOON RET 西安理工大學(xué)教

7、學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (2) 多個外設(shè)查詢方式工作 通常,當(dāng)系統(tǒng)有多個外設(shè)時,可利用如圖5.6所示方式查詢。 從圖5.6可以看出,CPU逐個對外設(shè)進行查詢。若發(fā)現(xiàn)哪個外設(shè)準(zhǔn)備就緒,就對該外設(shè)實施數(shù)據(jù)傳送。然后再對下一個外設(shè)查詢,依次循環(huán)。 在查詢過程中,CPU不能做別的事,大大降低了CPU的效率,而且不能對外設(shè)進行實時數(shù)據(jù)交換。對實時性要求較高的外設(shè),可能丟失數(shù)據(jù)。西安理工大學(xué)教學(xué)講稿西安理工

8、大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.6 多個外設(shè)查詢方式工作流程 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 5.2 中斷方式中斷方式 無條件傳送是用于慢速外設(shè),查詢方式適用于慢速和中速外設(shè)。 而利用中斷方式傳送數(shù)據(jù),可以大大提高CPU效率,對外設(shè)的請求作出實時響應(yīng)。 5.2.1 中斷的基本概念 1.中斷的概念及中斷源分類 在CPU執(zhí)行程序過程中,由于某種事件發(fā)生,強迫CPU暫時停止正在執(zhí)行的程序而轉(zhuǎn)向?qū)Πl(fā)生的事件進行處理,事件處理結(jié)束后又能回到原中止的程序,接著中止前的狀態(tài)繼續(xù)執(zhí)行原來的程序,這一過程稱為中斷。西安理工大學(xué)教學(xué)講稿西安

9、理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 引起中斷的事件稱為中斷源,分為內(nèi)部和外部兩種。 外部中斷源產(chǎn)生引起中斷的事件。由INTR和NMI告訴CPU已發(fā)生了中斷事件。 INTR通常稱為可屏蔽中斷輸入信號,高電平有效表示外部中斷源提出中斷請求。 NMI稱為非屏蔽中斷請求輸入信號,上升沿有效。 當(dāng)然不同的CPU信號的有效性不一樣。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 2. 中斷響應(yīng)的一般過程 (1)中斷請求 當(dāng)外設(shè)要求CPU為它服務(wù)時,便在CPU的中斷請求輸入端加一個電平信號。 注意:a.有效的中斷請求電平必須保持到被CPU發(fā)現(xiàn);b.當(dāng)CP

10、U響應(yīng)請求后,應(yīng)當(dāng)把有效的請求電平去掉。 (2)中斷承認(rèn) CPU在每條指令執(zhí)行的最后一個時鐘周期檢測中斷請求輸入端有無請求發(fā)生,而后決定是否對它做出響應(yīng)。CPU承認(rèn)一個中斷請求,必須滿足以下4個條件:西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) a.一條指令執(zhí)行結(jié)束。 b.CPU處于開中斷狀態(tài),即IF=1。 c.沒有發(fā)生復(fù)位(RESET)、保持(HOLD)和非屏蔽中斷請求(NMI)。 d.開中斷指令(STI)、中斷返回指令(IRET)執(zhí)行完,還需再執(zhí)行一條指令才能響應(yīng)INTR請求。 (3) 斷點保護:分硬件保護和軟件保護兩類 硬件保護:關(guān)中斷,將PSW,CS,

11、IP壓入堆棧。 軟件保護:硬件未保護的、對被中斷程序來說需要保護的寄存器。 (4)中斷源識別 有兩種常用的確定中斷源的方法: 軟件查詢:需要硬件支持,如圖5.7。 中斷矢量法:利用不同中斷源提供不同的中斷矢量的方法。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.7 查詢中斷源所用的硬件西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.8 軟件查詢中斷源流程圖 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (5) 中斷服務(wù) 中斷服務(wù)程序分為兩種情況。如圖5.9所示,第一種是不允許被中斷

12、的中斷服務(wù)程序。 第二種是可以被中斷的中斷服務(wù)程序,其流程圖如圖5.10所示。 (6) 斷點恢復(fù):將壓入堆棧的寄存器內(nèi)容彈出。 (7) 中斷返回 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.9 不允許中斷的中斷服務(wù)程序流程西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.10 允許中斷的中斷服務(wù)程序流程圖 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 3. 中斷優(yōu)先級及中斷嵌套 當(dāng)微型計算機系統(tǒng)中存在著多個中斷源,在這些中斷源提出中斷請求后,要求CPU對其響應(yīng)的快慢程度是不一樣的。為

13、了能根據(jù)中斷源的輕重緩急對多個中斷進行合理的響應(yīng),在微型機中提出了中斷優(yōu)先級的控制問題。 中斷優(yōu)先級控制應(yīng)當(dāng)解決這樣兩種可能出現(xiàn)的情況: 當(dāng)不同優(yōu)先級的多個中斷源同時提出中斷請求時,CPU首先響應(yīng)最高優(yōu)先級的中斷源。 當(dāng)CPU正在對某一中斷源服務(wù)時,比它優(yōu)先級更高的中斷源提出中斷請求時,CPU能夠中斷正在執(zhí)行的中斷服務(wù)程序而去對優(yōu)先級更高的中斷源進行服務(wù)。 中斷嵌套:優(yōu)先級高的中斷源可以中斷優(yōu)先級低的中斷服務(wù)程序,這種中斷服務(wù)程序套中斷服務(wù)程序的現(xiàn)象稱為中斷嵌套。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.11 中斷嵌套示意圖 西安理工大學(xué)教學(xué)講稿西安

14、理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 5.2.2 8086(8088)的中斷系統(tǒng) 8086(88)具有功能很強的中斷系統(tǒng),可以處理256個不同方式的中斷。每一個中斷賦予一個中斷向量碼,CPU根據(jù)向量碼的不同來識別不同的中斷源。 1. 內(nèi)部中斷源 8086(88)的內(nèi)部中斷主要有5種。 (1) 除法錯中斷:向量碼為0 (2) 單步中斷:檢測TF標(biāo)志,向量碼為1 (3) 斷點中斷:用于設(shè)置斷點,向量碼為3 (4) 溢出中斷:檢測OF標(biāo)志,向量碼為4 (5)用戶自定義的軟件中斷INTn西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 2. 外部中斷 8

15、086(88)有兩個信號輸入端供外部中斷源提出中斷請求,下面分別予以說明。 (1) 非屏蔽中斷NMI:不受IF的約束,只要CPU在正常執(zhí)行程序,一旦NMI請求發(fā)生,CPU在一條指令執(zhí)行結(jié)束后將對它作出響應(yīng)。NMI為上升沿有效,當(dāng)響應(yīng)中斷請求時,由其內(nèi)部產(chǎn)生中斷向量碼2,該向量碼決定非屏蔽中斷服務(wù)程序的入口地址。 (2) 可屏蔽中斷請求INTR:受IF的約束,高電平有效。如圖5.12。 注意INTR中斷與內(nèi)部中斷和外部NMI的區(qū)別。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.12 INTR中斷響應(yīng)時序 由外部中斷控制器提供西安理工大學(xué)教學(xué)講稿西安理工大學(xué)

16、教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.13 8086(88)的中斷響應(yīng)過程 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 綜上所述,我們用圖5.13表示8086(88)CPU響應(yīng)中斷的處理過程。對圖5.13作如下說明: 在8086(88)CPU中,內(nèi)部中斷的除法錯、溢出、斷點及用戶自定義軟件中斷的優(yōu)先級最高,其次是NMI。 ,再有是INTR,最低的是單步中斷。 從圖5.13可以看到,各中斷的處理過程大致是相同的。 在中斷響應(yīng)過程中,獲取中斷向量碼的方式是各不相同的;但獲得中斷向量碼之后的過程則是一樣的。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿

17、 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 特別應(yīng)提醒讀者注意的是,圖5.13的整個過程,從發(fā)現(xiàn)有中斷直到轉(zhuǎn)向中斷服務(wù)程序這一復(fù)雜的過程,是由CPU硬件自動完成的。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 3. 中斷向量表 在8086(88)內(nèi)存的開始1K字節(jié)建立了一個中斷向量表,如圖5.14所示。從中斷向量表中我們可以看到,利用該表,將不同的中斷源與其相對應(yīng)的中斷服務(wù)程序入口聯(lián)系在一起。知道了中斷源,利用中斷向量表可以自動地轉(zhuǎn)向相應(yīng)的中斷服務(wù)程序。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.14 中斷向量表 西安理工

18、大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 5.2.3 中斷控制器8259 中斷控制器8259能對8個或通過級聯(lián)對更多中斷源實現(xiàn)優(yōu)先級控制。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 在以后的內(nèi)容中,我們將會接觸到一些可編程器件,如:8255,8253,8259等,這些器件相對復(fù)雜、靈活,大家從以下方面去掌握它: 弄清芯片外部引線以便將它們連接到系統(tǒng)中; 了解它們的工作方式和工作特點,以便有選擇地應(yīng)用它們的某些工作方式; 理解芯片內(nèi)部的控制字、命令字,以便對它們進行編程; 了解每塊芯片所占的地址,以便具體進行連接; 在上述基礎(chǔ)上

19、實現(xiàn)對芯片的初始化及具體應(yīng)用。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 下面我們就開始具體介紹可編程中斷控制器8259。 1. 8259的外部引線 可編程中斷控制器8259外部引線圖如圖5.15所示。 D0D7為雙向數(shù)據(jù)線,與系統(tǒng)總線的數(shù)據(jù)線相連接。 、 為寫和讀控制信號,與系統(tǒng)總線的讀寫信號相連接。 為片選信號,只有 為低電平時,才能實現(xiàn)CPU對8259的寫或讀操作。 A0是8259內(nèi)部寄存器的選擇信號。 WRRDCSCS西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) INT為8259的中斷請求輸出信號,可直接接到CPU的

20、INTR輸入端。 為中斷響應(yīng)輸入信號。 CAS0CAS2為級聯(lián)控制線。 為雙功能引線。 IR0IR7中斷請求輸入端。 8259的內(nèi)部有多個寄存器,其中包括: 中斷請求寄存器(IRR),其內(nèi)部保存著所有外部中斷源IR0IR7的中斷請求狀態(tài)。 /SP ENINTA西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 中斷服務(wù)寄存器(ISR),用來保存所有正在服務(wù)的中斷源。當(dāng)8259收到中斷結(jié)束命令時,其寄存的狀態(tài)進行調(diào)整。 中斷屏蔽寄存器(IMR),保存著被屏蔽的所有中斷源。其屏蔽功能可用命令修改。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出

21、技術(shù) 圖5.15 8259引線圖西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.16 8259的內(nèi)部框圖 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 2. 8259的工作方式 通過編程,可以設(shè)置8259的不同工作方式,以便適應(yīng)不同環(huán)境的需要。這也說明8259工作的靈活性和適應(yīng)性。 (1) 8080/85與8086/88工作模式 a)8080/85工作模式,響應(yīng)中斷過程中,CPU發(fā)送連續(xù)的3個INTA脈沖,第一個發(fā)送CALL指令的操作碼CDH給CPU,第二個發(fā)送中斷入口地址的低八位,第三個發(fā)送中斷入口地址的高八位。中斷服務(wù)

22、程序的入口地址可通過編程由用戶指定,每個中斷源入口地址的間隔可是4個字節(jié)或8個字節(jié),由用戶編程定,見圖5.17。 b)在8086/88模式下,響應(yīng)中斷過程中,CPU發(fā)送連續(xù)的2個INTA脈沖,第一個被8259忽略,第二個發(fā)送中斷源的一個字節(jié)的向量碼給CPU。由T7T3確定向量碼。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.17 8080/85模式下第二中斷響應(yīng)字節(jié) 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (2) 特殊屏蔽方式 在正常情

23、況下,當(dāng)一個中斷請求被響應(yīng)時,8259將禁止所有同級及更低優(yōu)先級中斷請求,這就稱為一般屏蔽方式。 但是,在一特殊情況下,希望也允許較低優(yōu)先級的中斷請求產(chǎn)生中斷。這時,可用特殊屏蔽方式。要做到這一點,需要利用后面將要提到的8259初始化命令字。 一個特殊屏蔽方式的示意圖如圖5.19所示,其中SMM等需要參看后面的命令字的定義。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.19 特殊屏蔽示意圖 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (3) 中斷結(jié)束 8259中,中斷結(jié)束是利用復(fù)位ISR中的相應(yīng)位來實現(xiàn)的。具體有兩種方

24、法: 自動結(jié)束:由初始化設(shè)置ICW4確定 利用命令結(jié)束:操作OCW2的相關(guān)命令實現(xiàn) (a)一般中斷結(jié)束命令(EOI):用于中斷嵌套。 (b)特殊中斷結(jié)束命令(SEOI):用于特殊屏蔽方式。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 4)優(yōu)先級循環(huán) 根據(jù)8259命令字的規(guī)定,它有兩種優(yōu)先級規(guī)定:循環(huán)優(yōu)先級和固定優(yōu)先級。 固定優(yōu)先級:規(guī)定8個中斷源以IR0的優(yōu)先級最高,IR7最低,順序固定不變。 循環(huán)優(yōu)先級有3個結(jié)構(gòu): 自動優(yōu)先級循環(huán):用于中斷源具有相等優(yōu)先級的情況。 指定優(yōu)先級循環(huán):利用命令一次性改變優(yōu)先級。 自動結(jié)束方式下的優(yōu)先級循環(huán) (5)查詢狀態(tài) 通過

25、將操作命令字OCW3中的P位置1(后面要提到),可以查詢8259的狀態(tài)。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.20 查詢時讀出的狀態(tài)字節(jié) I=1表示有中斷,I=0表示無中斷;W0W2的編碼表示請求中斷的中斷源的最高優(yōu)先級。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 3. 8259的內(nèi)部控制字 對8259的編程包括兩類:初始化命令字和操作命令字。 (1)初始化命令字 初始化命令字ICW1。在A0=0,D4=1時為寫入,各位的功能見圖5.21。 初始化命令字ICW2。 初始化命令字ICW3。 初始化命令字ICW4

26、。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.21 初始化命令字1(ICW1) 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.22 初始化命令字2(ICW2)在8080/85模式下,為中斷入口的高8位地址;在8086/88模式下,提供不同中斷源的中斷向量碼。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.23 初始化命令字3(ICW3) 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.24 初始化命令字4(ICW4) 西安理工大學(xué)教學(xué)講

27、稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (2) 操作命令字OCW:在初始化完后,可在8259工作的任何期間寫操作命令字。 操作命令字OCW1。 操作命令字OCW2。 操作命令字OCW3。 圖5.25 操作命令字1(OCW1) 用于設(shè)置對8259中斷的屏蔽操作,某位置1為屏蔽。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) OCW2命令字用于設(shè)置優(yōu)先級是否循環(huán),循環(huán)方式及中斷結(jié)束方式。 R為優(yōu)先級循環(huán)控制位,R=1為循環(huán)優(yōu)先級;R=0為固定優(yōu)先級。 L2、L1、L0為系統(tǒng)最低優(yōu)先級編碼,用它們來指定哪個IR優(yōu)先級最低。 EOI是中斷結(jié)束命令。

28、該位為1時,將復(fù)位現(xiàn)行中斷的中斷服務(wù)寄存器中的相應(yīng)位。在非自動EOI的情況下,需要用OCW2來復(fù)位當(dāng)前最高優(yōu)先級所對應(yīng)的位。 SL用于選擇L2、L1、L0編碼。當(dāng)SL=1時,L2L0編碼有效。SL=0時,L2L0編碼無效。除上述所說的外,R,SL,EOI編碼功能見圖5.26和表5.1。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.26 操作命令字2(OCW2) 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 表5.1 OCW2控制格式 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 操作命令

29、字OCW3。OCW3可用以設(shè)置查詢方式、特殊屏蔽方式以及讀8259的中斷請求寄存器IRR、中斷服務(wù)寄存器ISR、中斷屏蔽寄存器IMR的當(dāng)前狀態(tài)。OCW3各位功能如圖5.27所示。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.27 操作命令字3(OCW3) 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 4. 8259的尋址與連接 為了使8259按照設(shè)計者的要求工作,就需要利用軟件將初始化命令及操作命令字寫入8259;另一方面為了知道8259的工作狀態(tài),又必須將其內(nèi)部的一些寄存器的內(nèi)容讀出來。對寄存器和命令的訪問控制如表5

30、.2所示。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 表5.2 8259寄存器及命令的訪問控制 利用/CS有效選中8259,利用A0來尋址不同的寄存器和命令字。由于8259在硬件系統(tǒng)中只占兩個外設(shè)接口地址,因此需利用命令中的D3、D4及寫入順序來區(qū)分。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.28 8259與系統(tǒng)總線的連接 部分地址譯碼,地址為FF00FF07西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 5. 8259的初始化使用 下面是8259的初始化程序:SET59A:MOV

31、DX,0FF00H ;8259A的地址,A0=0 MOV AL,13H ; ICW1,LT1M=0,單 片 ,需要ICW4 OUT DX,AL MOV DX,0FF02H ;8259地址,此時A0=1 MOV AL,48H ;ICW2,中斷向量碼 OUT DX,AL西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) MOV AL,03H ;ICW4,8086/88模式,自動 EOI,非緩沖方式,一般全 嵌套 OUT DX,AL MOV AL,0E0H ; OCW1,屏蔽IR5,IR6,IR7 因為未用到這3個中斷輸入 OUT DX,AL西安理工大學(xué)教學(xué)講稿西安理工大

32、學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.29 8259的初始化順序 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 先將數(shù)寫入IMR,再把它讀出來校驗MOV DX,0FF02HMOV AL,0;取OCW1為00HOUT DX,AL;取00H寫入IMRIN AL,DX;讀IMROR AL,AL;判斷其內(nèi)容為00H否JNZ IMERRMOV AL,0FFHOUT DX,ALIN AL,DXADD AL,1JNZ IMERR西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 在讀IMR時,可直接在對應(yīng)A0=1的地址上讀出;但

33、要讀IRR或ISR時,則必須先向8259寫入一個命令字OCW3。以下是讀出ISR內(nèi)容的一段程序: MOV DX,0FF00H ;對應(yīng)A0=0 MOV AL,0BH ;0BH為OCW3內(nèi)容 OUT DX,AL ;OCW3寫入8259 IN AL,DX ;讀出ISR的內(nèi)容,放在 AL中西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 把定時器產(chǎn)生的周期為20MS的方波加到圖5.28的IR0上,初始化上升沿產(chǎn)生中斷,具體做法如下:(1) 編寫20ms中斷服務(wù)程序CLOCK PROC FAR PUSH AX PUSH SI MOV AX,SEG TIMER MOV DS,

34、AX MOV SI,OFFSET TIMER MOV AL,SI ;取50次計數(shù) INC AL MOVSI,AL西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) CMP AL,50 ;判1s到否?JNE TRNEDMOV AL,0MOV SI,AL MOV AL,SI+1 ;取60s計數(shù)ADD AL,1DAAMOV SI+1,AL CMP AL,60H ;判1min到否?JNE TRNED西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) MOV AL,0MOV SI+1,AL MOV AL, SI+2 ;取60min計數(shù)ADD AL,

35、1DAAMOV SI+2,ALCMP AL,60H ;判1h到否?JNE TRNEDMOV AL,0MOV SI+2,ALMOV AL,SI+3;取小時計數(shù)西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) ADD AL,1 DAA MOV SI+3,AL CMP AL,24H JNE TRNED MOV AL,0 MOV SI+3,ALTRNED:POP SI POP AX STI IRET ENDP西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (2)確定中斷向量,初始化8259(3)初始化中斷向量表:將中斷服務(wù)程序的段地址及偏移

36、量放在中斷向量碼乘4所決定的4個地址單元中。(a)直接編程初始化中斷向量表INTITB:MOV AX,0000H MOV DS,AX MOV SI,0120H MOV DX,OFFSETCLOCK MOV SI,DX MOV DX,SEGCLOCK MOV SI+2,DX西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (b) DOS系統(tǒng)調(diào)用若在DOS下工作,則可采用DOS系統(tǒng)調(diào)用: INT 21H的功能25H-置中斷向量 25HAH 中斷向量碼AL 中斷服務(wù)程序段:偏移量DS:DX西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 程

37、序如下:MOV AH,25H ;功能號MOV AL,48H ;中斷向量碼MOV DX,SEG CLOCKMOV DS,DXMOV DX,OFFSET CLOCKINT 21H西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 6. 8259的級聯(lián) 當(dāng)微型機系統(tǒng)中的中斷源較多,一片8259不能解決問題時,可以采用級聯(lián)工作方式。這時指定一片8259為主控芯片,它的INT接到CPU上而其余的8259芯片均作為從屬芯片,其INT輸出接到主控芯片的IR輸入端。由于主控8259有8個IR輸入端,故一個主控8259可以連接8片從屬8259,最多允許有64個IR輸入。 西安理工大學(xué)

38、教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.30 3片8259級聯(lián)工作框圖 3片8259的地址由/CS和A0定西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 級聯(lián)系統(tǒng)中每一片8259都有各自初始化程序,中斷結(jié)束時連發(fā)兩次EOI命令結(jié)束主控片和從屬片。 一般全嵌套方式在級聯(lián)方式中區(qū)分優(yōu)先級存在問題,為了避免一般全嵌套方式的這一缺點,在級聯(lián)方式時,可采用前面提到的特殊全嵌套方式。在將主控片初始化為特殊全嵌套方式后必須注意到如下兩種情況: 當(dāng)從屬片的中斷請求響應(yīng)后,主控芯片并不封鎖從屬片的INT輸入。 當(dāng)從屬片的中斷響應(yīng)結(jié)束時,要用軟件來

39、檢查中斷狀態(tài)寄存器ISR的內(nèi)容,看看當(dāng)前被服務(wù)的是否是本從屬片的唯一一個中斷請求。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 5.3 直接存貯器存取直接存貯器存取(DMA) 5.3.1 DMA的工作過程 要實現(xiàn)DMA傳送,目前都采用大規(guī)模集成電路芯片DMA控制器(DMAC)。DMA的工作過程大致如下: 外設(shè)向DMAC發(fā)出DMA傳送請求。 DMAC通過連接到CPU的HOLD信號向CPU提出DMA請求。 CPU在完成當(dāng)前總線周期后會立即對DMA請求做出響應(yīng)。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 待CPU將總線置高阻放棄

40、總線控制權(quán),DMAC即開始對總線實施控制并向外設(shè)送出DMA的應(yīng)答信號。 DMAC送出地址信號和控制信號,實現(xiàn)外設(shè)與內(nèi)存或內(nèi)存與內(nèi)存的數(shù)據(jù)傳送。 DMAC將規(guī)定的數(shù)據(jù)字節(jié)傳送完之后,通過向CPU發(fā)HOLD信號,撤消對CPU的DMA請求。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.31 DMA存儲器寫總線周期時序西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.32 PC機中DMA操作流向圖 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 5.3.2 DMA控制器8237 1. 8237

41、的引線及功能 DMAC8237的外部引線圖如圖5.33所示。 A0A3:雙向地址線,具有三態(tài)輸出。 A4A7:三態(tài)輸出線。 DB0DB7:雙向三態(tài)數(shù)據(jù)總線。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.33 DMAC8237引線圖 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) :雙向三態(tài)低電平有效的I/O寫控制信號。 :雙向三態(tài)低電平有效的I/O讀控制信號。 :三態(tài)輸出低電平有效的存貯器寫控制信號。 :三態(tài)輸出低電平有效的存貯器讀控制信號。 ADSTR:地址選通信號,高電平有效的輸出信號。 AEN:地址允許信號,高電平

42、有效輸出信號。 :片選信號,低電平有效輸入信號。 RESET:復(fù)位信號,高電平有效輸入信號。 READY:準(zhǔn)備好輸入信號 IORIOWMEMWMEMRCS西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) HRQ:保持請求信號 HLDA:保持響應(yīng)信號 DREQ0DREQ3:DMA請求(通道03)信號。DACK0DACK3:DMA響應(yīng)信號,分別對應(yīng)通道03。CLK:時鐘輸入。 :過程結(jié)束,低電平有效的雙向信號。 EOP西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 2.8237的工作方式8237工作有兩種周期,即空閑周期和工作周期。(1

43、)空閑周期(2)工作周期單字節(jié)傳送方式。 數(shù)據(jù)塊傳送。 請求傳送。 級聯(lián)方式。 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.34 8237級聯(lián)方式工作框圖 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (3) 傳送類型 接口到存貯器的傳送。 存貯器到接口。 存貯器到存貯器。 (4) 優(yōu)先級 (5) 傳送速率 3. 8237的內(nèi)部寄存器 8237有4個獨立的DMA通道,有許多內(nèi)部寄存器。表5.3給出這些寄存器的名稱、長度和數(shù)量。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 表5.3 82

44、37的內(nèi)部寄存器 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) (1)基地址寄存器(2)基字?jǐn)?shù)寄存器(3)當(dāng)前地址寄存器(4)當(dāng)前字?jǐn)?shù)寄存器(5)地址暫存寄存器和字?jǐn)?shù)暫存寄存器(6)方式寄存器(7)命令寄存器(8)請求寄存器(9)屏蔽寄存器西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.35 8237的方式控制字 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.36 8237的命令字 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.37 8237的

45、請求字 西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.38 8237的單通道屏蔽字西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 單個通道屏蔽字。 四通道屏蔽字。 (10)狀態(tài)寄存器(11)暫存寄存器(12)字節(jié)指針觸發(fā)器西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.39 8237的四通道屏蔽字西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 圖5.40 8237的狀態(tài)寄存器西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 4. 8237的尋址及連接 8237的4個通道的寄存器及其他各種寄存器的尋址編碼如表5.4和表5.5所示。西安理工大學(xué)教學(xué)講稿西安理工大學(xué)教學(xué)講稿 第第5章章 輸入輸出技術(shù)輸入輸出技術(shù) 表5.4 8

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論