第六章串并行通信和接口技術_第1頁
第六章串并行通信和接口技術_第2頁
第六章串并行通信和接口技術_第3頁
第六章串并行通信和接口技術_第4頁
第六章串并行通信和接口技術_第5頁
已閱讀5頁,還剩75頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、16.4 并行通信和并行接口并行通信和并行接口 一、特點一、特點數據各位通過信號線同時傳輸數據各位通過信號線同時傳輸用的傳輸線多用的傳輸線多速率高速率高適于近距離傳輸適于近距離傳輸發(fā)送方發(fā)送方接收方接收方011001108個比特一起傳送個比特一起傳送需要需要8 8條線條線并行通信就是把一個字符的各數位用幾條線同時并行通信就是把一個字符的各數位用幾條線同時進行傳輸,并行通信的信息傳輸速度快,信息率進行傳輸,并行通信的信息傳輸速度快,信息率高。用于數據傳輸要求較高,距離較短的場合。高。用于數據傳輸要求較高,距離較短的場合。并行接口概念并行接口概念2并行通信沒有標準化,沒有對同步和異并行通信沒有標準

2、化,沒有對同步和異步傳輸的嚴格定義。如果步傳輸的嚴格定義。如果CPU用一個時序用一個時序信號來管理接口和設備的動作,這樣的并信號來管理接口和設備的動作,這樣的并行傳輸稱為同步傳輸;如果行傳輸稱為同步傳輸;如果CPU和接口設和接口設備之間只用應答信號聯(lián)系,這樣的傳輸稱備之間只用應答信號聯(lián)系,這樣的傳輸稱為異步傳輸。為異步傳輸。345二、并行接口的典型結構二、并行接口的典型結構6n8255:主要用于系統(tǒng)中并行傳輸數據的接口.作用:并行傳輸數據7可編程并行接口8255n 并行接口一般具有兩個或兩個以上的8位I/O接口。各個接口的工作方式可由程序分別確定或改變,使用靈活,便于和各種外部設備連接。因此,

3、又稱可編程的外部接口(PPI) 可編程:指可由指令,由CPU來控制芯片,確定它的工作方式.由不同的命令字來控制它的工作方式.n目前各主要微處理器廠商都有自己的PPI產品,但他們的功能基本類似n8255可編程外部接口是Intel的PPI產品。該芯片可以和8086、8088等微處理器直接連接,也適用于MCS-48、MCS-51系列單片機。86.5.2 8255A的芯片引腳信號的芯片引腳信號 8255芯片引腳信號9108255A的引線及相應的結構的引線及相應的結構 6.5.1 8255A的內部結構的內部結構 1個個8位數據輸入鎖存器位數據輸入鎖存器1個個8位輸出鎖存器位輸出鎖存器/緩沖器緩沖器1個個

4、8位數據輸入緩沖器位數據輸入緩沖器1個個8位輸出鎖存器位輸出鎖存器/緩沖器緩沖器1個個8位數據輸入位數據輸入緩沖器緩沖器1個個8位輸出鎖存位輸出鎖存器器/緩沖器緩沖器8255芯片引腳信號1PA32PA2PA13PA0440393837PA4PA5PA6PA756GND7A1836353433RESETD0D19A010PC7PC611PC51232313029D2D3D4D513PC414PC0PC115PC21628272625D6D7VCCPB717PC318PB0PB119PB22024232221PB6PB5PB4PB3WRRDCSA組組B組組2. 8255A的引腳信號的引腳信號825

5、5ARDWRA0A1CSRESETD0D7I/O PA7PA0I/O PB7PB0I/O PC3PC0I/O PC7PC4CPU DBCPU CBCPU AB外外設設PA7PA0, PB7PB0, PC7PC0與外設相連的獨立地址的與外設相連的獨立地址的并行擴展口。并行擴展口。D7D0:與與CPU的數據總的數據總線相連,傳輸線相連,傳輸8255A的命的命令字或令字或I/O數據。數據。RESET:高有效高有效, , 所有所有8255A內內部寄存器清零部寄存器清零, , 3個端口均為輸個端口均為輸入。入。8255ARDWRA0A1CSRESETD0D7I/O PA7PA0I/O PB7PB0I/O

6、 PC3PC0I/O PC7PC4CPU DBCPU CBCPU AB外外設設A1 , A0:8255A內部寄存器地址尋址信號內部寄存器地址尋址信號,8255A內部有內部有4個端口,個端口,A,B,C與控制口與控制口。A1 A0 端口端口00A口口01B口口10C口口11控制口控制口12系統(tǒng)地址線系統(tǒng)地址線8255AA2A1A0A1A000000選中選中A端口端口01001選中選中B端口端口10010選中選中C端口端口11011選中控制口選中控制口A1A0A2A1系系統(tǒng)統(tǒng)地地址址線線8255A148255的控制信號與傳輸動作的對應關系的控制信號與傳輸動作的對應關系A1A0傳輸說明傳輸說明000

