




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第八章第八章 輸入和輸出輸入和輸出一、一、I/OI/O接口擴展概述接口擴展概述 MCS-51的I/O (輸入/輸出)接口是MCS-51與外部設備(簡稱外設)交換信息的橋梁。其主要功能如下:地址譯碼和設備選擇 數據緩沖和鎖存信息轉換 通信聯絡1 1、I/OI/O接口電路的功能接口電路的功能2 2、I/OI/O接口的構成接口的構成傳送的信息數據信息狀態信息控制信息3 3、I/OI/O端口的地址分配端口的地址分配統一編址:統一編址:把把I/OI/O端口的寄存器與存儲器單元同等對待,統端口的寄存器與存儲器單元同等對待,統一進行編址。直接使用訪問數據存儲器的指令進行一進行編址。直接使用訪問數據存儲器的指
2、令進行I/OI/O操作,操作, MCSMCS5151采用這種編址。采用這種編址。 指令:指令:MOVX A,Ri; MOVX Ri ,A; MOVX DPTR, A; MOVX A,DPTR;二、二、CPUCPU與外設之間的數據傳送方式與外設之間的數據傳送方式微機與外設之間的數據傳送方式:微機與外設之間的數據傳送方式: 程序傳送、中斷傳送、程序傳送、中斷傳送、DMADMA傳送傳送1 1 程序傳送程序傳送 程序傳送方式以程序傳送方式以CPUCPU為中心,數據傳送的控制來自為中心,數據傳送的控制來自CPUCPU,通過執行預先編制的輸入通過執行預先編制的輸入/ /輸出程序實現數據傳輸。輸出程序實現數
3、據傳輸。程序傳送方式可分為無條件傳送和查詢傳送方式。程序傳送方式可分為無條件傳送和查詢傳送方式。(1 1)無條件傳送)無條件傳送 在傳送信息時,不需要查詢在傳送信息時,不需要查詢外部設備的狀態。直接給出輸入外部設備的狀態。直接給出輸入或輸出指令即可。或輸出指令即可。 輸入用三態緩沖器與數據線相連;輸出時用鎖存器輸入用三態緩沖器與數據線相連;輸出時用鎖存器來鎖存來鎖存CPUCPU送出的數據。送出的數據。(2 2)條件傳送)條件傳送條件傳送又稱查詢傳送條件傳送又稱查詢傳送查詢方式的數據傳送過程如下:查詢方式的數據傳送過程如下:(1 1)CPUCPU從狀態端口讀取狀態字。從狀態端口讀取狀態字。(2
4、2)CPUCPU判斷狀態位是否判斷狀態位是否“準備準備就緒就緒”,如果沒準備好,就返回,如果沒準備好,就返回上一步,繼續讀取狀態字。上一步,繼續讀取狀態字。(3 3)如果準備好,則執行數據)如果準備好,則執行數據傳送操作。傳送操作。2 2、中斷傳送、中斷傳送 中斷傳送方式是利用中斷傳送方式是利用MCS-51MCS-51本身的中斷功能和本身的中斷功能和I/OI/O接接口的中斷功能來實現口的中斷功能來實現I/OI/O數據的傳送。數據的傳送。單片機只有在外設單片機只有在外設準備好后,發出數據傳送請求,才中斷主程序,而進入與準備好后,發出數據傳送請求,才中斷主程序,而進入與外設數據傳送的中斷服務程序,
5、進行數據的傳送。外設數據傳送的中斷服務程序,進行數據的傳送。中斷服中斷服務完成后又返回主程序繼續執行。因此,采用中斷方式可務完成后又返回主程序繼續執行。因此,采用中斷方式可以大大提高單片機的工作效率。以大大提高單片機的工作效率。3 3、直接存儲器存取傳送、直接存儲器存取傳送 在存儲器和外設之間建立起直接的數據傳送通路,在存儲器和外設之間建立起直接的數據傳送通路,即即不經由不經由CPUCPU,而由專門的而由專門的DMADMA控制器實現存儲器和外設之間控制器實現存儲器和外設之間的操作。于是,傳送就不必進行保護現場等一系列額外操的操作。于是,傳送就不必進行保護現場等一系列額外操作,從而減輕了作,從而
6、減輕了CPUCPU的負擔,因此特別適合于高速度大批的負擔,因此特別適合于高速度大批量數據傳送的場合。但是,這種方式要量數據傳送的場合。但是,這種方式要增設增設DMADMA控制器控制器,硬件電路比前兩種方式更為復雜。硬件電路比前兩種方式更為復雜。 利用TTL芯片、COMS鎖存器、三態門等接口芯片把P0接口擴展,常用的TTL芯片有74LS273、74LS373、74LS244等芯片。 按下任一鍵對應的LED發亮。273:上升沿鎖存數據, 273:CLK=P2.0+/WR,輸出數據約束條件: P2.0=0, /WR=0244: /G=P2.0+/RD,讀入按鍵約束條件: P2.0=0, /RD=0端
7、口地址:FEFFH=1111 1110 1111 1111BLOOP:MOV DPTR,#0FEFFH MOVX A,DPTR ;讀端口,按鍵的狀態 MOVX DPTR ,A ;寫端口,控制LED SJMP LOOP 一、一、82558255內部結構及引腳功能內部結構及引腳功能 數據總線緩沖器B組控制A組端口A(8)A組端口C上半部(4)B組端口C下半部(4)B組端口B(8)A組控制讀寫控制邏輯RDWRA0A1RESETCSD7D0I/OPA7PA0I/OPC7PC4I/OPC3PC0I/OPB7PB0 8255A8255A具有具有3 3個個8 8位的并行位的并行I/OI/O口,三種工作方式,
8、可通過編程改變其口,三種工作方式,可通過編程改變其功能,因而使用靈活方便,通用性強,可作為單片機與多種外圍設備連功能,因而使用靈活方便,通用性強,可作為單片機與多種外圍設備連接時的中間接口電路。接時的中間接口電路。8255A8255A的引腳及內部的結構如圖所示。的引腳及內部的結構如圖所示。1 1、引腳說明、引腳說明 8255A8255A共有共有4040只引腳,采用雙列直插式封裝,各引腳功能如下:只引腳,采用雙列直插式封裝,各引腳功能如下:nD7-D0D7-D0:三態雙向數據線,與單片機數據總線連接,用來傳送數據信息。:三態雙向數據線,與單片機數據總線連接,用來傳送數據信息。n/CS /CS :
9、片選信號線,低電平有效,表示本芯片被選中。:片選信號線,低電平有效,表示本芯片被選中。n/RD/RD:讀出信號線,低電平有效,控制:讀出信號線,低電平有效,控制8255A8255A中數據的讀出。中數據的讀出。n/WR /WR :寫入信號線,低電平有效,控制向:寫入信號線,低電平有效,控制向8255A8255A數據的寫入。數據的寫入。nVccVcc:+5V+5V電源。電源。nPA7-PA0PA7-PA0:A A口輸入口輸入/ /輸出線。輸出線。nPB7-PB0PB7-PB0:B B口輸入口輸入/ /輸出線。輸出線。nPC7-PC0PC7-PC0:C C口輸入口輸入/ /輸出線。輸出線。 nA1-
10、A0A1-A0:地址線,用來選擇:地址線,用來選擇8255A8255A內部的內部的4 4個端口。個端口。2、內部結構、內部結構 8255A 8255A內部結構包括三個并行數據輸入內部結構包括三個并行數據輸入/ /輸出端口,兩個輸出端口,兩個工作方式的控制電路,一個讀工作方式的控制電路,一個讀/ /寫控制邏輯電路和寫控制邏輯電路和8 8位數據總位數據總線緩沖器。各部件的功能如下:線緩沖器。各部件的功能如下:(1 1)端口)端口A A、B B、C C 8255A 8255A有三個有三個8 8位并行口,位并行口,PAPA、PBPB和和PCPC。都可以選擇作為。都可以選擇作為輸入輸出工作模式,但在功能
11、和結構上有些差異。輸入輸出工作模式,但在功能和結構上有些差異。 PAPA口:一個口:一個8 8位數據輸出鎖存器和緩沖器;一個位數據輸出鎖存器和緩沖器;一個8 8位數據輸入鎖位數據輸入鎖存器。存器。PBPB口:一個口:一個8 8位數據輸出鎖存器和緩沖器;一個位數據輸出鎖存器和緩沖器;一個8 8位數據輸入緩位數據輸入緩沖器。沖器。PCPC口:一個口:一個8 8位的輸出鎖存器;一個位的輸出鎖存器;一個8 8位數據輸入緩沖器。位數據輸入緩沖器。通常通常PAPA口、口、PBPB口作為輸入輸出口,口作為輸入輸出口,PCPC口可作為輸入輸出口,也口可作為輸入輸出口,也可在軟件的控制下,分為兩個可在軟件的控制
12、下,分為兩個4 4位的端口,作為端口位的端口,作為端口A A、B B選選通方式操作時的狀態控制信號。通方式操作時的狀態控制信號。(2 2) A A組和組和B B組控制電路組控制電路( (控制口控制口) ) 這是兩組根據這是兩組根據CPUCPU寫入的寫入的“命令字命令字”控制控制8255A8255A工作方工作方式的控制電路式的控制電路, ,也稱為也稱為控制口控制口。A A組控制組控制PAPA口和口和PCPC口的上半口的上半部(部(PC7-PC4PC7-PC4););B B組控制組控制PBPB口和口和PCPC口的下半部(口的下半部(PC3-PC3-PC0PC0), ,并可根據并可根據“命令字命令字
13、”對端口的每一位實現按位對端口的每一位實現按位“置置位位”或或“復位復位”。(3 3)數據總線緩沖器)數據總線緩沖器 數據總線緩沖器是一個三態雙向數據總線緩沖器是一個三態雙向8 8位緩沖器,作為位緩沖器,作為8255A8255A與系統總線之間的接口,用來傳送數據、指令、控與系統總線之間的接口,用來傳送數據、指令、控制命令以及外部狀態信息。制命令以及外部狀態信息。(4 4)讀)讀/ /寫控制邏輯電路寫控制邏輯電路 讀讀/ /寫控制邏輯電路接收寫控制邏輯電路接收CPUCPU發來的控制信號、發來的控制信號、RESETRESET、地址信號地址信號A1-A0A1-A0等,然后根據控制信號的要求,將端口數
14、等,然后根據控制信號的要求,將端口數據讀出,送往據讀出,送往CPUCPU或者將或者將CPUCPU送來的數據寫入端口。送來的數據寫入端口。 各端口的工作狀態與控制信號的關系如表所示。各端口的工作狀態與控制信號的關系如表所示。 8255芯片上共有芯片上共有4個操作地址。引腳圖中個操作地址。引腳圖中A0、A1為地址編為地址編碼線,通過譯碼產生碼線,通過譯碼產生4個地址,具體安排為:個地址,具體安排為:A口B口C口控制口A1 A00 00 11 01 1 8255A 8255A端口工作狀態選擇表端口工作狀態選擇表A1A1A0A0/RD/RD/WR/WR工作狀態工作狀態0 00 00 01 1A A口數
15、據口數據數據總線(讀端口數據總線(讀端口A A) B B口數據口數據數據總線(讀端口數據總線(讀端口B B)C C口數據口數據數據總線(讀端口數據總線(讀端口C C)0 01 10 01 11 10 00 01 10 00 01 10 0總線數據總線數據A A口(寫端口口(寫端口A A)總線數據總線數據B B口(寫端口口(寫端口B B)總線數據總線數據C C口(寫端口口(寫端口C C)總線數據總線數據控制寄存器(寫控制字)控制寄存器(寫控制字)0 01 11 10 01 10 01 10 01 11 11 10 0數據總線為高阻態數據總線為高阻態1 11 10 01 1非法狀態非法狀態1 11
16、 1數據總線為高阻態數據總線為高阻態9.2.2 9.2.2 工作方式選擇控制字及工作方式選擇控制字及C C口置位口置位/ /復復位控制字位控制字8255A8255A有三種基本工作方式:有三種基本工作方式:(1) (1) 方式方式0 0:基本輸入輸出;:基本輸入輸出;(2) (2) 方式方式1 1:選通輸入輸出;:選通輸入輸出;(3) (3) 方式方式2 2:雙向傳送(僅:雙向傳送(僅A A口有此工作方式)。口有此工作方式)。1.1.工作方式選擇控制字工作方式選擇控制字 三種工作方式由寫入控制字寄存器的方式控制字來決三種工作方式由寫入控制字寄存器的方式控制字來決定。方式控制字的格式如圖所示。定。
17、方式控制字的格式如圖所示。 8255A 8255A的方式控制字的方式控制字 控制寄存器控制寄存器 A1 A0 = 1 1 B A1 A0 = 1 1 B 說明:三個端口中C口被分為兩個部分,上半部分隨A口稱為A組,下半部分隨B口稱為B組。其中A口可工作于方式0、1、和2,而B口只能工作在方式0和1。 例如,寫入工作方式控制字95H,可將8255A編程為:A口方式0輸入,B口方式1輸出,C口的上半部分(PC7-PC4)輸出,C口的下半部分(PC3-PC0)輸入。例:將8255A的PA、PB、PC口設定為基本輸出方式。 MOV DPTR,#XXX3H;設定控制口地址指針 MOV A,#80H MO
18、V DPTR, C C口按位置位口按位置位/ /復位控制字復位控制字 C C口口8 8位中的任一位,可用一個寫入控制口的置位位中的任一位,可用一個寫入控制口的置位/ /復位控制復位控制字來對字來對C C口按位來置口按位來置“1”1”或是清或是清“0”0”。這個功能主要用于位。這個功能主要用于位控。控。C C口按位置位口按位置位/ /復位控制字的格式如圖復位控制字的格式如圖例如,例如,07H07H寫入控制口,置寫入控制口,置“1”PC31”PC3;08H08H寫入控制口,寫入控制口,PC4PC4清零。清零。C C口按位置位口按位置位/ /復位控制字格式復位控制字格式 控制寄存器控制寄存器 A1
19、A0 = 1 1 B A1 A0 = 1 1 B9.2.3 8255A9.2.3 8255A的三種工作方式的三種工作方式 方式方式0 0 方式方式0 0是一種基本的輸入是一種基本的輸入/ /輸出方式。輸出方式。在方式在方式0 0下,下,MCS-51MCS-51可對可對8255A8255A進行進行I/OI/O數據的無條件傳送,例如,讀入數據的無條件傳送,例如,讀入一組開關狀態,控制一組指示燈的亮、滅。實現這些操作,一組開關狀態,控制一組指示燈的亮、滅。實現這些操作,并不需要聯絡信號,外設的并不需要聯絡信號,外設的I/OI/O數據可在數據可在8255A8255A的各端口得的各端口得到鎖存和緩沖。因
20、此,到鎖存和緩沖。因此,8255A8255A的方式的方式0 0稱為基本輸入稱為基本輸入/ /輸出輸出方式。方式。 方式方式0 0下,三個端口都可以由程序設置為輸入或輸出,下,三個端口都可以由程序設置為輸入或輸出,不需要應答聯絡信號。方式不需要應答聯絡信號。方式0 0的基本功能為:的基本功能為:(1 1)具有兩個)具有兩個8 8位端口(位端口(A A、B B)和兩個)和兩個4 4位端口(位端口(C C的上半部的上半部分和下半部分)。分和下半部分)。(2 2)任一個端口都可以設定為輸入或輸出。)任一個端口都可以設定為輸入或輸出。(3 3)數據輸出時鎖存,輸入時不鎖存。)數據輸出時鎖存,輸入時不鎖存
21、。例如:假設例如:假設8255A8255A的控制字寄存器地址為的控制字寄存器地址為FF7FHFF7FH,則令,則令A A口和口和C C口的高口的高4 4位工作在方式位工作在方式0 0輸出,輸出, B B口和口和C C口的低口的低4 4位工作于方位工作于方式式0 0輸入,這時,初始化程序為:輸入,這時,初始化程序為:MOV DPTRMOV DPTR,#0FF7FH#0FF7FH;控制字寄存器地址送;控制字寄存器地址送DPTR DPTR MOV AMOV A,#83H#83H;方式控制字;方式控制字83H83H送送A AMOVX DPTRMOVX DPTR,A A;83H83H送控制字寄存器送控制
22、字寄存器方式方式1 1 方式方式1 1是一種選通輸入是一種選通輸入/ /輸出工作方式。輸出工作方式。A A口和口和B B口皆可獨口皆可獨立地設置成這種工作方式。在方式立地設置成這種工作方式。在方式1 1下,下,8255A8255A的的A A口和口和B B口口通常用于通常用于I/OI/O數據的的傳送,數據的的傳送,C C口用作口用作A A口和口和B B口的聯絡線,口的聯絡線,以實現中斷方式傳送以實現中斷方式傳送I/OI/O數據。數據。 方式方式1 1輸入輸入 當任一端口工作于方式當任一端口工作于方式1 1輸入時,控制聯絡信號如圖所輸入時,控制聯絡信號如圖所示,與示,與IBFIBF構成了一對應答聯
23、絡信號,各個控制聯絡信號構成了一對應答聯絡信號,各個控制聯絡信號的功能如下:的功能如下: 方式方式1 1輸入聯絡信號輸入聯絡信號n/STB/STB:選通輸入,低電平有效。是由輸入:選通輸入,低電平有效。是由輸入外設送來的輸入外設送來的輸入信號。信號。nIBFIBF:輸入緩沖器滿,高電平有效。表示數據已送入:輸入緩沖器滿,高電平有效。表示數據已送入8255A8255A的輸入鎖存器,它由的輸入鎖存器,它由STBSTB信號的下降沿置位,上升沿復信號的下降沿置位,上升沿復位。位。nINTRINTR:中斷請求信號,高電平有效。由:中斷請求信號,高電平有效。由8255A8255A輸出,向輸出,向CPUCP
24、U發中斷請求。發中斷請求。nINTE AINTE A:A A口中斷允許信號,由口中斷允許信號,由PC4PC4的置位的置位/ /復位來控制,復位來控制, nINTE BINTE B:B B口中斷允許信號,由口中斷允許信號,由PC2PC2的置位的置位/ /復位來控制。復位來控制。 工作示意圖見圖。工作示意圖見圖。 A A口方式口方式1 1輸入的工作示意圖輸入的工作示意圖方式方式1 1輸出輸出 當任何一個端口按照工作方式當任何一個端口按照工作方式1 1輸出時,控制聯絡信號輸出時,控制聯絡信號如圖所示。如圖所示。/OBF/OBF與與/ACK/ACK構成了一對應答聯絡信號,各控制構成了一對應答聯絡信號,
25、各控制聯絡信號的功能如下:聯絡信號的功能如下:/OBF/OBF:輸出緩沖器滿信號,輸出緩沖器滿信號,低電平有效,是低電平有效,是8255A8255A給外設的給外設的聯絡信號聯絡信號,表示,表示CPUCPU已經把數據輸出給指定的端口,外設已經把數據輸出給指定的端口,外設可以將數據取走。它由可以將數據取走。它由/WR/WR信號的上升沿置信號的上升沿置 “ “0”0”(有(有效),由效),由/ACK/ACK信號的下降沿置信號的下降沿置“1”1”(無效)。(無效)。/ACK/ACK:外設的響應信號外設的響應信號,低電平有效。指示,低電平有效。指示CPUCPU輸出給輸出給8255A8255A的的數據已經
26、由外設取走數據已經由外設取走。/INTR/INTR:中斷請求信號,高電平有效。表示該數據已被外設中斷請求信號,高電平有效。表示該數據已被外設取走,請求取走,請求CPUCPU繼續輸出下一個數據。繼續輸出下一個數據。中斷請求的條件是中斷請求的條件是/ACK/ACK、/OBF/OBF和和INTEINTE(中斷允許)為高電平,中斷請求信號(中斷允許)為高電平,中斷請求信號由由/WR/WR的下降沿復位。的下降沿復位。INTE AINTE A:由:由PC6PC6的置位的置位/ /復位來控制。復位來控制。INTE BINTE B:由:由PC2PC2的置位的置位/ /復位來控制。復位來控制。 方式方式1 1輸
27、出聯絡信號輸出聯絡信號方式方式2 2 只有只有A A口才能設定為方式口才能設定為方式2 2。在方式。在方式2 2下,下,PA7PA7PA0PA0為雙向為雙向I/OI/O總線。總線。當作為輸入總線使用時,當作為輸入總線使用時,PA7PA7PA0PA0受受/STBA/STBA和和IBFAIBFA控制,其工作過程和控制,其工作過程和方式方式1 1輸入時相同;當作為輸出總線使用時,輸入時相同;當作為輸出總線使用時,PA7PA7PA0PA0受受/OBFA/OBFA、/ACKA/ACKA控制,其工作過程和方式控制,其工作過程和方式1 1輸出時相同。輸出時相同。 A A口在方式口在方式2 2下的工作示意圖下
28、的工作示意圖1 1、硬件接口電路、硬件接口電路 如圖所示是如圖所示是80318031單片機擴展一片單片機擴展一片8255A8255A的電路圖。圖中,的電路圖。圖中,74LS37374LS373是地址鎖存器。圖中是地址鎖存器。圖中 80318031擴展一片擴展一片8255A8255A的電路的電路 P0.1 P0.1、P0.0P0.0經經74LS37374LS373與與8255A8255A的地址線的地址線A1A1、A0A0連接;連接; P2.7P2.7與片選端相連,其他地址線懸空;與片選端相連,其他地址線懸空;8255A8255A的控制線的控制線/RD/RD、/WR/WR直接接于直接接于80318031的的/RD/RD和和/WR/WR端;數據總線端;數據總線P0.0-P0.7P0.0-P0.7與與 8255A8255A的數據線的數據線 D0-D7D0-D7連接。連接。2 2、8255A8255A端口地址的確定端口地址的確定 圖中圖中8255A8255A只有只有3 3根線與地址線相接。片選端根線與地址線相接。片選端/CS/CS、
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論