工程科技微機接口技術(shù)-5-1-并行接口_第1頁
工程科技微機接口技術(shù)-5-1-并行接口_第2頁
工程科技微機接口技術(shù)-5-1-并行接口_第3頁
工程科技微機接口技術(shù)-5-1-并行接口_第4頁
工程科技微機接口技術(shù)-5-1-并行接口_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

可編程并行接口18255A的功能與結(jié)構(gòu)8255A的工作方式和編程8255A的應(yīng)用教學(xué)要點2并行數(shù)據(jù)傳輸方式以計算機的字長,通常是8位、16位或32位為傳輸單位,一次傳送一個字長的數(shù)據(jù)適合于外部設(shè)備與微機之間進(jìn)行近距離、大量和快速的信息交換例如:微機與并行接口打印機、磁盤驅(qū)動器微機系統(tǒng)中最基本的信息交換方法例如:系統(tǒng)板上各部件之間,接口電路板上各部件之間3接口電路的基本結(jié)構(gòu)0簡單接口電路數(shù)據(jù)線控制線狀態(tài)線DBCBAB數(shù)據(jù)輸入寄存器(or三態(tài)門)數(shù)據(jù)輸出寄存器(鎖存器)狀態(tài)寄存器(or三態(tài)門)命令寄存器譯碼電路控制邏輯4

數(shù)據(jù)輸入/輸出寄存器——暫存輸入/輸出的數(shù)據(jù)命令寄存器——存放控制命令,用來設(shè)定接口功能、工作參數(shù)和工作方式。狀態(tài)寄存器——保存外設(shè)當(dāng)前狀態(tài),以供CPU讀取。5數(shù)據(jù)輸入接口必須具有三態(tài)輸出能力,以便與總線掛接外設(shè)有數(shù)據(jù)保持能力時—可用三態(tài)門實現(xiàn)外設(shè)無數(shù)據(jù)保持能力時—用三態(tài)輸出的鎖存器實現(xiàn)數(shù)據(jù)輸出接口常用鎖存器實現(xiàn)6

三態(tài)門:高電平、低電平、高阻態(tài)通常一個器件中包含8個三態(tài)門常用芯片:74LS244應(yīng)用例子:開關(guān)接口工作波形圖如下:A0~A15IOR#譯碼輸出D0~D7開關(guān)狀態(tài)地址有效7例1:83FCH~83FFH譯碼器8鎖存器:由D觸發(fā)器構(gòu)成通常一個器件包含8個D觸發(fā)器常用芯片:74LS27374LS374(具有三態(tài)輸出的鎖存器)應(yīng)用例子:發(fā)光二極管接口例2:74LS273譯碼器=1=1.........+5VRD0|D7CPQ0Q7...D0~D7A0~A15IOW#R9例3:輸入/輸出接口綜合應(yīng)用根據(jù)開關(guān)狀態(tài)在7段數(shù)碼管上顯示數(shù)字或符號共陽極7段數(shù)碼管結(jié)構(gòu)用74LS273作為輸出接口,把數(shù)據(jù)送到7段數(shù)碼管74LS273的地址假設(shè)為F0H用74LS244作為輸入口,讀入開關(guān)K0~K3的狀態(tài)74LS244的地址假設(shè)為F1H當(dāng)開關(guān)的狀態(tài)分別為0000~1111時,在7段數(shù)碼管上對應(yīng)顯示’0’~’F’(7段碼表見下頁)10

符號形狀7段碼.gfedcba符號形狀7段碼.gfedcba’0’00111111’8’01111111’1’00000110’9’01100111’2’01011011’A’01110111’3’01001111’B’01111100’4’01100110’C’00111001’5’01101101’D’01011110’6’01111101’E’01111001’7’00000111’F’0111000111O1I1O2I2O3I3O4I4E1#

K0~K3+5VGG2AG2BCBA≥174LS244D0Q0|Q1D7Q2Q3Q4CPQ5Q6Q7