7、01數據從端口數據從端口A送數據總線送數據總線00101數據從端口數據從端口B送數據總線送數據總線01001數據從端口數據從端口C送數據總線送數據總線00010數據從數據總線送端口數據從數據總線送端口A00110數據從數據總線送端口數據從數據總線送端口B01010數據從數據總線送端口數據從數據總線送端口C01110數據從數據總線送控制寄存器數據從數據總線送控制寄存器011D D7 7D D0 0 高阻高阻01101非法信號組合非法信號組合1 D D7 7D D0 0 高阻高阻CSRDWR例例:J1:A口,方式口,方式0,輸出,輸出 B口,方式口,方式0,輸入,輸入 C口高,輸出口高,輸出 C

8、口低,輸入口低,輸入 J2:A口,方式口,方式0,輸入,輸入 B口,方式口,方式1,輸出,輸出 C口高,輸出口高,輸出 J1,J2地址地址A9A8A7A6A5A4A3A2A1A0J1J201 001000108H10EH01 000000100H106H15控制端口控制端口A和和C的高的高4位的位的工作方式和讀寫操作。工作方式和讀寫操作。 控制端口控制端口B和和C的低的低4位的位的工作方式和讀寫操作。工作方式和讀寫操作。雙向三態(tài)的雙向三態(tài)的8位數位數據緩沖器。與系統(tǒng)據緩沖器。與系統(tǒng)數據總線相連數據總線相連管理數據管理數據傳輸過程傳輸過程188255有三種基本工作方式:n方式0基本輸入輸出方式n

9、方式1選通輸入輸出方式n方式2雙向傳送方式n三種工作方式均可由用戶編程來選定,即由編程送入控制口內的不同控制字來選擇19 8255A的控制字的控制字 一、一、 方式選擇控制字方式選擇控制字 作用:用來確定作用:用來確定8255A、B、C三個端口其工作方式和三個端口其工作方式和I/O方式。方式。20n例:A口方式0輸入,B口方式0輸出,C口輸入則方式字為:10011001用指令把控制字送到8255中去: mov al,99H out 控制口,al21例:例:82558255A A端口端口A A工作于方式工作于方式0 0輸出,端口輸出,端口B B方式方式0 0輸入,端口輸入,端口C C高四位輸出,

10、端口高四位輸出,端口C C低四位輸入。低四位輸入。82558255A A各端口地址為各端口地址為0101E0HE0H01E6H01E6H,請編寫出初始化程序。請編寫出初始化程序。MOV AL, 83H ;控制字控制字1000 0011BMOV DX, 01E6HOUT DX, AL11000 001端口端口C C低低四位輸入四位輸入端口端口B B輸輸入入端口端口B B方式方式0 0端口端口C C高高四位輸出四位輸出端口端口A A輸出輸出端口端口A A方式方式0 0標識標識位位解:解:1)確定控制字)確定控制字2)寫初始化程序)寫初始化程序22練習:練習:82558255A A端口端口A A工作

11、于方式工作于方式0 0輸入,端口輸入,端口B B方式方式1 1輸入,端口輸入,端口C C高四位輸出,端口高四位輸出,端口C C低四位配合端口低四位配合端口B B工作。工作。82558255A A各端口地各端口地址為址為6 60H0H66H66H,請編寫出初始化程序。請編寫出初始化程序。MOV AL, 96H ;控制字控制字1001 011BOUT 66H, AL1100 011端口端口C C低四低四位配合位配合B B端口端口B B輸輸入入端口端口B B方式方式1 1端口端口C C高高四位輸出四位輸出端口端口A A輸入輸入端口端口A A方式方式0 0標識標識位位解:解:1)確定控制字)確定控制字

12、2)寫初始化程序)寫初始化程序n方式控制字主要是用于控制8255的工作方式,包括它的A口、B口和C口的三個口的工作方式,每一個端口在工作的時候都要首先來設置它的方式字,即先建立他的工作環(huán)境n真正使用的時候實際上就是針對端口A、B、C的操作。2324二、二、 端口端口C置置1/清清0控制字控制字 注:注:該控制字必須寫入控制端口該控制字必須寫入控制端口25nPC5設置為1的控制字PC3為0PC3為1000001100000111MOV AL,06HOUT C口,AL1PA32PA2PA13PA0440393837PA4PA5PA6PA756GND7A1836353433RESETD0D19A01

