第五章 輸入輸出及接口芯片應(yīng)用_第1頁(yè)
第五章 輸入輸出及接口芯片應(yīng)用_第2頁(yè)
第五章 輸入輸出及接口芯片應(yīng)用_第3頁(yè)
第五章 輸入輸出及接口芯片應(yīng)用_第4頁(yè)
第五章 輸入輸出及接口芯片應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩107頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第5章輸入輸出及接口芯片的應(yīng)用5.1總線(xiàn)技術(shù)5.2I/O接口概述5.3中斷系統(tǒng)5.4定時(shí)與計(jì)數(shù)5.5并行接口5.6串行接口

5.1總線(xiàn)技術(shù)

PC機(jī)從其誕生以來(lái)就采用了總線(xiàn)結(jié)構(gòu)方式。自1970年美國(guó)DEC公司在PDP11/22小型計(jì)算機(jī)上采用Unibus總線(xiàn)以來(lái),隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展,各大公司相繼推出了各種標(biāo)準(zhǔn)的、非標(biāo)準(zhǔn)的總線(xiàn),總線(xiàn)速度是制約計(jì)算機(jī)整體性能的最大因素。當(dāng)前總線(xiàn)結(jié)構(gòu)方式已經(jīng)成為微機(jī)性能的重要指標(biāo)之一。

5.1.1PC/XT總線(xiàn)1、總線(xiàn)的概念計(jì)算機(jī)系統(tǒng)中各模塊之間互連的鏈路叫做總線(xiàn),它支持模塊之間的信息傳送??偩€(xiàn)就是各種信號(hào)線(xiàn)的集合,是計(jì)算機(jī)各部件之間傳送數(shù)據(jù)、地址和控制信息的公共通路。從物理結(jié)構(gòu)來(lái)看,它是由一組導(dǎo)線(xiàn)和相關(guān)的控制、驅(qū)動(dòng)電路組成。在微型計(jì)算機(jī)系統(tǒng)中有各式各樣的總線(xiàn),總線(xiàn)常被作為一個(gè)獨(dú)立部件看待。2、PC/XT總線(xiàn)的構(gòu)成1)地址總線(xiàn)A0~A19:用來(lái)對(duì)系統(tǒng)存儲(chǔ)器或I/O接口進(jìn)行尋址。2)數(shù)據(jù)總線(xiàn)D0~D7:雙向,數(shù)據(jù)總線(xiàn),用來(lái)在微處理器、存儲(chǔ)器和I/O接口之間傳送數(shù)據(jù)、控制命令或信息。3)控制線(xiàn)(21根)ALE:輸出,地址鎖存允許信號(hào)。該信號(hào)由8288總線(xiàn)控制器提供,用來(lái)鎖存CPU送出的地址信息,供其它的芯片或外設(shè)讀取。在I/O通道中.它與AEN配合作為CPU地址有效的指示。ANE:地址允許信號(hào)。該信號(hào)用來(lái)切斷CPU對(duì)總線(xiàn)的控制。允許在I/O通道中(即在I/O擴(kuò)展總線(xiàn)中)進(jìn)行DMA傳送。當(dāng)AEN為高電平(有效電平)時(shí),由DMA控制器控制地址總線(xiàn)和數(shù)據(jù)總線(xiàn),并提供讀寫(xiě)命令。MEMR*,MEMW*:輸出,內(nèi)存讀取、寫(xiě)入信號(hào)。此信號(hào)在CPU啟動(dòng)存儲(chǔ)器訪(fǎng)問(wèn)總線(xiàn)周期時(shí),由總線(xiàn)控制器所驅(qū)動(dòng)。IOR*,IOW*:輸出,I/O讀、寫(xiě)信號(hào)。當(dāng)CPU需要向I/O接口讀取或?qū)懭霐?shù)據(jù)時(shí),相應(yīng)信號(hào)會(huì)變成低電平。

IRQ7~IRQ2:輸入,第2級(jí)至第7級(jí)硬件中斷請(qǐng)求輸入信號(hào)。這些信號(hào)是I/O接口向CPU發(fā)出的請(qǐng)求服務(wù)信號(hào),其中IRQ2優(yōu)先級(jí)最高,IRQ7優(yōu)先級(jí)最低。中斷請(qǐng)求信號(hào)由IRQ信號(hào)的上升沿(由低至高的跳變)產(chǎn)生,它應(yīng)一直保持高電平,直到CPU響應(yīng)為止。DRQ3~DRQl:

DMA請(qǐng)求輸入信號(hào)。此信號(hào)用來(lái)表示外部設(shè)備要求進(jìn)入DMA周期。若某一外設(shè)或I/O接口具有高速傳輸能力且有大量數(shù)據(jù)要傳輸,希望與內(nèi)存直接進(jìn)行數(shù)據(jù)傳輸(即DMA),而不希望通過(guò)CPU時(shí),可啟動(dòng)此號(hào)信。此信號(hào)直接進(jìn)入主板上的DMA控制器,由DMA控制器按優(yōu)先順序,決定讓哪個(gè)I/O接口傳輸數(shù)據(jù)。

DACK0~DACK3:DMA通道0~3的DMA響應(yīng)信號(hào)。此信號(hào)由DMA控制器發(fā)出,表示對(duì)應(yīng)的DRQ信號(hào)(DMA請(qǐng)求DRQ1~DRQ3)已被接受。4)狀態(tài)線(xiàn)(2根)5)輔助線(xiàn)(11根)3、時(shí)鐘周期、指令周期、總線(xiàn)周期1)時(shí)鐘周期:時(shí)鐘信號(hào)CLK的周期,是微處理器處理操作的最基本的時(shí)間單位(CPU的主頻)。2)指令周期:取出并執(zhí)行一條指令的時(shí)間。一般由若干個(gè)機(jī)器周期組成。機(jī)器周期:通常用內(nèi)存中讀取一個(gè)指令字的最短時(shí)間周期。指令不同,所需的機(jī)器周期數(shù)也不同。對(duì)于一些簡(jiǎn)單的單字節(jié)指令,在取指令周期中,指令取出到指令寄存器后,立即譯碼執(zhí)行,不再需要其它的機(jī)器周期。對(duì)于一些比較復(fù)雜的指令,例如轉(zhuǎn)移指令、乘法指令,則需要兩個(gè)或者兩個(gè)以上的機(jī)器周期。3)總線(xiàn)周期由于存儲(chǔ)器和I/O端口是掛接在總線(xiàn)上的,CPU對(duì)存儲(chǔ)器和I/O接口的訪(fǎng)問(wèn),是通過(guò)總線(xiàn)實(shí)現(xiàn)的。通常把CPU通過(guò)總線(xiàn)對(duì)微處理器外部(存儲(chǔ)器或I/O接口)進(jìn)行一次訪(fǎng)問(wèn)所需時(shí)間稱(chēng)為一個(gè)總線(xiàn)周期。一個(gè)總線(xiàn)周期一般包含4個(gè)時(shí)鐘周期,T1狀態(tài)、T2狀態(tài)、T3狀態(tài)和T4狀態(tài),必要時(shí),可在T3、T4間插入一個(gè)至數(shù)個(gè)Tw。T1狀態(tài)——輸出存儲(chǔ)器地址或I/O地址。T2狀態(tài)——輸出控制信號(hào)。T3和Tw狀態(tài)——總線(xiàn)操作持續(xù),并檢測(cè)READY以決定是否延長(zhǎng)時(shí)序。T4狀態(tài)——完成數(shù)據(jù)傳送

