微機原理與接口技術(shù)-第6章-輸入輸出與中斷技術(shù)ppt_第1頁
微機原理與接口技術(shù)-第6章-輸入輸出與中斷技術(shù)ppt_第2頁
微機原理與接口技術(shù)-第6章-輸入輸出與中斷技術(shù)ppt_第3頁
微機原理與接口技術(shù)-第6章-輸入輸出與中斷技術(shù)ppt_第4頁
微機原理與接口技術(shù)-第6章-輸入輸出與中斷技術(shù)ppt_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、侯彥利第第6 6章章 輸入輸入/ /輸出與中斷技術(shù)輸出與中斷技術(shù)吉林大學(xué)工學(xué)部計算機硬件基礎(chǔ)課程吉林大學(xué)工學(xué)部計算機硬件基礎(chǔ)課程微機原理與接口技術(shù)微機原理與接口技術(shù)1第第6 6章章 輸入輸入/ /輸出與中斷技術(shù)輸出與中斷技術(shù)侯彥利侯彥利23本章教學(xué)目的本章教學(xué)目的n了解輸入輸出系統(tǒng)的基本知識了解輸入輸出系統(tǒng)的基本知識n了解系統(tǒng)總線與輸入輸出設(shè)備的連接方式。了解系統(tǒng)總線與輸入輸出設(shè)備的連接方式。n掌握簡單設(shè)備接口的設(shè)計方法掌握簡單設(shè)備接口的設(shè)計方法n了解中斷的基本概念了解中斷的基本概念n了解中斷的處理過程了解中斷的處理過程n熟悉熟悉8088/8086中斷系統(tǒng)中斷系統(tǒng)46.1 I/O 接口概述接口

2、概述通常把處理器和主存儲器之外的部分稱為輸入輸出系通常把處理器和主存儲器之外的部分稱為輸入輸出系統(tǒng)。統(tǒng)。包括輸入輸出設(shè)備、輸入輸出接口和輸入輸出軟包括輸入輸出設(shè)備、輸入輸出接口和輸入輸出軟件;件;56.1.1 I/O接口的功能接口的功能(1)信號電平轉(zhuǎn)換)信號電平轉(zhuǎn)換不同規(guī)格的電平轉(zhuǎn)換為不同規(guī)格的電平轉(zhuǎn)換為TTL或者或者MOS電路的電平電路的電平(2)數(shù)據(jù)格式轉(zhuǎn)換)數(shù)據(jù)格式轉(zhuǎn)換串并轉(zhuǎn)換或數(shù)模轉(zhuǎn)換串并轉(zhuǎn)換或數(shù)模轉(zhuǎn)換(3)速度匹配)速度匹配通過緩沖或鎖存保證通過緩沖或鎖存保證CPU與外設(shè)傳輸數(shù)據(jù)時各部件都能正確與外設(shè)傳輸數(shù)據(jù)時各部件都能正確接收數(shù)據(jù)。接收數(shù)據(jù)。6(4)數(shù)據(jù)傳送)數(shù)據(jù)傳送建立數(shù)據(jù)傳輸

3、的邏輯關(guān)系,即規(guī)定好數(shù)據(jù)傳輸?shù)倪^程與時序。建立數(shù)據(jù)傳輸?shù)倪壿嬯P(guān)系,即規(guī)定好數(shù)據(jù)傳輸?shù)倪^程與時序。(5)尋址能力)尋址能力為外設(shè)的各個端口編址,使外設(shè)能被為外設(shè)的各個端口編址,使外設(shè)能被cpu訪問到。訪問到。(6)錯誤檢測功能)錯誤檢測功能可進行數(shù)據(jù)校驗,保證數(shù)據(jù)傳輸?shù)恼_性。可進行數(shù)據(jù)校驗,保證數(shù)據(jù)傳輸?shù)恼_性。7n高速的微處理器與低速的外設(shè)能夠協(xié)調(diào)的工作,需要有一個高速的微處理器與低速的外設(shè)能夠協(xié)調(diào)的工作,需要有一個具有數(shù)據(jù)緩沖和鎖存能力、數(shù)據(jù)格式轉(zhuǎn)換能力、提供外設(shè)狀具有數(shù)據(jù)緩沖和鎖存能力、數(shù)據(jù)格式轉(zhuǎn)換能力、提供外設(shè)狀態(tài)和定時控制能力的連接電路,我們把它叫做輸入輸出接口。態(tài)和定時控制能力的連

4、接電路,我們把它叫做輸入輸出接口。86.1.2 I/O接口的分類接口的分類CPU與接口之間通過系統(tǒng)總線傳輸信息,屬于并行傳輸,傳輸與接口之間通過系統(tǒng)總線傳輸信息,屬于并行傳輸,傳輸?shù)男畔⒂薪涌诘牡刂沸畔?、控制信息和?shù)據(jù)信息。的信息有接口的地址信息、控制信息和數(shù)據(jù)信息。接口與設(shè)備之間可以通過串行和并行兩種方式交換信息,包括接口與設(shè)備之間可以通過串行和并行兩種方式交換信息,包括數(shù)據(jù)信息、控制信息和狀態(tài)信息。數(shù)據(jù)信息、控制信息和狀態(tài)信息。9按接口與設(shè)備之間的數(shù)據(jù)傳送方式,接口分為:按接口與設(shè)備之間的數(shù)據(jù)傳送方式,接口分為:并行接口:一次傳送一個字節(jié)或字的所有位。并行接口:一次傳送一個字節(jié)或字的所有位

