微機原理及應用-ch6_第1頁
微機原理及應用-ch6_第2頁
微機原理及應用-ch6_第3頁
微機原理及應用-ch6_第4頁
微機原理及應用-ch6_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、6.1 可編程并行接口芯片8255A,第六章 可編程接口芯片,6.1 可編程并行接口芯片8255A,一、并行通信與并行接口,并行通信就是把一個字符的各數(shù)位用幾條數(shù)據(jù)線同時進行傳送,通常每次傳送8位或16位數(shù)據(jù)。這種方式和串行通信相比,在同樣的傳輸率下,信息傳輸速度快,但是傳送距離較近。 實現(xiàn)并行通信的接口稱為并行接口。并行接口能從微處理機或外設接收數(shù)據(jù),需要時發(fā)送出去,因此在信息傳送過程中,并行接口起著鎖存或緩沖作用。并行接口分為可編程和不可編程兩種類型。可編程是指接口在工作前必須由CPU用輸出指令(OUT指令)對它編程,規(guī)定其工作方式,此編程過程稱為初始化。,二、8255A內(nèi)部結構及引腳功能

2、,18255A內(nèi)部結構,8255A的內(nèi)部結構如圖所示,它由數(shù)據(jù)總線緩沖器,數(shù)據(jù)端口A、B、C,A組控制和B組控制,讀/寫控制邏輯四部分組成。,(1) 數(shù)據(jù)總線緩沖器,數(shù)據(jù)總線緩沖器是一個雙向三態(tài)的8位數(shù)據(jù)緩沖器,8255A通過它與系統(tǒng)總線相連。輸入數(shù)據(jù)、輸出數(shù)據(jù)、CPU 發(fā)給8255A的控制字都是通過這個緩沖器進行的。,8255A芯片內(nèi)部包含三個8位數(shù)據(jù)端口 (A口、B口、C口), 共24條I/O線 (PA0PA7, PB0PB7, PC0PC7) 。 端口A對應一個8位數(shù)據(jù)輸入鎖存器和一個8位數(shù)據(jù)輸出鎖存器/緩沖器。用端口A作為輸入或輸出時,數(shù)據(jù)均受到鎖存。 端口B和端口C均對應一個8位輸入

3、緩沖器和一個8位數(shù)據(jù)輸出鎖存器/緩沖器。 使用中,端口A和端口B作為獨立的輸入端口和輸出端口,端口C配合端口A和B的工作。端口C常通過控制命令被分成兩個4位端口,分別用來為端口A和B提供控制信號和狀態(tài)信號。,(2) 并行輸入/輸出端口PA、PB、PC,這兩組控制電路一方面接收CPU發(fā)來的控制字并決定8255A的工作方式;另一方面接收來自讀/寫控制邏輯電路的讀/寫命令,完成接口的讀/寫操作。 A組控制電路控制端口A和端口C的高4位的工作方式和讀/寫操作。 B組控制電路控制端口B和端口C的低4位的工作方式和讀/寫操作。,(3) A組控制和B組控制,讀/寫控制邏輯負責管理8255A的數(shù)據(jù)傳輸過程。它

4、接收譯碼電路的CS*和來自地址總線的A1,A0信號,以及控制總線的RESET, RD*, WR*信號,將這些信號進行組合后,得到對A組控制部件和B組控制部件的控制命令,并將命令發(fā)給這兩個部件,以完成對數(shù)據(jù)信息、狀態(tài)信息和控制信息的傳輸。,(4) 讀/寫控制邏輯,2. 8255A的芯片引腳信號,除電源和地以外,8255A的芯片引腳信號可分為兩組:,(1) 和外設一邊相連的信號,PA7PA0:A端口數(shù)據(jù)信號 PB7PB0:B端口數(shù)據(jù)信號 PC7PC0:C端口數(shù)據(jù)信號,RESET: 復位信號,高電平有效。當RESET信號到來,所有內(nèi)部寄存器都被清除,同時,3個數(shù)據(jù)端口被自動設為輸出端口 D7D0:

5、8255A的數(shù)據(jù)線,和系統(tǒng)數(shù)據(jù)總線相連 CS*: 芯片選擇信號,低電平有效。CS*有效時,RD*和WR*才對8255A有效 RD*: 讀出信號,低電平有效。有效時,CPU可從8255A中讀取輸入數(shù)據(jù) WR*: 寫入信號,低電平有效。有效時,CPU可往8255A中寫入控制字和數(shù)據(jù) A1、A0: 端口選擇信號,分別與地址線A1和A0相連。A1A0=00,選中端口A;A1A0=01,選中端口B; A1A0=10,選中端口C;A1A0=11,選中控制字寄存器,(2) 和CPU一邊相連的信號,8255A的操作方式,三、8255A工作方式,PA口可工作于方式0、方式1、方式2; PB口可工作于方式0、方式

6、1; PC口只能工作于方式0。,1. 方式0基本I/O方式,無條件傳輸方式。 在方式0下,每一個端口都作為基本的輸入或輸出口,端口C口的高4位和低4位以及端口A口、端口B都可獨立地設置為輸入口或輸出口。 CPU可以隨時對它們進行讀或?qū)憽Mㄟ^IN和OUT指令,2. 方式1選通I/O方式,有條件的數(shù)據(jù)傳輸,條件是有關(控制)信號有效。,方式1下三個端口分為A、B兩組,端口A、端口B仍作為輸入或輸出口,端口C分成兩部分,一部分作為端口A和端口B的聯(lián)絡信號,另一部分仍可作為基本的輸入輸出口。,8255A,外設,握手信號,應答式數(shù)據(jù)傳輸,分輸入、輸出兩種形式。,(1) 方式1輸入,STB*=0PC4 送

