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

下載本文檔

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

文檔簡介

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

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

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

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

5、CP端會有負脈沖產(chǎn)生,這就 可以將數(shù)據(jù)線上的81H鎖存在輸出端,從而點亮發(fā)光二 極管。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 2.查詢方式 無條件傳送對于那些慢速的或總是準備好的外設是適用的。對并不 總是準備好的外設則可以采用查詢的方式。通常要求外設提供一個狀態(tài) 信息。 查詢方式:計算機利用程序不斷地詢問外設的狀態(tài),根據(jù)外設狀態(tài) 來實現(xiàn)數(shù)據(jù)的輸入輸出。 圖5.3 查詢工作方式示意圖 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 (1) 單一外設的查詢工作 接收和發(fā)送數(shù)據(jù)都要首先查詢外設狀況,其數(shù)據(jù) 的輸入和輸出可簡要的

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

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

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

9、回到原中止的程序, 接著中止前的狀態(tài)繼續(xù)執(zhí)行原來的程序,這一過程稱 為中斷。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 引起中斷的事件稱為中斷源,分為內(nèi)部和外部兩種。 外部中斷源產(chǎn)生引起中斷的事件。由INTR和NMI 告訴CPU已發(fā)生了中斷事件。 INTR通常稱為可屏蔽中斷輸入信號,高電平有 效表示外部中斷源提出中斷請求。 NMI稱為非屏蔽中斷請求輸入信號,上升沿有效。 當然不同的CPU信號的有效性不一樣。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 2. 中斷響應的一般過程 (1)中斷請求 當外設要求CPU為它服務時,

10、便在CPU的中斷請 求輸入端加一個電平信號。 注意:a.有效的中斷請求電平必須保持到被CPU 發(fā)現(xiàn);b.當CPU響應請求后,應當把有效的請求電平去 掉。 (2)中斷承認 CPU在每條指令執(zhí)行的最后一個時鐘周期檢測中 斷請求輸入端有無請求發(fā)生,而后決定是否對它做出 響應。CPU承認一個中斷請求,必須滿足以下4個條件: 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 a.一條指令執(zhí)行結(jié)束。 b.CPU處于開中斷狀態(tài),即IF=1。 c.沒有發(fā)生復位(RESET)、保持(HOLD)和非屏蔽中斷請求 (NMI)。 d.開中斷指令(STI)、中斷返回指令(IRET)執(zhí)行完,

11、還需再執(zhí) 行一條指令才能響應INTR請求。 (3) 斷點保護:分硬件保護和軟件保護兩類 硬件保護:關中斷,將PSW,CS,IP壓入堆棧。 軟件保護:硬件未保護的、對被中斷程序來說需要保護的寄 存器。 (4)中斷源識別 有兩種常用的確定中斷源的方法: 軟件查詢:需要硬件支持,如圖5.7。 中斷矢量法:利用不同中斷源提供不同的中斷矢量的方法。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.7 查詢中斷源所用的硬件 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.8 軟件查詢中斷源流程圖 西安理工大學教學講稿西安理工大學教

12、學講稿 第第5章章 輸入輸出技術輸入輸出技術 (5) 中斷服務 中斷服務程序分為兩種情況。如圖5.9所示,第一 種是不允許被中斷的中斷服務程序。 第二種是可以被中斷的中斷服務程序,其流程圖 如圖5.10所示。 (6) 斷點恢復:將壓入堆棧的寄存器內(nèi)容彈出。 (7) 中斷返回 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.9 不允許中斷的中斷服務程序流程 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.10 允許中斷的中斷服務程序流程圖 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 3

13、. 中斷優(yōu)先級及中斷嵌套 當微型計算機系統(tǒng)中存在著多個中斷源,在這些中斷源提出中 斷請求后,要求CPU對其響應的快慢程度是不一樣的。為了能根據(jù) 中斷源的輕重緩急對多個中斷進行合理的響應,在微型機中提出了 中斷優(yōu)先級的控制問題。 中斷優(yōu)先級控制應當解決這樣兩種可能出現(xiàn)的情況: 當不同優(yōu)先級的多個中斷源同時提出中斷請求時,CPU首先 響應最高優(yōu)先級的中斷源。 當CPU正在對某一中斷源服務時,比它優(yōu)先級更高的中斷源 提出中斷請求時,CPU能夠中斷正在執(zhí)行的中斷服務程序而去對優(yōu) 先級更高的中斷源進行服務。 中斷嵌套:優(yōu)先級高的中斷源可以中斷優(yōu)先級低的中斷服務程 序,這種中斷服務程序套中斷服務程序的現(xiàn)象

