并行通信和并行接口课件_第1页
并行通信和并行接口课件_第2页
并行通信和并行接口课件_第3页
并行通信和并行接口课件_第4页
并行通信和并行接口课件_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1

並行通信和並行介面27.1並行介面概述

微機與I/O設備的介面按照數據傳送方式的不同,可分為:並行介面和串行介面。並行介面(通信)就是把一個字元(或字)的各個數位用多條數據線同時進行傳輸。CPU和I/O設備之間傳送資訊的數據單位一般為“位元組”或“字”。如印表機介面等。3串行介面(通信)就是把一個字元(或字)的各個數位用一根數據線進行傳輸。CPU和I/O設備之間傳送資訊的數據單位一般為“位”,即一次傳送一個資訊位。如USB、鍵盤等。CPU解碼器與控制邏輯並行介面串行介面並行設備串行設備數據(8位)選通就緒/忙地數據輸出數據輸入地ABCBDB圖7.1並行介面和串行介面的結構示意圖4並行介面優點和缺點傳輸速度高,但由於用的電纜多,信號線之間相互干擾,所以,不適合於長距離傳輸,一般用於近距離傳送。而串行介面適合於較遠距離的傳輸,傳送速度不小於並行介面。並行介面傳送數據時,一般不要求固定格式。而串行介面一般要求固定格式。串行介面需要實現並/串(發送數據時)和串/並轉換(接收數據時),而並行介面不需要並/串和串/並轉換。並行介面電路有不可編程介面和可編程介面兩類。前者電路簡單,但靈活性差;後者電路複雜但靈活性強。57.2

可編程並行介面晶片82C557.2.18255基本功能7.2.28255內部結構和外部引腳7.2.38255工作方式7.2.48255的控制字與初始化編程7.2.58255應用舉例67.2.18255的基本功能有2個獨立的8位I/O口(A口和B口),2個4位的I/O口(C口高4位和C口低4位);A、B口具有3種傳輸方式(8255和外設之間):方式0(基本輸入/輸出)方式1(選通輸入/輸出)方式2(雙向選通I/O,僅A口具有);CPU與8255之間能使用多種數據傳送方式:無條件方式查詢方式中斷方式;佔用4個I/O端口地址(A口、B口、C口、控制端口);C口除用做數據口外,當8255工作在方式1和方式2時,C口的部分引腳作為固定的聯絡線。77.2.28255內部結構和外部引腳圖7.28255的內部結構框圖數據匯流排緩衝器數據匯流排A組控制端口C(上半部分)端口APA7~PA0PC7~PC4B組控制端口C(下半部分)端口BPC3~PC0PB7~PB0CSRDWRA0A1RESET讀/寫控制邏輯與CPU介面內部邏輯與外設介面內部數據匯流排(8位)D0~D781.內部結構:4部分組成(1)數據匯流排緩衝器雙向、三態、8位,8255通過它與系統數據匯流排相連。用來傳送輸入/輸出數據、CPU發給8255的控制字和CPU從8255接收的狀態資訊。(2)讀/寫控制邏輯電路接收來自系統匯流排的信號A1、A0(在8086系統中為A2、A1)和控制匯流排的信號,將這些信號進行組合,以完成對數據、狀態資訊和控制資訊的傳輸。9表7.18255的端口與操作選擇表A1A0操作00001讀端口A數據00101讀端口B數據01001讀端口C數據(或狀態)00010數據寫入端口A00110數據寫入端口B01010數據寫入端口C01110如D7=1,則數據為控制字,寫入控制寄存器;如D7=0,則數據為對C端口的置位/複位命令

1xxx

xD7~D0進入高阻狀態

01101非法的信號組合(不允許讀控制寄存器)

0xx11D7~D0進入高阻狀態