abcdefgDP7406反相器74LS273Rx8≥174LS138D0~D7IOW#IOR#Y0Y1F0H=0000000011110000F1H=0000000011110001&≥1A7~A4A15~A8A3A2A1A0D0D1D2D3譯碼器12相應(yīng)程序段如下: ……Seg7 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71H …… LEA BX,Seg7 ;取7段碼表基地址

MOV AH,0GO: MOV DX,0F1H ;開關(guān)接口的地址為F1H IN AL,DX ;讀入開關(guān)狀態(tài)

AND AL,0FH ;保留低4位

MOV SI,AX ;作為7段碼表的表內(nèi)位移量

MOV AL,[BX+SI] ;取7段碼

MOV DX,0F0H ;7段數(shù)碼管接口的地址為F0H OUT DX,AL JMP GO131并行接口芯片8255A具有多種功能的可編程并行接口芯片最基本的接口電路:三態(tài)緩沖器和鎖存器與CPU間、與外設(shè)間的接口電路:狀態(tài)寄存器和控制寄存器還有端口的譯碼和控制電路、中斷控制電路分3個端口,共24個外設(shè)引腳3種輸入輸出工作方式141.18255A的內(nèi)部結(jié)構(gòu)和引腳數(shù)據(jù)總線緩沖器內(nèi)部控制線內(nèi)部數(shù)據(jù)線D0~D7A組控制A組端口AA組端口C上部B組控制B組端口BB組端口C下部讀寫控制邏輯PC0~PC3PB0~PB7PC4~PC7PA0~PA7RDWRA0A1CSRESET15161)外設(shè)數(shù)據(jù)端口端口A:PA0~PA7A組,支持工作方式0、1、2端口B:PB0~PB7B組,支持工作方式0、1端口C:PC0~PC7僅支持工作方式0A組控制高4位PC4~PC7B組控制低4位PC0~PC3端口A:PA0~PA7常作數(shù)據(jù)端口,功能最強大端口B:PB0~PB7常作數(shù)據(jù)端口端口C:PC0~PC7可作數(shù)據(jù)、狀態(tài)和控制端口分兩個4位,每位可獨立操作控制最靈活,最難掌握172)與處理器接口CS*A1A0I/O地址讀操作RD*寫操作WR*00000101001160H61H62H63H讀端口A讀端口B讀端口C非法寫端口A寫端口B寫端口C寫控制字D0~D7數(shù)據(jù)線 A0~A1地址線RD*讀信號 WR*寫信號CS*片選信號 RESET復(fù)位信號181.28255A的工作方式方式0:基本輸入輸出方式適用于無條件傳送和查詢方式的接口電路方式1:選通輸入輸出方式適用于查詢和中斷方式的接口電路方式2:雙向選通傳送方式適用于與雙向傳送數(shù)據(jù)的外設(shè)適用于查詢和中斷方式的接口電路19方式0輸入時序datadata輸入端口D0~D7RDCS,A1,A0請體會這里8255A的數(shù)據(jù)緩沖作用20方式0輸出時序WRdatadata輸出端口D0~D7CS,A1,A08255A對CPU通過它輸出給外設(shè)的數(shù)據(jù)進(jìn)行鎖存21方式1輸入引腳:A端口數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號表示A口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)PC4PC5PC3PA7~PA0INTEAIBFAINTRASTBA中斷允許觸發(fā)器22方式1輸入引腳:B端口PC2PC1PC0PB7~PB0INTEBIBFBINTRBSTBB數(shù)據(jù)選通信號表示外設(shè)已經(jīng)準(zhǔn)備好數(shù)據(jù)輸入緩沖器滿信號表示A口已經(jīng)接收數(shù)據(jù)中斷請求信號請求CPU接收數(shù)據(jù)中斷允許觸發(fā)器方式1需借用端口C用做聯(lián)絡(luò)信號同時還具有中斷請求和屏蔽功能23方式1輸入聯(lián)絡(luò)信號STB*——選通信號,低電平有效由外設(shè)提供的輸入信號,當(dāng)其有效時,將輸入設(shè)備送來的數(shù)據(jù)鎖存至8255A的輸入鎖存器IBF——輸入緩沖器滿信號,高電平有效8255A輸出的聯(lián)絡(luò)信號。當(dāng)其有效時,表示數(shù)據(jù)已鎖存在輸入鎖存器INTR——中斷請求信號,高電平有效8255A輸出的信號,可用于向CPU提出中斷請求,要求CPU讀取外設(shè)數(shù)據(jù)24方式1輸入時序dataINTRIBF