5、。串行接口:一位一位地傳送。串行接口:一位一位地傳送。106.2 I/O端口及其編址方式端口及其編址方式CPU與外設(shè)進行數(shù)據(jù)傳輸,接口電路需要設(shè)置若干專用寄存器,與外設(shè)進行數(shù)據(jù)傳輸,接口電路需要設(shè)置若干專用寄存器,緩沖輸入輸出數(shù)據(jù),設(shè)定控制方式,保存輸入輸出狀態(tài)信息,緩沖輸入輸出數(shù)據(jù),設(shè)定控制方式,保存輸入輸出狀態(tài)信息,這些寄存器常稱為端口。這些寄存器常稱為端口。接口中可被接口中可被CPU直接訪問的直接訪問的稱為端口。稱為端口。端口可分為:端口可分為:n數(shù)據(jù)端口:數(shù)據(jù)端口:CPU與外設(shè)交換數(shù)據(jù)信息;與外設(shè)交換數(shù)據(jù)信息;n狀態(tài)端口:保存外設(shè)當(dāng)前的狀態(tài)信息;狀態(tài)端口:保存外設(shè)當(dāng)前的狀態(tài)信息;n控制

6、端口:控制端口:CPU向外設(shè)發(fā)出的控制信息;向外設(shè)發(fā)出的控制信息;11CPU通過對端口分配地址識別它們,稱為編址。通過對端口分配地址識別它們,稱為編址。CPU給每個端口分配一個地址,稱為端口地址或端口號。給每個端口分配一個地址,稱為端口地址或端口號。一個接口中的多個端口分配連續(xù)地址。一個接口中的多個端口分配連續(xù)地址。思考:專用寄存器中保存的是什么數(shù)據(jù)?這些數(shù)據(jù)可能是從思考:專用寄存器中保存的是什么數(shù)據(jù)?這些數(shù)據(jù)可能是從哪里來的?哪里來的?12根據(jù)傳輸方向,端口可分為輸入端口和輸出端口。根據(jù)傳輸方向,端口可分為輸入端口和輸出端口。輸入端口:具有輸入端口:具有“通斷通斷”控制能力控制能力輸出端口:

7、具有鎖存能力輸出端口:具有鎖存能力13D0D774LS244+5VK0K1K2K3K4K5K6K7DO0DO7I0I1I2I3I4I5I6I7E1E21IORA2A3A4A5A6A7A8A9A15A10A11A12A13A14系系統(tǒng)統(tǒng)總總線線信信號號1&三態(tài)門作輸入接口三態(tài)門作輸入接口1474LS273 作輸出端口作輸出端口系系統(tǒng)統(tǒng)總總線線信信號號D0D0D7D7A0A1A2A3A4A5A6A7IOW&111CP+ 5VQ0Q1Q6Q7A8A9A10A11A12A13A14A15+ 5V74LS27374LS273156.2.2 I/O6.2.2 I/O端口的編址方式端口的編址

8、方式I/O端口編址方式是計算機系統(tǒng)為端口編址方式是計算機系統(tǒng)為I/O端口分配端口號的方式。端口分配端口號的方式。常見的常見的I/O編址方式有兩種:編址方式有兩種:q與內(nèi)存單元統(tǒng)一編址方式與內(nèi)存單元統(tǒng)一編址方式q獨立編址方式獨立編址方式16與內(nèi)存單元統(tǒng)一編址方式:與內(nèi)存單元統(tǒng)一編址方式:w將存儲器的存儲單元與外設(shè)的端口統(tǒng)一編址,即一個端口與將存儲器的存儲單元與外設(shè)的端口統(tǒng)一編址,即一個端口與一個存儲器單元等同看待;通常為一個外設(shè)的各個端口分配一個存儲器單元等同看待;通常為一個外設(shè)的各個端口分配連續(xù)的地址。連續(xù)的地址。n優(yōu)點:數(shù)據(jù)傳送指令、測試指令都可以訪問優(yōu)點:數(shù)據(jù)傳送指令、測試指令都可以訪問I

9、/OI/O端口,不用設(shè)端口,不用設(shè)置專門的置專門的I/OI/O指令;不需要專用的指令;不需要專用的I/OI/O端口控制信號。端口控制信號。n缺點:劃出的端口地址范圍,不能再作為內(nèi)存地址使用缺點:劃出的端口地址范圍,不能再作為內(nèi)存地址使用 ,所,所以減少了內(nèi)存地址空間。以減少了內(nèi)存地址空間。 17獨立編址方式:獨立編址方式:n又稱單獨編址方式,給外部設(shè)備分配專用的端口地址,又稱單獨編址方式,給外部設(shè)備分配專用的端口地址,提供專用的控制信號,使它們成為一個獨立的提供專用的控制信號,使它們成為一個獨立的I/O地址空地址空間,與內(nèi)存編址無關(guān)。間,與內(nèi)存編址無關(guān)。n優(yōu)點:不占用內(nèi)存空間;輸入輸出地址線根

10、數(shù)少,優(yōu)點:不占用內(nèi)存空間;輸入輸出地址線根數(shù)少,I/O端端口譯碼電路簡單??谧g碼電路簡單。 n缺點:需要專用的缺點:需要專用的I/O指令、專用控制線。指令、專用控制線。188088/8086CPU采用了采用了I/O端口獨立編址方式,它使用端口獨立編址方式,它使用地址信號線地址信號線A0A15,最多能夠管理,最多能夠管理64K個端口,地個端口,地址范圍址范圍0000HFFFFH,有專用的控制信號,有專用的控制信號IOR和和IOW或或IO/M、WR、RD;8位的端口地址用于訪問系統(tǒng)主板上的設(shè)備;位的端口地址用于訪問系統(tǒng)主板上的設(shè)備;16位的端位的端口地址用于訪問串行口或并行口以及視頻和磁盤驅(qū)口地

