微機原理 第六章-輸入和輸出接口技術(shù)_第1頁
微機原理 第六章-輸入和輸出接口技術(shù)_第2頁
微機原理 第六章-輸入和輸出接口技術(shù)_第3頁
微機原理 第六章-輸入和輸出接口技術(shù)_第4頁
微機原理 第六章-輸入和輸出接口技術(shù)_第5頁
已閱讀5頁,還剩54頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《微機原理與接口技術(shù)》主講:田娟

信息工程學院電子信息教研室郵箱:jtian@電話6章輸入和輸出接口技術(shù)6.1I/O接口概述6.2I/O接口數(shù)據(jù)傳送的控制方式(重點)6.3簡單I/O接口芯片的應用(了解)6.4直接存儲器存儲(DMA)方式(了解)

補充知識-為什么需要I/O接口電路?微機的外部設備多種多樣,工作原理、驅(qū)動方式、信息格式、以及工作速度方面彼此差別很大,它們不能與CPU直接相連,必須經(jīng)過中間電路再與系統(tǒng)相連。這部分電路被稱為I/O接口電路。I/O接口是位于系統(tǒng)與外設間、用來協(xié)助完成數(shù)據(jù)傳送和控制任務的邏輯電路。CPU接口電路

I/O設備

補充知識-什么是I/O接口(電路)?§6.1I/O接口概述

6.1.1接口與端口的基本概念接口的概念:

微機使用的外部設備種類很多,一般可以分為電子設備、機電設備、機械設備等,它們的工作速度及信號的表示方法與微型計算機不同。如果按照它們與CPU之間數(shù)據(jù)傳輸?shù)姆较蚩梢苑譃檩斎朐O備(鍵盤、鼠標、數(shù)碼相機等)、輸出設備(顯示器、打印機等)、復合輸入/輸出設備(磁盤等)。為了能夠把各種各樣的外部設備與CPU的總線連接,要設計不同類型的接口電路,簡稱接口,也稱適配器。微機系統(tǒng)中,各種輸入/輸出設備通過接口與系統(tǒng)相連,并在接口的支持下實現(xiàn)各種方式的數(shù)據(jù)傳送。

因此接口是CPU與存儲器、外部設備或者兩種外設之間,或者兩種機器之間通過系統(tǒng)總線進行連接的邏輯部件(或稱電路),是CPU與外界進行信息交換的中轉(zhuǎn)站。

微型機系統(tǒng)內(nèi)部設備之間的信息交換、微型機與別的計算機或設備的信息交換,都是通過接口來實現(xiàn)的,如圖6-1所示。圖6-1CPU與外設連接示意圖接口的功能:

接收和執(zhí)行CPU命令的功能數(shù)據(jù)緩沖功能和接口狀態(tài)的表示設備選擇功能信號轉(zhuǎn)換功能數(shù)據(jù)格式轉(zhuǎn)換功能中斷管理功能可編程功能錯誤檢測及復位功能端口的概念:

微機的外部設備和存儲設備都是通過接口連接到系統(tǒng)上的,每個接口是由一組寄存器組成,這些寄存器都分配了一個稱為I/O端口的地址編碼。微機的CPU和內(nèi)存就是通過這些端口和外部設備進行通信的。

I/O接口部件中一般有3種寄存器:一是用來數(shù)據(jù)緩沖的數(shù)據(jù)寄存器;二是用來保存設備和接口的狀態(tài)信息,供CPU對外設進行測試的狀態(tài)寄存器;三是用來保存CPU發(fā)出的命令以控制接口和設備操作的命令寄存器。這些寄存器都分配有各自的端口號,CPU通過不同的端口號來選擇各種外部設備。圖6-2CPU尋址外設示意圖CPUI/O設備譯碼數(shù)據(jù)端口狀態(tài)端口控制端口DBABCB一個典型的I/O接口補充知識§6.2I/O接口數(shù)據(jù)傳送的控制方式引言外設與微機間的信息交換可以用不同的輸入輸出方法完成?;镜妮斎胼敵龇椒ㄓ校撼绦蚩刂艻/O方式(無條件傳送方式與查詢方式)、中斷方式、直接存貯器存?。―MA)方式?!?.2I/O接口數(shù)據(jù)傳送的控制方式

6.2.1程序控制方式狀態(tài)和數(shù)據(jù)傳送是通過CPU執(zhí)行程序中的指令來完成的,又分為:無條件傳送方式條件(查詢)傳送方式無條件傳送方式