13、0PC7PC611PC51232313029D2D3D4D513PC414PC0PC115PC21628272625D6D7VCCPB717PC318PB0PB119PB22024232221PB6PB5PB4PB3WRRDCSA組組B組組控制字要送控制口,怎么送是控制邏輯的事,只要把控制字送到控制口,會自動實現(xiàn)置1或清0功能。并且不會影響其它位n按數據方式來改變一個位,其它的位也跟著改變n位控方式可以只對一個位操作n按字節(jié)方式來實現(xiàn),可以用與命令清0,或命令置1,異或命令取反來實現(xiàn),然后再把整個數據送出去。這樣其它的位也送了,只是和上一次傳輸的一樣。較麻煩2627練習:練習:編寫程序段,實現(xiàn)

14、對端口編寫程序段,實現(xiàn)對端口C的的PC6位清位清0,PC2位置位置1,8255A各端口地址為各端口地址為80H、82H、84H、86H。MOV AL, 0CH ;控制字控制字01100BOUT 86H, ALMOV AL, 05H ;控制字控制字00101BOUT 86H, AL例:例:編寫程序段,實現(xiàn)對端口編寫程序段,實現(xiàn)對端口C的的PC7位置位置1,PC3清清0,8255A控制端口地址為控制端口地址為00EEH。MOV AL, 0FH ;控制字控制字01111BMOV DX, 00EEHOUT DX, ALMOV AL, 06H ;控制字控制字00110BOUT DX, AL28 利用利用

15、C C口的按位控制特性可以產生負脈沖或方波輸出,對外口的按位控制特性可以產生負脈沖或方波輸出,對外設進行控制。設進行控制。例:例:利用利用8255A8255A的的PCPC7 7產生負脈沖,作為外設的數據選通信號,產生負脈沖,作為外設的數據選通信號, 設設82558255A A各端口地址為各端口地址為8080H H、82H82H、84H84H、86H86H。參考程序:參考程序: MOV AL MOV AL,00001111B 00001111B ;置;置PCPC7 7=1=1 OUT 86H OUT 86H,ALAL MOV AL MOV AL,00001110B 00001110B ;置;置P

16、CPC7 7=0=0 OUT 86H OUT 86H,ALAL NOP NOP ;維持低電平;維持低電平 NOP NOP MOV AL MOV AL,00001111B 00001111B ;置;置PCPC7 7=1=1 OUT 86H OUT 86H,ALAL296.5.4 8255A的工作方式的工作方式 一、方式一、方式01 1、工作特點、工作特點 1 1)兩個)兩個8 8位端口,兩個位端口,兩個4 4位端口。位端口。2 2)可有)可有1616種不同的組合。種不同的組合。2 2、輸入、輸入/ /輸出時序輸出時序 1 1)方式)方式0 0讀取讀取數據數據條件條件(1 1)CPUCPU發(fā)讀信號

17、前,先發(fā)出地址信號,即發(fā)讀信號前,先發(fā)出地址信號,即 使使CSCS、A1A1、A0A0有效,啟動有效,啟動82558255A A;(2 2)數據要領先于讀信號)數據要領先于讀信號 是CPU滿足條件,一個讀信號,一個地址信號.CPU要從外設讀取數據,就要執(zhí)行總線周期,所以首先產生地址信號.因為CPU本身這么規(guī)定.這要求作用:片選信號是高位地址線產生, A1、A0連地址信號連地址信號.產生地址信號可選中產生地址信號可選中8255,也可也可中內部端口中內部端口.是從是從T2到到T4.對8255的要求,是8255提供給CPU的數據.因為8255沒準備好,發(fā)出來可能是錯誤信號.8255準備好后,CPU才

18、能讀取數據.所以8255要想辦法通知CPU.308255A的工作方式的工作方式n方式0:基本的輸入或輸出工作n此方式適用于無條件地傳送數據,如讀一組開關狀態(tài),控制一組指示燈,cpu可隨時讀入開關狀態(tài),隨時可把一組數據送到指示燈顯示,而無需“選通”和狀態(tài)信號,不必等待中斷請求信號,在這種方式下,每一個端口都可由程序規(guī)定為輸入或輸出。31方式0的基本功能: 1)兩個兩個8位端口(位端口(A口和口和B口),兩個口),兩個4位端口(位端口(C口的上口的上半部和下半部)。半部和下半部)。2)任一端口都可作為輸入或輸出3)輸出是鎖存的,輸入不是鎖存的。4)由于方式選擇控制字中D4D3D1D0四位均可規(guī)定各