禁止輸入(讀)輸出(寫)10(3)A組控制和B組控制模組這兩組控制電路接收CPU輸出的控制字,以及讀/寫控制邏輯電路命令,以決定兩組端口(A組、B組)的工作方式和讀/寫操作。A組控制電路:控制端口A和端口C高4位(PC7~PC4)的工作方式和讀/寫操作。B組控制電路:控制端口B和端口C低4位(PC3~PC0)的工作方式和讀/寫操作。11(4)數據端口A、B、C(稱為PA、PB、PC)端口A:具有1個數據輸入鎖存器和1個輸出鎖存器/緩衝器。作輸入或輸出時,數據均受到鎖存。所以可用作雙向數據傳輸。端口B:具有1個數據輸入緩衝器和1個輸出鎖存器/緩衝器。只能工作在輸入或者輸出方式,不具有同時雙向數據傳輸功能。端口A和端口B作為數據口輸入/輸出時,是8位一起行動,即使只用其中1位,也要同時輸入/輸出8位。端口C:每個4位的端口對應1個輸入緩衝器和1個輸出鎖存器/緩衝器。C口只有在端口A、B都工作在簡單I/O方式時,才具有2個4位的I/O功能。在更多情況下是作為A、B口的應答聯絡信號,分別為端口A和端口B提供控制信號和狀態信號。12關於C端口的補充說明:作為數據口(端口A、B都工作在方式0時)高4位PC7~PC4與A端口一起組成A組;低4位PC3~PC0與B端口一起組成B組。C端口作為數據口輸入/輸出時,4位一起行動。作為狀態口(8255工作在方式1和2時)C端口作為狀態口。作為專用(固定)聯絡(握手)信號線(8255工作在方式1和2時)方式1或2時,C口大部分引腳作為固定聯絡線。做按位控制用C口的8個引腳可單獨從1個引腳輸出高/低電平。此時,C口做按位控制用。132.外部引腳PA3PA2PA1PA0RDCSGNDA1A0PB0PB1PB2PA4PA5PA6PA7WRRESETD0D1D2D3D5D6D7VCCPB7PB6PB5PB4PB3D48255APC7PC2PC6(IBFA)PC5PC4

(INTRB)PC0(IBFB)PC1(INTRA)PC3輸出聯絡信號:輸入聯絡信號:圖7.38255

外部引腳14引腳說明(1)與系統匯流排的連接信號D0~D7:雙向三態數據線,與系統數據匯流排相連。CS:片選信號。低電平有效,有效時表示本晶片被選中。A1和A0:用於選擇8255片內寄存器。00:選擇A口、01:選擇B口、10:選擇C口、11:選擇控制口)RD和WR:讀/寫信號,低電平有效。用於CPU從8255讀數據或狀態;用於CPU往8255寫控制字或數據。RESET:複位信號。高電平時清除所有內部寄存器內容,並將3個數據端口置為方式0下的輸入端口。(2)與外部設備的連接信號PA7~PA0:端口A與外設連接的數據線,輸入/輸出線。PB7~PB0:端口B與外設連接的數據線,輸入/輸出線。PC7~PC0:端口C與外設連接的數據線,輸入/輸出線。分為兩組(高4位、低4位)。157.2.38255工作方式8255工作方式有三種: 方式0:簡單輸入/輸出方式 方式1:選通輸入/輸出方式(應答方式) 方式2:雙向傳輸方式。1.方式0----簡單輸入/輸出方式端口A、端口B和端口C都可以工作在方式0。此方式下,3個端口中的任何一個端口可作為輸入口,也可作為輸出口。方式0的使用場合有兩種:同步傳送(無條件傳送)查詢式傳送16無條件傳送時一般用於連接簡單的外部設備。例如,鍵盤和開關狀態輸入,狀態指示燈輸出。介面和外部設備之間不需要聯絡信號線,8255A的3個數據端口可以實現三路數據傳輸。查詢式傳輸時需要有應答聯絡信號。一般將端口A和端口B作為數據輸入輸出口,端口C的若干位用作聯絡信號。把端口C的一組(4位)規定為輸出口,用來輸出一些控制信號,而把端口C的另一組(4位)規定為輸入口,用來讀入外設的狀態,兩組中剩餘的引腳信號還可以用於其他控制,例如控制指示燈或者開關輸入。17方式0下,輸入時的時序(圖7.4)(1)發送地址信號,啟動8255,確定端口。(2)RD有效前,外設已將數據發送到8255輸入緩衝區。(3)CPU從8255讀取數據。讀數據的要求:讀期間,地址信號保持有效“輸入”必須在RD後結束讀脈衝RD必須保持足夠寬度(>=300ns)(4)讀結束後,“輸入”、D7~D0和地址信號相繼無效。182.方式1----選通輸入/輸出方式端口A和端口B可以工作在方式1。方式1使用場合有兩種:中斷方式查詢方式採用方式1進行數據傳輸時,要利用端口C提供選通信號和應答信號,且這些信號與端口C中的引腳關係固定,程式不可以改變。方式1特點:①端口A、B均可工作在方式1,均可作為輸入口或者輸出口。②若有一個端口為方式1,則端口C中有3位被規定為方式1的應答聯絡信號。此時,端口C中的其他引腳可以作輸入或輸出。③若端口A、B都工作在方式1,則端口C中有6位被作為應答聯絡信號,剩下的2位,仍可作為輸入或輸出。19(1)方式1的輸入111端口B為輸入B組工作於方式1輸入的控制字D7D6D5D4D3D2D1D0