11、址用于訪問串行口或并行口以及視頻和磁盤驅(qū)動系統(tǒng)。動系統(tǒng)。1920 D0 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 1 1 IOR +5V 10K K21專用指令:專用指令:qINqOUT內(nèi)存地址內(nèi)存地址(共共1MB)0端口地址端口地址(共共64KB)0FFFFFHFFFFHb 獨立編址地址空間獨立編址地址空間內(nèi)存地址內(nèi)存地址(共共960KB)0端口地址端口地址(共共64KB)EFFFFHFFFFFHF0000Ha 統(tǒng)一編址地址空間統(tǒng)一編址地址空間圖圖6-2 兩種不同編址方式的地址空間兩種不同編址方式的地址空間22I/O端口地址的

12、譯碼端口地址的譯碼nI/O端口的地址譯碼與內(nèi)存地址譯碼原理一樣,可以用基端口的地址譯碼與內(nèi)存地址譯碼原理一樣,可以用基本邏輯門電路搭建,也可以使用專用的譯碼器譯碼。本邏輯門電路搭建,也可以使用專用的譯碼器譯碼。23D0D7D0D7Q011111111Q1Q2Q3Q4Q5Q6Q7CP74LS27374065108a bc d efg+ 5V10KKCIOW174LS1381A0IORA1A2A3A4A5A6A7A8A9A10A11A12A13A14A151&CG2AG2BBAY0Y1系系統(tǒng)統(tǒng)總總線線D0DPG1A15A14A13A12 A11A10A9A8 A7A6A5A4 A3A2A1

13、A00 0 0 0 0 0 0 0 1 1 1 1 0 X X X74LS24424256.3 CPU與外部設(shè)備之間的數(shù)據(jù)傳送方式與外部設(shè)備之間的數(shù)據(jù)傳送方式主機與外設(shè)之間通過一定的控制方式進行信息交換,常用的主機與外設(shè)之間通過一定的控制方式進行信息交換,常用的控制的方式包括無條件傳送方式、程序查詢傳送方式、中控制的方式包括無條件傳送方式、程序查詢傳送方式、中斷傳送方式、直接存儲器存?。〝鄠魉头绞?、直接存儲器存取(DMADMA)方式。)方式。266.3.1 無條件傳送方式無條件傳送方式又稱為同步方式,適合簡單外設(shè)的數(shù)據(jù)輸入輸出。又稱為同步方式,適合簡單外設(shè)的數(shù)據(jù)輸入輸出。常用外設(shè):開關(guān)、繼電器

14、、步進電機、發(fā)光二極管等。常用外設(shè):開關(guān)、繼電器、步進電機、發(fā)光二極管等。優(yōu)點:控制程序簡單,軟、硬件開銷都少。優(yōu)點:控制程序簡單,軟、硬件開銷都少。27無條件輸入接口無條件輸入接口28無條件輸出接口無條件輸出接口296.3.2 程序查詢傳送方式程序查詢傳送方式又稱為條件傳送方式。又稱為條件傳送方式。I/O接口中有一個狀態(tài)端口,接口中有一個狀態(tài)端口,CPU通過讀取狀態(tài)端口的通過讀取狀態(tài)端口的信息了解設(shè)備目前的狀態(tài)。信息了解設(shè)備目前的狀態(tài)。工作過程:工作過程:q檢查外設(shè)的狀態(tài),判斷外設(shè)是否檢查外設(shè)的狀態(tài),判斷外設(shè)是否“準備好準備好”。q若沒有準備好,則繼續(xù)查詢其狀態(tài)。若沒有準備好,則繼續(xù)查詢其狀

15、態(tài)。q外設(shè)已準備好,外設(shè)已準備好,CPU與外設(shè)進行數(shù)據(jù)傳送。與外設(shè)進行數(shù)據(jù)傳送。q若還有數(shù)據(jù)待傳輸,則轉(zhuǎn)若還有數(shù)據(jù)待傳輸,則轉(zhuǎn),否則終止傳輸。,否則終止傳輸。30程序查詢傳送方式流程圖程序查詢傳送方式流程圖n缺點:缺點:q效率低效率低q實時性差實時性差316.3.3 中斷傳送方式中斷傳送方式n當(dāng)設(shè)備處于空閑狀態(tài)或者外設(shè)數(shù)據(jù)準備好時,接口向當(dāng)設(shè)備處于空閑狀態(tài)或者外設(shè)數(shù)據(jù)準備好時,接口向CPU發(fā)發(fā)出中斷請求信號,出中斷請求信號,CPU收到申請后及時響應(yīng)接口的中斷請求,收到申請后及時響應(yīng)接口的中斷請求,暫停執(zhí)行主程序,轉(zhuǎn)入執(zhí)行暫停執(zhí)行主程序,轉(zhuǎn)入執(zhí)行I/O操作程序(中斷服務(wù)子程序),操作程序(中斷服

16、務(wù)子程序),完成數(shù)據(jù)傳輸之后再返回到主程序繼續(xù)執(zhí)行,這種數(shù)據(jù)傳送完成數(shù)據(jù)傳輸之后再返回到主程序繼續(xù)執(zhí)行,這種數(shù)據(jù)傳送方式稱為中斷方式。方式稱為中斷方式。32中斷傳送流程圖中斷傳送流程圖n優(yōu)點:優(yōu)點:q實時性好實時性好q處理迅速處理迅速n缺點:缺點:q不適用于不適用于大量數(shù)據(jù)大量數(shù)據(jù)的高速傳輸?shù)母咚賯鬏攬?zhí)行主程序執(zhí)行主程序是是否否有中斷請求?有中斷請求?中斷處理,執(zhí)行數(shù)據(jù)輸入中斷處理,執(zhí)行數(shù)據(jù)輸入/ /輸出輸出中斷響應(yīng)中斷響應(yīng)中斷返回中斷返回執(zhí)行主程序執(zhí)行主程序輸入輸入/ /輸出指令輸出指令執(zhí)行主程序執(zhí)行主程序一條指令執(zhí)行結(jié)束一條指令執(zhí)行結(jié)束33程序控制下的輸入輸出方式程序控制下的輸入輸出方式n