19、口的輸入或輸出,所以在方式0時,所有端口的輸入、輸出可以有16種不同的組合。5)此方式無中斷功能,在作查詢方式工作時,可將C口的某些位作為傳送控制和狀態(tài)信息,A口和B口作為數據口。C口端口的可貴之處:它的高半字節(jié)和低半字節(jié)分開了.可以組成四對應答聯(lián)絡線.方式0使用的頻率最高.兩個系統(tǒng)機之間的通信利用8255方式1可省一個端口 326.5.4 8255A的工作方式的工作方式 一、方式一、方式02 2、輸入、輸入/ /輸出時序輸出時序 1 1)方式)方式0 0讀取讀取數據數據條件條件(1 1)CPUCPU發(fā)讀信號前,先發(fā)出地址信號,即發(fā)讀信號前,先發(fā)出地址信號,即 使使CSCS、A1A1、A0A0

20、有效,啟動有效,啟動82558255A A;(2 2)數據要領先于讀信號)數據要領先于讀信號 33nCPU為了從8255A讀取數據,在方式0下,首先要滿足兩條件:n在CPU發(fā)出讀信號前,先發(fā)出地址信號,從而使8255的的片選信號CS*、端口選擇信號A1、A0有效,于是8255A得以啟動。n在CPU發(fā)出讀信號前,外設已經將數據送到8255A的的輸入緩沖器中,即輸入數據要領先于讀信號。n在CPU發(fā)出地址信號以后,至少經T ar 時間后發(fā)出讀信號RD*。則8255A在讀信號有效后,經過T RD 時間,就可以使數據在數據總線上得到穩(wěn)定輸出。不過,這里還有三個要求:n在整個讀入期間,地址信號一直保持有效

21、。(由地址鎖存器保證)n讀脈沖寬度T RR 應滿足一定要求(最小值300ns)(由寫脈沖發(fā)生器保證)n輸入數據必須保持到讀信號結束后才消失。(由外部輸入設備來滿足)342 2)輸入時序要求)輸入時序要求讀出期間地址保持有效讀出期間地址保持有效 數據必須保持到讀信號結束數據必須保持到讀信號結束 讀脈沖寬度至少為讀脈沖寬度至少為300300nsns datadata輸入數據輸入數據D0D7RD CS,A1,A0368255方式0輸出對時序的要求是:在整個寫入期間,地址信號一直保持有效。(由地址鎖存器保證)寫脈沖寬度T WW 應滿足一定要求(最小值400ns)。(由寫脈沖發(fā)生器保證)數據必須在寫信號

22、結束前TDW時間就能出現(xiàn)在數據總線上,并且保持TWD時間。 這樣,在寫信號結束前TWB ,CPU輸出的數據就應出現(xiàn)在8255A的指定端口,從而可以送到外部設備。 3 3)輸出時序要求)輸出時序要求地址信號必須提前有效且滯后消失;地址信號必須提前有效且滯后消失; 寫脈沖寬度至少有寫脈沖寬度至少有400400nsns;t2-t4 t2-t4 數據必須在寫信號結束前出現(xiàn)在數據數據必須在寫信號結束前出現(xiàn)在數據總線上,并保持總線上,并保持t tWDWD時間時間這樣,在信號結束后最多TWB時間,cpu輸出的數據就可送到8255的指定端口,從而可送到外設。383 3、方式、方式0 0的使用場合的使用場合 (

23、1 1)同步傳送)同步傳送 (2 2)查詢式傳送)查詢式傳送 發(fā)送方和接收方的動作由一個時序信號管理,雙方互相發(fā)送方和接收方的動作由一個時序信號管理,雙方互相知道對方動作,無需聯(lián)絡信號。知道對方動作,無需聯(lián)絡信號。 發(fā)送方和接收方需聯(lián)絡信號。發(fā)送方和接收方需聯(lián)絡信號。CPU與外設需聯(lián)絡線,而8255沒提供,這需人為去定C口的線為聯(lián)絡線.例:例:82558255作為打印機的接口,工作于方式作為打印機的接口,工作于方式0 0,如圖所示,如圖所示。 工作過程為:當主機要往打印機輸出字符時,先查詢打印機忙(BUSY)信號,如果打印機正在處理一個字符或正在打印一行字符,暫時不能接收數據,則忙信號為1,反

24、之,則忙信號為0。因此,當查詢到忙信號為0時,則可通過8255A往打印機輸出一個字符。此時,要將選通信號 置成低電平,然后再使 為高電平,即在 端輸出一個負脈沖,此負脈沖將字符選通到打印機輸入緩沖器。現(xiàn)將8255A端口A作為傳送字符的通道,工作于方式工作于方式0輸出方式;B端口未用,也設為方式0; PC2作為BUSY信號輸入端,故 為輸入方式,PC6作為STB信號輸出端,故 為輸出方式STBSTBSTB40n寫方式字、寫控制字n檢查忙狀態(tài)n送數據n選通打印機n撤銷打印機41 MOV AL, 81H ;1000 001 B OUT 0D6H, AL;設置工作方式;設置工作方式 MOV AL, 0

