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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

I/O設(shè)備

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

LED數(shù)碼管

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

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

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

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

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

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

§6.3簡(jiǎn)單I/O接口芯片的應(yīng)用

6.3.2簡(jiǎn)單I/O接口設(shè)計(jì)應(yīng)用例6-2

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

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論