方式1INTEBPC2PC1PC0INTRBIBFBSTBBRDIBFINTEINTRPC2PC1PC0PA7~PA0INTEAPC4PC5PC3PC6PC7INTRAIBFASTBAI/O2RD10111/0端口A為輸入PC6、PC7:A組工作於方式1輸入的控制字D7D6D5D4D3D2D1D01—輸入0—輸出

方式1I/OI/OIBFINTEINTRPC7PC6PC5PC4PC3狀態字(C口)圖7.6方式1的輸入組態(來自外設)(到外設)(中斷請求)(來自外設)(到外設)(中斷請求)20對於各控制信號,說明如下:①(Strobe):選通信號輸入端,低電平有效,由外設送往8255A。有效時,外設將一個8位數據,打入8255A的輸入緩衝器中。②IBF(InputBufferFull):緩衝器滿信號,高電平有效。是8255A輸出給外設的聯絡信號,作為的回應。當其有效時,表示數據已經輸入到8255的輸入緩衝器中,且數據未被CPU取走,通知外設停止送數。查詢方式時可以讀取該信號狀態以確定CPU是否從8255讀取數據。IBF信號是由信號使其置位,而由讀信號的後沿即上升沿使其複位。21③

INTR(InterruptRequest):8255A送往CPU的中斷請求信號,高電平有效。INTR在、IBF均為高時被置為高電平,即選通信號將一個數據送進輸入緩衝器中,且輸入緩衝器滿時,8255A向CPU發出中斷請求信號。在CPU回應中斷讀取輸入緩衝器中的數據時,由讀信號RD的下降沿將INTR降為低電平。④INTE(InterruptEnable):中斷允許信號,控制中斷允許或遮罩。由軟體通過對C端口的置1/置0指令來實現對中斷的控制。對PC4置1,則使A端口處於中斷允許狀態;對PC2置1,則使B端口處於中斷允許狀態;對PC4、PC2置0,則使A、B端口處於中斷遮罩狀態。22方式1的輸入時序圖7.7方式1的輸入時序INTRtSIT從外設來的輸入數據tPStPH①STBtST②③tRIB④IBFtSIBtRITRD238255A與外設之間的應答聯絡信號RDWRA1A0INTCPU緩沖器並行介面D7~D0A9~A2CS地址譯碼緩沖器外設8位數據IBFSTBACKOBF24CPU經8255A輸入數據的流程:初始狀態時,並口輸入緩衝器為空,IBF為無效。IBF有效電平將阻止外設數據送出新數據,並使INTR有效數據由外設->8255,選通信號STB有效8255在STB有效電平下將數據鎖存,並送出IBF有效到外設CPU回應中斷並在中斷處理程式中讀入並口數據。而該操作產生的RD有效信號會使INTR和IBF無效CPU經8255A輸入數據的步驟:CPU8255I/O設備③INTR①STB②IBF④RD25(2)方式1輸出圖7.8方式1時輸出組態110端口B為輸出D7D6D5D4D3D2D1D0