25、DH ; 0 1101B OUT 0D6H, AL;PC6置位置位LPST: IN AL, 0D4H;讀;讀C端口端口 AND AL, 04H ;0000 0100B JNZ LPST ;打印機忙,繼續(xù)查詢,否則打印;打印機忙,繼續(xù)查詢,否則打印MOV AL, CLOUT 0D0H, AL;待打印字符送端口;待打印字符送端口AMOV AL, 0CH;0 1100BOUT 0D6H, AL;PC6清清0NOPNOPINC ALOUT 0D6H, AL;PC6置位置位 練習:練習:82558255作為打印機的接口,工作于方式作為打印機的接口,工作于方式0 0。 GCG2AG2BACSY2BPC0A

26、0PC7BUSYPBA1STBDBA1A6A2A5A7A3A48086CPU74LS1388255A打印機驅動1)寫出寫出8255各端口的地址各端口的地址 8255各端口的地址:各端口的地址:90H,92H,94H,96H n當主機要往打印機輸出字符時,先查詢打印機的當主機要往打印機輸出字符時,先查詢打印機的忙信號(忙信號(BUSYBUSY),如果打印機忙,則),如果打印機忙,則BUSYBUSY信號為信號為1 1,否則為否則為0 0。當查詢到。當查詢到BUSYBUSY為為0 0時,可通過時,可通過8255A8255A往打往打印機輸出一個字符,此時,要將印機輸出一個字符,此時,要將 置為低電平,

27、置為低電平,然后再使然后再使 為高電平,相當于在為高電平,相當于在 端輸出一端輸出一個負脈沖(個負脈沖( 初始狀態(tài)為高電平),此負脈沖初始狀態(tài)為高電平),此負脈沖作為打印機的選通信號。作為打印機的選通信號。n現(xiàn)將現(xiàn)將B B端口作為傳送字符的通道,工作于方式端口作為傳送字符的通道,工作于方式0 0;A A端口未用;端口未用;C C端口中,端口中,PCPC7 7作為作為BUSYBUSY信號輸入端,信號輸入端,PCPC0 0作為作為 信號輸出端。信號輸出端。STBSTBSTBSTBSTB MOV AL, MOV AL, 88H88H ;(;(1001001000 B1000 B) OUT OUT 9

28、6H96H, AL, AL MOV AL, 01H MOV AL, 01H ;(;(0 00001 B0001 B) OUT OUT 96H96H, AL, AL MOV SI, OFFSET BUF MOV SI, OFFSET BUF ;打印字符內存首地址;打印字符內存首地址 MOV CX MOV CX,100 100 ;打印字符個數;打印字符個數LPST:IN AL, LPST:IN AL, 94H94H AND AL, 80HAND AL, 80H JNZ LPST JNZ LPST2)設在設在BUF開始的內存緩沖區(qū)存放著開始的內存緩沖區(qū)存放著100個待打印字符,完成個待打印字符,完成

29、8255A初始化程序及把待打印字符送打印機打印的程序。初始化程序及把待打印字符送打印機打印的程序。1)寫出寫出8255各端口的地址各端口的地址 8255各端口的地址:各端口的地址:90H,92H,94H,96H MOV AL, SIMOV AL, SIOUT OUT 92H92H, AL, ALMOV AL, 00H MOV AL, 00H ;0 00000 B0000 BOUT OUT 96H96H, AL, ALNOPNOPNOPNOPINC ALINC ALOUT OUT 96H96H, AL, ALINC SI INC SI ;內存地址加;內存地址加1 1DEC CX DEC CX ;

30、字符數減;字符數減1 1JNZ LPST JNZ LPST ;未完,繼續(xù);未完,繼續(xù)46n方式1:選通的輸入輸出方式n在這種方式下,A口或B口仍作為數據的輸入/輸出口,同時規(guī)定C口的某些位作為控制或狀態(tài)信息,起應答聯(lián)絡和中斷請求的作用,C口剩下的線作為I/O線使用。n方式1的主要功能(特點): 1)可提供可提供一個或兩個選通的8位數據端口。 2)每一個選通的端口含有三條控制線(是固定指定的,不能用程序改變),提供中斷邏輯。含一含一8位數據端口位數據端口3)任一個端口都可作為輸入或輸出。4)若只有一個端口工作于方式1,余下的13位可以工作在方式0。5)若兩個端口都工作于方式1,端口C還剩下兩位。