17、無條件傳送方式、程序查詢傳送方式和中斷傳送方式在數(shù)據(jù)無條件傳送方式、程序查詢傳送方式和中斷傳送方式在數(shù)據(jù)傳送過程中,傳送過程中,CPU從內(nèi)存讀出數(shù)據(jù),再輸出到外部設(shè)備,因從內(nèi)存讀出數(shù)據(jù),再輸出到外部設(shè)備,因此,這三種方式被統(tǒng)稱為程序控制下的輸入輸出方式此,這三種方式被統(tǒng)稱為程序控制下的輸入輸出方式(Programmed input and output),簡稱),簡稱PIO方式。方式。346.3.4 DMA方式方式n直接存儲器存?。ㄖ苯哟鎯ζ鞔嫒。―irect Memory Access)方式簡稱為)方式簡稱為DMA方式。方式。n是在內(nèi)存儲器和是在內(nèi)存儲器和I/O設(shè)備之間建立數(shù)據(jù)通路,不經(jīng)過設(shè)

18、備之間建立數(shù)據(jù)通路,不經(jīng)過CPU的干的干預(yù),實現(xiàn)內(nèi)存與外設(shè)之間的快速數(shù)據(jù)傳送。預(yù),實現(xiàn)內(nèi)存與外設(shè)之間的快速數(shù)據(jù)傳送。n實現(xiàn)實現(xiàn)DMA方式需要專門的硬件裝置方式需要專門的硬件裝置DMA控制器(控制器(DMAC),),它負責(zé)控制外設(shè)與內(nèi)存之間的數(shù)據(jù)傳輸。(它負責(zé)控制外設(shè)與內(nèi)存之間的數(shù)據(jù)傳輸。(8237A-5、8237-2)35DMAC的功能的功能nDMAC接收外設(shè)請求信號,并向接收外設(shè)請求信號,并向CPU發(fā)出總線請求信號。發(fā)出總線請求信號。nDMA過程中可實現(xiàn):過程中可實現(xiàn):q向地址總線發(fā)送地址信號,能夠生成讀寫控制信號。向地址總線發(fā)送地址信號,能夠生成讀寫控制信號。q控制數(shù)據(jù)傳送的字節(jié)數(shù)??刂茢?shù)

19、據(jù)傳送的字節(jié)數(shù)。nDMA過程結(jié)束時,能向過程結(jié)束時,能向CPU發(fā)出發(fā)出DMA結(jié)束信號,并將總線結(jié)束信號,并將總線的控制權(quán)交還給的控制權(quán)交還給CPU。36DMAC的工作流程的工作流程 外設(shè)向外設(shè)向DMA控制器發(fā)出控制器發(fā)出“DMA傳送請求傳送請求”信號(信號(DRQ);); DMA控制器收到請求后,向控制器收到請求后,向CPU發(fā)出發(fā)出“總線請求總線請求”信號信號HOLD,表示希望占用總線;表示希望占用總線; CPU將數(shù)據(jù)總線、地址總線和相應(yīng)的控制信號線均置為高阻態(tài),將數(shù)據(jù)總線、地址總線和相應(yīng)的控制信號線均置為高阻態(tài),向向DMA控制器發(fā)出控制器發(fā)出“總線響應(yīng)總線響應(yīng)”信號(信號(HLDA)。)。

20、DMA控制器收到控制器收到HLDA信號后,就開始控制總線,并向外設(shè)發(fā)出信號后,就開始控制總線,并向外設(shè)發(fā)出DMA響應(yīng)信號響應(yīng)信號DACK; DMA控制器送出地址信號和相應(yīng)的控制信號,實現(xiàn)外設(shè)與內(nèi)存或控制器送出地址信號和相應(yīng)的控制信號,實現(xiàn)外設(shè)與內(nèi)存或內(nèi)存與內(nèi)存之間的直接數(shù)據(jù)傳送;內(nèi)存與內(nèi)存之間的直接數(shù)據(jù)傳送; 規(guī)定的數(shù)據(jù)傳送完后,規(guī)定的數(shù)據(jù)傳送完后,DMA控制器就撤銷發(fā)往控制器就撤銷發(fā)往CPU的的HOLD信號。信號。CPU檢測到檢測到HOLD失效后,緊接著撤銷失效后,緊接著撤銷HLDA信號,并在下一時鐘信號,并在下一時鐘周期重新開始控制總線。周期重新開始控制總線。37386.4 簡單接口電路的

21、應(yīng)用簡單接口電路的應(yīng)用接口電路結(jié)構(gòu)包括:接口電路結(jié)構(gòu)包括:(1 1)和系統(tǒng)總線的連接部分;)和系統(tǒng)總線的連接部分;(2 2)和外設(shè)的連接部分;)和外設(shè)的連接部分;(3 3)信號轉(zhuǎn)換電路;)信號轉(zhuǎn)換電路;(4 4)上述三部分的控制邏輯。)上述三部分的控制邏輯。391. 簡單的輸入接口電路簡單的輸入接口電路40n74LS244:n8個三態(tài)門個三態(tài)門n兩個控制端:兩個控制端:1G和和2G,低電平有效,各控制,低電平有效,各控制4個三態(tài)門個三態(tài)門nA端為數(shù)據(jù)輸入端,端為數(shù)據(jù)輸入端,Y端為數(shù)據(jù)輸出端。端為數(shù)據(jù)輸出端。n當(dāng)控制端為低電平時,數(shù)據(jù)從當(dāng)控制端為低電平時,數(shù)據(jù)從A端輸入,端輸入,Y端輸出;當(dāng)控端