14、稱為中斷嵌套。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.11 中斷嵌套示意圖 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 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標志,向量碼為1 (3) 斷點中斷:用于設置斷點,向量碼為3 (4) 溢出中斷:檢測O

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

16、 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.12 INTR中斷響應時序 由外部中斷控制 器提供 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.13 8086(88)的中斷響應過程 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 綜上所述,我們用圖5.13表示8086(88)CPU響應中 斷的處理過程。對圖5.13作如下說明: 在8086(88)CPU中,內(nèi)部中斷的除法錯、溢出、 斷點及用戶自定義軟件中斷的優(yōu)先級最高,其次是NMI。 ,再有是INTR,最低的是單步中斷。 從圖5.1

17、3可以看到,各中斷的處理過程大致是相 同的。 在中斷響應過程中,獲取中斷向量碼的方式是各 不相同的;但獲得中斷向量碼之后的過程則是一樣的。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 特別應提醒讀者注意的是,圖5.13的整個過程, 從發(fā)現(xiàn)有中斷直到轉(zhuǎn)向中斷服務程序這一復雜的過程, 是由CPU硬件自動完成的。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 3. 中斷向量表 在8086(88)內(nèi)存的開始1K字節(jié)建立了一個中斷向量 表,如圖5.14所示。從中斷向量表中我們可以看到,利 用該表,將不同的中斷源與其相對應的中斷服務程序

18、 入口聯(lián)系在一起。知道了中斷源,利用中斷向量表可 以自動地轉(zhuǎn)向相應的中斷服務程序。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.14 中斷向量表 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 5.2.3 中斷控制器8259 中斷控制器8259能對8個或通過級聯(lián)對更多中斷源實 現(xiàn)優(yōu)先級控制。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 在以后的內(nèi)容中,我們將會接觸到一些可編程器件,如:8255, 8253,8259等,這些器件相對復雜、靈活,大家從以下方面去掌 握它: 弄清芯片外部引線

19、以便將它們連接到系統(tǒng)中; 了解它們的工作方式和工作特點,以便有選擇地應用它們的某 些工作方式; 理解芯片內(nèi)部的控制字、命令字,以便對它們進行編程; 了解每塊芯片所占的地址,以便具體進行連接; 在上述基礎上實現(xiàn)對芯片的初始化及具體應用。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 下面我們就開始具體介紹可編程中斷控制器8259。 1. 8259的外部引線 可編程中斷控制器8259外部引線圖如圖5.15所示。 D0D7為雙向數(shù)據(jù)線,與系統(tǒng)總線的數(shù)據(jù)線相連接。 、 為寫和讀控制信號,與系統(tǒng)總線的讀寫 信號相連接。 為片選信號,只有 為低電平時,才能實 現(xiàn)CPU對8

20、259的寫或讀操作。 A0是8259內(nèi)部寄存器的選擇信號。 WRRD CS CS 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 INT為8259的中斷請求輸出信號,可直接接到CPU 的INTR輸入端。 為中斷響應輸入信號。 CAS0CAS2為級聯(lián)控制線。 為雙功能引線。 IR0IR7中斷請求輸入端。 8259的內(nèi)部有多個寄存器,其中包括: 中斷請求寄存器(IRR),其內(nèi)部保存著所有外部中 斷源IR0IR7的中斷請求狀態(tài)。 /SP EN INTA 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 中斷服務寄存器(ISR),用來保存所

21、有正在服務的 中斷源。當8259收到中斷結(jié)束命令時,其寄存的狀態(tài) 進行調(diào)整。 中斷屏蔽寄存器(IMR),保存著被屏蔽的所有中斷 源。其屏蔽功能可用命令修改。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.15 8259引線圖 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.16 8259的內(nèi)部框圖 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 2. 8259的工作方式 通過編程,可以設置8259的不同工作方式,以便適應不同環(huán) 境的需要。這也說明8259工作的靈活性和適應性。 (1)

22、8080/85與8086/88工作模式 a)8080/85工作模式,響應中斷過程中,CPU發(fā)送連續(xù)的3個INTA 脈沖,第一個發(fā)送CALL指令的操作碼CDH給CPU,第二個發(fā)送 中斷入口地址的低八位,第三個發(fā)送中斷入口地址的高八位。中 斷服務程序的入口地址可通過編程由用戶指定,每個中斷源入口 地址的間隔可是4個字節(jié)或8個字節(jié),由用戶編程定,見圖5.17。 b)在8086/88模式下,響應中斷過程中,CPU發(fā)送連續(xù)的2個INTA 脈沖,第一個被8259忽略,第二個發(fā)送中斷源的一個字節(jié)的向量 碼給CPU。由T7T3確定向量碼。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入