方式1INTEBPC2PC1PC0INTRBACKBWRPB7~PB0OBFB端口BOBFINTEINTRPC2PC1PC010101/0端口A為輸出PC4、PC5D7D6D5D4D3D2D1D01—輸入0—輸出方式1INTEAPC6PC7PC3PC4、PC5INTRAACKAI/OWRPA7~PA0OBFA端口AOBFINTEI/OI/OINTRPC7PC6PC5PC4PC3狀態字(C口)26對於各控制信號,說明如下:①(OutputBufferFull):輸出緩衝器滿標誌,低電平有效,由8255A送給外設。有效時,表示CPU已經向端口輸出了數據,用來通知外設取走數據。由寫信號的上升沿將其置成低電平,由的有效信號使它恢復為高電平。②

(Acknowledge):外設回應信號,由外設送給8255A,低電平有效。有效時,表明CPU通過8255A輸出的數據已送到外設。27③

INTR(InterruptRequest):中斷請求信號,高電平有效。當輸出設備從端口取走數據,發回信號後,8255A便向CPU發新的INTR,以便CPU再次輸出數據。當變為高電平時,INTR變高電平,而當寫信號下降沿來到時,INTR複位。④INTE(InterruptEnable):中斷允許信號。與端口A、B在方式1輸入情況時INTE的含義一樣。INTE為1時,使端口中斷允許,INTE為0,使端口中斷遮罩狀態。INTE由軟體設置,PC6=1,端口A的INTE為1,PC6=0,端口A的INTE為0。PC2=1,端口B的INTE為1,PC2=0,端口B的INTE為0。28方式1輸出數據的時序圖6-10方式1的輸出數據INTRtWITWRtAOB①②③④OBFtWOBtAITtAKACKtWB送往外設的數據數據有效29CPU通過8255A輸出數據的流程:

(首次輸出必須在中斷服務程式外進行)輸出鎖存器將數據送到外設數據線,並使OBF為有效電平,INTR變為無效。CPU回應中斷並在中斷處理程式中向介面輸出新數據(WR有效)。初始狀態時輸出緩衝器為空(OBF無效)INTR為有效電平。CPU進入中斷處理程式向並口輸出緩衝器寫數據外設在OBF有效電平作用下取回數據,並送回ACK有效電平8255收到ACK有效電平後使OBF無效並使INTR有效(向CPU發中斷請求)。CPU經8255A輸出數據的步驟:CPU8255I/O設備①WR②OBF③ACK④INTR303.方式2----雙向輸入/輸出方式圖7.10方式2的控制信號110001/0端口B

PC2~PC0D7D6D5D4D3D2D1D01—輸入0—輸出端口A方式21—輸入0—輸出