31、這兩位可以由程序指定作為輸入或輸出,也具有置位/復位功能。二、二、 方式方式1 47PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB 當A口或B口處于方式1輸入時,每個端口指定C口中的三位作控制信號,對A口指定的是PC4、PC5、PC3三位,對B口指定的是PC2、PC1、PC0三位. PC4和PC2指定為STB信號,這是設備的選通輸入信號,低電平有效,由外設提供該信號,STB的下降沿將端口數據線上的信息打入端口鎖存器。 PC5和PC1指定為IBF信號,這是輸入緩沖器滿信號,高電平有效,它是由8255輸出的狀態(tài)信息,通常和外設相連,IBF為高電平表示外設已經將數據打入端口的鎖存

32、器,但CPU還未讀取,當CPU讀取端口數據時,IBF變?yōu)榈碗娖剑?,IBF信號是由STB的下降沿置位,由RD的上升沿復位。 PC3和PC0指定為INTR信號,這是中斷請求信號,高電平有效。當STB=1,IBF=1,INTE=1時,中斷請求有效,INTR=1。該信號由RD信號下降沿清除。INTEA由PC4控制,INTEB由PC2控制。8255工作方式工作方式1輸入輸入A端口B端口PC4PC5PC3PA7PA0INTEAIBFAINTRASTBAPC6PC7作作I/O口口48 可以利用對C口的按位置位復位的控制方式來允許或禁止8255的中斷.這樣一來它的方式1可以有效地控制它的中斷過程.492、

33、方式、方式1輸入有關信號規(guī)定輸入有關信號規(guī)定(A端口端口)數據選通信號數據選通信號表示外設已經準備好數據表示外設已經準備好數據輸入緩沖器滿信號輸入緩沖器滿信號表示表示A口已經接收數據口已經接收數據中斷請求信號中斷請求信號請求請求CPU接收數據接收數據PC4PC5PC3PA7PA0INTEAIBFAINTRASTBAPC6PC7作作I/O口口中斷允許觸發(fā)器中斷允許觸發(fā)器PC4置置1, INTEA 1,A口處于中斷允許狀態(tài),當口處于中斷允許狀態(tài),當STBA1,IBFA1時,時,INTRA有效,向有效,向CPU申請中斷。申請中斷。PC4復位,復位,INTEA 0, A口處于中斷屏蔽狀態(tài),口處于中斷屏

34、蔽狀態(tài),INTRA無效。無效。502、方式、方式1輸入有關信號規(guī)定(輸入有關信號規(guī)定(B端口)端口)數據選通信號數據選通信號表示外設已經準備好數據表示外設已經準備好數據輸入緩沖器滿信號輸入緩沖器滿信號表示表示B口已經接收數據口已經接收數據中斷請求信號中斷請求信號請求請求CPU接收數據接收數據PC2PC1PC0PB7PB0INTEBIBFBINTRBSTBB中斷允許觸發(fā)器中斷允許觸發(fā)器PC2置置1, INTEB1,B口處于中斷允許狀態(tài),當口處于中斷允許狀態(tài),當STBB1,IBFB1時,時,INTRB有效,向有效,向CPU申請中斷。申請中斷。PC2復位,復位,INTEB 0, B口處于中斷屏蔽狀態(tài)

35、,口處于中斷屏蔽狀態(tài),INTRB無效。無效。512、方式、方式1輸入有關信號規(guī)定輸入有關信號規(guī)定STB:選通信號,低電平有效。選通信號,低電平有效。 外設外設 8255A 的聯(lián)絡信號。的聯(lián)絡信號。有效時,將輸入設備送來的數據鎖存至有效時,將輸入設備送來的數據鎖存至8255A的輸入鎖存器。的輸入鎖存器。IBF:輸入緩沖器滿信號,高電平有效。輸入緩沖器滿信號,高電平有效。 8255A CPU的聯(lián)絡信號。的聯(lián)絡信號。有效時,表示數據已鎖存在輸入鎖存器。有效時,表示數據已鎖存在輸入鎖存器。 STB使該信號置位,使該信號置位,RD的后沿即上升沿使其復位。的后沿即上升沿使其復位。INTE:中斷允許信號,控

36、制中斷的允許和屏蔽中斷允許信號,控制中斷的允許和屏蔽注:注:PC4控制控制A口中斷允許與外設來的口中斷允許與外設來的STBA信號無關,由內部信號無關,由內部 電路決定。電路決定。 即將即將PC4置位,即置位,即INTEA1不等于不等于把把STBA置為高電平;置為高電平; 外設使外設使STBA0不等于不等于INTEA復位。復位。INTR:中斷請求信號,高電平有效中斷請求信號,高電平有效 8255A CPU??捎糜谙蚩捎糜谙駽PU提出中斷請求,要求提出中斷請求,要求CPU讀取外設數據。讀取外設數據。STB、IBF均為高電平時該信號置位,均為高電平時該信號置位,RD的下降沿使其復位。的下降沿使其復位

