版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第八章并行接口及可編程接口芯片8255A第八章并行接口及可編程接口芯片8255A學(xué)習(xí)目標(biāo)理解Intel系列的8255A接口芯片的工作原理了解可編程并行接口芯片8255A的結(jié)構(gòu)與功能;理解可編程并行接口芯片8255A的三種工作方式;重點(diǎn)掌握可編程并行接口芯片8255A的初始化編程方法;學(xué)習(xí)目標(biāo)理解Intel系列的8255A接口芯片的工作串行通信和并行通信可編程并行接口芯片8255A串行通信和并行通信
在計(jì)算機(jī)領(lǐng)域中有兩種數(shù)據(jù)通信方式:
串行傳送和并行傳送并行傳送:數(shù)據(jù)在多條并行1位寬的傳輸線上同時(shí)由源傳送到目的。以1字節(jié)的數(shù)據(jù)為例,在并行傳送中,1字節(jié)的數(shù)據(jù)通過8條并行傳輸線同時(shí)由源傳送到目的。串行傳送:數(shù)據(jù)在單條1位寬的傳輸線上,一位一位地按順序分時(shí)傳送。以1字節(jié)為例,在串行傳送中,1字節(jié)的數(shù)據(jù)要通過一條傳輸線分8次由低位到高位按順序一位一位地傳送。源目的0
11
0
1
0
1
0源目的在計(jì)算機(jī)領(lǐng)域中有兩種數(shù)據(jù)通信方式:源目的01[計(jì)算機(jī)硬件及網(wǎng)絡(luò)]并行接口及可編程接口芯片8255A課件串行通信和并行通信比較距離:并行——近距離傳送(通常小于30米)
串行——遠(yuǎn)距離傳送(幾米~數(shù)千公里)速度:二者的傳送速率與距離成反比,但在短距離內(nèi)并行快得多。設(shè)備費(fèi)用:隨著大規(guī)模和超大規(guī)模集成電路的發(fā)展、邏輯器件價(jià)格趨低,而通信線路費(fèi)用趨高,因此對遠(yuǎn)距離通信而言,串行通信的費(fèi)用顯然會低得多。另一方面串行通信還可利用現(xiàn)有的電話網(wǎng)絡(luò)來實(shí)現(xiàn)遠(yuǎn)程通信,降低了通信費(fèi)用。串行通信和并行通信比較串行通信和并行通信可編程并行接口芯片8255A串行通信和并行通信概述
Intel8255A是一種通用的可編程序并行I/O接口芯片,又稱“可編程外設(shè)接口芯片”,是為Intel8080/8085系列微處理據(jù)設(shè)計(jì)的,也可用于其它系列的微機(jī)系統(tǒng)??捎沙绦騺砀淖兤涔δ埽ㄓ眯詮?qiáng)、使用靈活。通過8255A,CPU可直接同外設(shè)相連接,是應(yīng)用最廣的并行I/O接口芯片。含3個(gè)獨(dú)立的8位并行輸入/輸出端口,各端口均具有數(shù)據(jù)的控制和鎖存能力。可通過編程設(shè)置各端口的工作方式和數(shù)據(jù)傳送方向(入/出/雙向)。概述圖8-98255A的結(jié)構(gòu)框圖①②③③④內(nèi)部邏輯外設(shè)接口CPU接口圖8-98255A的結(jié)構(gòu)框圖①②③③④內(nèi)部邏輯外設(shè)接口C8255A的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器:三態(tài)8位雙向緩沖器,與系統(tǒng)數(shù)據(jù)總線連接的緩沖部件;傳送數(shù)據(jù)、控制字、狀態(tài)字的通道。3個(gè)8位數(shù)據(jù)端口(PA、PB、PC):通常PA口與PB口用作輸入輸出的數(shù)據(jù)端口,PC口用作數(shù)據(jù)傳輸或提供聯(lián)絡(luò)線的端口。在方式字的控制下,PC口可以分成兩個(gè)4位的端口,其中PC7~PC4同端口A配合使用,PC3~PC0同端口B配合使用。A組、B組控制電路:這兩組控制電路根據(jù)CPU發(fā)出的方式選擇控制字來控制8255A的工作方式,每個(gè)控制組都接收來自讀寫控制邏輯的“命令”,接收來自內(nèi)部數(shù)據(jù)總線的“控制字”,并向與其相連的端口發(fā)出適當(dāng)?shù)目刂菩盘枴組控制電路控制PA口和PC口高4位,B組控制電路控制PB口和PC口低4位。讀/寫控制邏輯:用來管理數(shù)據(jù)、控制字和狀態(tài)字的傳送,接收系統(tǒng)總線發(fā)來的有關(guān)信號,并向A、B兩組控制部件發(fā)送命令。8255A的內(nèi)部結(jié)構(gòu)8255A的引腳功能
DIP封裝,共40個(gè)引腳。1.連接系統(tǒng)總線的主要引腳D0~D7:數(shù)據(jù)線,雙向,連CPU數(shù)據(jù)總線;RESET:復(fù)位輸入,接系統(tǒng)總線的RESET;CS:片選控制輸入,接譯碼器;RD*:讀命令輸入,接CPU的RD*或IOR*;WR*:寫命令輸入,接CPU的WR*或IOW*;A0,A1:片內(nèi)端口地址輸入,可選4個(gè)片內(nèi)端口。接AB的任2位。8255A的引腳功能8255A的引腳功能A1、A0端口選擇情況,見右表
由CS*、A1、A0、RD*、WR*引腳的不同組合,實(shí)現(xiàn)各種不同的功能。見下表:A1A0端口00011011ABC控制口CSA1A0RDWR功
能0
000
1對端口A讀0
0101對端口B讀01001對端口C讀01非法,不能對控制口讀輸入0對端口A寫0對端口B寫0對端口C寫0對控制口寫輸出1
×
×
×
×
×
×
×
1
1數(shù)據(jù)緩沖器為三態(tài)斷開01111110000010100118255A的引腳功能A1A0端口00ACS8255A的引腳功能2.連接外設(shè)端的引腳PA0~PA7:A口外設(shè)數(shù)據(jù)線,接外設(shè);PB0~PB7:B口外設(shè)數(shù)據(jù)線,接外設(shè);PC0~PC7:C口外設(shè)數(shù)據(jù)線或聯(lián)絡(luò)線,接外設(shè)。8255A的引腳功能8255A與系統(tǒng)的連接示意圖
D0~D7WRRDA1A0CSDBIOWIORA2A1譯碼器8255A口B口C口D0~D7外設(shè)1A15~A2系統(tǒng)總線外設(shè)2外設(shè)38255A與系統(tǒng)的連接示意圖D0~D7WRRDA1A0CSD8255A的工作方式①工作方式0—基本輸入輸出工作方式.A,B,C端口都可以作為輸入或輸出數(shù)據(jù)端口,以無條件傳送方式進(jìn)行輸入輸出操作.②工作方式1—應(yīng)答式單向輸入輸出工作方式.A,B端口作為輸入或輸出數(shù)據(jù)端口,C口分為兩組分別作為A口和B口的應(yīng)答聯(lián)絡(luò)線.③工作方式2—應(yīng)答式雙向輸入輸出工作方式只有A口可以工作于方式2,可以雙向操作,即可以輸入也可以輸出數(shù)據(jù),C口作為應(yīng)答信號.④位操作工作方式只有C口可以進(jìn)行位操作.
某端口工作于哪一種方式,可通過軟件編程來指定。即向8255寫入方式控制字來決定其工作方式。8255A的工作方式8255A的工作方式——方式0(基本輸入方式)INAL,PORT①外設(shè)將數(shù)據(jù)送到8255輸入緩沖器中;②CPU給出有效的8255地址;③CPU發(fā)讀命令,將8255A輸入緩沖器中數(shù)據(jù)讀入CPU的AL寄存器中。輸入緩沖器譯碼器數(shù)據(jù)DBAB外設(shè)8n8255A的工作方式——方式0(基本輸入方式)輸入緩沖器譯碼8255A的工作方式——方式0(基本輸出方式)OUTPORT,AL①CPU給出有效的8255地址;②CPU發(fā)寫命令,將CPU的AL寄存器中數(shù)據(jù)寫入8255A輸出鎖存器中。輸出鎖存器譯碼器數(shù)據(jù)DBAB外設(shè)8n8255A的工作方式——方式0(基本輸出方式)輸出鎖存器譯碼8255A的工作方式——方式1(選通工作方式)
利用一組選通控制信號控制A端口和B端口的數(shù)據(jù)輸入輸出。特點(diǎn):
A、B口作輸入或輸出口,C口分為兩部分,其部分位(6位)固定用作A口、B口的選通控制信號。C口的剩余位仍可作數(shù)據(jù)位使用。A口、B口在作為輸入和輸出時(shí)的選通信號不同。方式1的應(yīng)用:主要用于中斷控制方式下的輸入輸出。說明:C口除部分位用作選通信號外,其余位(2位)可工作在方式0下,作為輸入或輸出線,用程序指定其數(shù)據(jù)傳送方向。8255A的工作方式——方式1(選通工作方式)8255A的工作方式——方式1(選通工作方式)A、B口都設(shè)為方式1輸入
C口的聯(lián)絡(luò)信號:INTE——中斷允許,是否允許發(fā)出INTR請求。INTE=1和IBF為高電平時(shí),允許發(fā)出INTR請求。無引出。INTR——中斷請求,由8255A輸出。中斷允許時(shí),由STB*的后沿產(chǎn)生,向CPU請求中斷,讓CPU讀走輸入鎖存器中的數(shù)據(jù)。INTR信號由RD*的前沿清除。A組對應(yīng)PC3;B組對應(yīng)PC0。PA7~PA0PC4PC5PC3INTEA(PC4)IBFAINTRAD7~D0輸入設(shè)備(到CPU)PB7~PB0PC2PC1PC0INTEB(PC2)D7~D0IBFBINTRB輸入設(shè)備(到CPU)8255A的工作方式——方式1(選通工作方式)PA7~PA08255A的工作方式——方式1(選通工作方式)A、B口都設(shè)為方式1輸入
C口的聯(lián)絡(luò)信號:STB*——選通信號,由外設(shè)輸入。=0時(shí),將外設(shè)數(shù)據(jù)送入8255的輸入鎖存器。A組對應(yīng)PC4;B組對應(yīng)PC2。IBF——輸入鎖存器滿信號,由8255A輸出。=1時(shí)通知外設(shè)輸入的數(shù)據(jù)已寫入緩沖器,此時(shí)不能送下一個(gè)數(shù)據(jù)。此信號由STB*的前沿產(chǎn)生。CPU用IN指令取走數(shù)據(jù)后(RD*的后沿),此信號被清除。A組對應(yīng)PC5;B組對應(yīng)PC1。PA7~PA0PC4PC5PC3INTEA(PC4)IBFAINTRAD7~D0輸入設(shè)備(到CPU)PB7~PB0PC2PC1PC0INTEB(PC2)D7~D0IBFBINTRB輸入設(shè)備(到CPU)8255A的工作方式——方式1(選通工作方式)PA7~PA08255A的工作方式——方式1(選通工作方式)方式1輸入時(shí)序:
PB7~PB0PA7~PA0STBIBFINTRRD外設(shè)送來數(shù)據(jù)②③當(dāng)INTE=1時(shí)
①8255A的工作方式——方式1(選通工作方式)PB7~PB08255A的工作方式——方式1(選通工作方式)A、B口都設(shè)為方式1輸出
C口的聯(lián)絡(luò)信號:OBF*——輸出緩沖器滿信號,8255A輸出。=0時(shí)通知外設(shè)取走數(shù)據(jù)。A組對應(yīng)PC7;B組對應(yīng)PC1ACK*——響應(yīng)信號,外設(shè)輸入。=0時(shí)表示外設(shè)已從數(shù)據(jù)端口取走數(shù)據(jù)。此信號使OBF*變高。A組對應(yīng)PC6;B組對應(yīng)PC2。PA7~PA0PC7PC6PC3INTEA(PC6)INTRAD7~D0輸出設(shè)備(到CPU)PB7~PB0PC1PC2PC0INTEB(PC2)D7~D0INTRB輸出設(shè)備(到CPU)8255A的工作方式——方式1(選通工作方式)PA7~PA08255A的工作方式——方式1(選通工作方式)A、B口都設(shè)為方式1輸出
C口的聯(lián)絡(luò)信號:INTR——ACK*上升沿產(chǎn)生,8255輸出。=1時(shí)請求CPU輸出下一個(gè)數(shù)據(jù)(通常接到8259)。
A組對應(yīng)PC3;B組對應(yīng)PC0。INTE——中斷允許位,INTE=1和OBF*為高電平時(shí),允許產(chǎn)生INTR信號。無引出。PA7~PA0PC7PC6PC3INTEA(PC6)INTRAD7~D0輸出設(shè)備(到CPU)PB7~PB0PC1PC2PC0INTEB(PC2)D7~D0INTRB輸出設(shè)備(到CPU)8255A的工作方式——方式1(選通工作方式)PA7~PA08255A的工作方式——方式1(選通工作方式)方式1輸出時(shí)序:
①D7~D0送往外設(shè)數(shù)據(jù)數(shù)據(jù)寫入端口WROBFINTRACK②③當(dāng)INTE=1時(shí)
8255A的工作方式——方式1(選通工作方式)①D7~D0送8255A的工作方式——方式2(雙向選通傳送方式)特點(diǎn):雙向方式——既是輸入口,又是輸出口。利用C口的5條線提供傳輸聯(lián)絡(luò)信號。類似于A口方式1下輸入和輸出的組合。工作時(shí)輸入、輸出都能鎖存。只有A口可工作在方式2下。當(dāng)A組工作在方式2時(shí),B組可工作在方式0或方式1下。應(yīng)用:可用于中斷控制輸入輸出方式。也可用查詢方式與CPU聯(lián)系。當(dāng)A口工作于方式2時(shí),B口可工作于方式1(此時(shí)C口的剩余位剛好用作B口選通控制線);B口也可工作于方式0(此時(shí)C口的剩余位只能用作方式0下的輸入輸出線)。8255A的工作方式——方式2(雙向選通傳送方式)8255A的工作方式——方式2(雙向選通傳送方式)C口的聯(lián)絡(luò)信號:STB*——選通信號,由外
設(shè)輸入。=0時(shí),將外設(shè)數(shù)據(jù)
送入8255的輸入鎖存器。
對應(yīng)PC4。IBF——輸入鎖存器滿信號,
由8255A輸出。=1時(shí)通知外
設(shè)輸入的數(shù)據(jù)已寫入緩沖器,
此時(shí)不能送下一個(gè)數(shù)據(jù)。此
信號由STB*的前沿產(chǎn)生。
CPU用IN指令取走數(shù)據(jù)后
(RD*的后沿),此信號被
清除。對應(yīng)PC5。PA7~PA0PC6PC7D7~D0PC4PC5IBFAINTEA2INTEA1PC3INTRA8255A的工作方式——方式2(雙向選通傳送方式)PA7~P8255A的工作方式——方式2(雙向選通傳送方式)C口的聯(lián)絡(luò)信號:OBF*——輸出緩沖器滿信號,
8255A輸出。=0時(shí)通知外設(shè)取走數(shù)據(jù)。對應(yīng)PC7。ACK*——響應(yīng)信號,外設(shè)輸入。
=0時(shí)表示外設(shè)已從數(shù)據(jù)端口取走數(shù)據(jù)。此信號使OBF*變高。對應(yīng)PC6。INTR——輸入時(shí)由STB*的后沿
產(chǎn)生,輸出時(shí)由ACK*上升沿產(chǎn)生,8255輸出。=1提出中斷請求。A組對應(yīng)PC3。PA7~PA0PC6PC7D7~D0PC4PC5IBFAINTEA2(PC4)INTEA1(PC6)PC3INTRA8255A的工作方式——方式2(雙向選通傳送方式)PA7~P8255A的工作方式——方式2(雙向選通傳送方式)方式2的時(shí)序:PB7~PB0PA7~PA0STB*IBFRD*外設(shè)送來數(shù)據(jù)D7~D0送往外設(shè)數(shù)據(jù)數(shù)據(jù)寫入端口WR*OBF*INTRACK*當(dāng)INTE=1時(shí)
8255A的工作方式——方式2(雙向選通傳送方式)PB7~P8255A的初始化
8255A的各種工作方式由CPU對8255A寫入控制命令字來設(shè)定,這個(gè)過程稱為“初始化”。
8255A有2種控制命令字:
方式選擇控制字——確定3個(gè)端口的工作方式;
C口置位/復(fù)位控制字——確定C口某一位的初始狀態(tài)。兩個(gè)控制字的差別
工作方式控制字放在程序的開始部分;按位置位/復(fù)位控制字可放在初始化程序以后的任何地方。8255A的初始化兩個(gè)控制字的差別8255A的初始化——方式選擇控制字8255A的初始化——方式選擇控制字例題(工作方式控制字)
設(shè)某片8255A的端口地址是0060H~0063H,A口為方式0輸入,B口為方式1輸出,PC7~PC4為輸出,PC3~PC0為輸入,端口地址為0060H~0063H,初始化該8255A。解:方式選擇控制字=?返回例題(工作方式控制字)設(shè)某片8255A的端口地址是08255A的初始化——C口置位/復(fù)位控制字
位操作控制字例題8255A的初始化——C口置位/復(fù)位控制字
位操作控制字MOVAL,0C4HOUTCTRL_PORT,AL;設(shè)置工作方式MOVAL,09HOUTCTRL_PORT,AL;PC4置位,A口輸入允許中斷MOVAL,ODHOUTCTRL_PORT,AL;PC6置位,A口輸出允許中斷MOVAL,05HOUTCTRL_PORT,AL;PC2置位;B口輸出允許中斷【例】A口方式2,要求發(fā)兩個(gè)中斷允許,即PC4和PC6均需置位。B口方式1要求使PC2置位來開放中斷。初始化程序如下?!纠緼口方式2,要求發(fā)兩個(gè)中斷允許,即PC4和PC6均需例題(位操作控制字)若要從PC7輸出一個(gè)正脈沖(設(shè)原來PC7=0)。返回解:程序段如下MOVAL,00001111 ;使PC7為高電平OUTCTRL_PORT,AL;寫入控制端口MOVAL,00001110 ;使PC7為低電平OUTCTRL_PORT,AL;寫入控制端口例題(位操作控制字)若要從PC7輸出一個(gè)正脈沖(設(shè)原來PC7思考題:已知某8255A在系統(tǒng)中占用88H~8BH號端口地址,現(xiàn)欲安排其PA,PB,PC口全部為輸出,PA,PB口均工作于方式0模式,并將PC6置位,使PC3復(fù)位,試編寫出相應(yīng)的初始化程序。MOVAL,80HOUT8BH,ALMOVAL,ODHOUT8BH,ALMOVAL,06HOUT8BH,AL思考題:已知某8255A在系統(tǒng)中占用88H~8BH號端口地址8255A應(yīng)用舉例LED開關(guān)接口。8086CPU通過8255用開關(guān)與8段LED顯示器的接口如圖示。8255A的PA口加驅(qū)動器接LED顯示輸出;PB口低4位接開關(guān)輸入;PC口不用。8255A的A0、A1接地址總線的A1、A2,其端口地址為:0FFF8H、0FFFAH、0FFFCH、0FFFEH。要求:開關(guān)設(shè)置的二進(jìn)制信息由8255A的PB口輸入后,通過PA口輸出給8段LED顯示器,顯示開關(guān)狀態(tài)所對應(yīng)的十六進(jìn)制值,試編制其控制程序。譯碼器鎖存器8255A應(yīng)用舉例譯鎖(1)控制字的設(shè)置8255A的負(fù)載能力較小,PA輸出口加驅(qū)動。PA口設(shè)為方式0輸出,PB口設(shè)為方式0輸入。由于地址總線的A0位未用,則8255A的每個(gè)端口有兩個(gè)地址。通常使用A0=0的地址。則方式選擇控制字為:1000×01×B因未使用C口,故不需設(shè)置置位/復(fù)位控制字。(1)控制字的設(shè)置(2)開關(guān)狀態(tài)與LED顯示值關(guān)系開關(guān)Ki閉合,則PBi=0,否則PBi=1。PB3~PB0值與LED顯示值關(guān)系:PB3~PB0LED顯示PB3~PB0LED顯示00000100080001110019001021010a001131011b010041100b010151101d011061110e011171111f(2)開關(guān)狀態(tài)與LED顯示值關(guān)系PB3~PB0LED顯示PB8255A應(yīng)用舉例(3)PA口輸出值與LED顯示值間關(guān)系8段碼.gfedcba形狀LED顯示8段碼.gfedcba形狀LED顯示10001111’F’11111000’7’10000110’E’10000010’6’10100001’D’10010010’5’11000110’C’10011001’4’10000011’B’10110000’3’10001000’A’10100100’2’10011000’9’11111001’1’10000000’8’11000000’0’8255A應(yīng)用舉例8段碼形狀LED顯示8段碼形狀LED顯示18255A應(yīng)用舉例(4)PB口輸入值轉(zhuǎn)換成PA口輸出值方法將前述8段碼按0~F順序連續(xù)存放于內(nèi)存中;將PB3~PB0對應(yīng)值置于AL中;執(zhí)行換碼指令XLAT。指令執(zhí)行:(AL+BX)→AL
8255初始化B口輸入開關(guān)信息屏蔽B口信息的高4位轉(zhuǎn)換成8位進(jìn)制數(shù)經(jīng)A口輸出延時(shí)8255A應(yīng)用舉例8255初始化B口輸入開關(guān)信息屏蔽B口信息DELAY:8255初始化B口輸入開關(guān)信息屏蔽B口信息的高4位轉(zhuǎn)換成8位進(jìn)制數(shù)經(jīng)A口輸出延時(shí)ORG2000H;定位程序的段內(nèi)地址
MOVAL,82H;82H=10000010BMOVDX,0FFFEH;設(shè)控制口地址
OUTDX,AL;寫方式控制字MOVDL,0FAH;設(shè)PB口地址
INAL,DX;讀開關(guān)狀態(tài)
ANDAL,0FH;屏蔽掉無用的高4位
MOVBX,OFFSETSSEGCODEXLAT;查表取段選碼
MOVDL,0F8H;設(shè)PA口地址
OUTDX,AL;開關(guān)值段選碼輸出顯示
MOVAX,56CH;顯示延時(shí)
DECAXJNZDELAY
JMPRDPORTB;循環(huán)讀開關(guān)新狀態(tài)
HLT
ORG2500H;定位段選碼表的段內(nèi)地址
SSEGCODEDB0C0H,0F9H,0A4H,0B0H,99H,92H,82H;段碼表
DB0F8H,80H,98H,88H,83H,0C6H,0A1H,86H,8EHRDPORTB:DELAY:8255初始化B口輸入開關(guān)信息屏蔽B口信息的高4可編程并行接口芯片??删幊滩⑿薪涌谛酒?255A的結(jié)構(gòu)與功能,要求達(dá)到“領(lǐng)會”層次。可編程并行接口芯片8255A的三種工作方式與初始化編程,要求達(dá)到“簡單應(yīng)用”層次??删幊滩⑿薪涌谛酒?255A的應(yīng)用,要求達(dá)到“綜合應(yīng)用”層次。可編程并行接口芯片。第八章并行接口及可編程接口芯片8255A第八章并行接口及可編程接口芯片8255A學(xué)習(xí)目標(biāo)理解Intel系列的8255A接口芯片的工作原理了解可編程并行接口芯片8255A的結(jié)構(gòu)與功能;理解可編程并行接口芯片8255A的三種工作方式;重點(diǎn)掌握可編程并行接口芯片8255A的初始化編程方法;學(xué)習(xí)目標(biāo)理解Intel系列的8255A接口芯片的工作串行通信和并行通信可編程并行接口芯片8255A串行通信和并行通信
在計(jì)算機(jī)領(lǐng)域中有兩種數(shù)據(jù)通信方式:
串行傳送和并行傳送并行傳送:數(shù)據(jù)在多條并行1位寬的傳輸線上同時(shí)由源傳送到目的。以1字節(jié)的數(shù)據(jù)為例,在并行傳送中,1字節(jié)的數(shù)據(jù)通過8條并行傳輸線同時(shí)由源傳送到目的。串行傳送:數(shù)據(jù)在單條1位寬的傳輸線上,一位一位地按順序分時(shí)傳送。以1字節(jié)為例,在串行傳送中,1字節(jié)的數(shù)據(jù)要通過一條傳輸線分8次由低位到高位按順序一位一位地傳送。源目的0
11
0
1
0
1
0源目的在計(jì)算機(jī)領(lǐng)域中有兩種數(shù)據(jù)通信方式:源目的01[計(jì)算機(jī)硬件及網(wǎng)絡(luò)]并行接口及可編程接口芯片8255A課件串行通信和并行通信比較距離:并行——近距離傳送(通常小于30米)
串行——遠(yuǎn)距離傳送(幾米~數(shù)千公里)速度:二者的傳送速率與距離成反比,但在短距離內(nèi)并行快得多。設(shè)備費(fèi)用:隨著大規(guī)模和超大規(guī)模集成電路的發(fā)展、邏輯器件價(jià)格趨低,而通信線路費(fèi)用趨高,因此對遠(yuǎn)距離通信而言,串行通信的費(fèi)用顯然會低得多。另一方面串行通信還可利用現(xiàn)有的電話網(wǎng)絡(luò)來實(shí)現(xiàn)遠(yuǎn)程通信,降低了通信費(fèi)用。串行通信和并行通信比較串行通信和并行通信可編程并行接口芯片8255A串行通信和并行通信概述
Intel8255A是一種通用的可編程序并行I/O接口芯片,又稱“可編程外設(shè)接口芯片”,是為Intel8080/8085系列微處理據(jù)設(shè)計(jì)的,也可用于其它系列的微機(jī)系統(tǒng)。可由程序來改變其功能,通用性強(qiáng)、使用靈活。通過8255A,CPU可直接同外設(shè)相連接,是應(yīng)用最廣的并行I/O接口芯片。含3個(gè)獨(dú)立的8位并行輸入/輸出端口,各端口均具有數(shù)據(jù)的控制和鎖存能力。可通過編程設(shè)置各端口的工作方式和數(shù)據(jù)傳送方向(入/出/雙向)。概述圖8-98255A的結(jié)構(gòu)框圖①②③③④內(nèi)部邏輯外設(shè)接口CPU接口圖8-98255A的結(jié)構(gòu)框圖①②③③④內(nèi)部邏輯外設(shè)接口C8255A的內(nèi)部結(jié)構(gòu)數(shù)據(jù)總線緩沖器:三態(tài)8位雙向緩沖器,與系統(tǒng)數(shù)據(jù)總線連接的緩沖部件;傳送數(shù)據(jù)、控制字、狀態(tài)字的通道。3個(gè)8位數(shù)據(jù)端口(PA、PB、PC):通常PA口與PB口用作輸入輸出的數(shù)據(jù)端口,PC口用作數(shù)據(jù)傳輸或提供聯(lián)絡(luò)線的端口。在方式字的控制下,PC口可以分成兩個(gè)4位的端口,其中PC7~PC4同端口A配合使用,PC3~PC0同端口B配合使用。A組、B組控制電路:這兩組控制電路根據(jù)CPU發(fā)出的方式選擇控制字來控制8255A的工作方式,每個(gè)控制組都接收來自讀寫控制邏輯的“命令”,接收來自內(nèi)部數(shù)據(jù)總線的“控制字”,并向與其相連的端口發(fā)出適當(dāng)?shù)目刂菩盘枴組控制電路控制PA口和PC口高4位,B組控制電路控制PB口和PC口低4位。讀/寫控制邏輯:用來管理數(shù)據(jù)、控制字和狀態(tài)字的傳送,接收系統(tǒng)總線發(fā)來的有關(guān)信號,并向A、B兩組控制部件發(fā)送命令。8255A的內(nèi)部結(jié)構(gòu)8255A的引腳功能
DIP封裝,共40個(gè)引腳。1.連接系統(tǒng)總線的主要引腳D0~D7:數(shù)據(jù)線,雙向,連CPU數(shù)據(jù)總線;RESET:復(fù)位輸入,接系統(tǒng)總線的RESET;CS:片選控制輸入,接譯碼器;RD*:讀命令輸入,接CPU的RD*或IOR*;WR*:寫命令輸入,接CPU的WR*或IOW*;A0,A1:片內(nèi)端口地址輸入,可選4個(gè)片內(nèi)端口。接AB的任2位。8255A的引腳功能8255A的引腳功能A1、A0端口選擇情況,見右表
由CS*、A1、A0、RD*、WR*引腳的不同組合,實(shí)現(xiàn)各種不同的功能。見下表:A1A0端口00011011ABC控制口CSA1A0RDWR功
能0
000
1對端口A讀0
0101對端口B讀01001對端口C讀01非法,不能對控制口讀輸入0對端口A寫0對端口B寫0對端口C寫0對控制口寫輸出1
×
×
×
×
×
×
×
1
1數(shù)據(jù)緩沖器為三態(tài)斷開01111110000010100118255A的引腳功能A1A0端口00ACS8255A的引腳功能2.連接外設(shè)端的引腳PA0~PA7:A口外設(shè)數(shù)據(jù)線,接外設(shè);PB0~PB7:B口外設(shè)數(shù)據(jù)線,接外設(shè);PC0~PC7:C口外設(shè)數(shù)據(jù)線或聯(lián)絡(luò)線,接外設(shè)。8255A的引腳功能8255A與系統(tǒng)的連接示意圖
D0~D7WRRDA1A0CSDBIOWIORA2A1譯碼器8255A口B口C口D0~D7外設(shè)1A15~A2系統(tǒng)總線外設(shè)2外設(shè)38255A與系統(tǒng)的連接示意圖D0~D7WRRDA1A0CSD8255A的工作方式①工作方式0—基本輸入輸出工作方式.A,B,C端口都可以作為輸入或輸出數(shù)據(jù)端口,以無條件傳送方式進(jìn)行輸入輸出操作.②工作方式1—應(yīng)答式單向輸入輸出工作方式.A,B端口作為輸入或輸出數(shù)據(jù)端口,C口分為兩組分別作為A口和B口的應(yīng)答聯(lián)絡(luò)線.③工作方式2—應(yīng)答式雙向輸入輸出工作方式只有A口可以工作于方式2,可以雙向操作,即可以輸入也可以輸出數(shù)據(jù),C口作為應(yīng)答信號.④位操作工作方式只有C口可以進(jìn)行位操作.
某端口工作于哪一種方式,可通過軟件編程來指定。即向8255寫入方式控制字來決定其工作方式。8255A的工作方式8255A的工作方式——方式0(基本輸入方式)INAL,PORT①外設(shè)將數(shù)據(jù)送到8255輸入緩沖器中;②CPU給出有效的8255地址;③CPU發(fā)讀命令,將8255A輸入緩沖器中數(shù)據(jù)讀入CPU的AL寄存器中。輸入緩沖器譯碼器數(shù)據(jù)DBAB外設(shè)8n8255A的工作方式——方式0(基本輸入方式)輸入緩沖器譯碼8255A的工作方式——方式0(基本輸出方式)OUTPORT,AL①CPU給出有效的8255地址;②CPU發(fā)寫命令,將CPU的AL寄存器中數(shù)據(jù)寫入8255A輸出鎖存器中。輸出鎖存器譯碼器數(shù)據(jù)DBAB外設(shè)8n8255A的工作方式——方式0(基本輸出方式)輸出鎖存器譯碼8255A的工作方式——方式1(選通工作方式)
利用一組選通控制信號控制A端口和B端口的數(shù)據(jù)輸入輸出。特點(diǎn):
A、B口作輸入或輸出口,C口分為兩部分,其部分位(6位)固定用作A口、B口的選通控制信號。C口的剩余位仍可作數(shù)據(jù)位使用。A口、B口在作為輸入和輸出時(shí)的選通信號不同。方式1的應(yīng)用:主要用于中斷控制方式下的輸入輸出。說明:C口除部分位用作選通信號外,其余位(2位)可工作在方式0下,作為輸入或輸出線,用程序指定其數(shù)據(jù)傳送方向。8255A的工作方式——方式1(選通工作方式)8255A的工作方式——方式1(選通工作方式)A、B口都設(shè)為方式1輸入
C口的聯(lián)絡(luò)信號:INTE——中斷允許,是否允許發(fā)出INTR請求。INTE=1和IBF為高電平時(shí),允許發(fā)出INTR請求。無引出。INTR——中斷請求,由8255A輸出。中斷允許時(shí),由STB*的后沿產(chǎn)生,向CPU請求中斷,讓CPU讀走輸入鎖存器中的數(shù)據(jù)。INTR信號由RD*的前沿清除。A組對應(yīng)PC3;B組對應(yīng)PC0。PA7~PA0PC4PC5PC3INTEA(PC4)IBFAINTRAD7~D0輸入設(shè)備(到CPU)PB7~PB0PC2PC1PC0INTEB(PC2)D7~D0IBFBINTRB輸入設(shè)備(到CPU)8255A的工作方式——方式1(選通工作方式)PA7~PA08255A的工作方式——方式1(選通工作方式)A、B口都設(shè)為方式1輸入
C口的聯(lián)絡(luò)信號:STB*——選通信號,由外設(shè)輸入。=0時(shí),將外設(shè)數(shù)據(jù)送入8255的輸入鎖存器。A組對應(yīng)PC4;B組對應(yīng)PC2。IBF——輸入鎖存器滿信號,由8255A輸出。=1時(shí)通知外設(shè)輸入的數(shù)據(jù)已寫入緩沖器,此時(shí)不能送下一個(gè)數(shù)據(jù)。此信號由STB*的前沿產(chǎn)生。CPU用IN指令取走數(shù)據(jù)后(RD*的后沿),此信號被清除。A組對應(yīng)PC5;B組對應(yīng)PC1。PA7~PA0PC4PC5PC3INTEA(PC4)IBFAINTRAD7~D0輸入設(shè)備(到CPU)PB7~PB0PC2PC1PC0INTEB(PC2)D7~D0IBFBINTRB輸入設(shè)備(到CPU)8255A的工作方式——方式1(選通工作方式)PA7~PA08255A的工作方式——方式1(選通工作方式)方式1輸入時(shí)序:
PB7~PB0PA7~PA0STBIBFINTRRD外設(shè)送來數(shù)據(jù)②③當(dāng)INTE=1時(shí)
①8255A的工作方式——方式1(選通工作方式)PB7~PB08255A的工作方式——方式1(選通工作方式)A、B口都設(shè)為方式1輸出
C口的聯(lián)絡(luò)信號:OBF*——輸出緩沖器滿信號,8255A輸出。=0時(shí)通知外設(shè)取走數(shù)據(jù)。A組對應(yīng)PC7;B組對應(yīng)PC1ACK*——響應(yīng)信號,外設(shè)輸入。=0時(shí)表示外設(shè)已從數(shù)據(jù)端口取走數(shù)據(jù)。此信號使OBF*變高。A組對應(yīng)PC6;B組對應(yīng)PC2。PA7~PA0PC7PC6PC3INTEA(PC6)INTRAD7~D0輸出設(shè)備(到CPU)PB7~PB0PC1PC2PC0INTEB(PC2)D7~D0INTRB輸出設(shè)備(到CPU)8255A的工作方式——方式1(選通工作方式)PA7~PA08255A的工作方式——方式1(選通工作方式)A、B口都設(shè)為方式1輸出
C口的聯(lián)絡(luò)信號:INTR——ACK*上升沿產(chǎn)生,8255輸出。=1時(shí)請求CPU輸出下一個(gè)數(shù)據(jù)(通常接到8259)。
A組對應(yīng)PC3;B組對應(yīng)PC0。INTE——中斷允許位,INTE=1和OBF*為高電平時(shí),允許產(chǎn)生INTR信號。無引出。PA7~PA0PC7PC6PC3INTEA(PC6)INTRAD7~D0輸出設(shè)備(到CPU)PB7~PB0PC1PC2PC0INTEB(PC2)D7~D0INTRB輸出設(shè)備(到CPU)8255A的工作方式——方式1(選通工作方式)PA7~PA08255A的工作方式——方式1(選通工作方式)方式1輸出時(shí)序:
①D7~D0送往外設(shè)數(shù)據(jù)數(shù)據(jù)寫入端口WROBFINTRACK②③當(dāng)INTE=1時(shí)
8255A的工作方式——方式1(選通工作方式)①D7~D0送8255A的工作方式——方式2(雙向選通傳送方式)特點(diǎn):雙向方式——既是輸入口,又是輸出口。利用C口的5條線提供傳輸聯(lián)絡(luò)信號。類似于A口方式1下輸入和輸出的組合。工作時(shí)輸入、輸出都能鎖存。只有A口可工作在方式2下。當(dāng)A組工作在方式2時(shí),B組可工作在方式0或方式1下。應(yīng)用:可用于中斷控制輸入輸出方式。也可用查詢方式與CPU聯(lián)系。當(dāng)A口工作于方式2時(shí),B口可工作于方式1(此時(shí)C口的剩余位剛好用作B口選通控制線);B口也可工作于方式0(此時(shí)C口的剩余位只能用作方式0下的輸入輸出線)。8255A的工作方式——方式2(雙向選通傳送方式)8255A的工作方式——方式2(雙向選通傳送方式)C口的聯(lián)絡(luò)信號:STB*——選通信號,由外
設(shè)輸入。=0時(shí),將外設(shè)數(shù)據(jù)
送入8255的輸入鎖存器。
對應(yīng)PC4。IBF——輸入鎖存器滿信號,
由8255A輸出。=1時(shí)通知外
設(shè)輸入的數(shù)據(jù)已寫入緩沖器,
此時(shí)不能送下一個(gè)數(shù)據(jù)。此
信號由STB*的前沿產(chǎn)生。
CPU用IN指令取走數(shù)據(jù)后
(RD*的后沿),此信號被
清除。對應(yīng)PC5。PA7~PA0PC6PC7D7~D0PC4PC5IBFAINTEA2INTEA1PC3INTRA8255A的工作方式——方式2(雙向選通傳送方式)PA7~P8255A的工作方式——方式2(雙向選通傳送方式)C口的聯(lián)絡(luò)信號:OBF*——輸出緩沖器滿信號,
8255A輸出。=0時(shí)通知外設(shè)取走數(shù)據(jù)。對應(yīng)PC7。ACK*——響應(yīng)信號,外設(shè)輸入。
=0時(shí)表示外設(shè)已從數(shù)據(jù)端口取走數(shù)據(jù)。此信號使OBF*變高。對應(yīng)PC6。INTR——輸入時(shí)由STB*的后沿
產(chǎn)生,輸出時(shí)由ACK*上升沿產(chǎn)生,8255輸出。=1提出中斷請求。A組對應(yīng)PC3。PA7~PA0PC6PC7D7~D0PC4PC5IBFAINTEA2(PC4)INTEA1(PC6)PC3INTRA8255A的工作方式——方式2(雙向選通傳送方式)PA7~P8255A的工作方式——方式2(雙向選通傳送方式)方式2的時(shí)序:PB7~PB0PA7~PA0STB*IBFRD*外設(shè)送來數(shù)據(jù)D7~D0送往外設(shè)數(shù)據(jù)數(shù)據(jù)寫入端口WR*OBF*INTRACK*當(dāng)INTE=1時(shí)
8255A的工作方式——方式2(雙向選通傳送方式)PB7~P8255A的初始化
8255A的各種工作方式由CPU對8255A寫入控制命令字來設(shè)定,這個(gè)過程稱為“初始化”。
8255A有2種控制命令字:
方式選擇控制字——確定3個(gè)端口的工作方式;
C口置位/復(fù)位控制字——確定C口某一位的初始狀態(tài)。兩個(gè)控制字的差別
工作方式控制字放在程序的開始部分;按位置位/復(fù)位控制字可放在初始化程序以后的任何地方。8255A的初始化兩個(gè)控制字的差別8255A的初始化——方式選擇控制字8255A的初始化——方式選擇控制字例題(工作方式控制字)
設(shè)某片8255A的端口地址是0060H~0063H,A口為方式0輸入,B口為方式1輸出,PC7~PC4為輸出,PC3~PC0為輸入,端口地址為0060H~0063H,初始化該8255A。解:方式選擇控制字=?返回例題(工作方式控制字)設(shè)某片8255A的端口地址是08255A的初始化——C口置位/復(fù)位控制字
位操作控制字例題8255A的初始化——C口置位/復(fù)位控制字
位操作控制字MOVAL,0C4HOUTCTRL_PORT,AL;設(shè)置工作方式MOVAL,09HOUTCTRL_PORT,AL;PC4置位,A口輸入允許中斷MOVAL,ODHOUTCTRL_PORT,AL;PC6置位,A口輸出允許中斷MOVAL,05HOUTCTRL_PORT,AL;PC2置位;B口輸出允許中斷【例】A口方式2,要求發(fā)兩個(gè)中斷允許,即PC4和PC6均需置位。B口方式1要求使PC2置位來開放中斷。初始化程序如下?!纠緼口方式2,要求發(fā)兩個(gè)中斷允許,即PC4和PC6均需例題(位操作控制字)若要從PC7輸出一個(gè)正脈沖(設(shè)原來PC7=0)。返回解:程序段如下MOVAL,00001111 ;使PC7為高電平OUTCTRL_PORT,AL;寫入控制端口MOVAL,00001110 ;使PC7為低電平OUTCTRL_PORT,AL;寫入控制端口例題(位操作控制字)若要從PC7輸出一個(gè)正脈沖(設(shè)原來PC7思考題:已知某8255A在系統(tǒng)中占用88H~8BH號端口地址,現(xiàn)欲安排其PA,PB,PC口全部為輸出,PA,PB口均工作于方式0模式,并將PC6置位,使PC3復(fù)位,試編寫出相應(yīng)的初始化程序。MOVAL,80HOUT8BH,ALMOVAL,ODHOUT8BH,ALMOVAL,06HOUT8BH,AL思考題:已知某8255A在系統(tǒng)中占用88H~8BH號端口地址8255A應(yīng)用舉例LED開關(guān)接口。8086CPU通過8255用開關(guān)與8段LED顯示器的接口如圖示。8255A的PA口加驅(qū)動器接LED顯示輸出;PB口低4位接開關(guān)輸入;PC口不用。8255A的A0、A1接地址總線的A1、A2,其端口地址為:0FFF8H、0FFFAH、0FFFCH、0FFFEH。要求:開關(guān)設(shè)置的二進(jìn)制信息由825
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 沈陽理工大學(xué)《計(jì)算機(jī)網(wǎng)絡(luò)》2021-2022學(xué)年期末試卷
- 沈陽理工大學(xué)《工藝美術(shù)設(shè)計(jì)》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽理工大學(xué)《單片機(jī)接口技術(shù)》2023-2024學(xué)年期末試卷
- 合同編通則與新公司法銀行業(yè)務(wù)
- 2024標(biāo)準(zhǔn)幼師聘用合同范本
- 期末復(fù)習(xí)檢測提升卷九 -2022-2023學(xué)年語文五年級上冊(部編版)
- 2024小產(chǎn)權(quán)房屋買賣合同協(xié)議書樣本
- 2024貨物采購合同范本
- 2024快遞承包合同,快遞承包協(xié)議
- 2024中學(xué)門衛(wèi)勞動合同范本
- 12J5-1 平屋面建筑標(biāo)準(zhǔn)設(shè)計(jì)圖
- 中印邊境爭端
- 薩提亞模式家庭治療課件
- 《墨梅》課件(省一等獎(jiǎng))
- 招聘與錄用期末考試卷及答案AB卷2套
- 三美術(shù)上冊第16課新穎的電腦課件1新人教版
- 實(shí)驗(yàn)室基本技能培訓(xùn)課件
- 如何申報(bào)科研項(xiàng)目 課件
- 李子栽培管理技術(shù)-課件
- 物理聽課記錄物理聽課記錄及評析范文(3篇)
- 超星學(xué)習(xí)通爾雅《人工智能》答案
評論
0/150
提交評論