23、輸出技術 圖5.17 8080/85模式下第二中斷響應字節(jié) 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 (2) 特殊屏蔽方式 在正常情況下,當一個中斷請求被響應時,8259 將禁止所有同級及更低優(yōu)先級中斷請求,這就稱為一 般屏蔽方式。 但是,在一特殊情況下,希望也允許較低優(yōu)先級 的中斷請求產(chǎn)生中斷。這時,可用特殊屏蔽方式。要 做到這一點,需要利用后面將要提到的8259初始化命 令字。 一個特殊屏蔽方式的示意圖如圖5.19所示,其中 SMM等需要參看后面的命令字的定義。 西安理工大

24、學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.19 特殊屏蔽示意圖 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 (3) 中斷結(jié)束 8259中,中斷結(jié)束是利用復位ISR中的相應位來實 現(xiàn)的。具體有兩種方法: 自動結(jié)束:由初始化設置ICW4確定 利用命令結(jié)束:操作OCW2的相關命令實現(xiàn) (a)一般中斷結(jié)束命令(EOI):用于中斷嵌套。 (b)特殊中斷結(jié)束命令(SEOI):用于特殊屏蔽方式。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 4)優(yōu)先級循環(huán) 根據(jù)8259命令字的規(guī)定,它有兩種優(yōu)先級規(guī)定:循

25、環(huán)優(yōu)先級和 固定優(yōu)先級。 固定優(yōu)先級:規(guī)定8個中斷源以IR0的優(yōu)先級最高,IR7最低, 順序固定不變。 循環(huán)優(yōu)先級有3個結(jié)構: 自動優(yōu)先級循環(huán):用于中斷源具有相等優(yōu)先級的情況。 指定優(yōu)先級循環(huán):利用命令一次性改變優(yōu)先級。 自動結(jié)束方式下的優(yōu)先級循環(huán) (5)查詢狀態(tài) 通過將操作命令字OCW3中的P位置1(后面要提到),可以查詢 8259的狀態(tài)。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.20 查詢時讀出的狀態(tài)字節(jié) I=1表示有中斷,I=0表示無中斷;W0W2的編碼表示 請求中斷的中斷源的最高優(yōu)先級。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章

26、 輸入輸出技術輸入輸出技術 3. 8259的內(nèi)部控制字 對8259的編程包括兩類:初始化命令字和操作命令 字。 (1)初始化命令字 初始化命令字ICW1。在A0=0,D4=1時為寫入, 各位的功能見圖5.21。 初始化命令字ICW2。 初始化命令字ICW3。 初始化命令字ICW4。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.21 初始化命令字1(ICW1) 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.22 初始化命令字2(ICW2) 在8080/85模式下,為中斷入口的高8位地址;在8086/88模式下, 提

27、供不同中斷源的中斷向量碼。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.23 初始化命令字3(ICW3) 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.24 初始化命令字4(ICW4) 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 (2) 操作命令字OCW:在初始化完后,可在8259工作的任何期 間寫操作命令字。 操作命令字OCW1。 操作命令字OCW2。 操作命令字OCW3。 圖5.25 操作命令字1(OCW1) 用于設置對8259中斷的屏蔽操作,某位置1為屏蔽。 西安理工大學

28、教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 OCW2命令字用于設置優(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é)束命令。該位為1時,將復位現(xiàn)行中斷的中斷服 務寄存器中的相應位。在非自動EOI的情況下,需要用OCW2來復 位當前最高優(yōu)先級所對應的位。 SL用于選擇L2、L1、L0編碼。當SL=1時,L2L0編碼有效。 SL=0時,L2L0編碼無效。除上述所說的外,R,SL,EOI編碼功 能見圖5.26和表5.1。 西安理工