B組方式0=方式01=方式1RDWRINTE1PC7PC6PC5PC2~PC0IBFAOBFAACKAI/OPC3PC4PA7~PA0INTE2STBAINTRAOBFINTE1IBFINTE2INTRPC7PC6PC5PC4PC3狀態字(C口)31方式2只適用於端口A,此時,端口C的5個數據位自動分配給端口A作為控制和狀態信號。各控制信號和狀態信號的含義如下:①INTRA(InterruptRequest):中斷請求信號,高電平有效。無論是輸入還是輸出,當一個動作完成、而要進入下一個動作時,8255A都通過這一引腿向CPU發出中斷請求信號。②(Strobe):外設供給8255A的選通信號,低電平有效。此信號將外設送到8255A的數據打入輸入鎖存器。32③IBFA(InputBufferFull):8255A送往外設的狀態資訊,表示當前已有一個新的數據送到輸入緩衝器中,等待CPU取走。IBFA可作為供CPU查詢。④(OutputBufferFull):輸出緩衝滿信號,8255A送給外設的狀態信號,低電平有效。有效時,表示CPU已經將一個數據寫入8255A的端口A,通知外設將數據取走。⑤(Acknowledge):外設對信號的回應信號,低電平有效,表明CPU通過8255A輸出的數據已送到外設。33⑥INTE1(InterruptEnable):中斷允許信號。INTE1為1時,允許8255A通過INTR往CPU發中斷請求信號,以通知CPU往8255A的端口A輸出一個數據;INTE1為0時,則遮罩中斷請求,INTE1由軟體對PC6的設置來決定,PC6=1,則INTE1為1,PC6=0,則INTE1為0。⑦INTE2(InterruptEnable):中斷允許信號。INTE2為1時,端口A的輸入處於中斷允許狀態,INTE2為0,則端口A中斷遮罩。INTE2由軟體通過對PC4的設置來決定,PC4=1,INTE2為1,PC4=0,則INTE2為0。34在雙向方式下,PA口向CPU發出的中斷請求只有一個,到底是輸入產生的中斷還是輸出產生的中斷,要在中斷程式中由軟體進行判斷:讀取PC端口內容,判斷對應狀態位如果PC7()為1,表明輸出的數據已被外設取走,請求輸出數據——輸出中斷;如果PC5(IBF)為1,則表明有數據從外設輸入,請求CPU將輸入數據讀走——輸入中斷。35小結:端口C在各種工作方式下的應答聯絡信號端口C各個數據位作A、B口控制、狀態信號的對應關係CPU可以通過對控制信號的置位/複位,實現與外設的應答聯絡;可通過讀取C口的狀態,來查詢和判斷數據口的狀態端口及I/OPC7PC6PC5PC4PC3PC2PC1PC0端口A輸入IBFSTB;INTEINTR端口B輸入STB;INTEIBFINTR端口A輸出OBFACK;INTEINTR端口B輸出ACK;INTEOBFINTR367.2.48255控制字與初始化編程CPU可以通過向8255控制端口中寫入控制字來決定8255的工作方式、數據傳送方向。控制字分為兩類:方式選擇控制字:確定各端口工作方式和數據傳輸方向。將3個數據端口分為兩組來設定工作方式,即端口A和端口C的高4位作為一組,端口B和端口C的低4位作為一組。C端口按位置1/置0控制字:它可以使C端口中的任何一位進行置位(置為1)或複位(置為0)。37(1)8255A的工作方式選擇控制字1方式選擇控制字的標識位D6D500—方式0A端口方式選擇10—方式201—方式1D4端口A:1—輸入0—輸出D0PC3~PC0:1—輸入0—輸出D1端口B:1—輸入0—輸出D2B端口方式選擇0—方式01—方式1D3PC7~PC4:1—輸入0—輸出圖6-58255A的方式選擇控制字388255A的方式選擇控制字的幾點說明:①8255有3種基本工作方式:方式0:簡單輸入/輸出方式方式1:選通的輸入/輸出方式方式2:雙向傳輸方式②端口A:可以工作在3種工作方式中的任何一種; 端口B:只能工作在方式0或方式1, 端口C:常常配合端口A和端口B工作,為這兩個端口的輸入/輸出傳輸提供控制信號和狀態信號。③同一組的兩個端口可以分別工作在輸入方式和輸出方式,並不要求為同一種工作方式。39例7.1

某系統要求使用8255的A口工作於方式1作為輸入,B口工作於方式0作為輸出,C口的上半部輸入、下半部輸出。8255端口地址為60

63H。完成其初始化程式。分析:由工作方式控制字格式,可得控制字為:

10111000B=0B8H

則初始化程式為: MOVAL,0B8H OUT63H,AL40(2)端口C置1/置0控制字端口C的數據位常常作為控制位使用,所以,端口C中的各位可以用置1/置0控制字單獨設置。當8255A接收到寫入控制口的控制字時,會對控制字最高位(D7)進行測試。D7=1,則將此位元組作為方式選擇控制字寫入控制寄存器;D7=0,此位元組就作為對端口C的置1/置0控制字來處理。41圖6-6端口C置1/置0控制字1=置10=置0D00C端口置1/置0識別字

D6D5D4×××無關PC0PC1PC2PC3PC4PC5PC6PC7010101010011001100001111D3D2D1位選擇:42對C端口置1/置0控制字的幾點說明:①

