版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
上章作業(yè):P77 2題、13題、14題補充作業(yè):在8086系統(tǒng)中接有一片8259A
,8259A的8位端口地址分 別為60H、62H,畫出接口 電路圖。1第5章并行接口技術
5.1概述并行通信是把一個數(shù)據(jù)的各個數(shù)位用幾條線同時進行傳輸,具有傳輸速度快,信息率高的特點。但它比串行通信所用的電纜多,因此,并行通信常用在傳輸距離較短(幾米至幾十米)和數(shù)據(jù)傳輸率較高的場合。2
實現(xiàn)并行通信的接口就是并行接口。一個并行接口可設計為只作為輸出接口;還可設計為只作為輸入接口。另外,還可以設計成既作為輸入又作為輸出的接口。它可以用兩種方法實現(xiàn),一種是利用同一個接口中的兩個通路,一個作輸入通路,一個作輸出通路;另一種是用一個雙向通路,既作為輸入又作為輸出。3典型的并行接口和外部設備連接如圖所示。圖中的并行接口用一個通道和輸入設備相連,用另一個通道和輸出設備相連,每個通道中除數(shù)據(jù)線外均配有一定的控制線和狀態(tài)線。2/1/20234從圖1中看到,并行接口中應該有一個控制寄存器用來接收CPU對它的控制命令,有一個狀態(tài)寄存器提供各種狀態(tài)位供CPU查詢。為了實現(xiàn)輸入和輸出,并行接口中還必定有相應的輸入緩沖寄存器和輸出緩沖寄存器。5硬件:對外設的要求:應提供設備狀態(tài)信息
對接口的要求:需要提供狀態(tài)口RD輸入設備鎖存器三態(tài)緩沖器(8位)選通三態(tài)緩沖器(1位)D+5VCPQ&8086及其配置地址譯碼&M/IO數(shù)據(jù)口狀態(tài)口DB查詢輸入接口電路原理圖Di狀態(tài)信息R
觸發(fā)器數(shù)據(jù)ABC查詢傳送方式61.并行接口在輸入過程中的作用外部設備首先將數(shù)據(jù)送給接口,并使狀態(tài)線“數(shù)據(jù)輸入準備好”成為高電平。接口把數(shù)據(jù)接收到數(shù)據(jù)輸入緩沖寄存器的同時,使“數(shù)據(jù)輸入回答”線變?yōu)楦唠娖剑鳛閷ν獠吭O備的響應。外部設備接到此信號,便撤除數(shù)據(jù)和“數(shù)據(jù)輸入準備好”信號。數(shù)據(jù)到達接口中后,接口會在狀態(tài)寄存器中設置“輸入準備好”狀態(tài)位,以便CPU對其進行查詢,接口也可以在此時向CPU發(fā)一個中斷請求。7所以,CPU既可以用軟件查詢方式,也可以用中斷方式來設法讀取接口中的數(shù)據(jù)。CPU從并行接口中讀取數(shù)據(jù)后,接口會自動清除狀態(tài)寄存器中的“輸入準備好”狀態(tài)位,并且使數(shù)據(jù)總線處于高阻狀態(tài)。此后,又可以開始下一個輸入過程。8
2.并行接口在輸出過程中的作用每當外部設備從接口取走一個數(shù)據(jù)之后,接口就會將狀態(tài)寄存器中的“輸出準備好”狀態(tài)位置“1”,以表示CPU當前可以往接口中輸出數(shù)據(jù),這個狀態(tài)位可供CPU進行查詢。此時,接口也可以向CPU發(fā)一個中斷請求。所以,CPU既可以用軟件查詢方式,也可以用中斷方式設法往接口中輸出一個數(shù)據(jù)。9當CPU輸出的數(shù)據(jù)到達接口的輸出緩沖寄存器中后,接口會自動清除“輸出準備好”狀態(tài)位,并且將數(shù)據(jù)送往外部設備,同時,接口往外部設備發(fā)送一個“驅動信號”來啟動外部設備接收數(shù)據(jù)。外部設備被啟動后,開始接收數(shù)據(jù),并往接口發(fā)一個“數(shù)據(jù)輸出回答”信號。接口收到此信號,便將狀態(tài)寄存器中的“輸出準備好”狀態(tài)位重新置“1”,以便CPU輸出下一個數(shù)據(jù)。105.2可編程并行接口芯片8255A
8255A是Intel86系列微處理機的配套并行接口芯片,它可為86系列CPU與外部設備之間提供并行輸入/輸出的通道。由于它是可編程的,可以通過軟件來設置芯片的工作方式,所以,用8255A連接外部設備時,通常不用再附加外部電路,使用時很方便。115.2.1、8255A芯片內部結構12131.并行輸入/輸出端口A,B,C8255A芯片內部包含3個8位端口,這三個端口均可作為獨立的8位端口使用,實現(xiàn)數(shù)據(jù)的輸入/輸出。必要時端口C可分成兩個4位端口,分別與端口A和端口B配合工作,通常將端口A和端口B定義為輸入/輸出的數(shù)據(jù)端口,而端口C可作為狀態(tài)或控制信息的傳送端口。142.A組和B組控制部件端口A與端口C的高4位(PC7~PC4)構成A組,由A組控制部件實現(xiàn)控制功能,端口B與端口C的低4位(PC3~PC0)構成B組,由B組控制部件實現(xiàn)控制功能。它們各有一個控制單元,可接收來自讀/寫控制部件的命令和CPU通過數(shù)據(jù)總線(D7~D0)送來的控制字,并根據(jù)它們來定義各個端口的操作方式。153.數(shù)據(jù)總線緩沖存儲器這是一個三態(tài)雙向8位數(shù)據(jù)緩沖存儲器,它是8255A與8086/8088CPU之間的數(shù)據(jù)接口。CPU執(zhí)行輸出指令時,可將控制字或數(shù)據(jù)通過數(shù)據(jù)總線緩沖存儲器傳送給8255A。CPU執(zhí)行輸入指令時,8255A可將狀態(tài)信息或數(shù)據(jù)通過總線緩沖存儲器向CPU輸入。因此它是CPU與8255A之間交換信息的必經(jīng)之路。164.讀/寫控制部件這是8255A內部完成讀/寫控制功能的部件,它能接收CPU的控制命令,并根據(jù)它們向片內各功能部件發(fā)出操作命令。有關引腳如下:(1)CS——片選信號。由CPU輸入,通常由端口的高位地址碼譯碼得到。(2)RD,WR——讀、寫控制信號。由CPU發(fā)出,表示CPU本次操作的類型。17(3)RESET——復位信號。由CPU輸入。RESET有效時,清除8255A中所有控制字寄存器內容,并將各端口置成輸入方式。(4)A1和A0——端口選擇信號。 當A1A0=00,選擇端口A; 當A1A0=01,選擇端口B; 當A1A0=10,選擇端口C; 當A1A0=11,選擇控制字寄存器。18195.2.38255A芯片的控制字定義工作方式控制字通過方式定義控制字可以設置8255各端口的工作方式。如圖所示:202置位/復位控制字
只對端口C有效,格式如圖所示。格式如圖所示,當將端口A定義為方式1或方式2或將端口B定義為方式1時,要求使用端口C的某些位作控制用,這時需要使用一個專門的置位/復位控制字來對控制端口C的各位分別進行置位/復位操作。21225.2.4工作方式8255A各端口共有3種工作方式:方式0——基本輸入/輸出方式;方式1——選通輸入/輸出方式;方式2——雙向傳送方式。端口A有3種工作方式(方式0,方式1和方式2),端口B只可處于兩種方式(方式0和方式1),端口C常被分成高4位和低4位兩部分,可分別用來傳送數(shù)據(jù)或控制信息。23工作方式0
基本輸入/輸出方式這是8255A中各端口的基本輸入/輸出方式。它只完成簡單的并行輸入/輸出操作,CPU可從指定端口輸入信息,也可向指定端口輸出信息。如果3個端口均處于工作方式0,則可由工作方式控制字定義16種工作方式的組合,這種情況下,工作方式控制字的具體格式應如下圖所示。2425(2)工作方式1選通輸入/輸出方式
——選通輸入方式數(shù)據(jù)輸入操作要在選通信號控制下完成。需要使用的控制信號如下:①STB——選通信號。由外部輸入,低電平有效。STB有效時,將外部輸入的數(shù)據(jù)鎖存到所選端口的輸入鎖存器中。對A組來說,指定端口C的第4位(PC4)用來接收向端口A輸入的STB信號;對B組來說,指定端口C的第2位(PC2)用來接收向端口B輸入的STB信號。26②IBF——輸入緩沖存儲器滿信號。向外部輸出,高電平有效。IBF有效時,表示由輸入設備輸入的數(shù)據(jù)已占用該端口的輸入鎖存器,它實際上是對STB信號的回答信號,待CPU執(zhí)行IN指令時,RD有效,將輸入數(shù)據(jù)讀入CPU,其后沿把IBF置“0”,表示輸入緩沖存儲器已空,外部設備可繼續(xù)輸入后續(xù)數(shù)據(jù)。對A組來說,指定端口C的第5位(PC5)作為從端口A輸出的IBF信號;對B組來說,指定端口的第一位(PC1)作為從端口B輸出的IBF信號。27③INTR——中斷請求信號。向CPU輸出,高電平有效。對A組來說,指定端口C的第3位(PC3)作為從端口A輸出的INTR信號;對B組來說,指定端口的第0位(PC0)作為從端口B輸出的INTR信號。在A組和B組控制電路中分別設置一個內部中斷觸發(fā)器INTEA和INTEB,前者由STBA(PC4)控制置位,后者由STBB(PC2)控制置位。28當任一組中的STB有效,則把IBF置“1”,表示當前輸入緩沖存儲器已滿,并由STB后沿置“1”各組的INTE,于是輸出INTR有效,向CPU發(fā)出中斷請求信號。待CPU響應這一中斷請求,可在中斷服務程序中安排IN指令讀取數(shù)據(jù)后,將IBF置“0”,外部設備才可繼續(xù)輸入后續(xù)數(shù)據(jù)。8255A中的端口A和端口B均可工作于方式1完成輸入操作功能,這種情況下工作方式控制字的具體格式如圖所示。292/1/2023302/1/202331從圖中可看出,當端口A和端口B同時被定義為工作方式1完成輸入操作時,端口C的PC5~PC0被用作控制信號,只有PC7和PC6位可完成數(shù)據(jù)輸入或輸出操作,因此這實際上可構成兩種組合狀態(tài):它們是端口A,B輸入,PC7,PC6輸入和端口A,B輸入,PC7,PC6輸出。32工作方式1
——選通輸出方式方式1也可完成輸出操作,使用的控制信號有:①OBF——輸出緩沖存儲器滿信號。向外部輸出,低電平有效。OBF有效時,表示CPU已將數(shù)據(jù)寫入該端口正等待輸出。當CPU執(zhí)行OUT指令,WR有效時,表示將數(shù)據(jù)鎖存到數(shù)據(jù)輸出緩沖存儲器,由WR的上升沿將OBF置為有效。對于A組,系統(tǒng)規(guī)定端口C的第7位(PC7)用作從端口A輸出的OBF信號,對于B組,規(guī)定端口C的第1位(PC1)用作從端口B輸出的OBF信號。33②ACK——外部應答信號。由外部輸入,低電平有效。ACK有效,表示外部設備已收到由8255A輸出的八位數(shù)據(jù),它實際上是對OBF信號的回答信號。對于A組,指定端口C的第6位(PC6)用來接收向端口A輸入的ACK信號;對于B組,指定端口C的第2位(PC2)用來接收向端口B輸入的ACK信號。34③INTR——中斷請求信號。向CPU輸出,高電平有效。對于端口A,內部中斷觸發(fā)器INTEA由PC6(ACKA)置位,對于端口B,INTEB由PC2(ACKB)置位。當ACK有效時,OBF被復位為高電平,并將相應端口的INTE置“1”,于是INTR輸出高電平,向CPU發(fā)出輸出中斷請求,待CPU響應該中斷請求,可在中斷服務程序中安排OUT指令繼續(xù)輸出后續(xù)字節(jié)。對于A組,指定端口C的第3位(PC3)作為由端口A發(fā)出的INTR信號;對于B組,指定端口C的第0位(PC0)作為由端口B發(fā)出的INTR信號。35如果將8255A中的端口A和端口B均定義為工作方式1的輸出方式,則工作方式控制字的具體格式如下圖所示。36經(jīng)這樣定義的端口狀態(tài)如下圖所示。圖102/1/202337從圖中可看出,當端口A和端口B同時被定義為工作方式1完成輸出操作時,端口C的PC6,7和PC3~PC0被用作控制信號,只有PC4,5兩位可完成數(shù)據(jù)輸入或輸出操作。因此可構成兩種組合狀態(tài):①端口A,B輸出,PC4,5輸入;②端口A,B輸出,PC4,5輸出。38圖11采用工作方式1,也可將端口A和端口B分別定義為輸入和輸出端口。將端口A定義為方式1輸入,將端口B定義為方式1輸出,其方式控制字格式如圖所示。2/1/202339經(jīng)定義的端口狀態(tài)如圖所示。圖122/1/202340(3)工作方式2
帶選通的雙向傳送方式。8255A中只允許端口A處于工作方式2,可用來在CPU與外設之間實現(xiàn)雙向并行通信。其有關的控制信號由端口C提供,并可向CPU發(fā)出中斷請求信號。當端口A工作于方式2時,允許端口B工作方式0或方式1完成輸入/輸出功能,其方式控制字格式如下圖所示。41圖122/1/202342端口C的使用:在方式0,其為基本的I/O端口;若有端口工作于其他方式,則讀取端口C為狀態(tài)數(shù)據(jù)。431、計算機系統(tǒng)有一并行接口芯片8255A,初始化時將8255A的A口設置成方式1的輸出,這時8255A與外設的聯(lián)絡信號為:
A)IBF、STB B)RDY、STB C)OBF、ACK D)INTR、ACK2、有一并行接口芯片8255A,初始化時將其設置成方式1的輸出,其中斷輸出引腳連接至8259的IR2,這時系統(tǒng)對該中斷源的屏蔽分
級。
A)1 B)2 C)3 D)444
MOV AL,90H;初始化
OUT 63H,ALLP: IN AL,60H XOR AL,0FFH OUT61H,AL JMP LP【例1】從A口輸入開關狀態(tài),利用LED顯示:開關斷開,相應LED點亮;開關閉合,相應LED點亮。
8255端口地址:60H~63HLED0LED1LED745【例2】在PC/XT系統(tǒng)中接有一個打印機,8255A作為輸出接口,工作在選通方式,試編程將內存某緩沖區(qū)BUF內的200H個字節(jié)的ASCII碼送打印機打印,其接口電路如圖。設8255A的端口地址:A口、B口、C口、控制字寄存器:
210H,211H,212H,213H
PA7~PA0PC6(ACKA)PC0PC7PC3D7~D0ACKSTB8255A打印機8259AIRQ2OBF46主程序…CLIMOVAL,0A0H ;8255A方式控制字MOVDX,213HOUTDX,ALMOVAL,0DH ;置位PC6,使A口中斷允許OUTDX,ALPUSHDS;保存DSMOVAX,SEGPRINT_INT;中斷服務程序PRINT段址送DSMOVDS,AXLEADX,PRINT_INT;PRINT偏址送DXMOVAL,0AH;中斷類型碼送ALMOVAH,25H;功能號送AHINT21H;調用DOS設中斷向量功能
INAL,21H;讀中斷屏蔽寄存器IMR內容ANDAL,0FBHOUT21H,AL;開放IR2中斷
POPDS;恢復DS
47MOV DX,213HMOV AL,01HOUT DX,ALMOV SI,OFFSETBUFMOV AL,[SI]INC SIMOV BUFPT,SIMOV CX,NUM-1MOV DX,210HOUT DX,AL
STI MOV DX,213H MOV AL,00 OUT DX,AL INC AL NOP OUT DX,ALNEXT:HLT ;等待中斷
LOOP NEXT IN AL,21H OR AL04H OUT 21H,AL …48中斷處理子程序PRINT_INT PROC MOV SI,BUFPT MOV AL,[SI] INC BUFPT MOV DX,210H OUT DX,AL MOV DX,213H MOV AL,00H OUT DX,AL NOP INC AL OUT DX,ALP_END: MOV AL,20H OUT 20H,AL IRETPRINT ENDP49【例3】將開關的通斷狀態(tài)用七段LED數(shù)碼管顯示。
例如,K8閉合,其余3個斷開,則七段LED顯示器顯示數(shù)字7。505152工作原理分析同相驅動器
A口工作于輸入方式,PA3-PA0與4個開關相連,B口工作于輸出方式,PB7-PB0經(jīng)同相驅動器與七段LED顯示器相連(B口輸出的是TTL電平信號,要使LED顯示器發(fā)光,必須加上驅動電路,才能提供足夠大的電流)。開關合上后,PA接地,輸入“0”電平;開關斷開時,PA經(jīng)一電阻接+5V,輸入“1”電平。CPU從8255讀入A口的狀態(tài),根據(jù)轉換碼表查表轉換為相應的七段碼,輸出相應信號到B口。PB端經(jīng)同相驅動器接七段LED顯示器,其電平為“0”時相應的LED滅;電平為“1”時相應的LED亮。53;012345678TABLEDB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH
9AbCdEFDB6FH,77H,7CH,39H,5EH,79H,71H
┅┅PORTAEQU0F0H;A口地址
PORTBEQU0F2H;B口地址
PORTCTLEQU0F6H;控制寄存器地址
┅┅MOVAL,10010000BOUTPORTCTL,AL;寫方式控制字
INAL,PORTA;讀A口開關狀態(tài)ANDAL,0FH;高4位清0LEABX,TABLEXLAT;利用換碼表轉換為七段碼值OUTPORTB,AL;從B口輸出,驅動LED發(fā)光JMP LPLP:54【例4】
鍵盤及顯示55OUTBIT equ08002h ;位控制口OUTSEG equ08004h ;段控制口IN_KEY equ08001h ;鍵盤讀入口datasegmentLEDBuf db6dup(?) ;顯示緩沖Num db1dup(?) ;顯示的數(shù)據(jù)DelayT db1dup(?)LEDMAP: ;八段管顯示碼
db3fh,06h,5bh,4fh,66h,6dh,7dh,07hdb7fh,6fh,77h,7ch,39h,5eh,79h,71hKeyTable: ;鍵碼定義
db16h,15h,14h,0ffh,13h,12h,11h,10hdb0dh,0ch,0bh,0ah,0eh,03h,06h,09hdb0fh,02h,05h,08h,00h,01h,04h,07hdataends56codesegmentassumecs:code,ds:dataDelayprocnearpushax;延時子程序
pushcx
moval,0
mov
cx,axloop$popcxpopaxretDelayendp57DisplayLEDprocnear
mov
bx,offsetLEDBuf
mov
cl,6;共6個八段管
movah,00100000b;從左邊開始顯示DLoop:
mov
dx,OUTBIT
moval,0outdx,al;關所有八段管
moval,[bx]
mov
dx,OUTSEGoutdx,al
mov
dx,OUTBIT
moval,ahoutdx,al;顯示一位八段管
pushax
movah,1callDelaypopax
shrah,1incbx
dec
cl
jnz
DLoop
mov
dx,OUTSEG
moval,0outdx,al;關所有八段管
retDisplayLED
endp58TestKeyprocnear
mov
dx,OUTBIT
mov al,0out dx,al;輸出線置為0
mov
dx,IN_KEYin al,dx;讀入鍵狀態(tài)
not aland al,0fh;高四位不用
retTestKey
endp59GetKeyprocnear
mov
ch,00100000b
mov
cl,6KLoop:
mov
dx,OUTBIT
moval,ch;找出鍵所在列
notaloutdx,al
shr
ch,1
mov
dx,IN_KEYinal,dxnotalandal,0fh
jneGoon_;該列有鍵入
dec
cl
jnz
KLoop
mov
cl,0ffh;沒有鍵按下,返回0ffh
jmpExit1Goon_:
dec
cl
shl
cl,2;鍵值=列X4+行
mov
ch,4LoopC:testal,1
jnzExit1
shral,1inccl
dec
ch
jnz
LoopC60Exit1:
mov
dx,OUTBIT
moval,0outdx,al
mov
ch,0
mov
bx,offsetKeyTableaddbx,cx
moval,[bx];取出鍵碼
mov
bl,alWaitRelease:
mov
dx,OUTBIT
moval,0outdx,al;等鍵釋放
movah,10callDelaycallTestKey
jne
WaitRelease
moval,blretGetKey
endp61Startprocnear
movax,data
mov
ds,ax
mov
LEDBuf,0ffh;顯示8.8.8.8.
movLEDBuf+1,0ffh
movLEDBuf+2,0ffh
movLEDBuf+3,0ffh
movLEDBuf+4,0
movLEDBuf+5,0MLoop:callDisplayLED;顯示
callTestKey;有鍵入?
jz
MLoop;無鍵入,繼續(xù)顯示
callGetKey;讀入鍵碼
andal,0fh;顯示鍵碼
movah,0
mov
bx,offsetLEDMAPaddbx,ax
moval,[bx]
movLEDBuf+5,al
jmp
MLoopStartendpcodeendsendstart62【例5】8255A與A/D芯片配合構成數(shù)據(jù)采集系統(tǒng)。A/D轉換器的原理框圖以及主要工作時序如下圖所示。編寫程序完成8255A的初始化以及啟動A/D變換的程序。設8255A的端口地址范圍為300~303H。BUSYBUSY63PA7~PA0PC7PC0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 棘皮類繁育工崗前責任擔當考核試卷含答案
- 鋰電解工操作水平評優(yōu)考核試卷含答案
- 陶瓷工藝品雕塑師崗前專項實操考核試卷含答案
- 異丁烷裝置操作工創(chuàng)新思維模擬考核試卷含答案
- 絕熱工程作業(yè)指導書范本
- 2026年工業(yè)機器人視覺系統(tǒng)安裝調試指南
- 樓宇清洗公司年度工作總結報告
- (完整)精麻藥品培訓考試題庫及參考答案
- 保溫工程雨季施工方案-施工技術方案
- 2026巡查隊員面試題及答案
- 煤礦安全生產(chǎn)標準化定級辦法2026版深度解讀
- 2026年上海紀委選調考試試題及答案解析
- 歷屆體育單招文化考試題及答案
- 蘇教版數(shù)學三年級下冊 第五單元 長方形和正方形 基礎測試卷
- DB11-T 2538-2026 危險化學品經(jīng)營單位安全技術服務要求 加油站
- 2025年檢察官入額遴選考試真題及答案
- 電動伸縮門安裝專項方案
- 2025北京畫院招聘10人備考題庫附答案
- 消防應急疏散演練主題課件
- GB/T 26141.1-2010無損檢測射線照相底片數(shù)字化系統(tǒng)的質量鑒定第1部分:定義、像質參數(shù)的定量測量、標準參考底片和定性控制
- GB/T 11379-2008金屬覆蓋層工程用鉻電鍍層
評論
0/150
提交評論