data輸入端口D0~D7STBRDSTB*和IBF是外設(shè)和8255A間的一對應(yīng)答聯(lián)絡(luò)信號,為的是可靠地輸入數(shù)據(jù)25方式1中斷控制8255A的中斷由中斷允許觸發(fā)器INTE控制置位允許中斷,復(fù)位禁止中斷對INTE的操作通過寫入端口C的對應(yīng)位實現(xiàn),INTE觸發(fā)器對應(yīng)端口C的位是作應(yīng)答聯(lián)絡(luò)信號的輸入信號的哪一位,只要對那一位置位/復(fù)位就可以控制INTE觸發(fā)器選通輸入方式下端口A的INTEA對應(yīng)PC4端口B的INTEB對應(yīng)PC226方式1輸出引腳:A端口外設(shè)響應(yīng)信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)PC6PC7PC3PA7~PA0INTEAOBFAINTRAACKA中斷允許觸發(fā)器27方式1輸出引腳:B端口PC2PC1PC0PB7~PB0INTEBOBFBINTRBACKB外設(shè)響應(yīng)信號表示外設(shè)已經(jīng)接收到數(shù)據(jù)輸出緩沖器滿信號表示CPU已經(jīng)輸出了數(shù)據(jù)中斷請求信號請求CPU再次輸出數(shù)據(jù)中斷允許觸發(fā)器28方式1輸出聯(lián)絡(luò)信號OBF*——輸出緩沖器滿信號,低有效8255A輸出給外設(shè)的一個控制信號,當(dāng)其有效時,表示CPU已把數(shù)據(jù)輸出給指定的端口,外設(shè)可以取走ACK*——響應(yīng)信號,低有效外設(shè)的響應(yīng)信號,指示8255A的端口數(shù)據(jù)已由外設(shè)接受INTR——中斷請求信號,高有效當(dāng)輸出設(shè)備已接受數(shù)據(jù)后,8255A輸出此信號向CPU提出中斷請求,要求CPU繼續(xù)提供數(shù)據(jù)端口A的INTEA對應(yīng)PC6端口B的INTEB對應(yīng)PC229方式1輸出時序

INTR

datadata輸出端口D0~D7WROBFACK

OBF*和ACK*是外設(shè)和8255A間的一對應(yīng)答聯(lián)絡(luò)信號,為的是可靠地輸出數(shù)據(jù)30方式2雙向方式方式2將方式1的選通輸入輸出功能組合成一個雙向數(shù)據(jù)端口,可以發(fā)送數(shù)據(jù)和接收數(shù)據(jù)只有端口A可以工作于方式2,需要利用端口C的5個信號線,其作用與方式1相同方式2的數(shù)據(jù)輸入過程與方式1的輸入方式一樣方式2的數(shù)據(jù)輸出過程與方式1的輸出方式有一點不同:數(shù)據(jù)輸出時8255A不是在OBF*有效時向外設(shè)輸出數(shù)據(jù),而是在外設(shè)提供響應(yīng)信號ACK*時才送出數(shù)據(jù)31方式2雙向引腳PC6PC7PC3PA7~PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2用PC6設(shè)置INTE1(輸出)用PC4設(shè)置INTE2(輸入)輸入和輸出中斷通過或門輸出INTRA信號32方式2雙向時序data-out

INTR

data-outdata-indata-inPA0~PA7D0~D7IBF