22、輸出;當(dāng)控制端為高電平時,三態(tài)門呈高阻狀態(tài),制端為高電平時,三態(tài)門呈高阻狀態(tài),A端與端與Y端斷開。端斷開。41端口地址分別為端口地址分別為FFC0H與與FFC1H。讀取開關(guān)的程序讀取開關(guān)的程序:MOV DX, 0FFC0HIN AL, DX42【例題【例題6-1】分析電路,說明輸入端口的地址范圍,編寫程序判分析電路,說明輸入端口的地址范圍,編寫程序判斷斷8個開關(guān)的狀態(tài),如果個開關(guān)的狀態(tài),如果8個開關(guān)都閉合執(zhí)行個開關(guān)都閉合執(zhí)行GOON程序段,否則執(zhí)行程序段,否則執(zhí)行NEXT程序段。程序段。4344MOV DX, 0FFC1H IN AL, DX TEST AL, 0FFH JZ GOONNEXT

23、: MOV AX, BXADD AX, CXGOON: 45測試測試K3的狀態(tài),的狀態(tài),K3斷開時轉(zhuǎn)到斷開時轉(zhuǎn)到Label處執(zhí)行,程序段如處執(zhí)行,程序段如下:下: TEST AL, 4JNZ Label Label: 466.4.2 簡單的輸出接口電路簡單的輸出接口電路n74LS273、74LS374n8位位D鎖存器,輸入端鎖存器,輸入端D0D7, 輸出端輸出端Q0Q7nMR清除端,為低電平時,芯片復(fù)位,清除端,為低電平時,芯片復(fù)位,Q端輸出全為端輸出全為0;nCP觸發(fā)端,上升沿觸發(fā),當(dāng)觸發(fā)端,上升沿觸發(fā),當(dāng)CP從低電平到高電平跳變時,從低電平到高電平跳變時,D0D7的數(shù)據(jù)輸出到的數(shù)據(jù)輸出到Q

24、0Q7并鎖存。并鎖存。4774LS273 作輸出端口作輸出端口系系統(tǒng)統(tǒng)總總線線信信號號D0D0D7D7A0A1A2A3A4A5A6A7IOW&111CP+ 5VQ0Q1Q6Q7A8A9A10A11A12A13A14A15+ 5V74LS27374LS27348八段八段LED 顯示器顯示器abcdefghcomabcdefghcomabcdefgh圖6-13 八段LED 顯示器(a)段排列 (b)共陰極 (c)共陽極49八段八段LED顯示字形代碼表顯示字形代碼表字型共陽極代碼共陰極代碼字型共陽極代碼共陰極代碼0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7

25、CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H滅FFH00H880H7FH50【例題【例題6-2】74LS273作為輸出接口電路驅(qū)動一個共陰極作為輸出接口電路驅(qū)動一個共陰極8段段LED顯示器。請在顯示器。請在LED顯示器上循環(huán)顯示數(shù)字顯示器上循環(huán)顯示數(shù)字0F 。51GG2AG2BCBA74LS138 IOWA1A3A4A5A6A7A2A8A10A11A12A13A14A9A15&1O0 O1 O2 O3 O4 O5 O6 O7 D0 |D7 D0 D7 CPA01Y074LS273abcdefgh 52

26、n74LS273的端口地址為的端口地址為FE00H53程序數(shù)據(jù)段程序數(shù)據(jù)段DSEGSEGMENTSEG8 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 6FH,77H,7CH,39H,5EH,79H,71H,00HDSEGENDS54程序代碼段程序代碼段CSEGSEGMENTASSUME CS:CSEG ,DS: DSEG START:MOV AX, DSEGMOV DS, AXLEA BX, SEG8;取取8段碼顯示字形表基地址段碼顯示字形表基地址MOV DX, 0FE00H AA1: MOV SI, 0AA2: MOV AL, BX+SI;取顯示字形碼取顯示字

27、形碼OUT DX, AL55CALL DELAY;調(diào)用延時子程序調(diào)用延時子程序INC SICMP SI, 16JZ AA1JMP AA2MOV AH, 4CHINT 21HCSEG ENDSEND START56延時子程序延時子程序DELAY PROC NEAR;子程序開始子程序開始PUSH CX MOV CX,2FFFHSUBS:LOOPSUBSPOPCXRET DELAYENDP;子程序結(jié)束子程序結(jié)束576.5 中斷技術(shù)中斷技術(shù)58中斷的概念中斷的概念n中斷,是指在程序執(zhí)行過程中,出現(xiàn)某種緊急事中斷,是指在程序執(zhí)行過程中,出現(xiàn)某種緊急事件,件,CPU暫停執(zhí)行現(xiàn)行程序,轉(zhuǎn)去執(zhí)行處理該事暫停執(zhí)

28、行現(xiàn)行程序,轉(zhuǎn)去執(zhí)行處理該事件的程序件的程序中斷服務(wù)程序,執(zhí)行完后再返回到中斷服務(wù)程序,執(zhí)行完后再返回到被暫停的程序繼續(xù)執(zhí)行,這一過程稱為中斷。被暫停的程序繼續(xù)執(zhí)行,這一過程稱為中斷。59中斷源中斷源n引起中斷的設(shè)備或事件稱為中斷源,計算機的引起中斷的設(shè)備或事件稱為中斷源,計算機的中斷源可能是某個硬件部件,也可能是軟件。中斷源可能是某個硬件部件,也可能是軟件。n常見的中斷源有:常見的中斷源有:外圍設(shè)備、外圍設(shè)備、CPU、存儲器、控制器、總線、實時鐘的、存儲器、控制器、總線、實時鐘的定時中斷、程序指令、硬件故障;定時中斷、程序指令、硬件故障;60中斷的分類:內(nèi)部中斷和外部中斷中斷的分類:內(nèi)部中斷