7、數(shù)據(jù)PA輸入鎖存器IBF=1, STB*=1CPU識別IBF有效,用IN使RD*=0,取走數(shù)據(jù)PC5將IBF=0, 準備接收新數(shù)據(jù),STB*和IBF是用問答的方式來傳輸數(shù)據(jù)的,信號說明:,STB*(Strobe):選通輸入,低電平有效。該信號有效時,輸入數(shù)據(jù)被送入鎖存端口A或端口B的輸入鎖存器/緩沖器中。 IBF(Input Buffer Full):輸入緩沖器滿。當外設把數(shù)據(jù)寫入端口,IBF變?yōu)?。 INTR:中斷請求信號,高電平有效。當IBF變?yōu)?且INTE=1時,INTR變?yōu)楦唠娖健.擟PU取數(shù)據(jù),RD*的下降沿使INTR復位,上升沿又使IBF復位 。 INTE:中斷允許信號。端口A用P

8、C4的置位/復位控制,端口B用PC2的置位/復位控制。,CPU通過什么方式可知外設有數(shù)據(jù)要送入端口? a.查詢;b.中斷,(2) 方式1輸出,ACK*和OBF*是用問答的方式來傳輸數(shù)據(jù)的,信號說明:,OBF*(Out Buffer Full):輸出緩沖器滿。當CPU將數(shù)據(jù)寫入到數(shù)據(jù)端口,/OBF變0,通知外設可讀取。 ACK*(Acknowledge):外設的響應信號。由外設發(fā)給8255A,有效時,表示外設已取走8255A的端口數(shù)據(jù)。 8255A收到/ACK后/OBF變?yōu)?,且“可能”產(chǎn)生中斷。 INTR:中斷請求信號,高電平有效。當收到ACK*,中斷允許INTE=1時,INTR變?yōu)楦唠娖?。I

9、NTR信號可作為CPU的查詢信號,或作為向CPU發(fā)出中斷請求的信號。/WR的下降沿使INTR復位。 INTE:中斷允許信號。端口A用PC6的置位/復位控制,端口B用PC2的置位/復位控制。,3.方式2雙向I/O工作方式,8255A的方式2可使8255A與外設進行雙向通信,既能發(fā)送數(shù)據(jù),又能接收數(shù)據(jù)??刹捎貌樵兎绞胶椭袛喾绞竭M行傳輸。 方式2只適用于端口A ,端口C的PC7PC3配合端口A的傳輸,其聯(lián)絡信號如圖所示。,8255A方式2的控制信號和時序 :,四、8255A控制字,1. 工作方式控制字,2. 置位/復位控制字,例1:設某8086系統(tǒng)中有兩片8255A芯片,由74LS138譯碼器產(chǎn)生兩

10、個芯片的片選信號,如圖所示。要求:第1片(J1)8255A的A口工作在方式1輸入,B口工作在方式1輸入,C口高4位輸出,C口低4位輸入;第2片(J2)8255A的A口工作為方式0輸出,B口為方式1輸入,C口高4位輸入,C口低4位輸出。 (1)試分別指出兩片8255A芯片的端口地址; (2)試分別寫出兩片8255A芯片的方式控制字; (3)試分別寫出兩片8255A芯片的初始化程序。,A7 A6 A5 A4 A3 A2 A1 A0 1 0 0 1 0 0(90H、92H、94H、96H) 1 0 0 0 1 0(88H、8AH、8CH、8EH),J2: MOV AL, 8EH OUT 8EH, A

11、L,J1: MOV AL, 0B7H OUT 96H, AL,例2:在機床計算機數(shù)控系統(tǒng)中,機床開關量的輸入/輸出電路是系統(tǒng)硬件的重要組成部分。下圖為使用8255A作為機床開關量輸入/輸出接口的示意圖。,由圖中連接關系可見,若設圖中未標出的地址信號均為“0”,則8255A的各端口地址分別為: 100H、102H、104H和106H。在對機床開關量的輸入和輸出過程中,多采用無條件傳送方式,即圖中所示的8255A工作在方式0。若設端口A輸入,端口B和端口C輸出,則其方式選擇控制字為90H,其初始化程序為: MOV DX,106H MOV AL,90H OUT DX,AL,例3:如圖所示,8255

12、A的PA0 PA7端口接有開關K,端口PB0 PB7接有8支LED發(fā)光管。已知端口A和B均在方式0下工作,根據(jù)取入開關狀態(tài),控制LED燈的顯示。要求確定8255A的各端口地址,寫出控制字,編制根據(jù)開關K狀態(tài)控制燈亮滅的程序(K全閉合,8支燈亮;而有1個或1個以上K斷開時,8支燈滅)。,根據(jù)要求可確定端口A為方式0下輸入,端口B為方式0下輸出,端口C未用可定義為方式0輸出。 則工作方式控制字:1 0 0 1 0 0 0 0 90H,根據(jù)電路連接,可確定8255 A的端口地址分別為84H、85H、86H和87H。,由圖可見,開關K斷開時,PA0PA7取入信號為高電平;開關K閉合時,PA0PA7取入信號為低電平。為使8支LED燈亮,需從端口B送出高電平信號,否則需

溫馨提示

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

評論

0/150

提交評論