29、大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.26 操作命令字2(OCW2) 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 表5.1 OCW2控制格式 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 操作命令字OCW3。OCW3可用以設置查詢方式、 特殊屏蔽方式以及讀8259的中斷請求寄存器IRR、中斷 服務寄存器ISR、中斷屏蔽寄存器IMR的當前狀態(tài)。 OCW3各位功能如圖5.27所示。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.27 操作命令字3(O

30、CW3) 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 4. 8259的尋址與連接 為了使8259按照設計者的要求工作,就需要利用 軟件將初始化命令及操作命令字寫入8259;另一方面 為了知道8259的工作狀態(tài),又必須將其內(nèi)部的一些寄 存器的內(nèi)容讀出來。對寄存器和命令的訪問控制如表 5.2所示。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 表5.2 8259寄存器及命令的訪問控制 利用/CS有效選中8259,利用A0來尋址不同的寄存器和命令字。由于8259 在硬件系統(tǒng)中只占兩個外設接口地址,因此需利用命令中的D3、D4及寫

31、入順序來區(qū)分。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.28 8259與系 統(tǒng)總線的連接 部分地址 譯碼,地 址為 FF00FF07 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 5. 8259的初始化使用 下面是8259的初始化程序: SET59A:MOV 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

32、,AL 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 MOV AL,03H ;ICW4,8086/88模式,自動 EOI,非緩沖方式,一般全 嵌套 OUT DX,AL MOV AL,0E0H ; OCW1,屏蔽IR5,IR6,IR7 因為未用到這3個中斷輸入 OUT DX,AL 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.29 8259的初始化順序 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 先將數(shù)寫入IMR,再把它讀出來校驗 MOV DX,0FF02H MOV AL,0;取OCW1

33、為00H OUT DX,AL;取00H寫入IMR IN AL,DX;讀IMR OR AL,AL;判斷其內(nèi)容為00H否 JNZ IMERR MOV AL,0FFH OUT DX,AL IN AL,DX ADD AL,1 JNZ IMERR 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 在讀IMR時,可直接在對應A0=1的地址上讀出; 但要讀IRR或ISR時,則必須先向8259寫入一個命令字 OCW3。以下是讀出ISR內(nèi)容的一段程序: MOV DX,0FF00H ;對應A0=0 MOV AL,0BH ;0BH為OCW3內(nèi)容 OUT DX,AL ;OCW3寫入825

34、9 IN AL,DX ;讀出ISR的內(nèi)容,放在 AL中 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 把定時器產(chǎn)生的周期為20MS的方波加到圖5.28的IR0上,初始化 上升沿產(chǎn)生中斷,具體做法如下: (1) 編寫20ms中斷服務程序 CLOCK PROC FAR PUSH AX PUSH SI MOV AX,SEG TIMER MOV DS,AX MOV SI,OFFSET TIMER MOV AL,SI ;取50次計數(shù) INC AL MOVSI,AL 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 CMP AL,50 ;判1

35、s到否? JNE TRNED MOV AL,0 MOV SI,AL MOV AL,SI+1 ;取60s計數(shù) ADD AL,1 DAA MOV SI+1,AL CMP AL,60H ;判1min到否? JNE TRNED 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 MOV AL,0 MOV SI+1,AL MOV AL, SI+2 ;取60min計數(shù) ADD AL,1 DAA MOV SI+2,AL CMP AL,60H ;判1h到否? JNE TRNED MOV AL,0 MOV SI+2,AL MOV AL,SI+3;取小時計數(shù) 西安理工大學教學講稿西安理

36、工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 ADD AL,1 DAA MOV SI+3,AL CMP AL,24H JNE TRNED MOV AL,0 MOV SI+3,AL TRNED:POP SI POP AX STI IRET ENDP 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 (2)確定中斷向量,初始化8259 (3)初始化中斷向量表:將中斷服務程序的段地址及偏移 量放在中斷向量碼乘4所決定的4個地址單元中。 (a)直接編程初始化中斷向量表 INTITB:MOV AX,0000H MOV DS,AX MOV SI,0120H MOV D

37、X,OFFSETCLOCK MOV SI,DX MOV DX,SEGCLOCK MOV SI+2,DX 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 (b) DOS系統(tǒng)調(diào)用 若在DOS下工作,則可采用DOS系統(tǒng)調(diào)用: INT 21H的功能25H-置中斷向量 25HAH 中斷向量碼AL 中斷服務程序段:偏移量DS:DX 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 程序如下: MOV AH,25H ;功能號 MOV AL,48H ;中斷向量碼 MOV DX,SEG CLOCK MOV DS,DX MOV DX,OFFSET CL