無條件傳送是一種最簡單的輸入/輸出控制方法,一般用于控制CPU與低速I/O接口之間的信息交換。由于這些信號變化緩慢,當需要采集這些數(shù)據(jù)時,外部設備已經(jīng)把數(shù)據(jù)準備就緒,不需要檢查端口的狀態(tài),可以立即采集數(shù)據(jù),數(shù)據(jù)保持時間相對于CPU的處理時間長得多。輸入的數(shù)據(jù)不需要加鎖存器而直接用三態(tài)緩沖器與系統(tǒng)總線連接,如圖6-3所示。圖6-3無條件傳送方式接口電路

(a)無條件傳送的輸入方式;(b)無條件傳送的輸出方式

實現(xiàn)無條件輸入的方法是:在程序的恰當位置安排輸入指令,當程序執(zhí)行到這些指令時,外部設備的數(shù)據(jù)準備就緒,可在執(zhí)行當前指令時間內(nèi)完成接收數(shù)據(jù)的全部過程。實現(xiàn)無條件輸出的方法是:在程序的恰當位置安排OUT輸出指令,當程序執(zhí)行到這些指令時,將輸出給外部設備的數(shù)據(jù)存入鎖存器。如果外部設備是輸出設備(例如顯示器),一般要求接口具有鎖存能力,即要求CPU送給外部設備的數(shù)據(jù),應該在輸出設備接口電路中保持一段時間,保持時間的長短應該和外部設備的接受動作時間相適應。無條件傳送方式(續(xù))

INAL,21H補充知識補充知識查詢方式(條件傳送方式)

此傳送方式在接口電路中,除具有數(shù)據(jù)緩沖器或數(shù)據(jù)鎖存器外,還具有外設狀態(tài)標志位,用于反映外部設備數(shù)據(jù)的情況。在接口電路中,狀態(tài)寄存器也占用端口地址號。使用查詢方式控制數(shù)據(jù)的輸入/輸出,通常要按圖6-4的流程進行。首先讀入設備狀態(tài)標志信息,接著根據(jù)讀入的狀態(tài)信息進行判斷,如果設備沒有準備好,則程序轉(zhuǎn)移去執(zhí)行某種操作,或循環(huán)回去重新執(zhí)行讀入設備狀態(tài)信息;如果設備準備好,則執(zhí)行完成數(shù)據(jù)傳送的I/O指令。數(shù)據(jù)傳送結(jié)束后,CPU轉(zhuǎn)去執(zhí)行其他任務,剛才所操縱的設備脫離CPU控制。

圖6-4查詢方式示意圖補充知識--查詢傳送的兩個環(huán)節(jié)

查詢環(huán)節(jié)尋址狀態(tài)口讀取狀態(tài)寄存器的標志位若不就緒就繼續(xù)查詢,直至就緒

傳送環(huán)節(jié)尋址數(shù)據(jù)口是輸入,通過輸入指令從數(shù)據(jù)端口讀入數(shù)據(jù)是輸出,通過輸出指令向數(shù)據(jù)端口輸出數(shù)據(jù)小結(jié)小結(jié)查詢方式的優(yōu)點是:可以較好地協(xié)調(diào)外設與CPU之間的定時關(guān)系;缺點是:CPU需要不斷查詢標志位的狀態(tài),這將占用CPU較多的時間,尤其是和中速或慢速的外部設備交換信息時,CPU真正花費在傳送數(shù)據(jù)上的時間極少,絕大部分時間都消耗在查詢上。對多個外設的情況,則CPU按一定順序依次查詢(輪詢)。先查詢的外設將優(yōu)先進行數(shù)據(jù)交換。查詢方式的缺點除了占用CPU較多的工作時間外,還難以滿足實時控制系統(tǒng)對I/O工作的要求。因為在查詢方式中,CPU處于主動地位,而外設接口處于消極被查詢的被動地位。而在一般實時控制系統(tǒng)中,外設要求CPU為它服務是隨機的,而且支持系統(tǒng)的外設往往有幾個甚至幾十個,若采用查詢方式工作,很難實現(xiàn)系統(tǒng)中每一個外設都工作在最佳工作狀態(tài)。所謂工作在最佳狀態(tài),是指一旦某個外設請求CPU為它服務時,CPU應該以最快的速度響應其請求。這就要求系統(tǒng)中的外設,具備主動申請CPU為其服務的權(quán)利。引言§6.2I/O接口數(shù)據(jù)傳送的控制方式