29、和外部中斷n內(nèi)部中斷包括:由內(nèi)部中斷包括:由CPU本身產(chǎn)生的中斷、由控制器本身產(chǎn)生的中斷、由控制器產(chǎn)生的中斷、由程序員安排的中斷指令引起的中斷。產(chǎn)生的中斷、由程序員安排的中斷指令引起的中斷。n外部中斷又根據(jù)中斷事件的緊迫程度將中斷源劃分外部中斷又根據(jù)中斷事件的緊迫程度將中斷源劃分為可屏蔽中斷和不可屏蔽中斷。為可屏蔽中斷和不可屏蔽中斷。q可屏蔽中斷是指可以延時處理的事件,例如打印機的可屏蔽中斷是指可以延時處理的事件,例如打印機的輸入輸出中斷請求。輸入輸出中斷請求。 q不可屏蔽中斷是指事件異常緊急,必須馬上處理,例不可屏蔽中斷是指事件異常緊急,必須馬上處理,例如掉電、內(nèi)存奇偶校驗錯引起的中斷。如掉

30、電、內(nèi)存奇偶校驗錯引起的中斷。616.6 中斷處理的基本過程中斷處理的基本過程中斷處理的基本過程包括中斷請求、中斷判優(yōu)、中斷處理的基本過程包括中斷請求、中斷判優(yōu)、中斷響應(yīng)、中斷服務(wù)和中斷返回。中斷響應(yīng)、中斷服務(wù)和中斷返回。626.6.1 中斷請求中斷請求n內(nèi)部中斷無需請求內(nèi)部中斷無需請求n外部中斷請求由中斷源提出。外部中斷請求由中斷源提出。qCPU的兩個中斷輸入引腳的兩個中斷輸入引腳INTR和和NMI負責(zé)接收中負責(zé)接收中斷請求信號。斷請求信號。qINTR可屏蔽中斷請求輸入引腳。可屏蔽中斷請求輸入引腳。n可屏蔽中斷請求信號一般為高電平。受中斷允許標志位可屏蔽中斷請求信號一般為高電平。受中斷允許標

31、志位IF的影響,當(dāng)?shù)挠绊?,?dāng)IF=1時,時,CPU接受中斷請求;當(dāng)接受中斷請求;當(dāng)IF=0時,時,CPU不予響應(yīng),該請求被屏蔽。不予響應(yīng),該請求被屏蔽。qNMI不可屏蔽中斷請求輸入引腳,上升沿觸發(fā)。不可屏蔽中斷請求輸入引腳,上升沿觸發(fā)。63646.6.2 中斷判優(yōu)中斷判優(yōu)nCPU一次只能接受一個中斷源的請求。一次只能接受一個中斷源的請求。n多個中斷源同時向多個中斷源同時向CPU提出中斷請求時,提出中斷請求時,CPU必須必須找出中斷優(yōu)先級最高的中斷源,這一過程稱為中斷找出中斷優(yōu)先級最高的中斷源,這一過程稱為中斷判優(yōu)。判優(yōu)。n中斷判優(yōu)可以采用硬件方法,也可采用軟件方法。中斷判優(yōu)可以采用硬件方法,也

32、可采用軟件方法。65軟件判優(yōu)軟件判優(yōu)CPU檢測到中斷請求后,響應(yīng)中斷進入中斷服務(wù)程序,檢測到中斷請求后,響應(yīng)中斷進入中斷服務(wù)程序,首先讀取中斷寄存器的內(nèi)容,逐位檢測它們的狀態(tài),首先讀取中斷寄存器的內(nèi)容,逐位檢測它們的狀態(tài),檢測到某一位為檢測到某一位為1,就確定對應(yīng)的中斷源有中斷請求,就確定對應(yīng)的中斷源有中斷請求,轉(zhuǎn)去執(zhí)行它的中斷服務(wù)程序。先檢測哪一個,哪一轉(zhuǎn)去執(zhí)行它的中斷服務(wù)程序。先檢測哪一個,哪一個的優(yōu)先級就高,后檢測哪一個,哪一個優(yōu)先級就個的優(yōu)先級就高,后檢測哪一個,哪一個優(yōu)先級就低,檢測的順序就是各中斷源的優(yōu)先級順序。低,檢測的順序就是各中斷源的優(yōu)先級順序。66軟件判優(yōu)的簡單電路軟件判優(yōu)

33、的簡單電路67查詢程序:查詢程序: MOV DX, 87FFHIN AL, DX ;讀中斷請求寄存器內(nèi)容讀中斷請求寄存器內(nèi)容RCR AL, 1JC IR0 ;IRQ0有請求,轉(zhuǎn)有請求,轉(zhuǎn)IR0RCR AL,1JC IR1 ;IRQ1有請求,轉(zhuǎn)有請求,轉(zhuǎn)IR1RCR AL,1JC IR2 ;IRQ2有請求,轉(zhuǎn)有請求,轉(zhuǎn)IR2軟件判優(yōu)的硬件電路簡單,優(yōu)先權(quán)安排靈活,但軟件判優(yōu)所花軟件判優(yōu)的硬件電路簡單,優(yōu)先權(quán)安排靈活,但軟件判優(yōu)所花的時間長,如果中斷源很多,中斷的實時性就很差。的時間長,如果中斷源很多,中斷的實時性就很差。68硬件判優(yōu)硬件判優(yōu)n兩種常見的方式:菊花鏈判優(yōu)電路和中斷控制器兩種常見的方