5.1.2微機(jī)總線(xiàn)的標(biāo)準(zhǔn)和分類(lèi)1、總線(xiàn)標(biāo)準(zhǔn)與性能指標(biāo)所謂總線(xiàn)標(biāo)準(zhǔn),可視為系統(tǒng)與各模塊、模塊與模塊之間一個(gè)互連的標(biāo)準(zhǔn)界面。這個(gè)界面對(duì)兩端的模塊都是透明的,即界面的任一方只需根據(jù)總線(xiàn)標(biāo)準(zhǔn)的要求完成自身一面接口的功能要求,而無(wú)需了解對(duì)方接口與總線(xiàn)的連接要求。因此,按總線(xiàn)標(biāo)準(zhǔn)設(shè)計(jì)的接口可視為通用接口。

目前流行的總線(xiàn)標(biāo)準(zhǔn)有:(1)ISA(IndustrialStandardArchitecture)總線(xiàn),又稱(chēng)AT總線(xiàn),它采用獨(dú)立于CPU的總線(xiàn)時(shí)鐘,因此CPU可采用比總線(xiàn)頻率更高的時(shí)鐘,有利于CPU性能的提高。但I(xiàn)SA總線(xiàn)沒(méi)有支持總線(xiàn)仲裁的硬件邏輯,因此不支持多臺(tái)主設(shè)備系統(tǒng),且ISA上的所有數(shù)據(jù)的傳送必須通過(guò)CPU或DMA接口來(lái)管理,因此使CPU花費(fèi)了大量時(shí)間來(lái)控制與外部設(shè)備交換數(shù)據(jù)。ISA總線(xiàn)時(shí)鐘頻率為8MHz,最大傳輸率為16MB/s。2)EISA(ExtendedIndustrialStandardArchitecture)總線(xiàn),是一種在ISA基礎(chǔ)上擴(kuò)充開(kāi)放的總線(xiàn)標(biāo)準(zhǔn),它與ISA完全兼容,它從CPU中分離出了總線(xiàn)控制權(quán),是一種智能化的總線(xiàn),能支持多總線(xiàn)主控和突發(fā)方式的傳輸。EISA總線(xiàn)的時(shí)鐘頻率為8MHz,最大傳輸率可達(dá)33MB/s,數(shù)據(jù)總線(xiàn)為32位,地址總線(xiàn)為32位,擴(kuò)充DMA訪(fǎng)問(wèn)。3)PCI(PeripheralComponentInterconnect外部設(shè)備互連總線(xiàn))是由Intel公司提供的總線(xiàn)標(biāo)準(zhǔn)。具體特點(diǎn):32位總線(xiàn),擴(kuò)展支持64位總線(xiàn),包括數(shù)據(jù)總線(xiàn)和地址總線(xiàn);

33M總線(xiàn)時(shí)鐘,增強(qiáng)方式66M總線(xiàn)時(shí)鐘;支持多總線(xiàn)結(jié)構(gòu),在一條總線(xiàn)上,可多個(gè)CPU同時(shí)工作,共享總線(xiàn)資源;

5V、3.3V兩種信號(hào)電壓標(biāo)準(zhǔn)。

總線(xiàn)性能指標(biāo)1)總線(xiàn)寬度

總線(xiàn)寬度又稱(chēng)為總線(xiàn)位寬指的是總線(xiàn)中數(shù)據(jù)總線(xiàn)的數(shù)量,用bit(位)表示,總線(xiàn)的位寬指的是總線(xiàn)能同時(shí)傳送的數(shù)據(jù)位數(shù),即我們常說(shuō)的16位、32位、64位等總線(xiàn)寬度的概念。在工作頻率固定的條件下,總線(xiàn)的位寬越寬則總線(xiàn)每秒數(shù)據(jù)傳輸率越大,也即總線(xiàn)帶寬越寬。2)總線(xiàn)時(shí)鐘頻率總線(xiàn)時(shí)鐘是總線(xiàn)中各種信號(hào)的定時(shí)標(biāo)準(zhǔn),也稱(chēng)為總線(xiàn)的工作頻率,以MHz為單位。它是指用于協(xié)調(diào)總線(xiàn)上的各種操作規(guī)程的時(shí)鐘信號(hào)的頻率。工作頻率越高則總線(xiàn)工作速度越快,也即總線(xiàn)帶寬越寬。一般來(lái)說(shuō),總線(xiàn)時(shí)鐘頻率越高,其單位時(shí)間內(nèi)數(shù)據(jù)傳輸量越大,但不完全成正比例關(guān)系。3)最大數(shù)據(jù)傳輸速率(帶寬bandwidth)。最大數(shù)據(jù)傳輸速率指的是在總線(xiàn)中每秒鐘傳輸?shù)淖畲笞止?jié)量,有時(shí)也被稱(chēng)為帶寬(bandwidth),用MB/s表示,即每秒多少兆字節(jié)。總線(xiàn)數(shù)據(jù)傳輸速率=總線(xiàn)寬度*總線(xiàn)頻率/8在現(xiàn)代微機(jī)中,一般可做到一個(gè)總線(xiàn)時(shí)鐘周期完成一次數(shù)據(jù)傳輸,因此,總線(xiàn)的最大數(shù)據(jù)傳輸速率為總線(xiàn)寬度除以8(每次傳輸?shù)淖止?jié)數(shù))再乘以總線(xiàn)時(shí)鐘頻率。例如,PCI總線(xiàn)的寬度為64位,總線(xiàn)時(shí)鐘頻率為33.3MHz,則最大數(shù)據(jù)傳輸速率為64÷8×33.3=266MB/s。但有些總線(xiàn)采用了一些新技術(shù)(如在時(shí)鐘脈沖的上升沿和下降沿都選通等),使最大數(shù)據(jù)傳輸速率比上面的計(jì)算結(jié)果高??偩€(xiàn)是用來(lái)傳輸數(shù)據(jù)的,所采取的各項(xiàng)提高性能的措施,最終都要反映在傳輸速率上,所以在諸多指標(biāo)中最大數(shù)據(jù)傳輸速率是最重要的??偩€(xiàn)帶寬、總線(xiàn)位寬、總線(xiàn)工作時(shí)鐘頻率的關(guān)系舉個(gè)例子就很容易明白了。高速公路上的車(chē)流量取決于公路車(chē)道的數(shù)目和車(chē)輛行駛速度,車(chē)道越多、車(chē)速越快則車(chē)流量越大;總線(xiàn)帶寬就象是高速公路的車(chē)流量,總線(xiàn)位寬仿佛高速公路上的車(chē)道數(shù),總線(xiàn)時(shí)鐘工作頻率相當(dāng)于車(chē)速,總線(xiàn)位寬越寬、總線(xiàn)工作時(shí)鐘頻率越高則總線(xiàn)帶寬越大。