6.2.2中斷控制方式中斷控制的輸入/輸出方式,也稱中斷傳送方式,即當外設的輸入數(shù)據(jù)準備好或接收數(shù)據(jù)的鎖存器為空時,主動向CPU發(fā)出中斷請求,使CPU中斷原來執(zhí)行的程序,轉(zhuǎn)去執(zhí)行為外設服務的輸入或輸出操作,服務完畢,CPU再繼續(xù)執(zhí)行原來的程序。知識復習--中斷采用中斷方式,信息的傳送是依賴CPU執(zhí)行中斷服務程序來完成的,因此每進行一次I/O操作,都需要CPU暫停執(zhí)行當前程序,把控制轉(zhuǎn)移到優(yōu)先級最高的I/O程序。在中斷服務程序中,需要有保護現(xiàn)場和恢復現(xiàn)場的操作,而且I/O操作都是通過CPU來進行的。當從存儲器輸出數(shù)據(jù)時,首先需要CPU執(zhí)行傳送指令,將存儲器中的數(shù)據(jù),讀入CPU中的通用寄存器AL(對于字節(jié)數(shù)據(jù))或AX(對于字數(shù)據(jù)),然后,執(zhí)行OUT指令,把數(shù)據(jù)由通用寄存器AL或AX傳送到I/O端口;當從I/O端口向存儲器存入數(shù)據(jù)時,過程正相反。

CPU執(zhí)行IN指令時,將I/O端口數(shù)據(jù)讀入通用寄存器AL或AX,然后CPU執(zhí)行傳送指令,將AL或AX的內(nèi)容存入存儲器單元。這樣,每次I/O操作都需要幾十甚至幾百微秒,對于一些高速外設,如高速磁盤控制器或高速數(shù)據(jù)采集系統(tǒng),中斷控制方式往往滿足不了它們的需要。為此,提出了數(shù)據(jù)在I/O接口與存儲器之間的傳送,不經(jīng)CPU的干預,而是在專用硬件電路的控制下直接傳送。這種方法稱為直接存儲器存?。―irectMemoryAccess,縮寫為DMA)?!?.3簡單I/O接口芯片的應用

6.3.1常用芯片功能介紹目前常用的簡單I/O接口芯片有:74LS244、74LS245、74LS373、Led數(shù)碼管。

74LS244是一個典型的8位單向3態(tài)緩沖驅(qū)動,能提高總線的驅(qū)動能力,是一種基本的I/O接口芯片。74LS244緩沖器主要用于三態(tài)輸出的地址驅(qū)動器、時鐘驅(qū)動器、總線定向接收器和定向發(fā)送器等。它無鎖存功能,常用作并行輸入口和總線驅(qū)動器,其邏輯結(jié)構(gòu)如圖6-7所示。

74LS244的8個三態(tài)門分為兩組,每組4個,分別由和控制。當和為低電平時,三態(tài)門導通,否則輸出端為高阻狀態(tài)。實際使用中,通常是將兩個控制端并聯(lián),這樣就可用一個控制信號來使8個三態(tài)門同時導通或同時斷開。單向三態(tài)緩沖器74LS244(結(jié)合P2488.1.2)圖6-774LS244的邏輯功能圖1A1~1A4和2A1~2A4是2組4位數(shù)據(jù)輸入端,1Y1~1Y4和2Y1~2Y4是相應的兩組輸出端。圖8-274LS244功能示意圖(課本P248)74LS245是8路3態(tài)雙向緩沖驅(qū)動,也叫做總線驅(qū)動門電路或線驅(qū)動。主要使用在數(shù)據(jù)的雙向緩沖,增強驅(qū)動能力。它比74LS244增加了一個方向控制端。其邏輯結(jié)構(gòu)如圖6-8所示。雙向三態(tài)緩沖器74LS245(結(jié)合P2488.1.3)圖6-874LS245的邏輯功能圖74LS245是一種通用的8位雙向總線數(shù)據(jù)收發(fā)器芯片,常用于控制兩組總線數(shù)據(jù)之間傳遞。假設A總線與芯片的A0~A7相連,B總線與芯片的B0~B7相連,則芯片既可以控制數(shù)據(jù)從A總線到B總線傳遞,也可以控制數(shù)據(jù)從B總線到A總線傳遞。圖8-374LS245功能示意圖(課本P248)由于三態(tài)門器件沒有數(shù)據(jù)的保持能力,所以它一般只用作輸入接口,不能直接用作數(shù)據(jù)輸出接口。數(shù)據(jù)輸出接口通常是用具有信息存儲能力的雙穩(wěn)態(tài)觸發(fā)器來實現(xiàn)。最簡單的輸出接口可用D觸發(fā)器構(gòu)成。