38、OCK INT 21H 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 6. 8259的級聯(lián) 當微型機系統(tǒng)中的中斷源較多,一片8259不能解 決問題時,可以采用級聯(lián)工作方式。這時指定一片 8259為主控芯片,它的INT接到CPU上而其余的8259芯 片均作為從屬芯片,其INT輸出接到主控芯片的IR輸入 端。由于主控8259有8個IR輸入端,故一個主控8259可 以連接8片從屬8259,最多允許有64個IR輸入。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.30 3片8259級聯(lián)工作框圖 3片8259的地址由/CS和A0定

39、 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 級聯(lián)系統(tǒng)中每一片8259都有各自初始化程序,中斷 結(jié)束時連發(fā)兩次EOI命令結(jié)束主控片和從屬片。 一般全嵌套方式在級聯(lián)方式中區(qū)分優(yōu)先級存在問題,為 了避免一般全嵌套方式的這一缺點,在級聯(lián)方式時,可 采用前面提到的特殊全嵌套方式。在將主控片初始化為 特殊全嵌套方式后必須注意到如下兩種情況: 當從屬片的中斷請求響應后,主控芯片并不封鎖 從屬片的INT輸入。 當從屬片的中斷響應結(jié)束時,要用軟件來檢查中 斷狀態(tài)寄存器ISR的內(nèi)容,看看當前被服務的是否是本 從屬片的唯一一個中斷請求。 西安理工大學教學講稿西安理工大學教學講稿

40、 第第5章章 輸入輸出技術輸入輸出技術 5.3 直接存貯器存取直接存貯器存取(DMA) 5.3.1 DMA的工作過程 要實現(xiàn)DMA傳送,目前都采用大規(guī)模集成電路芯 片DMA控制器(DMAC)。DMA的工作過程大致如下: 外設向DMAC發(fā)出DMA傳送請求。 DMAC通過連接到CPU的HOLD信號向CPU提 出DMA請求。 CPU在完成當前總線周期后會立即對DMA請求 做出響應。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 待CPU將總線置高阻放棄總線控制權, DMAC即開始對總線實施控制并向外設送出DMA的應 答信號。 DMAC送出地址信號和控制信號,實現(xiàn)外設

41、與 內(nèi)存或內(nèi)存與內(nèi)存的數(shù)據(jù)傳送。 DMAC將規(guī)定的數(shù)據(jù)字節(jié)傳送完之后,通過向 CPU發(fā)HOLD信號,撤消對CPU的DMA請求。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.31 DMA存儲器寫總線周期時序 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.32 PC機中DMA操作流向圖 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 5.3.2 DMA控制器8237 1. 8237的引線及功能 DMAC8237的外部引線圖如圖5.33所示。 A0A3:雙向地址線,具有三態(tài)輸出。 A4A

42、7:三態(tài)輸出線。 DB0DB7:雙向三態(tài)數(shù)據(jù)總線。 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.33 DMAC8237引線圖 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 :雙向三態(tài)低電平有效的I/O寫控制信號。 :雙向三態(tài)低電平有效的I/O讀控制信號。 :三態(tài)輸出低電平有效的存貯器寫控制信號。 :三態(tài)輸出低電平有效的存貯器讀控制信號。 ADSTR:地址選通信號,高電平有效的輸出信號。 AEN:地址允許信號,高電平有效輸出信號。 :片選信號,低電平有效輸入信號。 RESET:復位信號,高電平有效輸入信號。 READY:

43、準備好輸入信號 IOR IOW MEMW MEMR CS 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 HRQ:保持請求信號 HLDA:保持響應信號 DREQ0DREQ3:DMA請求(通道03)信號。 DACK0DACK3:DMA響應信號,分別對應通道03。 CLK:時鐘輸入。 :過程結(jié)束,低電平有效的雙向信號。 EOP 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 2.8237的工作方式 8237工作有兩種周期,即空閑周期和工作周期。 (1)空閑周期 (2)工作周期 單字節(jié)傳送方式。 數(shù)據(jù)塊傳送。 請求傳送。 級聯(lián)方式。 西

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

45、出技術輸入輸出技術 (1)基地址寄存器 (2)基字數(shù)寄存器 (3)當前地址寄存器 (4)當前字數(shù)寄存器 (5)地址暫存寄存器和字數(shù)暫存寄存器 (6)方式寄存器 (7)命令寄存器 (8)請求寄存器 (9)屏蔽寄存器 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.35 8237的方式控制字 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.36 8237的命令字 西安理工大學教學講稿西安理工大學教學講稿 第第5章章 輸入輸出技術輸入輸出技術 圖5.37 8237的請求字 西安理工大學教學講稿西安理工大學教學講稿 第第5章章

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

溫馨提示

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

評論

0/150

提交評論