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

下載本文檔

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

文檔簡介

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

5.1總線技術

PC機從其誕生以來就采用了總線結構方式。自1970年美國DEC公司在PDP11/22小型計算機上采用Unibus總線以來,隨著計算機技術的迅速發(fā)展,各大公司相繼推出了各種標準的、非標準的總線,總線速度是制約計算機整體性能的最大因素。當前總線結構方式已經成為微機性能的重要指標之一。

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

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

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

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

5.1.2微機總線的標準和分類1、總線標準與性能指標所謂總線標準,可視為系統(tǒng)與各模塊、模塊與模塊之間一個互連的標準界面。這個界面對兩端的模塊都是透明的,即界面的任一方只需根據總線標準的要求完成自身一面接口的功能要求,而無需了解對方接口與總線的連接要求。因此,按總線標準設計的接口可視為通用接口。

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

33M總線時鐘,增強方式66M總線時鐘;支持多總線結構,在一條總線上,可多個CPU同時工作,共享總線資源;

5V、3.3V兩種信號電壓標準。

總線性能指標1)總線寬度

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

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

1)按照總線傳遞的內容分類:地址總線AB、數據總線DB、控制總線CB。2)按總線所處的位置可分為:

片內總線:在CPU內部,寄存器之間和算術邏輯部件ALU與控制部件之間傳輸數據所用的總線稱為片內總線。(即芯片內部的總線)又稱為內部總線或內總線。(InternalBus)

片外總線:CPU與內存RAM、ROM和輸入/輸出設備接口之間進行通訊的通路。把片外總線又稱為外部總線或外總線

(ExternalBus)。CPU通過總線實現(xiàn)程序取指令、內存與外設的數據交換。2、總線的分類3)按照總線的結構分類單總線結構:在這種結構中,將CPU、主存和I/O設備都掛到一組總線上,形成單總線結構的計算機。這種結構最明顯的特點就是,當I/O與主存交換信息時,原則上不影響CPU的工作,CPU仍可繼續(xù)處理不訪問主存或I/O的操作,這就使CPU工作效率有所提高。但是,因為只有一組總線,當某一時刻各部件都要占用時,就會出現(xiàn)爭用現(xiàn)象。

雙總線結構:在單總線基礎上,又單獨開辟一條CPU與主存之間的通路,叫存儲總線。這組總線速度高,只供主存與CPU之間傳輸信息。這樣既提高了傳輸效率,又減輕了系統(tǒng)總線的負擔,還保留了I/O與存儲器交換信息時不經過CPU的特點。5.1.3ISA總線5.1.4PCI總線5.2.1接口的概念與I/O接口計算機兩部件之間的界面稱之為接口。

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

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

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

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

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

(2)信號變換:把信號相互轉換為適合對方的形式CPU通過接口對外設進行控制的方式有以下幾種:

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

5.2.4I/O數據傳輸的控制方式2)中斷處理方式在這種方式下,CPU不再被動等待,而是可以執(zhí)行其他程序,一旦外設為數據交換準備就緒,可以向CPU提出服務請求,CPU如果響應該請求,便暫時停止當前程序的執(zhí)行,轉去執(zhí)行與該請求對應的服務程序,完成后,再繼續(xù)執(zhí)行原來被中斷的程序。

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

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

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

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

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

ICW2:設置中斷類型碼的初始化命令字,必須寫到8259A的奇地址端口中;

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

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

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

自學(4)ICW4

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

計數器0

計數器1

計數器2

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

模式選擇

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

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

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

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

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

溫馨提示

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

最新文檔

評論

0/150

提交評論