74LS273內(nèi)部包含了8個D觸發(fā)器,可存放8位二進制信息,具有數(shù)據(jù)鎖存的功能。其中D7~D0是輸入,Q7~Q0是輸出,常用來作為并行輸出接口,將CPU的數(shù)據(jù)傳送到外部I/O設備。其結(jié)構(gòu)和電路連接如圖6-9所示。鎖存器74LS273圖6-974LS273的結(jié)構(gòu)原理圖、電路連接圖

74LS374也是經(jīng)常用到的一種電路芯片,從引線上它比74LS373多了一個輸出允許端OE。只有當OE=0時74LS374的輸出三態(tài)門才導通。當OE=1時,則呈高阻狀態(tài)。

74LS374在用作輸入接口時,端口地址信號經(jīng)譯碼電路接到OE端,外設數(shù)據(jù)由外設提供的選通脈沖鎖存在74LS374內(nèi)部。當CPU讀該接口時,譯碼器輸出低電平,使74LS374的輸出三態(tài)門打開,讀出外設的數(shù)據(jù);如果用做輸出接口,也可將OE端接地,使其輸出三態(tài)門一直處于導通狀態(tài),這樣就與74LS273一樣使用了。用74LS374作為輸入和輸出接口的電路,如圖6-10和圖6-11所示。鎖存器74LS374圖6-1074LS374作為輸出接口圖6-1174LS374用作輸入接口LED數(shù)碼顯示器是一種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個LED發(fā)光二極管,其中7個用于顯示字符,1個用于顯示小數(shù)點,故通常稱之為7段發(fā)光二極管數(shù)碼顯示器。

LED數(shù)碼管

LED數(shù)碼顯示器有兩種連接方法:共陽極接法:

把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極,使用時公共陽極接+5V,每個發(fā)光二極管的陰極通過電阻與輸入端相連。共陰極接法:

發(fā)光二極管的陰極連在一起構(gòu)成公共陰極,使用時公共陰極接地。每個發(fā)光二極管的陽極通過電阻與輸入端相連。VCC由于發(fā)光二極管發(fā)光時,通過的平均電流為10~20mA,而通常的輸出鎖存器不能提供這么大的電流,所以LED數(shù)碼管各段必須接驅(qū)動電路,要求段驅(qū)動電路能提供額定的段導通電流,還需根據(jù)外接電源及額定段導通電流來確定相應的限流電阻。

為了顯示字符,要為LED顯示器提供顯示段碼(或稱字形代碼),組成一個“8”字形字符的7段,再加上1個小數(shù)點位,共計8段,因此提供給LED顯示器的顯示段碼為1個字節(jié)。各段碼位的對應關(guān)系如表6-1所示。表6-1LED數(shù)碼管各段碼位對應關(guān)系要使數(shù)碼管顯示出相應的數(shù)字或者字符必須使段數(shù)據(jù)口輸出相應的字形編碼。如表6-2所示,字型碼各位定義如下:數(shù)據(jù)線D0與a字段對應,D1字段與b字段對應…..,依次類推。如使用共陽極數(shù)碼管,數(shù)據(jù)為0表示對應字段亮,數(shù)據(jù)為1表示對應字段暗;如使用共陰極數(shù)碼管,數(shù)據(jù)為0表示對應字段暗,數(shù)據(jù)為1表示對應字段亮。如顯示“0”,共陽極數(shù)碼管的字型編碼為:11000000B(即C0H);共陰極數(shù)碼管的字型編碼為:00111111B(即3FH)。依次類推可求得數(shù)碼管字型編碼如表6-2所示。表6-2LED數(shù)碼管字型編碼表對于多位數(shù)碼顯示器來說,為了簡化線路、降低成本,往往采用以軟件為主的接口方法,即不使用專門的硬件譯碼器,而采用軟件程序進行譯碼。如前所述,由于各位數(shù)碼管的顯示段碼是互相并聯(lián)的,因此在同一時刻只能顯示同一種字符。對于這種接口電路來說,其顯示方法有靜態(tài)顯示和動態(tài)顯示兩種。定義:當顯示器顯示某一個字符時,相應的發(fā)光二極管恒定地導通或截止。特點:每一位都需要有一個8位的輸出口控制,所以占用硬件多,一般用于顯示器位數(shù)較小的場合。為了將一個十六進制數(shù)在一個LED上顯示出來,就需要將十六進制數(shù)譯為LED的7位顯示代碼。一種方法是采用專用的帶驅(qū)動的LED段譯碼器,實現(xiàn)硬件譯碼;另一種常用的方法是軟件譯碼(常用)。靜態(tài)顯示圖6-147段LED數(shù)碼管及按鈕的一種接口電路

