




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1第第7 7章章 并行接口并行接口 主要內容:主要內容:1 1、并行接口的特點、并行接口的特點 2 2、可編程并行接口芯片可編程并行接口芯片8255A 3 3、8255A的的0方式及其應用方式及其應用 4 4、8255A的的1方式及其應用方式及其應用 5 5、8255A的的2方式及其應用方式及其應用重點內容:重點內容:8255A的各種工作方式及其應用的各種工作方式及其應用2第第7 7章章 并行接口并行接口 7.1 并行并行I/O接口的特點接口的特點一、并行接口的定義一、并行接口的定義 實現并行輸入實現并行輸入/輸出的接口就是并行接口。通常,一個并行接口輸出的接口就是并行接口。通常,一個并行接口
2、 可設計為輸出接口,例如連接一臺打印機;可設計為輸出接口,例如連接一臺打印機; 也可設計為輸入接口,也可設計為輸入接口, 例如連接鍵盤;例如連接鍵盤; 還可設計成雙向通訊接口,既可作為輸入接口又可還可設計成雙向通訊接口,既可作為輸入接口又可 作為輸出接口,例如連接像磁盤驅動器這樣的需要雙向通路的設備。作為輸出接口,例如連接像磁盤驅動器這樣的需要雙向通路的設備。二、并行接口的特點二、并行接口的特點 (1)以字節()以字節(8位)、位)、 字(字(16位)或雙字(位)或雙字(32)寬度,)寬度, 在接口與外在接口與外 設之間的多根數據線上傳輸數據。設之間的多根數據線上傳輸數據。 (2)并行數據的格
3、式無固定格式,由被連接的外設的要求決定。)并行數據的格式無固定格式,由被連接的外設的要求決定。 (3)并行數據傳輸過程中,一般不作差錯檢驗和傳輸速率控制)并行數據傳輸過程中,一般不作差錯檢驗和傳輸速率控制 (4)由于并行通信所采用的電纜較多,不太適合長距離傳輸。所以,)由于并行通信所采用的電纜較多,不太適合長距離傳輸。所以, 并行通信通常用在數據傳輸率要求較高、而傳輸的距離相對較并行通信通常用在數據傳輸率要求較高、而傳輸的距離相對較 短的場合。短的場合。3第第7 7章章 并行接口并行接口 三、并行接口與外設的連接三、并行接口與外設的連接 如圖所示,并行接口左邊是與如圖所示,并行接口左邊是與CP
4、U連接的總線,右邊用一個連接的總線,右邊用一個 通道和輸入設備相連,另一個通道和輸出設備相連,輸入和輸出通道和輸入設備相連,另一個通道和輸出設備相連,輸入和輸出 都有獨立的信號交換聯絡控制線。在并行接口內部用控制寄存器都有獨立的信號交換聯絡控制線。在并行接口內部用控制寄存器 來寄存來寄存CPU對它的控制命令,用狀態寄存器來提供各種工作狀態對它的控制命令,用狀態寄存器來提供各種工作狀態 供供CPU查詢,此外,還有供輸出和輸入數據用的輸出數據鎖存器查詢,此外,還有供輸出和輸入數據用的輸出數據鎖存器 和輸入數據緩沖器。和輸入數據緩沖器。 CPU控制寄存器控制寄存器輸入緩沖寄存器輸入緩沖寄存器輸出緩沖
5、寄存器輸出緩沖寄存器狀態寄存器狀態寄存器輸輸入入設設備備輸輸出出設設備備地址地址譯碼譯碼數據總線數據總線讀出信號讀出信號寫入信號寫入信號復位復位準備好準備好中斷請求中斷請求數據輸入準備好數據輸入準備好數據輸入回答數據輸入回答數據輸入數據輸入數據輸出數據輸出數據輸出準備好數據輸出準備好數據輸出回答數據輸出回答4第第7 7章章 并行接口并行接口 四、并行接口的基本工作原理四、并行接口的基本工作原理 1、數據的輸入過程、數據的輸入過程 當外設把數據送到數據輸入線上時,通過當外設把數據送到數據輸入線上時,通過“數據輸入準數據輸入準 備好備好”狀態線通知接口取數。接口在把數據鎖存到輸入緩沖狀態線通知接口
6、取數。接口在把數據鎖存到輸入緩沖 器的同時,把數據輸入回答線置器的同時,把數據輸入回答線置“1”,用來通知外設,接口,用來通知外設,接口 的數據輸入緩沖器的數據輸入緩沖器 “滿滿”,禁止外設再送數據。,禁止外設再送數據。 同時把內部同時把內部 狀態寄存器中狀態寄存器中“輸入準備好輸入準備好”狀態位置狀態位置“1”,以便,以便CPU對其進對其進 行查詢或向行查詢或向CPU申請中斷。在申請中斷。在 CPU 讀取接口中的數據后,讀取接口中的數據后, 接口將自動清除接口將自動清除 “輸入準備好輸入準備好” 狀態位和狀態位和“數據輸入回答數據輸入回答”信信 號,以便外設輸入下一個數據。號,以便外設輸入下
7、一個數據。5第第7 7章章 并行接口并行接口 2、數據的輸出過程、數據的輸出過程 當數據輸出緩沖器當數據輸出緩沖器“空閑空閑”時,時, 接口中接口中“輸出準備好輸出準備好”狀態狀態位位 置置“1”。 在接收到在接收到CPU的數據后,的數據后, “輸出準備好輸出準備好”狀態位復位。狀態位復位。 數據通過輸出線送到外設,數據通過輸出線送到外設, 同時,由同時,由“數據輸出準備好數據輸出準備好”信號線信號線 通知外設取數據。通知外設取數據。 當外設接收一個數據時,當外設接收一個數據時, 回送一個回送一個 “數據輸數據輸 出回答出回答”信號,通知接口準備下一次輸出數據。信號,通知接口準備下一次輸出數據
8、。 接口將撤消接口將撤消“數數 據輸出準備好據輸出準備好”信號并且再一次置信號并且再一次置“輸出準備好輸出準備好”狀態位為狀態位為“1”, 以便以便CPU輸出下一個數據。輸出下一個數據。 6數據數據總線總線緩沖緩沖器器讀寫讀寫控制控制邏輯邏輯D7D0RDWRA0A1RESETCSA組組A端口端口(8位)位)B組組C端口端口(低(低4)B組組B端口端口(8位)位)A組組C端口端口(高(高4)I/O PA7PA0I/O PC7PC4I/O PC3PC0I/O PB7PB0A組組控制控制B組組控制控制與與CPU接口接口內部邏輯內部邏輯外設接口外設接口第第7 7章章 并行接口并行接口 7.2 可編程接
9、口芯片可編程接口芯片8255A一、一、8255A的內部結構及外部引腳的內部結構及外部引腳數據總線緩沖器數據總線緩沖器 數據的輸入數據的輸入與輸出、控制字與輸出、控制字的寫入和狀態信的寫入和狀態信息的讀出。息的讀出。RESET:復位信號:復位信號 當當 8255A被復位被復位時,片內各寄存器全時,片內各寄存器全部清零,部清零,A、B、C三三個端口自動設為輸入個端口自動設為輸入端口,一般與端口,一般與CPU的的RESET相連。相連。CS:片選信號:片選信號 與與A1、A0合起來合起來構成構成A、B、C和控制和控制口的端口地址??诘亩丝诘刂贰1、A0:端口地址:端口地址 譯碼譯碼00 端口端口A
10、01端口端口B 10 端口端口C 11控制口控制口RD / WR:讀寫控制:讀寫控制 信號信號 讀寫控制信號組合讀寫控制信號組合產生的操作產生的操作控制口控制口不能讀不能讀0 1 01 1總線懸浮總線懸浮(三態)(三態)1 1 0X X總線懸浮總線懸?。ㄈ龖B)(三態)X X 1X X數據數據寄存器控制寄存器控制1 0 01 1CPUPC1 0 01 0CPUPB1 0 00 1CPUPA1 0 00 0PCCPU0 1 01 0PBCPU0 1 00 1PACPU0 1 00 0操作操作RD WR CSA1 A08255A與外設接口與外設接口 為為A、B、C三個三個8 位端口寄存器,位端口寄存
11、器, 對對應應 PA0PA7、 PB0PB7和和PC0PC7共共24條雙向三態線。通常條雙向三態線。通常A口和口和B口作為輸入、口作為輸入、輸出端口,輸出端口, C口作為口作為控制控制/狀態信息端口,狀態信息端口,C 口在方式控制字的口在方式控制字的控制下可分為二個控制下可分為二個 4位端口,分別與位端口,分別與A口、口、B 口配合使用??谂浜鲜褂谩 口口還可以進行位控制,還可以進行位控制,通過指令使其任何一通過指令使其任何一位置位或復位。位置位或復位。內部控制部分內部控制部分 A、B組控制組控制電路組成,根據電路組成,根據 CPU送來的控制送來的控制字用以決定兩組字用以決定兩組端口(端口(
12、A 組為組為 A口和口和 C 口的高口的高 4位,位,B 組為組為 B 口口和和C口的低口的低4位)位)的工作方式,也的工作方式,也可根據控制字的可根據控制字的要求對要求對 C口控位口控位進行置位或復位。進行置位或復位。7第第7 7章章 并行接口并行接口 二、二、8255A的控制字與初始化編程的控制字與初始化編程例:例:現要求現要求8255A8255A的各個端口處于如下工作方式,端口的各個端口處于如下工作方式,端口A A:方式:方式0 0, 輸出;端口輸出;端口B B:方式:方式0 0,輸入;端口,輸入;端口C C的高的高4 4位為輸出,端口位為輸出,端口C C 的低的低4 4位為輸入。端口地
13、址位為輸入。端口地址60H60H63H63H寫出方式選擇控制字。寫出方式選擇控制字。1 1、方式選擇控制字、方式選擇控制字PC3PC0:1 輸入輸入0輸出輸出 PB7PB0:1 輸入輸入0輸出輸出 B組方式組方式 選擇:選擇:0方式方式01方式方式1PC7PC4:1 輸入輸入0輸出輸出 PA7PA0:1 輸入輸入0輸出輸出 A組方式組方式 選擇:選擇:00方式方式001方式方式11X方式方式2 特特征征位位1D6D5D4D3D2D1D08第第7 7章章 并行接口并行接口 2、C口按位置口按位置0/置置1控制字控制字0D6D5D4D3D2D1D01:置:置10:置:置0D3 D2 D1選擇選擇C
14、口的口的0 0 0 0位位0 0 11位位0 1 02位位0 1 13位位1 0 04位位1 0 16位位1 1 17位位未使用未使用特征位特征位例:例:若若8255A的端口地址為的端口地址為220H223 H,現要求端口,現要求端口C的的PC7置置1, PC3置置0。寫出實現上述要求的程序。寫出實現上述要求的程序。注意:注意:雖然是對端口雖然是對端口C的某一位進行置的某一位進行置1或清或清0,但該控制字要寫入,但該控制字要寫入 控制口而不是寫入端口控制口而不是寫入端口C。 9第第7 7章章 并行接口并行接口 練習:練習:利用利用8255的的 PC3產生負脈沖作為打印機接口電路的產生負脈沖作為
15、打印機接口電路的 數據選通信號,端口地址為數據選通信號,端口地址為300H303H。寫出實現。寫出實現 上述要求的程序。上述要求的程序。mov dx , 303Hmov al , 00000110B out dx , al nop nop mov al , 00000111Bout dx , al 10第第7 7章章 并行接口并行接口 3、初始化編程的步驟、初始化編程的步驟 (1)向)向8255控制寄存器寫入方式選擇控制字,控制寄存器寫入方式選擇控制字, 從而預置端口的工作方式。從而預置端口的工作方式。 (2)當端口預置為方式)當端口預置為方式1或方式或方式2時,再向控時,再向控 制寄存器寫入
16、制寄存器寫入C口置口置0/置置1控制字,使相控制字,使相 應端口的中斷允許觸發器置應端口的中斷允許觸發器置0 或置或置1,從,從 而禁止或允許端口提出中斷。確定而禁止或允許端口提出中斷。確定8255A 以查詢方式還是中斷方式交換信息。以查詢方式還是中斷方式交換信息。11第第7 7章章 并行接口并行接口 練習:練習:8255端口地址(端口地址(200H203),),8255A的的A口指定口指定 為方式為方式1,輸入,輸入,C口上半部分定為輸出;口上半部分定為輸出;B口指口指 定為定為0方式,方式, 輸出,輸出,C 口下半部分定為輸入??谙掳氩糠侄檩斎?。 寫寫 初始化程序。初始化程序。mov d
17、x , 203Hmov al , 10110001B out dx , al 12第第7 7章章 并行接口并行接口 練習:練習:寫出使口寫出使口A的的PA2和和PA5同時復位和同時同時復位和同時 置位的初始化程序。置位的初始化程序。mov dx , 200 Hin al , dxand al , 11011011Bout dx , almov dx , 200Hin al , dxmov ah , alor al , 00100100Bout dx , al13第第7 7章章 并行接口并行接口 工作工作方式方式方式方式0(基本輸入(基本輸入/輸出):輸出):A口、口、B口、口、C口???。方式方
18、式1(選通型輸入(選通型輸入/輸出):輸出):A口、口、B口口方式方式2(雙向數據傳送):(雙向數據傳送):A口口C口配合口配合A口口B口工作,為口工作,為它們的它們的I/O提提供聯絡信號供聯絡信號7.3 并行接口芯片并行接口芯片8255A的工作方式的工作方式14第第7 7章章 并行接口并行接口 一、方式一、方式0及其應用(基本的輸入及其應用(基本的輸入 / 輸出)輸出) 1、特點、特點 (1)0方式是一種基本輸入方式是一種基本輸入/輸出工作方式。輸出工作方式。 通常不用聯絡通常不用聯絡 信號或不使用固定的聯絡信號,信號或不使用固定的聯絡信號, 因此,所謂基本因此,所謂基本 I/O 方式是指查
19、詢方式傳送,也包括無條件傳送。輸出鎖方式是指查詢方式傳送,也包括無條件傳送。輸出鎖 存,輸入有三態緩沖能力而無鎖存功能。存,輸入有三態緩沖能力而無鎖存功能。 (2)在)在 0 方式下,彼此獨立的兩個方式下,彼此獨立的兩個8位和兩個位和兩個4位并行口,位并行口, 共共 24 根根I/O線全部由用戶支配,都能被指定作為輸入線全部由用戶支配,都能被指定作為輸入 或者作為輸出用,共有或者作為輸出用,共有16種不同的使用組態。要特別種不同的使用組態。要特別 強調的是,在強調的是,在0方式下,方式下, 只能把只能把C口的高口的高4位為一組或位為一組或 低低4位為一組同時輸入或輸出,不能再把位為一組同時輸入
20、或輸出,不能再把4位中一部分位中一部分 作輸入另一部分作輸出,即作輸入另一部分作輸出,即4位一起使用。位一起使用。15第第7 7章章 并行接口并行接口 一、方式一、方式0及其應用(基本的輸入及其應用(基本的輸入 / 輸出)輸出) 1、特點、特點 (3)在)在 0 方式下不設置專用聯絡信號線,需要聯絡時,可方式下不設置專用聯絡信號線,需要聯絡時,可 由用戶任意指定由用戶任意指定 C 口中的哪根線完成某種聯絡功能,口中的哪根線完成某種聯絡功能, 這與后面要討論的在這與后面要討論的在1方式、方式、2方式下設置固定的專用方式下設置固定的專用 聯絡信號線不同。由于無固定的專用聯絡信號,因此聯絡信號線不同
21、。由于無固定的專用聯絡信號,因此 也就在端口與也就在端口與 I/O 設備之間無固定的時序關系,由用設備之間無固定的時序關系,由用 戶根據數據傳送的要求決定輸入戶根據數據傳送的要求決定輸入/輸出的操作過程。輸出的操作過程。0 方式也沒有設置固定的狀態字。方式也沒有設置固定的狀態字。 (4)是單向)是單向 I/O, 一次初始化只能指定端口(一次初始化只能指定端口(PA、PB 和和 PC )作輸入或作輸出,)作輸入或作輸出, 不能指定端口同時既作輸入不能指定端口同時既作輸入 又作輸出。又作輸出。162、使用場合、使用場合 (1)同步傳送時,發送方和接收方的動作由一個時序信號)同步傳送時,發送方和接收
22、方的動作由一個時序信號 來管理,雙方互相知道對方的動作,不需應答信號,來管理,雙方互相知道對方的動作,不需應答信號, CPU不需要查詢外設的狀態。在同步傳送方式下使用不需要查詢外設的狀態。在同步傳送方式下使用 8255A時,時,3個數據端口可實現三路數據傳輸。個數據端口可實現三路數據傳輸。 (2)查詢方式傳輸時,需要有應答信號。)查詢方式傳輸時,需要有應答信號。 這時一般將這時一般將 A、 B口作為數據端口,口作為數據端口,C口的口的4個數位規定為輸出口,用個數位規定為輸出口,用 來輸出一些控制信號,來輸出一些控制信號,C 口的另外口的另外 4 個數位規定為輸個數位規定為輸 入口,用來讀入外設
23、的狀態。即用入口,用來讀入外設的狀態。即用 C 口來配合口來配合A口和口和 B口的輸入輸出操作。口的輸入輸出操作。第第7 7章章 并行接口并行接口 17第第7 7章章 并行接口并行接口 例例1:設設8255A端口端口A工作在方式工作在方式0下,通過下,通過A口輸出口輸出 數據控制數據控制8個指示燈輪流點亮。個指示燈輪流點亮。 電路連接如圖電路連接如圖 所示。(地址為所示。(地址為04A0H04A6H)CPU80868255AD0D7INTRD0D7PC3PA0PA7.Vcc18第第7 7章章 并行接口并行接口 MOV DX,04A6H ;控制口地址送;控制口地址送DX MOV AL,80H ;
24、寫工作方式控制字;寫工作方式控制字 OUT DX,AL MOV DX,04A0H ;A端口地址送端口地址送DX MOV AL,0FEH ;低電平燈亮;低電平燈亮 AA1 OUT DX,AL ;輸出數據;輸出數據 CALL DELAY ;延時;延時 ROL AL,1 ;輪流點亮;輪流點亮 JMP AA1 注意:注意:執行此段程序時要注意延時子程序的延時時間,執行此段程序時要注意延時子程序的延時時間, 若延時時間不夠,指示燈會全亮或全滅。若延時時間不夠,指示燈會全亮或全滅。19第第7 7章章 并行接口并行接口 例例2 2:開關輸入與開關輸入與LEDLED顯示與顯示與ISAISA總線的接口電路如圖所
25、示??偩€的接口電路如圖所示。 8255A8255A端口端口A A編程為方式編程為方式0 0,端口,端口A A向向7 7段段LEDLED顯示器提供顯示器提供 段碼,端口段碼,端口C C作為開關數據輸入。作為開關數據輸入。 本例中,接口的功本例中,接口的功 能是:能是: 將將4 4位開關輸入的二進制數轉換成對應的位開關輸入的二進制數轉換成對應的1616進進 制數,并在制數,并在7 7段段LEDLED上顯示。上顯示。abcdefgpabcdefgp+5Vabcdefgp(a)共陽極)共陽極LED(b)共陰極)共陰極LED(c)LED字形字形20第第7 7章章 并行接口并行接口 PA0PA1PA2PA
26、3PA4PA5PA6PA7PC3PC2PC1PC01RESETA0A1WRRDCS8255Aabcdefgp+5V段驅動器段驅動器abcdefgp1ABCG2AG2BG1DBRESET DRVA0A1IOWIORA2A3A4AENA9A5A6A7A8Y074LS138+5VK來自來自ISA總線總線21第第7 7章章 并行接口并行接口 DATA SEGMENT ;定義;定義7段碼表段碼表SEGTAB DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 7FH,67H,77H,7CH,39H,5EH,79H,71HDATA ENDSCODE SEGMENTASSUME CS
27、:CODE,DS:DATASTART: MOV AX, DATA MOV DS,AX MOV AL,10000001B ;8255A控制字控制字 MOV DX,203H OUT DX,AL MOV BX,OFFSET SEGTAB22第第7 7章章 并行接口并行接口 MOV DX,202H ;輸入開關狀態;輸入開關狀態 IN AL,DX MOV AH,0 AND AL,0FH ;屏蔽高;屏蔽高4位位 ADD BX,AX ;獲取輸入數字對應的;獲取輸入數字對應的7段碼地址段碼地址 MOV AL,BX;取;取7段碼段碼 MOV DX,200H ;向端口;向端口A輸出輸出7段碼段碼 OUT DX,A
28、L MOV AX,4C00H ;返回;返回DOS操作系統操作系統 INT 21H CODE ENDS END START23第第7 7章章 并行接口并行接口 例:例:如下圖所示如下圖所示8255A作為并行打印機的接口,作為并行打印機的接口,CPU采用查詢方式采用查詢方式 把存放在把存放在Buf緩沖區的緩沖區的256個字符(個字符(ASCII)送去打印。)送去打印。CPUPA7PA0PC7PC2GND291(STB)11 BUSYGND8255A打印機插座打印機插座打印機與打印機與CPU間傳送數據的過程:間傳送數據的過程:(1)BUSY=1等待;等待;BUSY=0 CPU送數據至數據線送數據至數
29、據線(2)當)當CPU發發STB數據選通信號,數據至打印機數據選通信號,數據至打印機(3)打印機收到數據,發)打印機收到數據,發“忙忙”信號,打印機正處理數據。信號,打印機正處理數據。 當數據處理完,打印機撤消當數據處理完,打印機撤消“忙忙”信號,直至信號,直至busy=024第第7 7章章 并行接口并行接口 code segmentassume cs : code, ds : codeorg 100hstart: mov ax , code mov ds , ax mov dx , 303h mov al , 10000001b ( ) mov al , 00001111b out dx ,
30、 al mov si , offset buf mov cx , ( )L: mov dx , 302h in al , dx and al , ( ) jnz L mov dx , ( )mov al , siout dx , al mov dx , 303hmov al , 00001110bout dx , alnop nopmov al , 00001111bout dx , alinc sidec cxjnz Lmov ax , 4c00hint 21hbuf db 256個子個子ASCII字符字符code endsend startout dx , al25604h 300h25第
31、第7 7章章 并行接口并行接口 練習練習1、8255A有多少條有多少條I/O信號線?分別是什么?信號線?分別是什么?2、8255A使用了多少個端口?分別是什么端口?使用了多少個端口?分別是什么端口? 各有何功能?各有何功能?3、當把、當把82H裝入裝入8255A的控制寄存器后,其端口的控制寄存器后,其端口 A、B、C的工作和的工作和 I/O配置是什么?配置是什么?4、如果、如果8255A的端口的端口A、B和和C設置為方式設置為方式0,且,且 端口端口A和和B用于輸入而端口用于輸入而端口C用于輸出,用于輸出,8255 的端口地址為的端口地址為1000H1003H,編寫一個裝入,編寫一個裝入 該控
32、制字的指令序列?該控制字的指令序列?5、簡述、簡述8255A方式方式0的特點及應用場合。的特點及應用場合。26第第7 7章章 并行接口并行接口 二、方式二、方式1及其應用(選通型的輸入及其應用(選通型的輸入/輸出方式)輸出方式) A口、口、B口用方式口用方式1輸入輸入/輸出傳輸時,輸出傳輸時, 要利用端要利用端 口口C提供的選通信號,而這些選通信號與端口提供的選通信號,而這些選通信號與端口C的各的各 位之間有著固定的對應關系。位之間有著固定的對應關系。 1、特點、特點 (1)任何一個端口可作為輸入口,也可作為輸出)任何一個端口可作為輸入口,也可作為輸出 口,各端口間無必然關系。口,各端口間無必
33、然關系。 (2)各個端口的輸入或輸出有)各個端口的輸入或輸出有16種不同的組合,種不同的組合, 可適用多種不同場合??蛇m用多種不同場合。 (3)如果)如果A、B口都工作在方式口都工作在方式1,則端口,則端口C有有6位位 被規定為配合方式被規定為配合方式1工作的信號,剩下的工作的信號,剩下的2位位 仍可作為輸入或輸出。仍可作為輸入或輸出。27PC2PC1PC0PB7PB0INTEBRDSTBBIBFBINTRB第第7 7章章 并行接口并行接口 2 2、方式、方式1 1時輸入端口對應的控制信號時輸入端口對應的控制信號1011 1/0 X X XD7 D6 D5 D4 D3 D2 D1A組工作于方式
34、組工作于方式1輸入的控制字輸入的控制字D0PC4PC5PC3PC7、PC6PA7PA0INTEARDSTBAIBFAINTRAI/O1X X X X11XD7 D6 D5 D4 D3 D2 D1B組工作于方式組工作于方式1輸入的控制字輸入的控制字D01011 1/0 11XD7 D6 D5 D4 D3 D2 D1A、B組都工作于方式組都工作于方式1輸入的控制字輸入的控制字D0STB(Storbe):選通信號輸入端,它是由外設送往選通信號輸入端,它是由外設送往 8255A 的,當的,當 STB有效時,有效時,8255A接收外設送來的一個接收外設送來的一個8位數據,位數據, 從而使從而使8255A
35、的輸入緩沖器中得到一個新的數據。的輸入緩沖器中得到一個新的數據。 IBF(Input Buffer Full):緩沖區滿信號,它是緩沖區滿信號,它是8255A 輸出的狀態信輸出的狀態信 號。表示當前已有一個新的數據在輸入緩號。表示當前已有一個新的數據在輸入緩 沖器中,該信號由沖器中,該信號由STB置位,置位,RD復位。復位。INTR(Intrrupt Request):中斷請求信號,它是當中斷請求信號,它是當STB和和IBF均為高均為高 電平時,電平時,8255 向向CPU發出的,發出的,CPU 響響 應讀取輸入緩沖器的數據,由應讀取輸入緩沖器的數據,由RD復位。復位。INTE(Intrrup
36、t Enable):中斷允許信號,它是一個控制中斷允許或中斷允許信號,它是一個控制中斷允許或 中斷屏蔽的信號。中斷屏蔽的信號。 INTE 無外部引腳,由無外部引腳,由 軟件通過對軟件通過對C口口PC4或或PC2置置1開、置開、置0禁。禁。28第第7 7章章 并行接口并行接口 STBIBFINTRRD從外設來的從外設來的 輸入數據輸入數據29第第7 7章章 并行接口并行接口 OBF(Out Buffer Full):緩沖區滿信號,它是緩沖區滿信號,它是8255A輸出的狀態信輸出的狀態信 號。通知外設取走數據的信號,該信號由號。通知外設取走數據的信號,該信號由 WR置位,置位,ACK使其復位。使其
37、復位。3 3、方式、方式1 1時輸出端口對應的控制信號時輸出端口對應的控制信號1010 1/0 X X XD7 D6 D5 D4 D3 D2 D1A組工作于方式組工作于方式1輸出的控制字輸出的控制字D01X X X X10XD7 D6 D5 D4 D3 D2 D1B組工作于方式組工作于方式1輸出的控制字輸出的控制字D01010 1/0 10XD7 D6 D5 D4 D3 D2 D1A、B組都工作于方式組都工作于方式1輸出的控制字輸出的控制字D0ACK(Acknowledge):外設響應信號,表示外設響應信號,表示CPU通過通過8255A輸出的輸出的 數據已經送到外設。數據已經送到外設。INTR
38、(Intrrupt Request):中斷請求信號,它是當中斷請求信號,它是當ACK和和OBF均為均為 高電平時,高電平時,8255向向CPU發出的,發出的, 以使以使 CPU再次輸出數據,由再次輸出數據,由WR復位。復位。INTE(Intrrupt Enable):中斷允許信號,它是一個控制中斷允許或中斷允許信號,它是一個控制中斷允許或 中斷屏蔽的信號。中斷屏蔽的信號。 INTE 無外部引腳,由無外部引腳,由 軟件通過對軟件通過對C口口PC6或或PC2置置1開、置開、置0禁。禁。PC1PC2PC0PB7PB0INTEBWROBFBACKBINTRBPC7PC6PC3PC4、PC5PA7PA0
39、INTEAWROBFAACKAINTRAI/O30第第7 7章章 并行接口并行接口 輸出輸出WROBFINTRACK31第第7 7章章 并行接口并行接口 4、方式、方式1的使用場合的使用場合 選定方式選定方式 1, 在規定一個端口的輸入輸出方式的在規定一個端口的輸入輸出方式的 同時,就自動規定了有關的聯絡、控制信號和中斷請同時,就自動規定了有關的聯絡、控制信號和中斷請 求信號。求信號。 如果外設能向如果外設能向8255A提供輸入數據選通信號提供輸入數據選通信號 或輸出數據接收應答信號,或輸出數據接收應答信號, 就可采用方式就可采用方式 1,方便又,方便又 有效地傳送數據。具體地來說,方式有效地
40、傳送數據。具體地來說,方式1有二種用法:有二種用法: (1)中斷方式:)中斷方式:將將 INTE 置為置為1,A組和組和B組可以使用組可以使用 各自的各自的INTR信號申請中斷。信號申請中斷。 (2)查詢方式:)查詢方式:CPU 通過讀通過讀 C 端口,可以查詢端口,可以查詢IBF、 OBF信號的當前狀態,決定是否立即信號的當前狀態,決定是否立即 進行數據傳輸。進行數據傳輸。32第第7 7章章 并行接口并行接口 例:例:打印機是經常使用的外設,打印機是經常使用的外設, 除少數情況都使用并行接口。除少數情況都使用并行接口。 它有它有 8位數據線位數據線DATA1DATA8, 數據選通信號數據選通
41、信號STROBE,應答信,應答信 號號ACK和忙信號和忙信號BUSY, 8255A工作在方式工作在方式1,ACK與與PC6(端(端 口口A的的ACKA)相連,而)相連,而 STROBE 由由 PC4 通過軟件方式產生,通過軟件方式產生, PC3(INTRA)產生的中斷請求送入)產生的中斷請求送入PC的的IRQ7引腳。設引腳。設8255A 端口地址為端口地址為 200H203H,8255A傳送傳送N個字符給打印機。個字符給打印機。 PA0PA78255APC4DATA0DATA7STROBEACKPC6PC3打印機打印機ACKAINTRPC IRQ733第第7 7章章 并行接口并行接口 DATA
42、 SEGMENTBUF DB N DUP(?)INT0F_SEG DW ? ;存;存0FH號中斷向量的段地址號中斷向量的段地址INT0F_OFF DW ? ;存;存0FH號中斷向量的偏移地址號中斷向量的偏移地址N EQU 100 ;打印字節數;打印字節數DATA ENDSSTACK SEGMENT PARA STACKSTACK DW 100 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA, SS:STACKSTART: MOV AX,DATA;初始化數據段;初始化數據段 MOV DS,AX CLI MOVAX,350FH;?。蝗?F號中
43、斷向量號中斷向量 INT21H MOVINT0F_SEG,ES34第第7 7章章 并行接口并行接口 MOVINT0F_OFF,BXPUSH DSMOVAX,SEG PRINT_INT ;設置新中斷向量;設置新中斷向量MOVDS,AXMOVDX,OFFSET PRINT_INTMOVAX,250FHINT21HPOPDSINAL,21HANDAL,7FHOUT21H,AL ;允許;允許PCIRQ7中斷中斷MOVDX,203HMOVAL,10100000B ;A口方式口方式1輸出,輸出,PC4為輸出為輸出OUTDX,ALMOVAL,00001101B ;置;置PC6=1,允許,允許8255A 中斷
44、中斷OUTDX,ALMOVDX,203H ;8255A控制端口地址控制端口地址 35第第7 7章章 并行接口并行接口 MOVAL,00001001B ;8255A PC4輸出高電平輸出高電平OUTDX,ALSTI ;開中斷;開中斷MOVBX,OFFSET BUF ;緩沖區首地址;緩沖區首地址MOVCL,N ;傳送長度;傳送長度MOVAL,BX ;取數據;取數據INCBXMOVDX,200HOUTDX,AL ;向;向8255A輸出第一個字節輸出第一個字節 DECCLMOVDX,203HMOVAL,00001000B ;輸出;輸出PC4低電平低電平OUTDX,ALNOP ;延時;延時NOPMOVA
45、L,000010001B ;輸出;輸出PC4高電平(產生高電平(產生STROBE信號)信號)OUTDX,AL36第第7 7章章 并行接口并行接口 HERE:CMP CL,0 JNZ HERE CLI PUSH DS MOV AX,INT0F_SEG ;恢復類型;恢復類型0FH原中斷向量原中斷向量 MOV DS,AX MOV DX,INT0F_OFF MOV AX,250FH INT 21H POP DS IN AL,21H ;禁止;禁止IRQ7中斷中斷 OR AL,80H OUT 21H,AL MOV AH,4CH ;返回;返回DOS INT 21H37第第7 7章章 并行接口并行接口 ;*中
46、斷服務程序中斷服務程序 * PRINT_INTPROC NEAR PUSH DX PUSH AX MOV DX,200H MOV AL,BX OUT DX,AL ;8255A端口端口A輸出下一個字節輸出下一個字節 INC BX ;修改地址;修改地址 DEC CL ;字節計數;字節計數 MOV AL,00001000B ;產生;產生STROBE信號信號 MOV DX,203H OUT DX,AL NOP NOP MOV AL,00001001B OUT DX,AL38第第7 7章章 并行接口并行接口 MOV AL,20H ;結束中斷;結束中斷 OUT 20H,AL POP AX POP DX I
47、RETPRINT_INT ENDPCODEENDS END START 39第第7 7章章 并行接口并行接口 設設8255A和相應的實驗電路,如上圖所示。要求先預置開關和相應的實驗電路,如上圖所示。要求先預置開關K2K0為一組狀態,為一組狀態,然后按下自復按鈕然后按下自復按鈕K產生一個負脈沖信號,輸入到產生一個負脈沖信號,輸入到PC4。用發光二極管。用發光二極管LEDi 亮,亮,顯示顯示K2K0的狀態。主機鍵盤有按任意鍵按下時結束演示。查詢方式:當的狀態。主機鍵盤有按任意鍵按下時結束演示。查詢方式:當PC4收到負脈沖之后,收到負脈沖之后,K2K0的狀態信息被存入的狀態信息被存入A口數據寄存器,
48、口數據寄存器,8255A使使IBFA(PC5)=1。程序查詢。程序查詢PC5,當,當PC5=1時執行時執行A口輸入指令。給程序寫明注釋??谳斎胫噶睢=o程序寫明注釋。D7D0RESETD7D0+5VRDWRIORIOWA1A0A0A1CS地址譯碼器地址譯碼器218H21FHPB6PB7PB0.PA2PA1PA0+5VK2K1K0PC4單脈沖發生器單脈沖發生器+5VLED6LED7LED0.PC5IBFA40第第7 7章章 并行接口并行接口 data segmentmesg db 8255A ready, 0dh , 0ah , $tab db 1 1 1 1 1 1 1 0 b db 1 1 1
49、 1 1 1 0 1 b db 1 1 1 1 1 0 1 1 b db 1 1 1 1 0 1 1 1 b db 1 1 1 0 1 1 1 1 b db 1 1 0 1 1 1 1 1 b db 1 0 1 1 1 1 1 1 b db 0 1 1 1 1 1 1 1 bdata endscode segment assume cs : code , ds : databeg: mov ax , data mov ds , ax call i8255A mov ah , 9 mov dx , offset mesg int 21h scan: mov ah , 1 int 16h jnz
50、return mov dx , 21ah in al , dx test al , 00100000b jz scan mov dx , 218h in al , dx and al , 07h mov bx , offset tab xlat tab mov dx , 219h out dx , al jmp scan return: mov ah, 4ch int 21h 41第第7 7章章 并行接口并行接口 i8255a proc mov dx , 21bh mov al , 1 01 1 0 0 0 0 b out dx , al mov al , 08h out dx , al mo
51、v dx , 219h mov al , 0ffh out dx , al reti8255a endp 42第第7 7章章 并行接口并行接口 設系統機外擴了一片設系統機外擴了一片8255A和相應的實驗電路,如上圖所示。要求和相應的實驗電路,如上圖所示。要求從從8255端口端口A邏輯開關邏輯開關K7K0作為輸入,端口作為輸入,端口B接發光二極管接發光二極管LEDi編程當主機鍵盤無按鍵按下時從編程當主機鍵盤無按鍵按下時從8255端口端口A輸入數據并從端口輸入數據并從端口B輸輸出,驗證結果。開關閉合為出,驗證結果。開關閉合為0,斷開為,斷開為1;輸出;輸出PBi=0,LEDi亮。亮。當主機鍵盤有鍵
52、按下時結束演示。完成程序并寫明注釋。當主機鍵盤有鍵按下時結束演示。完成程序并寫明注釋。CS地址譯碼器地址譯碼器218H21FHPB6PB7PB0.PA2PA1PA0+5VK7K1K0+5VLED6LED7LED0.43第第7 7章章 并行接口并行接口 code segment assume ( )start: mov dx , 21bh mov al , ( ) out dx , alinput: mov dx , ( ) in ( ) , dx mov dx , ( ) out dx , ( ) mov ah , 1 int 16h jz ( ) mov ah, ( ) int 21hcod
53、e ( ) end ( )44第第7 7章章 并行接口并行接口 三三 、方式、方式 2(雙向傳輸方式)(雙向傳輸方式) 只適合于端口只適合于端口A,在方式,在方式2下,下, 外設可以在外設可以在 8 位數據線上,位數據線上, 既往既往 CPU發送數據,發送數據, 又從又從CPU接收數接收數 據。據。 當當A口工作于方式口工作于方式2時,時, C端端 口自動提供相應的控制信號??谧詣犹峁┫鄳目刂菩盘枴?1、方式、方式2工作時的控制信號工作時的控制信號11XXX 1/0 1/0 1/0D7D6D5D4D3D2D1A組工作于方式組工作于方式2的控制字的控制字D0PC3PC7PC6PC4PC5PC2
54、PC0PA7PA0INTE1INTRAOBFAACKASTBAIBFAINTE245第第7 7章章 并行接口并行接口 2、方式、方式2的使用場合的使用場合 方式方式2是一種雙向工作方式,如果一個外設是一種雙向工作方式,如果一個外設 既是輸入設備,既是輸入設備, 又是輸出設備,又是輸出設備, 并且輸入和輸并且輸入和輸 出是分時進行的,出是分時進行的, 那么將此設備與那么將此設備與8255A的的A口口 相連,并使相連,并使A口工作在方式口工作在方式2就非常方便。例如,就非常方便。例如, 磁盤就是一種這樣的雙向外設。磁盤就是一種這樣的雙向外設。 CPU 既能對磁既能對磁 盤讀,盤讀, 又能對磁盤寫,
55、又能對磁盤寫, 并且讀和寫在時間上是并且讀和寫在時間上是 不重合的。不重合的。 所以,所以, 可以將磁盤驅動器的數據線可以將磁盤驅動器的數據線 和和8255A的的A口相連,再使口相連,再使 PC3PC7 與磁盤控與磁盤控 制器的控制線和狀態線相連,制器的控制線和狀態線相連, 就可以進行雙向就可以進行雙向 的數據傳輸。的數據傳輸。46第第7 7章章 并行接口并行接口 例:例:使用兩臺使用兩臺CPU系統,傳送系統,傳送 100 個數據,個數據, 一臺為主機一臺為主機CPU,其相應的,其相應的 接口稱為主側,另一臺為從機接口稱為主側,另一臺為從機CPU,其相應的接口稱為從側。,其相應的接口稱為從側。
56、 主機主機 CPU以中斷方式輸入輸出數據,主側以中斷方式輸入輸出數據,主側8255A工作在方式工作在方式2,從機,從機CPU 采用查詢式輸入輸出數據。從側采用查詢式輸入輸出數據。從側8255A工作在方式工作在方式 0(兩側(兩側 8255A地地 址都是址都是04A0H04A6H)。分析:分析:(1) 輸入數據時,由從側輸入數據時,由從側8255A發給主側發給主側8255A的控制信號的控制信號 STB 有效時,打開主側有效時,打開主側8255A輸入鎖存器,當數據被鎖存后,主輸入鎖存器,當數據被鎖存后,主 側側8255A輸出信號輸出信號IBF才有效。才有效。 (2) 輸出數據時,主機輸出數據時,主
57、機CPU把數據輸入給主側把數據輸入給主側8255A輸出鎖存器,輸出鎖存器, 發出發出OBF信號,通知從側信號,通知從側8255A,從側,從側8255A發回發回ACK信號,信號, 用來啟動三態輸出緩沖器輸出數據。用來啟動三態輸出緩沖器輸出數據。47第第7 7章章 并行接口并行接口 D0D7RDWRINTA1A2A3A98086CPUPA0PA7RDWRINTAA1A0PC7PC6PC4PC5PA0PA7PB0PB7PC0PC4PC5PC1A1A0A1A2A3A98086CPUD0D7RDWRRDWRCSCS譯碼器譯碼器譯碼器譯碼器.8255A8255AOBFACKSTBIBF48第第7 7章章
58、并行接口并行接口 ;主程序;主程序 MOV BL,64H ;輸入;輸入100個數計數器個數計數器 MOV CL,64H ;輸出;輸出100個數計數器個數計數器 MOV SI,0100H ;輸出數據所在內存單元首址送;輸出數據所在內存單元首址送SI MOV DI,0200H ;輸入數據存放內存單元首址送;輸入數據存放內存單元首址送DI MOV DX,04A6H ;8255A控制口地址送控制口地址送DX MOV AL,0C0H ;工作方式;工作方式2控制字寫入控制字寫入A口口 MOV DX,AL MOV AL,09H ;PC41,允許輸入中斷,允許輸入中斷 MOV DX,AL MOV AL,0DH
59、 ;PC61,允許輸出中斷,允許輸出中斷 STI ;開中斷;開中斷AA5: CMP BL,00H JNZ AA549第第7 7章章 并行接口并行接口 CMP CL,00H JNZ AA5 CLI ;關中斷;關中斷 HALT ;中斷服務程序;中斷服務程序INT: MOVDX,04A4H ;8255狀態口地址(狀態口地址(C口)送口)送DX IN AL,DX ;采集;采集8255狀態口的狀態值狀態口的狀態值 MOV AH,AL ;保存狀態;保存狀態 AND AL,20H ;判斷輸入緩沖器是否滿;判斷輸入緩沖器是否滿(PC) JZ AA1 ;IBF0,無數據,轉走,無數據,轉走 MOV DX,04A
60、0H ;A口地址送口地址送DX IN AL,DX ;輸入緩沖器滿;輸入緩沖器滿IBF=1,取數據,取數據 MOV DI,AL ;保存數據;保存數據 50第第7 7章章 并行接口并行接口 INC DI ;修改地址指針;修改地址指針 DEC BL JMP AA2 AA1: MOV AL,AH AND AL,80H ;判斷輸出緩沖器是否滿;判斷輸出緩沖器是否滿 JZ AA2 ;OBF0,滿,有數據,轉向,滿,有數據,轉向AA2 MOV DX,04A0H ;A口地址送入口地址送入DX MOV AL,SI ;OBF=1輸入緩沖器空,取數據輸入緩沖器空,取數據 OUT DX,AL ;輸出數據;輸出數據 I
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 金屬工藝品設計中的消費者行為研究考核試卷
- 通信設備在社區健康管理中的應用考核試卷
- LM385呼吸燈技術解析
- 精神疾病的預防與控制
- 院前急救的轉運與交接
- Pentoxifylline-d3-BL-191-d-sub-3-sub-生命科學試劑-MCE
- 湖北省2025年中考第三次模擬考試物理試卷(含答案)
- 國家開放大學電大教育學形考任務1234答案
- 高血壓腎病的臨床觀察
- 2025下半年石油石化行業油價回歸中性區間擁抱景氣改善的投資機會
- biggs學習策略問卷SPQ-英文版
- 1379]國開電大本科《人文英語3》歷年期末考試(第三大題閱讀選擇題)題庫
- 新聞發布系統-需求規格說明書
- (完整word版)最新防雷裝置檢測工程質量管理手冊
- DL_5000-2000_火力發電廠設計技術規程
- 四害密度監測工作實施方案
- 石家莊橋東污水處理廠三溝式氧化溝工藝設計
- 單相橋式整流電路通用課件
- 部編版六年級語文下冊詞語表(看拼音寫詞語)
- 血液制品發展制約因素分析:基礎薄弱起步晚
- 半自動點膠機作業指導書
評論
0/150
提交評論