WROBFACKSTBRD331.38255A的編程初始化編程:一個方式控制字采用控制I/O地址:A1A0=11工作過程中:通過數(shù)據(jù)端口對外設(shè)數(shù)據(jù)進(jìn)行讀寫數(shù)據(jù)讀寫利用端口A、B和C的I/O地址,A1A0依次等于00、01、10IBMPC/XT機上,端口A、B、C和控制端口的I/O地址為60H、61H、62H和63H341)寫入方式控制字:控制字格式35例:某系統(tǒng)要求使用8255的A口工作于方式1作輸入,B口工作于方式0作輸出,C口上半部輸入,下半部輸出。8255端口地址為60H-63H??刂谱譃椋?0111000B=0B8H初始化程序為:

MOVAL,0B8H

OUT63H,AL362)

讀寫數(shù)據(jù)端口初始化編程后:當(dāng)數(shù)據(jù)端口作為輸入接口時,執(zhí)行輸入IN指令將從輸入設(shè)備得到外設(shè)數(shù)據(jù)當(dāng)數(shù)據(jù)端口作為輸出接口時,執(zhí)行輸出OUT指令將把CPU的數(shù)據(jù)送給輸出設(shè)備8255A具有鎖存輸出數(shù)據(jù)的能力對輸出方式的端口同樣可以輸入不是讀取外設(shè)數(shù)據(jù)讀取的是上次CPU給外設(shè)的數(shù)據(jù)37例:利用8255A的輸出鎖存能力,可實現(xiàn)按位輸出控制對輸出端口B的PB7位置位的程序段:

movdx,0fffah ;B端口假設(shè)為FFFAH

inal,dx ;讀出B端口原輸出內(nèi)容

oral,80h ;使PB7=1

outdx,al ;輸出新的內(nèi)容383)

讀寫端口CC端口被分成兩個4位端口,兩個端口只能以方式0工作,可分別選擇輸入或輸出在控制上,C端口上半部和A端口編為A組,C端口下半部和B端口編為B組當(dāng)A和B端口工作在方式1或方式2時,C端口的部分或全部引腳將被征用其余引腳仍可設(shè)定工作在方式039對端口C的數(shù)據(jù)輸出有兩種辦法:通過端口C的I/O地址:向C端口直接寫入字節(jié)數(shù)據(jù)。這一數(shù)據(jù)被寫進(jìn)C端口的輸出鎖存器,并從輸出引腳輸出,但對設(shè)置為輸入的引腳無效通過控制端口:向C端口寫入位控字,使C端口的某個引腳輸出1或0,或置位復(fù)位內(nèi)部的中斷允許觸發(fā)器40端口C的位控制字位控制字寫入控制端口特別便于置位/復(fù)位內(nèi)部中斷允許觸發(fā)器INTE41例:(接上例)若A口工作于方式1作輸入,要使用中斷傳送方式,則應(yīng)當(dāng)寫PC4的按位置位字??刂谱譃椋?0001001B=09H

MOVAL,00001001B

OUT63H,AL

42讀取的C端口數(shù)據(jù)有兩種情況未被A和B端口征用的引腳:將從定義為輸入的端口讀到引腳輸入信息;將從定義為輸出的端口讀到輸出鎖存器中的信息被A和B端口征用作為聯(lián)絡(luò)線的引腳:將讀到反映8255A狀態(tài)的狀態(tài)字43D7D6D5D4D3D2D1D0方式1輸入I/OI/OIBFAINTEAINTRAINTEBIBFBINTRB方式1輸出OBFAINTEAI/OI/OINTRAINTEBOBFBINTRB方式2雙向OBFAINTE1IBFAINTE2INTRA×××端口C的狀態(tài)字A組B組44例:下圖采用一個8255芯片和軟盤控制器相連,箭頭標(biāo)明了I/O的方向,根據(jù)該圖,試寫出8255A口的初始化程序。設(shè)8255端口地址為0300-0303H。

8255用作軟盤基本接口45例:

A口工作在方式2,PC4-PC7作應(yīng)答聯(lián)絡(luò)信號線,PC3用作A組中斷請求,PC0-PC2作輸出。工作方式控制字為:11XXX000B=0C0H初始化程序為:

MOVDX,303H

MOVAL,0C0H ;工作方式控制字

OUTDX,AL

MOVAL,00001001B

OUTDX,AL

;PC4置位,開放輸入中斷

MOVAL,00001101B

OUTDX,AL

;PC6置位,開放輸出中斷4628255A的應(yīng)用作為通用的并行接口芯片,8255A具有廣泛的應(yīng)用:應(yīng)用在IBMPC/XT微機上應(yīng)用于打印機接口電路連接簡易鍵盤驅(qū)動LED數(shù)碼管……472.18255A在IBMPC/XT上的應(yīng)用工作在基本輸入/輸出方式0端口A為方式0輸入,用來讀取鍵盤掃描碼端口B工作于方式0輸出,例如控制揚聲器等端口C為方式0輸入,讀取系統(tǒng)狀態(tài)和配置系統(tǒng)的初始化編程:

moval,10011001b

;方式控制字99H

out63h,al482.2用8255A方式0與打印機接口BUSY

DATA0~78255APC7PC2PA0~PA7打印機STROBE49打印機接口的信號與時序(Centronics)主機把數(shù)據(jù)送給引腳DATA0~DATA7同時送出數(shù)據(jù)選通信號STROBE*打印機在BUSY信號線上發(fā)出忙信號打印機處理好輸入的數(shù)據(jù)時撤消忙信號同時又送出一個響應(yīng)信號ACK*50Centronics并行打印接口標(biāo)準(zhǔn)518255A的初始化

movdx,0fffeh ;控制端口地址:FFFEH

moval,10000001B ;方式控制字:91H outdx,al ;A端口方式0輸出,C端口上輸出、下輸入

moval,00001111B ;端口C的復(fù)位置位控制字,使PC7=1 outdx,al例152打印子程序:查詢printc proc pushax pushdxprn: movdx,0fffch ;讀取端口C inal,dx ;查詢打印機狀態(tài)

andal,04h ;PC2=BUSY=0?

jnz

prn

;PC2=1,打印機忙,則循環(huán)等待例153打印子程序:輸出

movdx,0fff8h ;PC2=0,打印機不忙,則輸出數(shù)據(jù)

moval,ah outdx,al ;將打印數(shù)據(jù)從端口A輸出例154打印子程序:打印

movdx,0fffeh ;從PC7送出控制低脈沖

moval,00001110B ;置STROBE*=0 outdx,al

nop ;產(chǎn)生一定寬度的低電平

nop moval,00001111B ;置=1

outdx,al ;最終,STROBE*產(chǎn)生低脈沖信號例155打印子程序:返回

popdx

popax retprintc

endp例1562.3用8255A方式1與打印機接口1000pf2K15321441LS123單穩(wěn)電路+5VDATA0~78255APC6INTRPC3PC7PA0~PA7打印機ACKACKOBFSTROBE578255A方式1與打印機接口時序配合PA0~PA7(DATA0~7)ACKOBFSTROBE588255A的初始化

movdx,0fffeh

moval,0a0h outdx,al

moval,0ch ;使INTEA(PC6)為0,禁止中斷

outdx,al ……

mov

cx,counter ;打印字節(jié)數(shù)送CX

mov

bx,offsetbuffer ;取字符串首地址

callprints ;調(diào)用打印子程序例259打印子程序:輸出prints proc pushax ;保護(hù)寄存器

pushdxprint1: moval,[bx] ;取一個數(shù)據(jù)

movdx,0fff8h outdx,al ;從端口A輸出例260打印子程序:查詢

movdx,0fffchprint2: inal,dx

testal,80h ;檢測(PC7)為1否?

jzprint2 ;為0,說明打印機沒有響應(yīng),繼續(xù)檢測例261打印子程序:返

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論