版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、微機原理與接口技術(shù)第節(jié) 并行接口教學重點 8255A芯片 8255A工作方式 8255A編程及應(yīng)用8.5.1 并行數(shù)據(jù)傳輸方式以計算機的字長,通常是8位、16位或32位為傳輸單位,一次傳送一個字長的數(shù)據(jù)適合于外部設(shè)備與微機之間進行近距離、大量和快速的信息交換微機系統(tǒng)中最基本的信息交換方法并行接口的“并行”含義不是指接口與系統(tǒng)總線一側(cè)的并行數(shù)據(jù),而是指接口與I/O設(shè)備或控制對象一側(cè)的并行數(shù)據(jù)線。串行數(shù)據(jù)傳輸方式按位傳送,只在一、二根通信線路上傳送傳送速率低、可靠性差但可大大降低通信線路的成本主要用于遠距離通信8.5.2 可編程并行接口芯片 8255A基本特性具有多種功能的可編程并行接口電路芯片最
2、基本的接口電路:三態(tài)緩沖器和鎖存器CPU與接口電路、接口電路與外設(shè)間的信息交換:狀態(tài)寄存器和控制寄存器還有端口的譯碼和控制電路、中斷控制電路共40個引腳,其中24個外設(shè)引腳: 分3個端口:A口、B口、C口(3個8位并行數(shù)據(jù)輸入/輸出口,通過編程設(shè)置3個口作為輸入口還是輸出口) 共3種輸入輸出工作方式 方式0基本輸入/輸出 方式1選通輸入/輸出 方式2雙向選通輸入輸出2組控制:A組控制、B組控制(C口的部分信號線被分配作為專用的聯(lián)絡(luò)應(yīng)答信號線)1. 8255A引腳 8255A的內(nèi)部結(jié)構(gòu)和引腳數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部
3、讀寫控制邏輯PC0PC3PB0PB7PC4PC7PA0PA7RDWRA0A1CSRESET(1)數(shù)據(jù)總線緩沖器三態(tài)雙向8位緩沖器,8255A與CPU系統(tǒng)數(shù)據(jù)總線的接口。所有數(shù)據(jù)的發(fā)送與接收,以及CPU發(fā)出的控制字和從8255A讀來的狀態(tài)信息都是從該緩沖器傳送的。(2)讀寫控制邏輯CS A1 A0I/O地址讀操作RD寫操作WR0 0 00 0 10 1 00 1 160H61H62H63H讀端口A讀端口B讀端口C非法寫端口A寫端口B寫端口C寫控制字D0 D7數(shù)據(jù)線A0 A1地址線CS片選信號RD讀信號WR寫信號RESET復位信號控制了總線的開放與關(guān)閉控制信息的傳輸方向(3)數(shù)據(jù)端口A、B、C端口
4、A:PA0 PA7A組,支持工作方式0、1、2端口B:PB0 PB7B組,支持工作方式0、1端口C:PC0 PC7僅支持工作方式0A組控制高4位PC4PC7B組控制低4位PC0PC3(3)外設(shè)數(shù)據(jù)端口(續(xù))端口A:PA0PA7常作數(shù)據(jù)端口,功能最強大端口B:PB0PB7常作數(shù)據(jù)端口端口C:PC0PC7可作數(shù)據(jù)、狀態(tài)和控制端口分兩個4位,每位可獨立操作控制最靈活,最難掌握(4)A組和B組控制電路控制A、B、C三個端口的工作方式A組控制A口和C口上半部(PC7PC4)B組控制B口和C口下半部(PC3PC0)A組、B組的控制字寄存器還接收按位控制命令,以實現(xiàn)對PC口的按位置位復位操作。2. 8255
5、A的工作方式方式0:基本輸入/輸出方式適用于無條件傳送和查詢方式的接口電路方式1:選通輸入/輸出方式適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式適用于雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路8255A的工作方式0基本輸入/輸出工作方式方式0下8255A的24條I/O線全部由用戶分配功能,不設(shè)置專用聯(lián)絡(luò)信號。端口信號線之間無固定的時序關(guān)系。輸出鎖存,輸入具有緩沖能力。8255A分成彼此獨立的兩個8位和兩個4位并行口。只能把C口的高4位為一組或低4位為一組同時輸入或輸出。單向 I/O,一次初始化只能指定某一端口作輸入或作輸出,不能使該端口同時既作輸入又作輸出。8255A的工作方式
6、1選通輸入/輸出方式在面向I/O設(shè)備的24根線中,設(shè)置專用的中斷請求和聯(lián)絡(luò)信號線。數(shù)據(jù)的輸入輸出都有鎖存能力。PA或PB為數(shù)據(jù)口,而PC口的大部分引腳分配作聯(lián)絡(luò)信號用,用戶對這些引腳不能再指定作其它用途。各聯(lián)絡(luò)信號線之間有固定的時序關(guān)系,傳送數(shù)據(jù)時要嚴格按照時序進行。輸入/輸出操作產(chǎn)生確定的狀態(tài)字,這些狀態(tài)信息可作為查詢或中斷請求之用。方式1輸入引腳:A端口數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準備好數(shù)據(jù)輸入緩沖器滿信號表示A口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)PC4PC5PC3PA7PA0INTEAIBFAINTRASTBA中斷允許觸發(fā)器方式1輸入引腳:B端口PC2PC1PC0PB7PB0INTE
7、BIBFBINTRBSTBB數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準備好數(shù)據(jù)輸入緩沖器滿信號表示B口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)中斷允許觸發(fā)器方式1需借用端口C用做聯(lián)絡(luò)信號,同時還具有中斷請求和屏蔽功能方式1輸入聯(lián)絡(luò)信號STB選通信號,低電平有效由外設(shè)提供的輸入信號當其有效時,將輸入設(shè)備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器IBF輸入緩沖器滿信號,高電平有效8255A輸出的聯(lián)絡(luò)信號。當其有效時,表示數(shù)據(jù)已鎖存在輸入鎖存器INTR中斷請求信號,高電平有效8255A輸出的信號,可用于向CPU提出中斷請求,要求CPU讀取外設(shè)數(shù)據(jù)dataINTRIBF data輸入端口D0D7STBRDSTB和IBF
8、是外設(shè)和8255A間的一對應(yīng)答聯(lián)絡(luò)信號,目的是為可靠地輸入數(shù)據(jù) 方式1輸入時序方式1輸入時序說明 (I) 以端口A為例,當輸入設(shè)備已準備好一個新數(shù)據(jù)時,首先檢測IBF線的狀態(tài),若為低(表示輸入鎖存器空) ,則輸入設(shè)備將數(shù)據(jù)放入PA7PA0。 然后發(fā)出選通信號STB,STB將PA7PA0上的數(shù)據(jù)置入數(shù)據(jù)鎖存器,這時8255A使IBF有效,指示輸入鎖存器已滿。方式1輸入時序說明 (II) STB變?yōu)闊o效后,8255A使INTR由低變高,通過8259A向CPU發(fā)出中斷請求,CPU響應(yīng)請求并進入相應(yīng)的中斷服務(wù)程序。 在中斷服務(wù)程序中,CPU讀端口A,RD的下降沿使INTR無效。 RD的上升沿使IBF變
9、無效,指示輸入鎖存器的數(shù)據(jù)已傳送給CPU,處于空狀態(tài),準備接收新的數(shù)據(jù)。若CPU采用查詢方式,則通過查詢狀態(tài)字中的INTR位或IBF位是否置位來判斷有無數(shù)據(jù)可讀。方式1中斷控制8255A的中斷由中斷允許觸發(fā)器INTE控制置位允許中斷,復位禁止中斷對INTE的操作通過寫入端口C的對應(yīng)位實現(xiàn)選通輸入方式下端口A的INTEA對應(yīng)PC4端口B的INTEB對應(yīng)PC2方式1輸出引腳:A端口外設(shè)響應(yīng)信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)PC6PC7PC3PA7PA0INTEAOBFAINTRAACKA中斷允許觸發(fā)器方式1輸出引腳:B端口PC2PC
10、1PC0PB7PB0INTEBOBFBINTRBACKB外設(shè)響應(yīng)信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)中斷允許觸發(fā)器方式1輸出聯(lián)絡(luò)信號OBF輸出緩沖器滿信號,低有效8255A輸出給外設(shè)的一個控制信號當其有效時,表示CPU已把數(shù)據(jù)輸出給指定的端口,外設(shè)可以取走ACK響應(yīng)信號,低有效外設(shè)的響應(yīng)信號,指示8255A的端口數(shù)據(jù)已由外設(shè)接受INTR中斷請求信號,高有效當輸出設(shè)備已接受數(shù)據(jù)后,8255A輸出此信號向CPU提出中斷請求,要求CPU繼續(xù)提供數(shù)據(jù)端口A的INTEA對應(yīng)PC6端口B的INTEB對應(yīng)PC2方式1輸出時序 INTR data
11、data輸出端口D0D7WROBFACK OBF*和ACK*是外設(shè)和8255A間的一對應(yīng)答聯(lián)絡(luò)信號,為的是可靠地輸出數(shù)據(jù)方式1輸出時序說明(I) 以端口A為例,當輸出設(shè)備接收了前一次數(shù)據(jù)后,8255A通過8259A向CPU請求中斷。 在中斷服務(wù)程序中,CPU將數(shù)據(jù)寫入指定的端口,WR變?yōu)橛行?于是數(shù)據(jù)寫入輸出鎖存器并出現(xiàn)在PA7PA0。 寫信號WR的上升沿使OBF變?yōu)橛行?指示輸出設(shè)備PA7PA0上已有新的數(shù)據(jù),同時還使INTR變?yōu)闊o效。方式1輸出時序說明(II) 輸出設(shè)備通過PA7PA0接收數(shù)據(jù)。 輸出設(shè)備接收到數(shù)據(jù)后,向8255A發(fā)回ACK信號,ACK的上升沿通常表示輸出設(shè)備已準備好再接收
12、新的數(shù)據(jù)。 8255A在ACK出現(xiàn)上升沿之前使OBF變?yōu)闊o效,若INTE=1,則還使INTR變?yōu)橛行?再次請求中斷。8255A的工作方式2雙向選通方式方式2將方式1的選通輸入輸出功能組合成一個雙向數(shù)據(jù)端口,可以發(fā)送數(shù)據(jù)和接收數(shù)據(jù)只有端口A可以工作于方式2,需要利用端口C的5根信號線,其作用與方式1相同方式2的數(shù)據(jù)輸入輸出過程與方式1的輸入輸出方式一樣方式2雙向引腳PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6設(shè)置INTE1(輸出)用PC4設(shè)置INTE2(輸入)輸入和輸出中斷通過或門輸出INTRA信號方式2時序data-out I
13、NTR data-outdata-indata-inPA0PA7D0D7IBF WROBFACKSTBRD8255工作方式小結(jié)3. 8255A的編程初始化編程:一個方式控制字采用控制I/O地址:A1A011工作過程中:通過數(shù)據(jù)端口對外設(shè)數(shù)據(jù)進行讀寫數(shù)據(jù)讀寫利用端口A、B和C的I/O地址,A1A0依次為00、01、10IBM PC/XT機上,端口A、B、C和控制端口的I/O地址為60H、61H、62H和63H1).寫入方式控制字:控制字格式D3D2D1D01D6D5D4A組工作方式00方式001方式110方式2A口0輸出1輸入C7-C40輸出1輸入B組工作方式0方式01方式1B口0輸出1輸入C3
14、-C00輸出1輸入示例-寫入方式控制字要求A端口:方式1 ,輸入B端口:方式0 ,輸出C端口上半部:輸出C端口下半部:輸入方式控制字:10110001B或0B1H初始化的程序段:mov dx,63h;假設(shè)控制端口為63Hmov al,0b1h;方式控制字out dx,al;送到控制端口2).讀寫數(shù)據(jù)端口初始化編程后:當數(shù)據(jù)端口作為輸入接口時,執(zhí)行輸入IN指令將從輸入設(shè)備得到外設(shè)數(shù)據(jù)當數(shù)據(jù)端口作為輸出接口時,執(zhí)行輸出OUT指令將把CPU的數(shù)據(jù)送給輸出設(shè)備示例-讀寫數(shù)據(jù)端口利用8255A的輸出鎖存能力,可實現(xiàn)按位輸出控制對輸出端口B的PB7位置位的程序段:mov dx,61h;B端口假設(shè)為61Hi
15、n al,dx;讀出B端口原輸出內(nèi)容or al,80h;使PB71out dx,al;輸出新的內(nèi)容3).讀寫端口C:歸納1在控制上,C端口上半部和A端口編為A組,C端口下半部和B端口編為B組C端口被分成兩個4位端口這兩個端口只能以方式0工作,可分別選擇輸入或輸出3).讀寫端口C:歸納2當A和B端口工作在方式1或A端口工作在方式2時,C端口的部分或全部引腳將被征用其余引腳仍可設(shè)定工作在方式03).讀寫端口C:歸納3對端口C的數(shù)據(jù)輸出有兩種辦法通過端口C的I/O地址向C端口直接寫入字節(jié)數(shù)據(jù)這一數(shù)據(jù)被寫進C端口的輸出鎖存器,并從輸出引腳輸出,但對設(shè)置為輸入的引腳無效通過控制端口向C端口寫入位控字,使
16、C端口的某個引腳輸出1或0,或置位/復位內(nèi)部的中斷允許觸發(fā)器端口C的位控制字位控制字寫入控制端口特別便于置位/復位內(nèi)部中斷允許觸發(fā)器D3D2D1D000復位1置位D3 D2 D1 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 C口 PC0 PC1 PC2 PC3 PC4 PC5PC6PC78255A按位置/復位控制字舉例若允許PA口輸入中斷請求,則必須設(shè)置INTEA=1,即置PC4=1;若禁止它中斷請求,則置INTEA=0,即置PC4=0。MOV DX,63H;8255A命令口MOV AL,00001001B;PC4=1,允許中斷請求OUT D
17、X,AL MOV AL,00001000B;PC4=0,禁止中斷請求OUT DX,AL3). 讀寫端口C:歸納4讀取的C端口數(shù)據(jù)有兩種情況未被A和B端口征用的引腳將從定義為輸入的端口讀到引腳輸入信息;將從定義為輸出的端口讀到輸出鎖存器中的信息被A和B端口征用作為聯(lián)絡(luò)線的引腳將讀到反映8255A狀態(tài)的狀態(tài)字端口C的狀態(tài)字方式1輸入I/OI/OI/OINTRAINTE2IBFAINTE1OBFAINTRBOBFBINTEBINTRAI/OI/OINTEAOBFA方式2雙向方式1輸出INTRBIBFBINTEBINTRAINTEAIBFAI/OI/OD0D1D2D3D4D5D6D7A組B組8255A
18、的應(yīng)用作為通用的并行接口電路芯片,8255A具有廣泛的應(yīng)用:應(yīng)用在IBM PC/XT微機上應(yīng)用于打印機接口電路連接簡易鍵盤驅(qū)動LED數(shù)碼管在IBM PC/XT上的應(yīng)用工作在基本輸入/輸出方式0端口A為方式0輸入,用來讀取鍵盤掃描碼端口B工作于方式0輸出, 控制揚聲器等端口C為方式0輸入,讀取系統(tǒng)狀態(tài)和配置系統(tǒng)的初始化編程mov al,10011001b;方式控制字99Hout 63h,al8255A的鍵盤和揚聲器控制示意8255APB1PB0驅(qū)動電路揚聲器GATE2CLK2時鐘信號與門8254的計數(shù)器2 PA7PA0PB7PB6鍵盤掃描碼鍵盤控制信號開/關(guān)揚聲器的程序 IN AL,61H ;讀
19、取 8255的PB口原輸出值 MOV AH,AL ;將原輸出值保留于AH中 OR AL,03H ;使PB1、PB0均為1 OUT 61H,AL ;打開GATE2,輸出方波到揚聲器 MOV AL, AH ;取回AH中的8255PB口的原輸出值 OUT 61H,AL ;恢復8255PB口 ;PB1 PB0不同時為高電平,停止發(fā)聲讀系統(tǒng)配置開關(guān) P267例題讀系統(tǒng)配置開關(guān) P267例題MOV AL,10001001BOUT 63H,ALMOV AL,10100101BOUT 61H,ALIN AL,62HAND AL,0FHMOV AH,ALMOV AL,10101101BOUT 61H,ALIN
20、AL,62HMOV CL,4ROL AL,CLAND AL,0F0HOR AL,AHXOR AH,AHMOV 0010H,AXMOV AL,10011001BOUT 63H,AL的應(yīng)用雙機通信雙機通信要求要求在甲乙兩臺微機之間并行傳送1K字節(jié)數(shù)據(jù)。甲機發(fā)送,乙機接收。甲機一側(cè)的8255A采用方式1工作。乙機一側(cè)的8255A采用方式0工作。兩機的CPU與接口之間都采用查詢方式交換數(shù)據(jù)。雙機通信硬件考慮甲機8255A是方式1發(fā)送,因此,把PA口指定為輸出,發(fā)送數(shù)據(jù),而PC7和PC6引腳分別固定作聯(lián)絡(luò)線OBF和ACK。乙機8255A是方式0接收,故把PA口定義為輸入,接收數(shù)據(jù),而選用引腳PC4和PC
21、0作聯(lián)絡(luò)線。注意:雖然兩側(cè)的8255A都設(shè)置了聯(lián)絡(luò)線,但有本質(zhì)的差別。甲機8255A是1方式,其聯(lián)絡(luò)線是固定的不可替換。乙機的8255A是0方式,其聯(lián)絡(luò)線是不固定的,可選擇,比如可選擇PC4和PC1或PC3、PC2等任意組合。雙機通信編程甲機發(fā)送程序(I)MOV DX, 63H ;8255A命令口MOV AL, 10100000B ;初始化工作方式字OUT DX , ALMOV AL , 00001101B ;置發(fā)送中斷允許INTEA=1OUT DX , AL ;PC6=1MOV AX , 0030H ;發(fā)送數(shù)據(jù)內(nèi)存首址MOV ES , AXMOV BX , 0MOV CX , 0400H ;發(fā)送字節(jié)數(shù)MOV DX , 60H ;向A口寫第一個數(shù),產(chǎn)生第一個OBF信號MOV AL , ES:BX ;送給對方,以便獲取對方的ACKOUT DX , ALINC BX ;內(nèi)存加1DEC CX ;字節(jié)數(shù)減1雙機通信編程甲機發(fā)送程序(II)L: MOV DX,62H;8255A狀態(tài)口IN AL,DX;查發(fā)送中斷請求 I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 遼寧現(xiàn)代服務(wù)職業(yè)技術(shù)學院《人體解剖學局解》2023-2024學年第一學期期末試卷
- 蘭州大學《定向運動與素質(zhì)拓展》2023-2024學年第一學期期末試卷
- 江西工業(yè)貿(mào)易職業(yè)技術(shù)學院《學術(shù)寫作與文獻檢索》2023-2024學年第一學期期末試卷
- 吉林醫(yī)藥學院《市政工程識圖》2023-2024學年第一學期期末試卷
- 湖南水利水電職業(yè)技術(shù)學院《金融風險管理(實驗)》2023-2024學年第一學期期末試卷
- 重慶藝術(shù)工程職業(yè)學院《計算機輔助產(chǎn)品設(shè)計》2023-2024學年第一學期期末試卷
- 重慶化工職業(yè)學院《大學生創(chuàng)新創(chuàng)業(yè)意識》2023-2024學年第一學期期末試卷
- 中央美術(shù)學院《古典園林建筑構(gòu)造》2023-2024學年第一學期期末試卷
- 浙江農(nóng)林大學《工程圖學綜合訓練》2023-2024學年第一學期期末試卷
- 鄭州商貿(mào)旅游職業(yè)學院《建筑工程計量與計價B》2023-2024學年第一學期期末試卷
- 福建省廈門市2023-2024學年高二上學期期末考試語文試題(解析版)
- 課文背書統(tǒng)計表
- 三年級語文下冊教案-14 蜜蜂3-部編版
- 蘇教版小學數(shù)學四年級下冊全冊教案
- DB51T2939-2022 彩燈(自貢)制作工藝通用規(guī)范
- 押金收據(jù)條(通用版)
- 藥理治療中樞神經(jīng)系統(tǒng)退行性疾病藥.pptx
- 強三基反三違除隱患促安全百日專項行動實施方案
- 新人教版七年級數(shù)學上冊全冊專項訓練大全
- 標準預防--ppt課件
- 壓力管道氬電聯(lián)焊作業(yè)指導書
評論
0/150
提交評論