8255芯片是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個8位并行I/O口。具有3個通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強。8255可作為單片機與多種外設連接時的中間接口電路。
8255作為主機與外設的連接芯片,必須提供與主機相連的3個總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時必須具有與外設連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分,因而8255內(nèi)部結(jié)構(gòu)分為3個部分:與CPU連接部分、與外設連接部分、控制部分。
1)與CPU連接部分
根據(jù)定義,8255能并行傳送8位數(shù)據(jù),所以其數(shù)據(jù)線為8根D0~D7。由于8255具有3個通道A、B、C,所以只要兩根地址線就能尋址A、B、C口及控制寄存器,故地址線為兩根A0~A1。此外CPU要對8255進行讀、寫與片選操作,所以控制線為片選、復位、讀、寫信號。各信號的引腳編號如下:
(1)數(shù)據(jù)總線DB:編號為D0~D7,用于8255與CPU傳送8位數(shù)據(jù)。
�。�2)地址總線AB:編號為A0~A1,用于選擇A、B、C口與控制寄存器。
�。�3)控制總線CB:片選信號、復位信號RST、寫信號、讀信號。當CPU要對8255進行讀、寫操作時,必須先向8255發(fā)片選信號選中8255芯片,然后發(fā)讀信號或?qū)懶盘枌?255進行讀或?qū)憯?shù)據(jù)的操作。
2)與外設接口部分
根據(jù)定義,8255有3個通道A、B、C與外設連接,每個通道又有8根線與外設連接,所以8255可以用24根線與外設連接,若進行開關量控制,則8255可同時控制24路開關。各通道的引腳編號如下:
�。�1)A口:編號為PA0~PA7,用于8255向外設輸入輸出8位并行數(shù)據(jù)。
�。�2)B口:編號為PB0~PB7,用于8255向外設輸入輸出8位并行數(shù)據(jù)。
(3)C口:編號為PC0~PC7,用于8255向外設輸入輸出8位并行數(shù)據(jù),當8255工作于應答I/O方式時,C口用于應答信號的通信。
3)控制器部分
8255將3個通道分為兩組,即PA0~PA7與PC4~PC7組成A組,PB0~PB7與PC0~PC3組成B組。如圖7.5所示,相應的控制器也分為A組控制器與B組控制器,各組控制器的作用如下:
�。�1)A組控制器:控制A口與上C口的輸入與輸出。
�。�2)B組控制器:控制B口與下C口的輸入與輸出。
(1)一個并行輸入、輸出的LSI芯片,多功能的I/O器件,可作為CPU總線與外圍的接口。
(2)具有24個可編程設置的I/O口,即3組8位的I/O口為PA口,PB口和PC口。它們又可分為兩組12位的I/O口,A組包括A口及C口(高4位,PC4~PC7),B組包括B口及C口(低4位,PC0~PC3)。A組可設置為基本的I/O口,閃控(STROBE)的I/O閃控式,雙向I/O3種模式;B組只能設置為基本I/O或閃控式I/O兩種模式,而這些操作模式完全由控制寄存器的控制字決定。
RESET:復位輸入線,當該輸入端處于高電平時,所有內(nèi)部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成輸入方式。
CS:芯片選擇信號線,當這個輸入引腳為低電平時,即/CS=0時,表示芯片被選中,允許8255與CPU進行通訊;/CS=1時,8255無法與CPU做數(shù)據(jù)傳輸.
RD:讀信號線,當這個輸入引腳為低跳變沿時,即/RD產(chǎn)生一個低脈沖且/CS=0時,允許8255通過數(shù)據(jù)總線向CPU發(fā)送數(shù)據(jù)或狀態(tài)信息,即CPU從8255讀取信息或數(shù)據(jù)。
WR:寫入信號,當這個輸入引腳為低跳變沿時,即/WR產(chǎn)生一個低脈沖且/CS=0時,允許CPU將數(shù)據(jù)或控制字寫入8255。
D0~D7:三態(tài)雙向數(shù)據(jù)總線,8255與CPU數(shù)據(jù)傳送的通道,當CPU 執(zhí)行輸入輸出指令時,通過它實現(xiàn)8位數(shù)據(jù)的讀/寫操作,控制字和狀態(tài)信息也通過數(shù)據(jù)總線傳送。
8255具有3個相互獨立的輸入/輸出通道端口,用+5V單電源供電,能在以下三種方式下工作。
方式0————基本輸入輸出方式;方式1————選通輸入/出方式;方式2————雙向選通輸入/輸出方式;
PA0~PA7:端口A輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入鎖存器。 工作于三種方式中的任何一種;
PB0~PB7:端口B輸入輸出線,一個8位的I/O鎖存器, 一個8位的輸入輸出緩沖器。 不能工作于方式二;
PC0~PC7:端口C輸入輸出線,一個8位的數(shù)據(jù)輸出鎖存器/緩沖器, 一個8位的數(shù)據(jù)輸入緩沖器。端口C可以通過工作方式設定而分成2個4位的端口, 每個4位的端口包含一個4位的鎖存器,分別與端口A和端口B配合使用,可作為控制信號輸出或狀態(tài)信號輸入端口。'不能工作于方式一或二。
A1,A0:地址選擇線,用來選擇8255的PA口,PB口,PC口和控制寄存器.
當A1=0,A0=0時,PA口被選擇;
當A1=0,A0=1時,PB口被選擇;
當A1=1,A0=0時,PC口被選擇;
當A1=1.A0=1時,控制寄存器被選擇.
命令字
D7 D6 D5 D4 D3 D2 D1 D0
D7:特征位 D6D5:A組方式00=方式0 ,01=方式1,1X=方式2
D4: A口0=輸出,1=輸入 D3:C口C7~C4 0=輸出,1=輸入D2:B組方式0=方式0,1=方式1
D1: B口0=輸出,1=輸入D0:C口C3~C0 0=輸出,1=輸入
D7位為“1”時,為方式選擇控制字的標識位。
D6、D5位決定A端口的工作方式。
D4位決定A端口工作在輸入還是輸出方式。
D3位決定C端口高4位PC7~PC4是作為輸入端口,還是作為輸出端口。
D2位用來選擇B端口的工作方式。
D1位決定B端口作為輸入還是輸出端口。
D0位決定C端口低4位PC3~PC0作出為輸入,還是輸出。
C口復位字
在8255A芯片初始化時,C端口置1/置0控制字可以單獨設置C端口的某一位為0或某一位為1�?刂谱值腄7位為“0”時,是C端口置1/置0控制字中的標識位,這個控制字只對C口起作用,任何一位都可以通過按位置位/復位控制字來設置。
注意:對C口的置位/復位控制不是把控制字送到C口,而是由控制口決定各位的狀態(tài),是把控制字送到控制口
工作方式
3種工作方式可用軟件編程對控制口設置來指定。三種基本的工作方式為: 方式0-基本的輸入輸出,方式1-選通輸入輸出方式, 方式2-雙向傳送方式。
1) 工作方式0(基本輸入輸出方式)
功能:方式0不使用聯(lián)絡信號,也不使用中斷,A口和B口可定義為輸入或輸出口,C口分成兩個部分(高四位和低四位),C口的兩個部分也可分別定義為輸入或輸出。在方式0,所有口輸出均有鎖存,輸入只有緩沖,無鎖存,C口還具有按位將其各位清0或置1的功能。常用于與外設無條件的數(shù)據(jù)傳送或接收外設的數(shù)據(jù)。
2) 工作方式1(選通輸入輸出方式)
A口借用C口的一些信號線用作控制和狀態(tài)信號,組成A組,B口借用C口的一些信號線用作控制和狀態(tài)信號,組成B組。在方式1下,C口的某些位被占用。
方式1的輸出:當A口工作于方式1且用作輸出口時,C口的PC7線用作輸出緩沖器滿OBF信號,PC6用作外設收到數(shù)據(jù)后的響應信號ACK,PC3用作中斷請求輸出信號線INTR。
當B口工作于方式l且用作輸出口時,C口的PC1線用作輸出緩沖器滿OBF信號,PC2用作外設收到數(shù)據(jù)后的響應信號ACK,PC0用作中斷請求輸出信號線INTR。
3) 工作方式2 (雙向輸入輸出方式)
功能:方式2是A組獨有的工作方式。外設既能在A口的8條引線上發(fā)送數(shù)據(jù),又能接收數(shù)據(jù)。此方式也是借用C口的5條信號線作控制和狀態(tài)線,A口的輸入和輸出均帶有鎖存。
8255的工作方式如下
A方式0、輸入,B方式1、輸出,C7-4輸出, C3-0輸入
控制字為95H,初始化程序:
MOV AL,95H
OUT port,AL
維庫電子通,電子知識,一查百通!
已收錄詞條128773個