37、。PC2控制控制B口中斷允許與外設來的口中斷允許與外設來的STBB信號無關。信號無關。53543、方式、方式1輸入時序輸入時序55 當A口或B口處于方式1輸出時,每個端口指定C口中的三位作控制信號,對A口指定的是PC7、PC6、PC3三位,對B口指定的是PC1、PC2、PC0三位. PC7和PC1指定為OBF信號,這是輸出緩沖器滿信號,低電平有效,它是由8255輸出給外設的一個控制信號,當它為低電平時,表示CPU已將數據輸出給指定的端口,外設可以來取一個有效的數據。外設從端口取走數據后,產生的響應信號ACK使OBF變高電平,該信號由WR信號的上升沿置為低電平。 8255工作方式工作方式1輸出輸

38、出A端口B端口PC6PC7PC3PA7PA0INTEAOBFAINTRAACKAPC2PC1PC0PB7PB0INTEBOBFBINTRBACKB56nPC6和PC2指定為ACK信號,這是外設的響應信號,輸入,低電平有效,ACK上出現(xiàn)外設送來的負脈沖,表示外設已經取走了端口的數據,并已準備好接收下一個數據。n PC3和PC0指定為INTR信號,這是中斷請求信號,高電平有效。當ACK=1,OBF=1,INTE=1時,中斷請求有效,INTR=1。該信號由WR信號下降沿清除。nINTEA和INTEB是8255內部A口和B口的中斷允許觸發(fā)器。INTE=1時,允許端口中斷請求;INTE=0時,禁止端口中

39、斷請求。A口的中斷允許信號INTEA可由用戶通過PC4的置位/復位控制(PC4=1允許中斷),B口的INTE4可由對PC2的置位/復位控制。PC6PC7PC3PA7PA0INTEAOBFAINTRAACKAPC2PC1PC0PB7PB0INTEBOBFBINTRBACKB574、方式、方式1輸出有關信號規(guī)定(輸出有關信號規(guī)定(A端口)端口)外設響應信號外設響應信號表示外設已經接收到數據表示外設已經接收到數據輸出緩沖器滿信號輸出緩沖器滿信號表示表示CPU已經輸出了數據已經輸出了數據中斷請求信號中斷請求信號請求請求CPU再次輸出數據再次輸出數據PC6PC7PC3PA7PA0INTEAOBFAINT

40、RAACKA中斷允許觸發(fā)器中斷允許觸發(fā)器PC6置置1,INTEA1(不等于不等于ACKA1),A口處于中斷允許狀態(tài);口處于中斷允許狀態(tài);PC6復位,復位,INTEA 0 (不等于不等于ACKA0) , A口處于中斷屏蔽狀態(tài),口處于中斷屏蔽狀態(tài),INTRA無效。無效。584、方式、方式1輸出有關信號規(guī)定(輸出有關信號規(guī)定(B端口)端口)外設響應信號外設響應信號表示外設已經接收到數據表示外設已經接收到數據輸出緩沖器滿信號輸出緩沖器滿信號表示表示CPU已經輸出了數據已經輸出了數據中斷請求信號中斷請求信號請求請求CPU再次輸出數據再次輸出數據PC2PC1PC0PB7PB0INTEBOBFBINTRBA

41、CKB中斷允許觸發(fā)器中斷允許觸發(fā)器PC2置置1,INTEB1(不等于不等于ACKB1),B口處于中斷允許狀態(tài);口處于中斷允許狀態(tài);PC2復位,復位,INTEB0 (不等于不等于ACKB0) ,B口處于中斷屏蔽狀態(tài),口處于中斷屏蔽狀態(tài),INTRB無效。無效。594、方式、方式1輸出有關信號規(guī)定輸出有關信號規(guī)定OBF:輸出緩沖器滿信號,低有效。輸出緩沖器滿信號,低有效。 8255A外設的控制信號。外設的控制信號。 有效時,表示有效時,表示 CPU已把數據輸出給指定的端口,外設可取走。已把數據輸出給指定的端口,外設可取走。 該信號由該信號由WR的上升沿置成有效電平,的上升沿置成有效電平,ACK的有效

42、信號使之恢的有效信號使之恢復為高電平。復為高電平。ACK:外設響應信號,低電平有效。外設響應信號,低電平有效。 外設外設 8255A的響應信號。的響應信號。表表8255A的端口數據已由外設接收。的端口數據已由外設接收。INTE:中斷允許信號,控制中斷的允許和屏蔽中斷允許信號,控制中斷的允許和屏蔽INTR:中斷請求信號,高電平有效中斷請求信號,高電平有效 8255A CPU。 當輸出設備已接收數據后,當輸出設備已接收數據后,8255A輸出此信號向輸出此信號向CPU提出中斷提出中斷請求,要求請求,要求CPU繼續(xù)提供數據。繼續(xù)提供數據。 ACK、OBF均為高電平時該信號置位,均為高電平時該信號置位,