當(dāng)然,單方面提高總線(xiàn)的位寬或工作時(shí)鐘頻率都只能部分提高總線(xiàn)的帶寬,并容易達(dá)到各自的極限。只有兩者配合才能使總線(xiàn)的帶寬得到更大的提升。

1)按照總線(xiàn)傳遞的內(nèi)容分類(lèi):地址總線(xiàn)AB、數(shù)據(jù)總線(xiàn)DB、控制總線(xiàn)CB。2)按總線(xiàn)所處的位置可分為:

片內(nèi)總線(xiàn):在CPU內(nèi)部,寄存器之間和算術(shù)邏輯部件ALU與控制部件之間傳輸數(shù)據(jù)所用的總線(xiàn)稱(chēng)為片內(nèi)總線(xiàn)。(即芯片內(nèi)部的總線(xiàn))又稱(chēng)為內(nèi)部總線(xiàn)或內(nèi)總線(xiàn)。(InternalBus)

片外總線(xiàn):CPU與內(nèi)存RAM、ROM和輸入/輸出設(shè)備接口之間進(jìn)行通訊的通路。把片外總線(xiàn)又稱(chēng)為外部總線(xiàn)或外總線(xiàn)

(ExternalBus)。CPU通過(guò)總線(xiàn)實(shí)現(xiàn)程序取指令、內(nèi)存與外設(shè)的數(shù)據(jù)交換。2、總線(xiàn)的分類(lèi)3)按照總線(xiàn)的結(jié)構(gòu)分類(lèi)單總線(xiàn)結(jié)構(gòu):在這種結(jié)構(gòu)中,將CPU、主存和I/O設(shè)備都掛到一組總線(xiàn)上,形成單總線(xiàn)結(jié)構(gòu)的計(jì)算機(jī)。這種結(jié)構(gòu)最明顯的特點(diǎn)就是,當(dāng)I/O與主存交換信息時(shí),原則上不影響CPU的工作,CPU仍可繼續(xù)處理不訪(fǎng)問(wèn)主存或I/O的操作,這就使CPU工作效率有所提高。但是,因?yàn)橹挥幸唤M總線(xiàn),當(dāng)某一時(shí)刻各部件都要占用時(shí),就會(huì)出現(xiàn)爭(zhēng)用現(xiàn)象。

雙總線(xiàn)結(jié)構(gòu):在單總線(xiàn)基礎(chǔ)上,又單獨(dú)開(kāi)辟一條CPU與主存之間的通路,叫存儲(chǔ)總線(xiàn)。這組總線(xiàn)速度高,只供主存與CPU之間傳輸信息。這樣既提高了傳輸效率,又減輕了系統(tǒng)總線(xiàn)的負(fù)擔(dān),還保留了I/O與存儲(chǔ)器交換信息時(shí)不經(jīng)過(guò)CPU的特點(diǎn)。5.1.3ISA總線(xiàn)5.1.4PCI總線(xiàn)5.2.1接口的概念與I/O接口計(jì)算機(jī)兩部件之間的界面稱(chēng)之為接口。

接口的主要功能是:(1)數(shù)據(jù)緩沖及輸入、輸出(2)尋址功能(3)命令譯碼(4)同步、聯(lián)絡(luò)和控制功能5.2I/O接口概述1)I/O接口與I/O設(shè)備之間交換的信號(hào)通常有四種:數(shù)字量、模擬量、開(kāi)關(guān)量、脈沖量。2)I/O接口與CPU之間交換的信息通常有三種:數(shù)據(jù)信息、狀態(tài)信息、控制信息。2、I/O接口的交換信號(hào)5.2.2I/O接口的典型結(jié)構(gòu)內(nèi)部結(jié)構(gòu)數(shù)據(jù)寄存器:存放外設(shè)與主機(jī)之間傳送的信息,在緩沖區(qū)可存放一批數(shù)據(jù)。狀態(tài)寄存器:存放外設(shè)或接口的狀態(tài)??刂疲睿┘拇嫫鳎捍娣趴刂仆庠O(shè)的信號(hào)或命令。注:同樣的二進(jìn)制代碼,在不同的寄存器中將有不同的作用。外部特性

接口電路的外部特性由其引出信號(hào)來(lái)體現(xiàn):

(1)面向處理器一側(cè)的信號(hào)(與CPU的連接):類(lèi)似處理器總線(xiàn)或系統(tǒng)總線(xiàn),主要處理地址譯碼。

(2)面向外設(shè)一側(cè)的信號(hào)(與外設(shè)連接):與外設(shè)有關(guān),但可以籠統(tǒng)地分成外設(shè)的數(shù)據(jù)信號(hào)、狀態(tài)信號(hào)和控制信號(hào)主要功能

(1)數(shù)據(jù)緩沖:匹配快速的處理器與相對(duì)慢速的外設(shè)的數(shù)據(jù)交換

(2)信號(hào)變換:把信號(hào)相互轉(zhuǎn)換為適合對(duì)方的形式CPU通過(guò)接口對(duì)外設(shè)進(jìn)行控制的方式有以下幾種:

1)程序控制方式這種方式下,CPU通過(guò)I/O指令詢(xún)問(wèn)指定外設(shè)當(dāng)前的狀態(tài),如果外設(shè)準(zhǔn)備就緒,則進(jìn)行數(shù)據(jù)的輸入或輸出,否則CPU等待,循環(huán)查詢(xún)。這種方式的優(yōu)點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,只需要少量的硬件電路即可,缺點(diǎn)是由于CPU的速度遠(yuǎn)遠(yuǎn)高于外設(shè),因此通常處于等待狀態(tài),工作效率很低。

5.2.4I/O數(shù)據(jù)傳輸?shù)目刂品绞?)中斷處理方式在這種方式下,CPU不再被動(dòng)等待,而是可以執(zhí)行其他程序,一旦外設(shè)為數(shù)據(jù)交換準(zhǔn)備就緒,可以向CPU提出服務(wù)請(qǐng)求,CPU如果響應(yīng)該請(qǐng)求,便暫時(shí)停止當(dāng)前程序的執(zhí)行,轉(zhuǎn)去執(zhí)行與該請(qǐng)求對(duì)應(yīng)的服務(wù)程序,完成后,再繼續(xù)執(zhí)行原來(lái)被中斷的程序。

中斷處理方式的優(yōu)點(diǎn):為CPU省去了查詢(xún)外設(shè)狀態(tài)和等待外設(shè)就緒所花費(fèi)的時(shí)間;提高了CPU的工作效率,還滿(mǎn)足了外設(shè)的實(shí)時(shí)要求。

中斷處理方式的缺點(diǎn):需要為每個(gè)I/O設(shè)備分配一個(gè)中斷請(qǐng)求號(hào)和相應(yīng)的中斷服務(wù)程序;每傳送一個(gè)字符都要進(jìn)行中斷,啟動(dòng)中斷控制器,還要保留和恢復(fù)現(xiàn)場(chǎng)以便能繼續(xù)原程序的執(zhí)行。3)DMA(直接存儲(chǔ)器存?。﹤魉头绞?/p>

DMA最明顯的一個(gè)特點(diǎn)是它不是用軟件而是采用一個(gè)專(zhuān)門(mén)的控制器來(lái)控制內(nèi)存與外設(shè)之間的數(shù)據(jù)交流,無(wú)須CPU介入,大大提高CPU的工作效率。在進(jìn)行DMA數(shù)據(jù)傳送之前,DMA控制器會(huì)向CPU申請(qǐng)總線(xiàn)控制權(quán)。5.3.1中斷概述5.3.28086/8088的中斷系統(tǒng)5.3.38259A可編程控制器5.3.48259的應(yīng)用5.3中斷系統(tǒng)中斷響應(yīng)的條件:①CPU應(yīng)工作在中斷方式(CPU開(kāi)中斷,IF=1)②申請(qǐng)中斷的事件優(yōu)先級(jí)別到位③CPU執(zhí)行完當(dāng)前一條完整的指令以后作用:①提高CPU的工作效率②提高實(shí)時(shí)數(shù)據(jù)的處理時(shí)效③可以實(shí)現(xiàn)多任務(wù)多用戶(hù)管理5.3.1中斷概述中斷源:引起中斷的原因或來(lái)源。中斷源可分為兩大類(lèi):一類(lèi)是來(lái)自CPU內(nèi)部,稱(chēng)之為內(nèi)部中斷源;另一類(lèi)來(lái)自于CPU外部。稱(chēng)之為外部中斷源。中斷處理流程:保護(hù)斷點(diǎn);轉(zhuǎn)入中斷服務(wù)程序;返回?cái)帱c(diǎn)。1.中斷分類(lèi)中斷特點(diǎn):矢量型中斷,有256個(gè)中斷矢量號(hào)(設(shè)備號(hào))(0~255)5.3.28086/8088的中斷系統(tǒng)軟件中斷硬件中斷中斷矢量:是中斷處理子程序的入口地址,每個(gè)中斷類(lèi)型對(duì)應(yīng)一個(gè)中斷矢量中斷矢量表:在內(nèi)存中,開(kāi)辟一個(gè)區(qū)域存放中斷服務(wù)程序的入口地址的表。對(duì)于8086,這個(gè)區(qū)域的首地址00000H(固定)問(wèn)題:已知中斷矢量號(hào)代碼,怎樣找到中斷服務(wù)程序的入口地址?(例5-4)2.中斷矢量和中斷矢量表例:鍵盤(pán)中斷的矢量號(hào)為09H,它的中斷服務(wù)程序入口地址為0BA9H:0125H,求它在中斷矢量表中的地址及相應(yīng)單元內(nèi)容解:鍵盤(pán)中斷對(duì)應(yīng)的中斷矢量表位于0000:0024H(09H×4=24H)開(kāi)始的4單元這4個(gè)單元的內(nèi)容見(jiàn)表:1、8259A的內(nèi)部結(jié)構(gòu)及管腳分配5.3.38259可編程中斷控制器特點(diǎn):可編程、八級(jí)向量?jī)?yōu)先中斷、級(jí)連、優(yōu)先權(quán)動(dòng)態(tài)地改變。1)中斷請(qǐng)求寄存器(IRR)中斷請(qǐng)求IR7~I(xiàn)R0,當(dāng)某個(gè)為高電平時(shí),IRR相應(yīng)位置“1”。2)中斷服務(wù)寄存器(ISR)任何一級(jí)中斷被響應(yīng),執(zhí)行其中斷服務(wù)程序,ISR相應(yīng)位置“1”。多重中斷情況下,ISR中多位被同時(shí)置“1”。3)優(yōu)先權(quán)判別器(PR)當(dāng)IR7~