C端口置1/置0控制字儘管是對端口C進行操作,但此控制字必須寫入控制口,而不是寫入C端口。②置1/置0控制字的D0位決定了是置1操作還是置0操作。如為1,則對端口C中某一位置1,如為0,則置0。③置1/置0控制字的D3、D2、D1位決定了對C端口中的哪一位進行操作。④置1/置0控制字的D6、D5、D4位可為1,也可為0,它們不影響置1/置0操作。但D7位必須為0,它是對C端口置1/置0控制字的識別字。43例7.2

在例7.1中,若A口工作於方式1作為輸入,要使用中斷傳送方式,完成對C口的置位操作。分析:當A口工作於方式1作輸入時,由圖7.7,採用中斷傳送方式必須對PC4位置1。 MOVAL,00001001B OUT63H,AL44例7.3

圖7.13採用1個8255晶片和軟碟控制器相連,箭頭標明了I/O的方向,根據該圖,試寫出8255的初始化程式。設8255端口地址為0300

0303H。PC3PA0PA1…PA7PC4PC5PC6PC7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2D0D1…D7選響響就驅進讀寫磁啟測LJ同索0

通應應緒動退選選盤動試忙步引道(出)(入)磁通通選CRC准傳頭擇備感軟碟驅動器好器中斷請求45分析:(1)確定各個端口工作方式: 由上圖可知,A端口既做輸入又作輸出,故A端口工作與方式2(PC4~PC7全部用作A端口的固定應答聯絡線,PC3用作A端口的中斷請求);B端口作輸出,沒有應答線,故工作在方式0。(2)寫出控制字和C端口按位置/複位控制字(3)寫出初始化程式 MOVDX,303H ;寫方式控制字到控制口 MOVAL,0C0H ;0C0H=11000000B OUTDX,AL MOVAL,00001001B ;PC4置位,開放A口輸入中斷 OUTDX,AL MOVAL,00001101B ;PC6置位,開放A口輸出中斷 OUTDX,AL467.2.58255應用舉例例7.4假設利用8255的A口方式0與印表機相連,將記憶體緩衝區BUFF中的字元列印輸出。硬體連接見圖7.14。設8255的工作頻率與CPU的工作頻率相當。印表機介面要求在STB有效時,才能接收數據;而在BUSY有效時,則表示印表機忙,不能接收數據。編寫8255初始化程式及控制程式。D7~D0WRRDPC0A1PC7A0CSD7~D0STBBUSYPA7~PA0D7~D0IOWIORA1A0A7~A2=011000印表機825547分析: MOVAL,88H OUTPORTCN,AL

MOVAL,01H

OUTPORTCN,ALWAIT:INAL,PORTC

TESTAL,80H JNZWAIT MOVAL,[SI] CMPAL,’$’

JZPRINT_OVER

OUTPORTA,AL MOVAL,00H OUTPORTCN,AL MOVAL,01H OUTPORTCN,AL INCSI JMPWAITPRINT_OVER:…初始化8255編寫控制程式(查詢方式)(1)確定工作方式:A口方式0輸出;B口未用;C口高4位輸入,低4位輸出(2)方式字:10001000B(3)8255初始化編程讀印表機狀態BUSY=0?(PC7)傳送結束?使STB有效;向印表機發送數據結束退出是否是否WAITPRINT_OVER說明:SI中存放待傳送數據緩衝區的首地址;‘$’為待傳送數據的結束符。48例7.5假設有一個4Х4的矩陣鍵盤通過並行介面晶片8255與微機相連。8255的A口作為輸出口,與鍵盤的行線相連;B口為輸入口,與鍵盤列線相連。介面硬體連接如下圖,設8255的端口地址為60

63H,試編寫鍵盤掃描程式。PA0PA1PA28255PA3PB0PB1PB2PB30行0列1行2行3行+5V1列2列3列CPU01231549分析:要使上述鍵盤工作,需要做以下工作:(1)使8255工作(對8255進行初始化編程);(2)檢測是否有鍵按下,若有鍵按下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论