計算機基礎課件 第8章(8255)課件_第1頁
計算機基礎課件 第8章(8255)課件_第2頁
計算機基礎課件 第8章(8255)課件_第3頁
計算機基礎課件 第8章(8255)課件_第4頁
計算機基礎課件 第8章(8255)課件_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

并行接口8255A并行接口是指CPU與外設之間的信息傳輸是多位同時進行的。鎖存器、緩沖器、收發(fā)器都是一種并行接口,但它們都不是可編程的。8255是Intel公司為80X86系列CPU生產(chǎn)的8位通用可編程并行輸入/輸出接口芯片,可作為任何一個與TTL兼容的并行數(shù)字設備與微機間的接口。40腳DIP,單一+5V電源,TTL電平。

8255A的結(jié)構(gòu)和功能三個端口:8位,A口(端口A)、B口(端口B)、C口(端口C)二組:A組(A口+C口高位)、B組(B口+C口低位)A組B組端口A端口B端口C工作方式A口B口C口0基本輸入/輸出端口,輸入不鎖存,輸出鎖存同A口同A口1應答式輸入/輸出端口,輸入/輸出均可鎖存同A口上C口作為應答式A口的應答線;下C口作為應答式B口的應答線2應答式雙向輸入/輸出端口,均可鎖存不用用作A口的應答控制線輸入/輸出端口PA7~PA0:A口的8條線,輸入/輸出均帶鎖存。8條線工作于輸入、輸出還是雙向(輸入/輸出)方式由軟件編程來決定。PB7~PB0:B口的8條線,輸入/輸出均帶鎖存。8條線是輸入還是輸出由軟件編程來決定。PC7~PC0:C口的8條線,輸出有鎖存,輸入無鎖存。8條線可用作數(shù)據(jù)的輸入或輸出線,也可用作控制信號的輸出線或狀態(tài)信號的輸入線。A口、B口通常作為獨立的I/O端口使用,C口也可以作為一般的I/O端口使用。當A口、B口作為應答式的I/O口使用時,C口分別用來為A口、B口提供應答控制線。此時C口分為A組C口(或稱上C口)、B組C口(或稱下C口),規(guī)定分別用來作為A口和B口的應答控制線使用。讀/寫控制邏輯

用于管理數(shù)據(jù)、控制字或狀態(tài)字的傳送。接收來自CPU的地址信息及一些控制信號,然后向A組、B組控制電路發(fā)送命令,控制端口的傳送方向。CS:片選信號,低電平有效RD:讀信號,低電平有效WR:寫信號,低電平有效RESET:復位信號,高電平有效。清除所有控制寄存器內(nèi)容,并將各端口都置成輸入方式A1、A0:8255A片內(nèi)端口尋址線。A1A0端口及操作功能00010端口A數(shù)據(jù)總線輸入操作(讀)01010端口B數(shù)據(jù)總線10010端口C數(shù)據(jù)總線00100數(shù)據(jù)總線端口A輸出操作(寫)01100數(shù)據(jù)總線端口B10100數(shù)據(jù)總線端口C11100數(shù)據(jù)總線控制寄存器××××1未選中8255A,數(shù)據(jù)總線三態(tài)斷開功能11010非法狀態(tài)××110數(shù)據(jù)總線三態(tài)A口B口C口控制口

A組/B組控制電路接受來自CPU的讀/寫控制信號和CPU送入的控制字,然后分別決定各端口的功能。A組控制電路控制A口和C口的高4位(PC7~PC4);B組控制電路控制B口和C口的低4位(PC3~PC0)。還可以對C口的某位實現(xiàn)“置0”或“置1”的操作。數(shù)據(jù)總線緩沖器雙向三態(tài)的8位緩沖器,可與數(shù)據(jù)總線(D0~D7)直接相連。

8255A的工作方式工作方式方式0方式1方式2基本輸入/輸出選通(應答)輸入/輸出雙向(應答)輸入輸出由控制字決定

工作方式控制字(D7=1)C口置位/復位控制字(D7=0)

8255A的控制字工作方式控制字兩種控制字A口:方式0、方式1、方式2B口:方式0、方式1C口:方式0【例】設某8255A的控制寄存器口地址為B6H,各端口工作方式如下:A口方式0、輸入端口;B口方式0、輸出端口;C口高4位為輸出口,低4位為輸入口。試編寫該8255A接口的初始化程序。對可編程接口芯片送入控制字,從而設定接口功能的程序稱為“接口(功能)初始化程序”01001010解:工作方式控制字為10010001B=91H,初始化程序:

MOV AL,91H ;CPU控制字91H經(jīng)AL輸出

OUT 0B6H,AL ;送到8255A控制寄存器中置位/復位控制字【例】設某8255A的控制寄存器口地址為303H,編寫程序,將C口的PC7位置0,PC6位置1。解:已知8255A控制寄存器的口地址為303H,則A口、B口、C口的口地址分別為300H、301H、302H。

MOV DX,303H

MOV AL,00001110B ;置PC7=0的控制字

OUT DX,AL ;控制字送8255A控制寄存器中

MOV AL,00001101B

;置PC6=1的控制字