IR0中有多個(gè)中斷請(qǐng)求信號(hào)同時(shí)產(chǎn)生時(shí),PR判定哪個(gè)中斷請(qǐng)求具有最高優(yōu)先權(quán),并把它置入ISR的相應(yīng)位。4)中斷屏蔽寄存器(IMR)通過(guò)IMR可實(shí)現(xiàn)對(duì)各級(jí)中斷的有選擇的屏蔽。2、8259A的中斷處理順序①當(dāng)有一條或若干條中斷請(qǐng)求輸入線(xiàn)(IR0~IR7)上的中斷請(qǐng)求信號(hào)有效.則IRR的相應(yīng)位置1。②若中斷請(qǐng)求線(xiàn)中至少有一條是中斷未被屏蔽的,則8259A由INT引腳向CPU發(fā)出中斷請(qǐng)求信號(hào)INTR。③若CPU是處于開(kāi)中斷狀態(tài),則在當(dāng)前指令執(zhí)行完以后。CPU用INTA信號(hào)作為對(duì)INTR的響應(yīng)。④8259A在接收到CPU發(fā)出的第一個(gè)INTA脈沖后,使最高優(yōu)先權(quán)的ISR位置并使相應(yīng)的IRR位復(fù)位。⑤在第二個(gè)中斷響應(yīng)總線(xiàn)周期中,CPU再輸出一個(gè)INTA脈沖,這時(shí)8259A就把剛才選定的中斷源所對(duì)應(yīng)的8位中斷類(lèi)型碼放到數(shù)據(jù)總線(xiàn)上。CPU讀取該中斷類(lèi)型碼并乘以4,就可以從中斷向量表中取出中斷服務(wù)程序的人口地址并轉(zhuǎn)去執(zhí)行。⑥若8259A工作在自動(dòng)中斷結(jié)束AEOI方式。在第二個(gè)INTA脈沖結(jié)束時(shí),就會(huì)使中斷源所對(duì)應(yīng)的ISR中的相應(yīng)位復(fù)位。對(duì)于非自動(dòng)中斷結(jié)束方式.則由CPU在中斷服務(wù)程序結(jié)束時(shí)向8259A寫(xiě)入EOI命令,才能使ISR中的相應(yīng)位復(fù)位。3、8259A與總線(xiàn)的連接4、8259A編程8259A接收來(lái)自CPU的兩類(lèi)命令字:初始化命令字ICW、操作命令字OCW。8259A屬于I/O接口芯片,向8259A寫(xiě)入用OUT,讀取其狀態(tài)用IN。(1)8259A的初始化初始化:第一部分稱(chēng)預(yù)置命令字ICW1~I(xiàn)CW4。預(yù)置命令字是要按規(guī)定順序?qū)懭?259A中的。預(yù)置命令字功能:

ICW1:8259A是單一式還是主從式;

ICW2:設(shè)置中斷類(lèi)型碼的初始化命令字,必須寫(xiě)到8259A的奇地址端口中;

ICW3:只有在系統(tǒng)中包含有多片8259A時(shí),ICW3才有效。而系統(tǒng)中是否有多片8259A由ICW1指示。ICW3是標(biāo)志主片/從片的初始化命令字,必須寫(xiě)到8259A的奇地址端口中;

ICW4:完成中斷管理方式的設(shè)定。不是任何情況下都需要設(shè)置4個(gè)預(yù)命令,可根據(jù)8259A的使用情況而定。(1)ICW1芯片初始化命令字標(biāo)記:A0=0,D4=1D7D6D5D4D3×××D2D1D01LTIM0SNGLIC4習(xí)慣上填01-中斷請(qǐng)求電平觸發(fā)0-中斷請(qǐng)求邊沿觸發(fā)對(duì)8086系統(tǒng)總為01-單片,0-級(jí)聯(lián)1-設(shè)置ICW40-不設(shè)置A00(2)ICW2設(shè)置中斷類(lèi)型碼初始化命令字,緊跟在ICW1之后,定義中斷類(lèi)型碼的高5位,低3位由IRi確定。標(biāo)記:A0=1D7D6D5D4D3T7T6T5D2D1D0T4T3A10A9A8A01與用戶(hù)選擇類(lèi)型碼有關(guān),選擇系統(tǒng)沒(méi)有占用的000—IR0001—IR1010—IR2011—IR3100—IR4101—IR5110—IR6111—IR7注:中斷類(lèi)型碼一定是連續(xù)的?。?)ICW3

級(jí)聯(lián)方式初始化字,緊跟在ICW2之后,標(biāo)記:A0=1

自學(xué)(4)ICW4

對(duì)于8086/8088系統(tǒng)是必須設(shè)置的預(yù)置命令字方式控制初始化命令字,寫(xiě)ICW4的標(biāo)記為A0=1P218例5-5:例:若8259A以?xún)善?jí)聯(lián)方式管理15級(jí)中斷,從片INT接到主片的IR2上,主、從片的中斷請(qǐng)求采用邊緣觸發(fā)方式,選用完全嵌套、非緩沖方式。主片的中斷類(lèi)型碼為8~0FH,從片的中斷類(lèi)型碼為70H~77H,設(shè)主片的地址為20H,21H;從片的地址為22H,23H。請(qǐng)初始化8259A。;初始化主片MOVAL,11HOUT20H,ALMOVAL,08HOUT21H,ALMOVAL,04HOUT21H,ALMOVAL,01HOUT21H,AL;初始化從片MOVAL,11HOUT22H,ALMOVAL,70HOUT23H,ALMOVAL,02HOUT23H,ALMOVAL,01HOUT23H,AL5.4.1定時(shí)與計(jì)數(shù)概述5.4.28253/8254可編程間隔定時(shí)器5.4定時(shí)與計(jì)數(shù)58如何實(shí)現(xiàn)定時(shí)?軟件方法:用一段程序?qū)崿F(xiàn)延時(shí)利用程序循環(huán)延遲指定的時(shí)間缺點(diǎn):CPU占用率?延時(shí)精度?兼容?硬件方法:定時(shí)/計(jì)數(shù)器電路利用脈沖計(jì)數(shù)在設(shè)定的時(shí)間輸出定時(shí)信號(hào),靈活性較差?采用可編程定時(shí)器/計(jì)數(shù)器定時(shí)時(shí)間與計(jì)數(shù)值可由軟件來(lái)確定和改變,設(shè)定后與CPU并行工作,不占用CPU的時(shí)間。5.4.1定時(shí)與計(jì)數(shù)概述598253是一種可編程的計(jì)數(shù)器/定時(shí)器接口芯片。內(nèi)部有三個(gè)獨(dú)立的計(jì)數(shù)器,通過(guò)設(shè)置控制字,各計(jì)數(shù)器可以工作于不同方式。該芯片的最高計(jì)數(shù)頻率為2MHz,可用于產(chǎn)生各種定時(shí)波形,也可用于對(duì)外部事件計(jì)數(shù)??梢詫?shí)現(xiàn)定時(shí)與計(jì)數(shù)兩個(gè)功能,可用于:系統(tǒng)時(shí)鐘DRAM刷新定時(shí)定時(shí)采樣實(shí)時(shí)控制脈沖的計(jì)數(shù)5.4.28253/8254可編程間隔定時(shí)器601.8253的外部引腳和內(nèi)部結(jié)構(gòu)數(shù)據(jù)線(xiàn):寫(xiě)控制字,讀寫(xiě)計(jì)數(shù)器的計(jì)數(shù)值計(jì)數(shù)器0的時(shí)鐘輸入端計(jì)數(shù)器0的輸出端為低電平的時(shí)候,CPU將計(jì)數(shù)值寫(xiě)入計(jì)數(shù)器或?qū)⒖刂谱謱?xiě)入控制字寄存器為低電平的時(shí)候,CPU讀取所選計(jì)數(shù)器的內(nèi)容A1A0選中端口00計(jì)數(shù)器001計(jì)數(shù)器110計(jì)數(shù)器211控制字寄存器計(jì)數(shù)器0的門(mén)控信號(hào)脈沖輸入端,控制計(jì)數(shù)(1)8253的外部引腳61編址部件0編址部件1編址部件2編址部件3(2)8253的內(nèi)部結(jié)構(gòu)62編程結(jié)構(gòu)計(jì)數(shù)器(3個(gè))——每個(gè)包括控制寄存器——存放控制命令字(只寫(xiě))占用4個(gè)地址—3個(gè)計(jì)數(shù)器,1個(gè)控制寄存器計(jì)數(shù)(初值)寄存器16位計(jì)數(shù)工作單元輸出鎖存器(減法)(兩個(gè)8位)(兩個(gè)8位)63設(shè)置8253的工作方式:此時(shí),全部控制邏輯電路復(fù)位,輸出OUT為初始狀態(tài)(高電平或低電平);設(shè)置計(jì)數(shù)初值到計(jì)數(shù)(初值)寄存器第一個(gè)CLK信號(hào)使初值寄存器的內(nèi)容置入計(jì)數(shù)工作單元以后每來(lái)一個(gè)CLK信號(hào)在CLK的上升沿時(shí),計(jì)數(shù)器對(duì)門(mén)控信號(hào)GATE進(jìn)行采樣,來(lái)決定工作狀態(tài)(計(jì)數(shù)、觸發(fā)、停止、重新置初值);在CLK的下降沿時(shí),計(jì)數(shù)器執(zhí)行部件從初值開(kāi)始作減1計(jì)數(shù);其中0是最大初值,1是最小初值;若以二進(jìn)制數(shù)制計(jì)數(shù),則0相當(dāng)于216=65536;若以BCD碼數(shù)制計(jì)數(shù)時(shí),則0相當(dāng)于104=10000.減到0時(shí),OUT端輸出一特殊波形的信號(hào)(3)8253的工作原理64CLKGATEOUTD0~D7WRRDA1A0CSDBIOWIORA1A0譯碼器高位地址A15-A28253共三組8253占用4個(gè)接口地址:

計(jì)數(shù)器0

計(jì)數(shù)器1

計(jì)數(shù)器2

控制寄存器(決定8253的基地址)2、8253與總線(xiàn)的連接65控制字格式SC1SC0RW1RW0M2M1M0BCD1--計(jì)數(shù)值為BCD碼格式0--計(jì)數(shù)值為二進(jìn)制格式M2M1M0

模式選擇

000模式0001模式1/10模式2/11模式3100模式4101模式500----對(duì)計(jì)數(shù)器進(jìn)行鎖存01----只讀/寫(xiě)低8位字節(jié)10----只讀/寫(xiě)高8位字節(jié)11----只讀/寫(xiě)低8位字節(jié),

再讀/寫(xiě)高8位字節(jié).00----選計(jì)數(shù)器001----選計(jì)數(shù)器110----選計(jì)數(shù)器211----無(wú)意義3、8253的編程設(shè)置8253的某一計(jì)數(shù)工作方式的編程只需兩個(gè)步驟:1)寫(xiě)入控制字;2)寫(xiě)入計(jì)數(shù)初值。例1:設(shè)地址總線(xiàn)上A7~A2=100101B時(shí),某8253的CS*有效,8253的A1和A0分別與地址總線(xiàn)的A1和A0相連。1)試確定該8253各端口的地址;2)如果控制字為00110110B,試確定該8253的設(shè)置。(1)設(shè)置計(jì)數(shù)器的工作方式例2:某8253的端口地址范圍為94H~97H,三個(gè)CLK端均輸入1MHz的時(shí)鐘脈沖,試分析下面的程序,確定計(jì)數(shù)器0和計(jì)數(shù)器1的工作方式及OUT端輸出的波形。MOVAL,00010100BOUT97H,ALMOVAL,0OUT94H,ALMOVAL,01010001BOUT97H,ALMOVAL,0OUT95H,AL有三種途徑可以讀取計(jì)數(shù)器當(dāng)前值:1)使用端口讀指令