定義:就是一位一位地輪流點亮各位顯示器(掃描)。對于每一位顯示器來說,每隔一段時間點亮一次。一般實際使用時,往往要用幾個數(shù)碼管實現(xiàn)多位顯示。這時,如果每一個數(shù)碼管占用一個獨立的輸出端口,那么將占用太多的端口;而且驅(qū)動電路的數(shù)目也很多。所以,要從硬件和軟件兩方面想辦法節(jié)省硬件電路。圖6-15是多位數(shù)碼管顯示的接口電路,這是一種常用的方案。在這種方案中,硬件上用公共的驅(qū)動電路來驅(qū)動各數(shù)碼管;軟件上用掃描方法實現(xiàn)數(shù)字顯示。采用掃描的方式驅(qū)動多位7段LED數(shù)碼管,節(jié)省驅(qū)動電路,降低功耗,保證一定的掃描循環(huán)頻率,得到較好的顯示質(zhì)量。各位7段LED數(shù)碼管公用一個段驅(qū)動器、一個段碼鎖存器,為段驅(qū)動器提供邏輯輸入。每位7段LED數(shù)碼管的公共端連接一個位驅(qū)動器,控制各位數(shù)碼管的點燃。位驅(qū)動器由一個位碼鎖存器提供輸入邏輯電平。顯示器在系統(tǒng)中占用兩個端口號:段碼口與位碼口。動態(tài)顯示圖6-15多位數(shù)碼管顯示的一種接口電路綜上所述,只要CPU通過段控制端口送出段代碼,然后通過位控制端口送出位代碼,指定的數(shù)碼管便顯示相應的數(shù)字。如果CPU順序地輸出段碼和位碼,依次讓每個數(shù)碼管顯示數(shù)字,并不斷地重復,當重復頻率達到一定程度,利用人眼的視覺暫留特性,從數(shù)碼管上便可見到相當穩(wěn)定的數(shù)字顯示。

上述多位顯示電路中,往往要用軟件完成段譯碼,并花費CPU大量時間去重復掃描每個數(shù)碼管。為此,程序設計時可以開辟一個BuFF緩沖區(qū),存放要顯示的數(shù)字,第一個數(shù)字在最左邊的數(shù)碼管顯示,下一個數(shù)字送到左邊第二個數(shù)碼管顯示,依此類推。另外,還需要建立一個顯示代碼表TABLE,從前向后依次存放0-F對應的7段顯示代碼。顯示代碼是和硬件連接有關(guān)的,在圖6-15所示的接口電路中,數(shù)字0的顯示代碼為COH,l的顯示代碼為F9H……。

§6.3簡單I/O接口芯片的應用

6.3.2簡單I/O接口設計應用例6-2

編寫程序判斷圖6-16中的開關(guān)狀態(tài)。如果K0~K2開關(guān)閉合,則其余開關(guān)斷開,則程序轉(zhuǎn)向標號為KEY1的程序段執(zhí)行;如果K3~K6開關(guān)閉合,則其余開關(guān)斷開,轉(zhuǎn)向標號為KEY2的程序段執(zhí)行。另外,由圖6-16可以看出,當開關(guān)閉合時輸入低電平。圖6-16三態(tài)門輸入接口在圖6-16中,三態(tài)門74LS244采用部分地址譯碼-地址線A1和A0未參加譯碼,故它所占的地址為83FCH~83FFH??梢杂闷渲腥魏我粋€地址,而其他重疊的3個地址空著不用?!?.4直接存儲器(DMA)存儲方式

6.4.1DMA概述用DMA方式傳送數(shù)據(jù)時,在存儲器和外部設備之間,直接開辟高速的數(shù)據(jù)傳送通路。數(shù)據(jù)傳送過程不要CPU介入,只用一個總線周期,就能完成存儲器和外部設備之間的數(shù)據(jù)傳送。因此,數(shù)據(jù)傳送速度僅受存儲器的存取速度和外部設備傳輸特性的限制。DMA傳送包括:RAM→I/O端口的DMA讀傳送;I/O端口→RAM的DMA寫傳送;RAM→RAM的存儲

溫馨提示

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

評論

0/150

提交評論