并行通信與并行介面
并行通信就是把一個字符的各位同時用幾根線進行傳輸,傳輸速度快,資訊率高,
電纜要多,隨著傳輸距離的增加,電纜的開銷會成為突出的問題,所以,并行通信
用在傳輸速率要求較高,而傳輸距離較短的場合,
Intel 8255A是一個通用的可編程的并行介面芯片,它有三個并行I/O口,又可通過
編程設定多種作業方式,價格低廉,使用方便,可以直接與Intel系列的芯片連接使用,
在中小系統中有著廣泛的應用,
8255A內部結構
1、資料埠A、B、C
- A口:是一個獨立的8位I/O口,它的內部有對資料輸入/輸出的鎖存功能;
- B口:也是一個獨立的8位I/O口,僅對輸出資料的鎖存功能,
- C口:可以看作是一個獨立的8位I/O口;也可以看作是兩個獨立的4位I/O口,也是僅對輸出資料進行鎖存,
2、A組控制和B組控制
3、讀/寫控制邏輯電路
- 讀/寫控制邏輯電路負責管理8255A的資料傳輸程序,它接收片選信號及系統讀信號、寫信號、復位信號RESET,還有來自系統地址總線的選擇埠的信號A0和A1,
4、資料總線緩沖器
- 8位的雙向的三態緩沖器,8255A正是通過它與系統總線相連,輸入資料、輸出資料以及CPU發給8255A的控制字都是通過這個緩沖器傳遞的,
8255A的芯片引腳信號
1、和外設相連的信號
- PA7~PA0 A埠資料信號,用來連接外設;
- PB7~PB0 B埠資料信號,用來連接外設;
- PC7~PC0 C埠資料信號,用來連接外設或者作為控制信號,
2、和CPU一邊相連的信號
- RESET:復位信號,高電平有效,輸入,用來清除8255A的內部暫存器,并置A口,B口,C口均為輸入方式;
- D7~D0:8位,雙向,三態資料線,用來與系統資料總線相連;
- CS:片選,輸入,用來決定芯片是否被選中,CS有效時,讀寫信號才對8255A有效;
- RD:讀信號,輸入,控制8255A將資料或狀態資訊送給CPU;
- WR:寫信號,輸入,控制CPU將資料或控制資訊送到8255A;
- A1、A0 埠選擇信號,A1、A0為00,選中A埠;為01時,選中B埠;為10時,選中C埠;為11時,選中控制口,

8255A的控制字
8255A用指令在控制埠中設定控制字來決定其作業,方式選擇控制字中,埠A和
埠C的高4位為一組,埠B和埠C的低4位為一組,
第7位稱為識別符號,D7為1稱為方式選擇控制字的識別符號,D7為0稱為C埠的按位置
0置1的控制字的識別符號,
控制字有兩類:
1、方式選擇控制字
- 8255A有三種基本作業方式
- 方式0:基本的輸入/輸出方式; 適用于無條件傳送和查詢方式的介面電路,A、B、C三個埠均可 ,
- 方式1:選通是輸入/輸出方式; 適用于查詢和中斷方式的介面電路,A 、B兩個埠均可,
- 方式2:雙向傳輸方式, 適用于與雙向傳送資料的外設,只有A埠才有,適用于查詢和中斷方式的介面電路,
- 埠A可作業在三種作業方式下的任一種,埠B只能作業在方式0或方式1,埠C配合埠A和埠B作業,只有埠A能作業在方式2,
- 歸為同一組的兩個埠可分別作業在輸入方式和輸出方式,
2、埠C置1/置0控制字
- C埠置1/置0控制字盡管是針對埠C進行操作,但必須寫入控制埠,而不是寫入C埠,
8255的作業方式

1、方式0
- 為一種簡單的輸入/輸出方式,沒有規定固定的應答聯絡信號,可用A,B,C三個口的任一位充當查詢信號,其余I/O口仍可作為獨立的埠和外設相連,
- 方式0的應用場合有兩種:一種是同步傳送;一種是查詢傳送,
- 任何一個埠可作為輸入口,也可作為輸出口,各埠之間沒有規定必然的關系,
- 各個埠的輸入或輸出,可以有16種不同的組合,所以可以適用于多種使用場合
方式0輸入時序:

方式0輸出時序:

2、方式1
(1)輸入
- 方式1是一種選通I/O方式,
- A口和B口仍作為兩個獨立的8位I/O資料通道,可單獨連接外設,通過編程分別設定它們為輸入或輸出,
- 而C口則要有6位(分成兩個3位)分別作為A口和B口的應答聯絡線,其余2位仍可作業在方式0,可通過編程設定為輸入或輸出,
方式1輸入引腳:A埠

方式1輸入引腳:B埠

方式1需借用埠C用做聯絡信號,同時還具有中斷請求和屏蔽功能
方式1輸入聯絡信號
- STB——選通信號,低電平有效
由外設提供的輸入信號,當其有效時,將輸入設備送來的資料鎖存至8255A的輸入鎖存器 - IBF——輸入緩沖器滿信號,高電平有效
8255A輸出的聯絡信號,當其有效時,表示資料已鎖存在輸入鎖存器,作為STB的回答信號
STB和IBF是外設和8255A間的一對應答聯絡信號,為的是可靠地輸入資料 - INTR——中斷請求信號,高電平有效
8255A輸出的信號,可用于向CPU提出中斷請求,要求CPU讀取外設資料
INTR置位的條件是STB為高,且IBF為高,INTE為高, - INTE——中斷允許信號,8255A的中斷由中斷允許觸發器INTE控制,置位允許中斷,復位禁止中斷,對INTE的操作通過寫入埠C的對應位實作,INTE觸發器對應埠C的位是作應答聯絡信號的輸入信號的哪一位,只要對那一位置位/復位就可以控制INTE觸發器,
選通輸入方式下,埠A的INTEA對應PC4置位來實作,埠B的INTEB對應PC2置位來實作,
方式1輸入時序

(2)輸出
方式1輸出引腳:A埠

方式1輸出引腳:B埠

埠A的INTEA對應PC6
埠B的INTEB對應PC2
方式1輸出聯絡信號
- OBF——輸出緩沖器滿信號,低有效
8255A輸出給外設的一個控制信號,當其有效時,表示CPU已把資料輸出給指定的埠,外設可以取走 - ACK——回應信號,低有效
外設的回應信號,指示8255A的埠資料已由外設接受
OBF和ACK是外設和8255A間的一對應答聯絡信號,為的是可靠地輸出資料 - INTR——中斷請求信號,高有效
當輸出設備已接受資料后,8255A輸出此信號向CPU提出中斷請求,要求CPU繼續提供資料
方式1輸出時序

3、方式2(雙向方式)
- 方式2將方式1的選通輸入輸出功能組合成一個雙向資料埠,可以發送資料和接收資料
- 只有埠A可以作業于方式2,需要利用埠C的5個信號線,其作用與方式1相同
- 方式2的資料輸入程序與方式1的輸入方式一樣
- 方式2的資料輸出程序與方式1的輸出方式有一點不同:資料輸出時8255A不是在OBF有效時向外設輸出資料,而是在外設提供回應信號ACK時才送出資料
方式2雙向引腳

方式2雙向時序

以上內容參考自《微型計算機技術與應用》(第4版)清華大學出版社
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/396317.html
標籤:其他
上一篇:RT-thread Nano移植