INAL,XXXXXX01B2)使用鎖存命令D7D6選擇計(jì)數(shù)器,D5D4=00B。3)使用讀回命令(8254增加)(2)讀取計(jì)數(shù)器當(dāng)前值4、8253的工作方式(1)方式0:計(jì)數(shù)結(jié)束中斷(2)方式1:可由硬件重復(fù)觸發(fā)的單脈沖(3)方式2:序列脈沖發(fā)生器(4)方式3:方波發(fā)生器(5)方式4:軟件觸發(fā)選通脈沖(6)方式5:硬件觸發(fā)選通脈沖70工作方式0:計(jì)數(shù)結(jié)束產(chǎn)生中斷在GATE=1時(shí)寫(xiě)入控制字,OUT端輸出低電平為起始電平,裝入計(jì)數(shù)初值n,開(kāi)始計(jì)數(shù)。寫(xiě)信號(hào)后沿()經(jīng)一個(gè)CLK()將n值裝入計(jì)數(shù)器。每經(jīng)過(guò)一個(gè)CLK,在CLK下降沿,計(jì)數(shù)器減1。n=0時(shí),計(jì)數(shù)結(jié)束,OUT由低電平變?yōu)楦唠娖剑衫迷撾娖阶兓駽PU發(fā)出中斷請(qǐng)求),并保持,不開(kāi)始重新計(jì)數(shù)。只有寫(xiě)入另一個(gè)計(jì)數(shù)值時(shí),開(kāi)始新的計(jì)數(shù)。在GATE=0時(shí)停止計(jì)數(shù),直至GATE恢復(fù)高電平,再繼續(xù)計(jì)數(shù)71工作方式0:計(jì)數(shù)結(jié)束產(chǎn)生中斷(小結(jié))軟件啟動(dòng),不自動(dòng)重復(fù)計(jì)數(shù)。裝入初值后OUT端變低電平,計(jì)數(shù)結(jié)束OUT輸出高電平。計(jì)數(shù)過(guò)程中,GATE端應(yīng)保持高電平。每寫(xiě)入一次初值計(jì)數(shù)一個(gè)周期,然后停止計(jì)數(shù)。OUT端輸出是一個(gè)約(n+1)*CLK寬度的負(fù)脈沖。計(jì)數(shù)過(guò)程中可隨時(shí)修改初值重新開(kāi)始計(jì)數(shù)。72寫(xiě)入控制字,OUT端輸出高電平為起始電平。裝入計(jì)數(shù)初值n后,必須等待GATE的上升沿來(lái)后才轉(zhuǎn)入計(jì)數(shù),這時(shí)OUT變低,開(kāi)始計(jì)數(shù),每一個(gè)計(jì)數(shù)脈沖,計(jì)數(shù)器值減1。計(jì)數(shù)到0,OUT變成高電平,負(fù)脈沖結(jié)束,脈沖寬度=tc×n(tc為時(shí)鐘周期)。在計(jì)數(shù)過(guò)程中,若GATE變低,不影響計(jì)數(shù)。方式1的時(shí)序圖(計(jì)數(shù)過(guò)程中GATE僅有一個(gè)上升沿)方式1:可由硬件重復(fù)觸發(fā)的單脈沖73在計(jì)數(shù)過(guò)程中,若再次產(chǎn)生GATE的上升沿觸發(fā),則要重新裝入n值,在再觸發(fā)脈沖上升沿之后的一個(gè)CLK脈沖的下降沿,計(jì)數(shù)器重新開(kāi)始計(jì)數(shù)??梢酝ㄟ^(guò)該方法改變脈沖的寬度。方式1的時(shí)序圖(計(jì)數(shù)過(guò)程中GATE不止產(chǎn)生一個(gè)上升沿)方式1:可由硬件重復(fù)觸發(fā)的單脈沖74硬件啟動(dòng),不自動(dòng)重復(fù)計(jì)數(shù)。裝入初值后OUT端變高電平,計(jì)數(shù)開(kāi)始OUT端變?yōu)榈碗娖剑?jì)數(shù)結(jié)束后又變高。門(mén)控信號(hào)GATE端的跳變觸發(fā)計(jì)數(shù),可重復(fù)觸發(fā)。若下一次GATE上升沿提前到達(dá),則OUT端負(fù)脈沖拉寬為兩次計(jì)數(shù)過(guò)程之和。計(jì)數(shù)過(guò)程中寫(xiě)入新初值不影響本次計(jì)數(shù)。方式1:可由硬件重復(fù)觸發(fā)的單脈沖(小結(jié))75寫(xiě)入控制字,OUT端輸出高電平為起始電平,裝入計(jì)數(shù)初值n,開(kāi)始計(jì)數(shù)。每一個(gè)計(jì)數(shù)脈沖下降沿n減1,當(dāng)n減至1時(shí),OUT變低,n減為0時(shí),OUT變高,產(chǎn)生一個(gè)周期一樣寬的負(fù)脈沖。接著自動(dòng)裝入n連續(xù)計(jì)數(shù),輸出頻率為與時(shí)鐘脈沖:fclk/n。計(jì)數(shù)過(guò)程中,允許重新裝入新的n值,下一個(gè)計(jì)數(shù)周期按新的n值計(jì)數(shù)。在GATE=1時(shí):方式2的時(shí)序圖方式2:序列脈沖發(fā)生器76計(jì)數(shù)過(guò)程中,若GATE=0,停止計(jì)數(shù),并強(qiáng)迫OUT輸出高電平,在GATE變?yōu)楦唠娖胶?,重新裝入n值,開(kāi)始計(jì)數(shù)。方式2的時(shí)序圖(GATE電平改變)方式2:序列脈沖發(fā)生器77軟、硬件啟動(dòng),自動(dòng)重復(fù)計(jì)數(shù)。裝入初值后OUT端變高電平,計(jì)數(shù)到最后一個(gè)CLK時(shí)OUT輸出負(fù)脈沖,并連續(xù)重復(fù)此過(guò)程。GATE為計(jì)數(shù)的控制信號(hào):GATE變低計(jì)數(shù)停止,再變高時(shí)的下一個(gè)CLK下降沿,從初值開(kāi)始重新計(jì)數(shù)。每個(gè)計(jì)數(shù)周期結(jié)束時(shí)(減到1時(shí)),OUT端輸出一個(gè)CLK寬度的負(fù)脈沖。計(jì)數(shù)過(guò)程自動(dòng)重復(fù)進(jìn)行。計(jì)數(shù)過(guò)程中修改初值不影響本輪計(jì)數(shù)過(guò)程。方式2:序列脈沖發(fā)生器(小結(jié))78方式3的時(shí)序圖(5)(4)(4)(5)輸出頻率為:fclk/n的方波。寫(xiě)入控制字后,OUT端輸出低電平作為起始電平,裝入計(jì)數(shù)值n后,變?yōu)楦唠娖健為偶數(shù),每個(gè)時(shí)鐘脈沖下降沿n值減1,至n/2后,電平變?yōu)榈碗娖剑⒗^續(xù)減1計(jì)數(shù)至0,然后改變OUT電平,重新裝入n,開(kāi)始計(jì)數(shù)。n為奇數(shù),輸出高電平寬度為(n+1)/2,低電平寬度為(n-1)/2的方波。GATE=0