34、式:菊花鏈判優(yōu)電路和中斷控制器判優(yōu)。判優(yōu)。691. 菊花鏈判優(yōu)電路菊花鏈判優(yōu)電路n基本設(shè)計思想:每個中斷源都有一個中斷邏輯電路,基本設(shè)計思想:每個中斷源都有一個中斷邏輯電路,所有的中斷邏輯電路連成一條鏈,形如菊花。排在所有的中斷邏輯電路連成一條鏈,形如菊花。排在鏈前端的中斷源優(yōu)先級最高,越靠后的設(shè)備優(yōu)先級鏈前端的中斷源優(yōu)先級最高,越靠后的設(shè)備優(yōu)先級越低。越低。CPU收到中斷請求,如果允許中斷,收到中斷請求,如果允許中斷,CPU發(fā)發(fā)出中斷應(yīng)答信號出中斷應(yīng)答信號INTA,INTA信號首先到達菊花鏈的信號首先到達菊花鏈的前端。前端。70INTA 71n如果中斷源如果中斷源1提出了中斷請求,它就會截獲

35、提出了中斷請求,它就會截獲INTA信信號,封鎖它,使它不能向下一個中斷源傳送,下號,封鎖它,使它不能向下一個中斷源傳送,下面中斷源的中斷請求不能被響應(yīng)。面中斷源的中斷請求不能被響應(yīng)。72中斷控制器判優(yōu)中斷控制器判優(yōu)nCPU根據(jù)中斷向量碼確定中斷源。根據(jù)中斷向量碼確定中斷源。n中斷控制器中,有一個中斷優(yōu)先級判別器判斷中斷優(yōu)先級,中斷控制器中,有一個中斷優(yōu)先級判別器判斷中斷優(yōu)先級,將優(yōu)先級最高的中斷源的中斷向量碼提供給將優(yōu)先級最高的中斷源的中斷向量碼提供給CPU。736.6.3 中斷響應(yīng)中斷響應(yīng)中斷響應(yīng)時,中斷響應(yīng)時,CPU向中斷源發(fā)出中斷應(yīng)答信號向中斷源發(fā)出中斷應(yīng)答信號INTA,同時:同時: 保

36、護硬件現(xiàn)場,即將標志寄存器保護硬件現(xiàn)場,即將標志寄存器FLAGS入棧;入棧; 關(guān)中斷,即設(shè)置關(guān)中斷,即設(shè)置IF=0; 保護斷點,把主程序斷點的保護斷點,把主程序斷點的CS 和和IP值壓入堆棧;值壓入堆棧; 獲得中斷服務(wù)程序的入口地址,分別送入獲得中斷服務(wù)程序的入口地址,分別送入IP和和CS中。中。746.6.4 中斷服務(wù)中斷服務(wù)n中斷服務(wù)的過程:中斷服務(wù)的過程:q保護現(xiàn)場保護現(xiàn)場q開中斷開中斷q中斷服務(wù)中斷服務(wù)q恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場q返回返回756.6.5 中斷返回中斷返回n中斷返回操作是中斷響應(yīng)操作的逆過程,中斷返回操作是中斷響應(yīng)操作的逆過程,CPU從堆從堆棧中彈出棧中彈出IP、CS和和FLAG

37、S,恢復(fù)被中斷程序的基本,恢復(fù)被中斷程序的基本信息,使被中斷程序繼續(xù)運行。信息,使被中斷程序繼續(xù)運行。n在中斷服務(wù)程序的最后一條語句在中斷服務(wù)程序的最后一條語句IRET的功能就是中的功能就是中斷返回的操作。斷返回的操作。766.7 8086/8088中斷系統(tǒng)中斷系統(tǒng)8086/8088CPU的中斷系統(tǒng)可以處理的中斷系統(tǒng)可以處理256種中斷。每種中種中斷。每種中斷對應(yīng)一個編號,范圍斷對應(yīng)一個編號,范圍0255,這個編號稱為中斷源的中,這個編號稱為中斷源的中斷類型碼或中斷向量碼。斷類型碼或中斷向量碼。77中斷分為兩類:內(nèi)部中斷和外部中斷。外部中斷又分中斷分為兩類:內(nèi)部中斷和外部中斷。外部中斷又分為可

38、屏蔽中斷和不可屏蔽中斷兩類。為可屏蔽中斷和不可屏蔽中斷兩類。781. 外部中斷外部中斷n不可屏蔽中斷不可屏蔽中斷q編號為編號為2qNMI是不可屏蔽中斷請求信號的輸入端。是不可屏蔽中斷請求信號的輸入端。q優(yōu)先級最高。優(yōu)先級最高。qCPU不需獲取中斷向量碼,不發(fā)送不需獲取中斷向量碼,不發(fā)送INTA,直接查中斷,直接查中斷向量表獲得中斷服務(wù)程序的入口地址。向量表獲得中斷服務(wù)程序的入口地址。q不可屏蔽中斷用于處理緊急事件,如存儲器讀不可屏蔽中斷用于處理緊急事件,如存儲器讀/寫出錯、寫出錯、電源掉電等。電源掉電等。79n可屏蔽中斷可屏蔽中斷qINTR是可屏蔽中斷請求信號的輸入端。是可屏蔽中斷請求信號的輸

39、入端。qCPU收到中斷請求信號后,檢測中斷允許標志位收到中斷請求信號后,檢測中斷允許標志位IF,若若IF=1,CPU準備響應(yīng)準備響應(yīng)INTR請求;若請求;若IF=0時,時,CPU屏蔽屏蔽INTR請求。請求。q中斷標志位中斷標志位IF可以用指令可以用指令STI和和CLI進行設(shè)置。進行設(shè)置。q可屏蔽中斷的優(yōu)先級低于不可屏蔽中斷??善帘沃袛嗟膬?yōu)先級低于不可屏蔽中斷。802. 內(nèi)部中斷內(nèi)部中斷n內(nèi)部中斷包括:內(nèi)部中斷包括:qINT nqINT3qINTO指令指令q除法錯中斷除法錯中斷q單步中斷。單步中斷。81INT nqCPU執(zhí)行執(zhí)行INT n指令,產(chǎn)生中斷向量碼為指令,產(chǎn)生中斷向量碼為n的中斷。的中