43、WR的下降沿使其復位。的下降沿使其復位。注:注:PC6控制控制A口中斷允許,與外設來的口中斷允許,與外設來的ACKA信號無關。信號無關。PC2控制控制B口中斷允許,與外設來的口中斷允許,與外設來的ACKB信號無關。信號無關。PC4和和 PC5可作可作I/O口用。口用。61624、方式、方式1輸出時序輸出時序635 5、方式、方式1 1的使用場合的使用場合 與外設有聯(lián)絡信號,與與外設有聯(lián)絡信號,與CPUCPU有中斷請求信號,適于有中斷請求信號,適于查詢傳送和中斷傳送。查詢傳送和中斷傳送。64n請問下他們進行的具體操作是什么? (DS)=2100H,(SS)=5200,(BX)=1400H,(BP

44、)=6200H nBYTE PTR這樣的叫屬性修飾符,具體來說,就是操作數為字節(jié);相應的,WORD PTR操作數為字。 所以,MOV BYTE PTRBP,20H 的結果,把立即數20H放到DS X 10H+BP,亦即地址21000+6200=27200H的內容為20H; 而MOV WORD PTRBX,2000H 的結果,27200H處為00H,27202H處為20H,按INTEL的反字節(jié)順序存放。 例:作為打印機的接口,工作于方式例:作為打印機的接口,工作于方式 。 8255A的的PC3連連8259A的中斷請求輸入端的中斷請求輸入端IR3,對應的中對應的中斷類型號為斷類型號為0BH,中斷處

45、理子程序的入口地址為中斷處理子程序的入口地址為1000H:2000H,存放在存放在00段的段的2CH、2DH、2EH、2FH這四個單元這四個單元中。設待打印的字符放在中。設待打印的字符放在DI所指向的內存緩沖區(qū)。所指向的內存緩沖區(qū)。 8255A的端口地址為的端口地址為00C0H00C6H。 1010 00B6667n打印機的的工作過程和例6-3-1分析的的過程一致,不同的的是這里采用的的是中斷傳送方式。n連接說明:n由于8255A的的A端口作為數據通道,工作在方式1,輸出方式,此時,PC7自動作為OBF*信號的的輸出端,PC6則自動作為ACK*信號的的輸入端,PC3自動作為INTR信號輸出端n

46、由于打印機需要一個數據選通脈沖,這里選擇由CPU控制PC0產生該脈沖信號。OBF*在這里沒有用,將它懸空即可。nPC3連接到8259A的的中斷請求信號輸入端IR3,對應中斷類型號為0BH,此中斷對應的的中斷向量放在00段2ch開始的的4個字節(jié)單元中。n8255A的的工作方式說明n現(xiàn)在A端口作為傳送字符的的通道,工作于方式1,輸出方式;B端口未用;C端口也工作于方式0,PC0作為選通信號輸出端,故C端口低4位為輸出方式,高4位未規(guī)定。所以控制字應為10100000B(0A0H)n程序代碼 nA口地址:0C0H,B口地址:0C2H,C口地址:0C4H,控制口地址:0C6Hn主程序:主程序:主程序:

47、MAIN:MOV AL, 0A0H ;1010 00B MOV DX, 00C6H OUT DX, AL ;設置控制字設置控制字 MOV AL, 01H OUT DX, AL ;將將PC0置置1,選通無效,選通無效 XOR AX, AX MOV DS, AX MOV BX,002CH MOV AX,2000H MOV BX ,AX MOV AX,1000H MOV BX+2 ,AX ;裝配中斷向量裝配中斷向量 MOV AL, 0DH ;0 1101B OUT DX, AL ;將將PC6置置1,允許,允許8255A中斷中斷 STI ;CPU開中斷開中斷中斷處理子程序:中斷處理子程序:TINTR:

48、MOV AL, DI MOV DX, 00C0H OUT DX, AL ;待打印字符送端口待打印字符送端口A MOV AL, 00 MOV DX,00C6H ;將將PC0清清0,產生選通信號,產生選通信號 OUT DX, AL INC AL OUT DX, AL ;將將PC0置置1,撤消選通信號,撤消選通信號 . . . IRET ;中斷返回中斷返回70三、三、 方式方式2 PC6PC7PC3PA7PA0INTE1OBFAINTRAACKAPC4PC5IBFASTBAINTE2A口口方式2使A口為外部設備和CPU之間提供一條8位的雙向數據通道(既能發(fā)送,又能接收)。工作時可用程序查詢方式,也可用中斷式。方式2的主要功能:(1)方式2只用于A口(2)一個8位的雙向總線端口A(用于數據傳送),一個5位的控制端口C(用于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論