停止計(jì)數(shù),并強(qiáng)迫OUT輸出高電平,在GATE變高后,重新將n裝入,開(kāi)始計(jì)數(shù)。注:GATE功能同方式2GATE=1工作方式3:方波頻率發(fā)生器79工作方式3:方波頻率發(fā)生器(小結(jié))軟、硬件啟動(dòng),自動(dòng)重復(fù)計(jì)數(shù)。裝入初值后OUT端變高電平,然后OUT連續(xù)輸出對(duì)稱(chēng)方波:前N/2或(N+1)/2個(gè)CLK,OUT為高后N/2或(N-1)/2個(gè)CLK,OUT為低。計(jì)數(shù)過(guò)程中修改初值不影響本半輪計(jì)數(shù)過(guò)程其余的與方式2類(lèi)似。80工作方式4:軟件觸發(fā)選通脈沖寫(xiě)入控制字后,OUT端變?yōu)楦唠娖?,?xiě)入初始值后,計(jì)數(shù)器作減1計(jì)數(shù),OUT電平保持不變。計(jì)數(shù)器減至0時(shí),OUT端輸出一個(gè)脈沖周期的負(fù)脈沖,然后停止計(jì)數(shù),只有輸入新的計(jì)數(shù)值后,才能開(kāi)始新的計(jì)數(shù)。計(jì)數(shù)過(guò)程中,若GATE變低電平,停止計(jì)數(shù),在其變高后,重新將n裝入,開(kāi)始計(jì)數(shù)。方式4的時(shí)序圖(a.GATE一直為高電平b.GATE電平改變)81工作方式4:軟件觸發(fā)選通脈沖(小結(jié))軟件啟動(dòng),不自動(dòng)重復(fù)計(jì)數(shù)。裝入初值后輸出端變高電平,計(jì)數(shù)結(jié)束輸出一個(gè)CLK寬度的負(fù)脈沖計(jì)數(shù)過(guò)程中,GATE端應(yīng)保持高電平。每寫(xiě)入一次初值,計(jì)數(shù)一個(gè)周期,然后停止計(jì)數(shù)。每個(gè)計(jì)數(shù)周期結(jié)束時(shí)(減到0時(shí)),OUT端輸出一個(gè)TCLK寬度的負(fù)脈沖。計(jì)數(shù)過(guò)程中修改初值不影響本輪計(jì)數(shù)過(guò)程。82工作方式5:硬件觸發(fā)選通脈沖寫(xiě)入控制字后,OUT端變?yōu)楦唠娖剑瑢?xiě)入初始值n后,必須等待GATE的上升沿觸發(fā)才轉(zhuǎn)入計(jì)數(shù)。計(jì)數(shù)器減至0時(shí),OUT端輸出一個(gè)脈沖周期的負(fù)脈沖。然后n值自動(dòng)裝入計(jì)數(shù)器,但要等GATE的上升沿來(lái)后才再次開(kāi)始計(jì)數(shù)。計(jì)數(shù)過(guò)程中,若GATE變低電平,不影響計(jì)數(shù),但其上升沿將使得n重新裝入計(jì)數(shù)器,開(kāi)始計(jì)數(shù)。方式5的時(shí)序圖(a.GATE一直為高電平b.GATE電平改變)83工作方式5:硬件觸發(fā)選通脈沖硬件啟動(dòng),不自動(dòng)重復(fù)計(jì)數(shù)。OUT端波形與方式4相同寫(xiě)入初值時(shí),GATE端應(yīng)保持低電平。GATE每出現(xiàn)一次正脈沖,計(jì)數(shù)一個(gè)周期,然后停止計(jì)數(shù)。每個(gè)計(jì)數(shù)周期結(jié)束時(shí)(減到0時(shí)),OUT端輸出一個(gè)CLK寬度的負(fù)脈沖。計(jì)數(shù)過(guò)程中修改初值不影響本輪計(jì)數(shù)過(guò)程。84在使用8253芯片時(shí),首先要對(duì)其進(jìn)行初始化編程。初始化編程包括寫(xiě)入控制字和寫(xiě)入計(jì)數(shù)值兩個(gè)步驟。第一步,寫(xiě)入控制字。任一計(jì)數(shù)器的控制字都要從8253的控制口地址寫(xiě)入,控制哪個(gè)計(jì)數(shù)器由控制字的D7D6位來(lái)決定。第二步,寫(xiě)入計(jì)數(shù)初始值。計(jì)數(shù)初始值經(jīng)由各計(jì)數(shù)器的端口地址寫(xiě)入。若控制字里規(guī)定只寫(xiě)低八位,則寫(xiě)入低八位,高8位自動(dòng)置0若控制字里規(guī)定只寫(xiě)高八位,則寫(xiě)入高八位,低8位自動(dòng)置0。若是16位計(jì)數(shù)值,則分兩次寫(xiě)入,先寫(xiě)入低8位,再寫(xiě)入高八位。寫(xiě)入順序:可按計(jì)數(shù)器分別寫(xiě)入控制字和初值。也可先寫(xiě)所有計(jì)數(shù)器控制字,再寫(xiě)入它們的初值5、8253/8254的應(yīng)用書(shū)本P242例5-8:MOVDX,26BHMOVAL,00110000BOUTDX,ALMOVDX,268HMOVAL,00HOUTDX,ALMOVAL,40HOUTDX,AL2008.1-39;2007-38;2010-38868253小結(jié)包含3個(gè)16位計(jì)數(shù)器通道4個(gè)編址部件:計(jì)數(shù)器0/1/2和控制寄存器每個(gè)計(jì)數(shù)器通道工作前必須初始化:控制字和計(jì)數(shù)初值6種工作方式每種工作方式:?jiǎn)?dòng)方式、輸出波形、是否可重復(fù)計(jì)數(shù)等各不相同1、8255A的外部引腳和內(nèi)部結(jié)構(gòu)1)引腳

5.5并行接口數(shù)據(jù)線(xiàn):與CPU交換數(shù)據(jù)PC口PB口PA口地址選擇A1A000端口A01端口B10端口C11控制字寄存器2、8255A與總線(xiàn)的連接3、8255A的編程(1)設(shè)置工作方式和端口讀/寫(xiě)(2)置位復(fù)位端口C應(yīng)用注意:PC口控制字雖然是對(duì)端口C操作,但應(yīng)寫(xiě)入到控制口地址,而不是寫(xiě)入到PC數(shù)據(jù)口。4、8255A的工作方式(1)方式0:基本輸入/輸出。在方式0下,A、B、C三個(gè)端口均用作輸入/輸出,這種輸入/輸出只是簡(jiǎn)單的輸入/輸出,無(wú)聯(lián)絡(luò)信號(hào)。A口和B口在方式1輸入時(shí)的情況(2)方式1:帶選通的輸入/輸出1)方式1的輸入A口和B口在方式1輸出時(shí)的情況2)方式1的輸出方式2下的引腳定義(3)方式2:帶選通的雙向輸入/輸出例:如圖,設(shè)8255端口地址為2F80~2F83H,編程設(shè)置8255A組、B組均工作于方式0,A口輸出,B口輸出,C口高4位輸入,低4位輸出。然后,讀入開(kāi)關(guān)K的狀態(tài),若K打開(kāi),則使發(fā)光二極管熄滅;若K閉合,則使發(fā)光二極管點(diǎn)亮。5.5.3LED顯示器接口1、工作原理2、1位LED數(shù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論