40、斷。n的的取值范圍取值范圍0255。不管是內(nèi)部中斷還是外部中斷都可以。不管是內(nèi)部中斷還是外部中斷都可以通過通過INT n指令調(diào)用其中斷服務(wù)程序。指令調(diào)用其中斷服務(wù)程序。INT3qCPU執(zhí)行執(zhí)行INT3指令引起的中斷,稱為斷點中斷,中斷向指令引起的中斷,稱為斷點中斷,中斷向量碼為量碼為3。這是個單字節(jié)指令,代碼為。這是個單字節(jié)指令,代碼為0CCH。在調(diào)試程。在調(diào)試程序時用這條指令設(shè)置斷點。序時用這條指令設(shè)置斷點。82INTO指令指令 4號號qCPU執(zhí)行執(zhí)行INTO指令時,檢測溢出標志位指令時,檢測溢出標志位OF,如果,如果OF=1,則產(chǎn)生中斷向量碼為,則產(chǎn)生中斷向量碼為4的中斷。若的中斷。若OF

41、=0,INTO指令不起作用。指令不起作用。MOV BL,126 MOV AL,5 ADD AL,BL ;OF=1 INTO ;執(zhí)行溢出中斷服務(wù)程序執(zhí)行溢出中斷服務(wù)程序 83除法錯中斷除法錯中斷 0號號q執(zhí)行除法指令時,除數(shù)為執(zhí)行除法指令時,除數(shù)為0或商數(shù)超出了結(jié)果寄存器或商數(shù)超出了結(jié)果寄存器的取值范圍,產(chǎn)生中斷,中斷向量碼為的取值范圍,產(chǎn)生中斷,中斷向量碼為0。這個中斷。這個中斷的處理過程一般由系統(tǒng)軟件負責(zé)。的處理過程一般由系統(tǒng)軟件負責(zé)。單步中斷單步中斷 1號號q也叫陷阱中斷,中斷向量碼為也叫陷阱中斷,中斷向量碼為1。標志寄存器的標志。標志寄存器的標志位位TF=1產(chǎn)生的中斷,產(chǎn)生的中斷,TF也

42、叫陷阱(也叫陷阱(Trap)標志。如)標志。如果果TF=1,CPU 執(zhí)行一條指令后產(chǎn)生單步中斷。單步執(zhí)行一條指令后產(chǎn)生單步中斷。單步中斷常用于調(diào)試程序。中斷常用于調(diào)試程序。 843.中斷優(yōu)先級與中斷嵌套中斷優(yōu)先級與中斷嵌套n8088/8086系統(tǒng)的中斷優(yōu)先級如下:系統(tǒng)的中斷優(yōu)先級如下:q不可屏蔽中斷不可屏蔽中斷除法錯中斷除法錯中斷INT nINTO可屏蔽中斷可屏蔽中斷單單步中斷步中斷n中斷可以嵌套中斷可以嵌套8088/8086中斷的處理流程中斷的處理流程nCPU在每條指令的最后一個時鐘周期檢測中斷請求在每條指令的最后一個時鐘周期檢測中斷請求信號:信號:(1). 若有非屏蔽中斷請求,則若有非屏蔽

43、中斷請求,則CPU執(zhí)行完現(xiàn)行指令后執(zhí)行完現(xiàn)行指令后,就立即響應(yīng)中斷。,就立即響應(yīng)中斷。2號。號。8586(2). 如果有可屏蔽中斷請求,如果有可屏蔽中斷請求,CPU響應(yīng)中斷需要滿足響應(yīng)中斷需要滿足4個條件:個條件: CPU處于開中斷狀態(tài),即處于開中斷狀態(tài),即IF=1; 當(dāng)前沒有發(fā)生復(fù)位、沒有總線請求、沒有內(nèi)部中斷、沒有當(dāng)前沒有發(fā)生復(fù)位、沒有總線請求、沒有內(nèi)部中斷、沒有不可屏蔽中斷;不可屏蔽中斷; 當(dāng)前執(zhí)行的指令不是開中斷指令當(dāng)前執(zhí)行的指令不是開中斷指令STI,也不是中斷返回指令,也不是中斷返回指令I(lǐng)RET。如果剛巧是,。如果剛巧是,CPU將它們執(zhí)行結(jié)束后,再執(zhí)行一條將它們執(zhí)行結(jié)束后,再執(zhí)行一條指令,指令,CPU才能響應(yīng)中斷。才能響應(yīng)中斷。 CPU執(zhí)行完現(xiàn)行指令。執(zhí)行完現(xiàn)行指令。(3). 進入中斷響應(yīng)階段,進入中斷響應(yīng)階段,CPU向中斷源發(fā)出中斷應(yīng)答信號向中斷源發(fā)出中斷應(yīng)答信號INTA,同時:同時: 保護硬件現(xiàn)場,即將標志寄存器保護硬件現(xiàn)場,即將標志寄存器FLAGS入棧;入棧; 關(guān)中斷,即設(shè)置關(guān)中斷,即設(shè)置IF=0; 保護斷點,把主程序斷點的保護斷點,把主程序斷點的CS 和和IP值壓入堆棧;值壓入堆棧; 通過中斷向量碼查中斷向量表,獲得中斷服務(wù)程序的入口通過中斷向量碼查中斷向量表,獲得中斷服務(wù)程序的入口地址,分別送入地址,分別送入IP和和CS中

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論