OUT DX,AL ;控制字送8255A控制寄存器中工作方式0(基本輸入/輸出)A口(8位)、B口(8位)、上C口(4位)、下C口(4位)可分別獨立定義為輸入或輸出,共16種組合輸出可鎖存,輸入有緩沖無鎖存C口還有按位置位/復位的能力不能采用中斷方式,但可采用查詢方式(C口線可作聯(lián)絡信號)輸入輸出C口有按位置位/復位的能力不能采用中斷方式,但可采用查詢方式(C口線可作RDY、STB等聯(lián)絡信號)傳送數(shù)據(jù)工作方式1(選通輸入/輸出)A口(8位)、B口(8位)適用,C口不能工作于方式1A口/B口可分別定義為輸入或輸出支持查詢、中斷方式傳送數(shù)據(jù)C口部分位作為控制信號和狀態(tài)信號C口其余位可獨立置位/復位方式1輸出OBF(OutputBufferFull):輸出緩沖器滿,低電平有效。該信號通知外設,在規(guī)定的數(shù)據(jù)端口上已由CPU輸出了一個有效數(shù)據(jù),外設可從此端口接收數(shù)據(jù)。ACK:外設響應,低電平有效。該信號通知接口,外設已將數(shù)據(jù)接收并使OBF=1。INTR:中斷請求,高電平有效。當外設接收到一個數(shù)據(jù)后,通過該信號告訴CPU,剛才輸出的數(shù)據(jù)已經(jīng)被接收,可以再輸出下一個數(shù)據(jù)。INTE:中斷允許。A口和B口的INTR均受INTE的控制。A口的INTEA由PC6來控制,可用C口的按位操作對PC6置位或復位,以對中斷INTRA進行控制。同理,B口的INTEB用PC2的按位操作來進行控制。C口的PC4~5可獨立置位/復位方式1輸入STB:輸入選通,低電平有效,由外設提供。表示外設數(shù)據(jù)鎖存于接口的輸入端口中。IBF(InputBufferFull):輸入緩沖器滿,高電平有效。表示已有一個有效的外設數(shù)據(jù)被鎖存于接口的鎖存器中??捎么诵盘柾ㄖ庠O,數(shù)據(jù)已被鎖存于接口中,尚未被CPU讀走,暫時不能向接口輸入數(shù)據(jù)。INTR:中斷請求,高電平有效。當外設將數(shù)據(jù)鎖存于接口之中,且又允許中斷請求發(fā)生時,就會產(chǎn)生中斷請求。INTE:中斷允許。A口的INTEA由PC4來控制,B口的INTEB用PC2的按位操作來進行控制。C口的PC6~7可獨立置位/復位方式1的A口和B口可獨立設置為輸入或輸出A口和B口可一個工作于方式1,另一個工作于方式0方式1輸入時,C口中多余的兩條線(PC6,PC7)歸入A組,它可以作為方式0的輸入/輸出線或作為位操作用,其工作狀態(tài)及初始化編程與A口無關。8255A片內(nèi)有一個中斷允許觸發(fā)器INTE,INTE=0禁止中斷,INTE=1允許中斷。其置“0”與置“1”是通過對PC4(A組)和PC2(B組)進行位操作來實現(xiàn)的。在方式1中,對PC4(或PC2)的位操作只影響INTE引腳觸發(fā)器的狀態(tài),而不影響PC4(或PC2)引腳的電平狀態(tài)。只適用于A口,占用5條聯(lián)絡線

B口可工作于方式0、方式1C口的PC2~0可作為B口方式1的聯(lián)絡線或獨立使用控制信號定義與前述相同工作方式2(雙向輸入輸出)不同

ACK有效時,輸出端口才打開,無效時呈高阻態(tài)輸入、輸出均可鎖存輸入、輸出均可引起中斷,PC6控制INTE1的輸出中斷,PC4控制INTE2的輸入中斷【例】利用8255A作為打印機接口。此時8255A一般設置成工作方式0。

8255A編程和應用設8255A端口地址為0380H~0383H,待打印字符的存放首地址為DS:0300H,字符數(shù)為100個。;8255A初始化程序BEGIN: MOV DX,0383H ;控制寄存器地址DX

MOV AL,10000001B ;送方式0控制字(A口方式0輸出,PC7~PC4輸出PC3~PC0輸入)

OUT DX,AL

MOV AL,00001111B ;送C口置位控制字,置PC7=1,STB=1,初始狀態(tài)為高電平

OUT DX,AL

;打印機驅(qū)動程序

MOV SI,0300H ;待打印字符存放內(nèi)存的首地址

MOV CX,100 ;打印字符個數(shù)CONP:

MOV DX,0382H ;從C口檢測BUSY=0?。若=1,則等待,=0則CPU可送打印字符LPST:

IN AL,DX ;當BUSY=0?(PC2=0?)

AND AL,04H

JNZ LPST ;若BUSY=1,等待;BUSY=0則向下執(zhí)行

MOV AL,[SI] ;從內(nèi)存中取等打印的數(shù)據(jù)

MOV DX,0380H ;待打印數(shù)據(jù)輸出至8255A口

OUT DX,AL

MOV AL,00001110B ;置PC7=0

MOV DX,0383H ;輸出PC7=0信號,則STB=0低電平,產(chǎn)生選通信號

OUT DX,AL NOP

溫馨提示

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

評論

0/150

提交評論