第六章89C51串行口及串行通信技術(shù)_第1頁
第六章89C51串行口及串行通信技術(shù)_第2頁
第六章89C51串行口及串行通信技術(shù)_第3頁
第六章89C51串行口及串行通信技術(shù)_第4頁
第六章89C51串行口及串行通信技術(shù)_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

689C51串行口及串行通信技術(shù)本講主要內(nèi)容:6-1.串行通信基礎(chǔ)知識6-2.串行口及應(yīng)用6-3.89C51單片機(jī)之間點(diǎn)對點(diǎn)通信6-4.89C51與PC機(jī)之間的通信26.1串行通信基礎(chǔ)知識6.1.1.?dāng)?shù)據(jù)通信的概念并行通信和串行通信并行通信是指數(shù)據(jù)的各位同時進(jìn)行傳送(發(fā)送或接收)的通信方式。其優(yōu)點(diǎn)是傳遞速度快;缺點(diǎn)是數(shù)據(jù)有多少位,就需要多少根傳送線。并行通信在位數(shù)多、傳送距離又遠(yuǎn)時就不太適宜。串行通信指數(shù)據(jù)是一位一位按順序傳送的通信方式,它的突出優(yōu)點(diǎn)是只需一對傳送線(利用電話線就可作為傳送線),這樣就大大降低了傳送成本,特別適用于遠(yuǎn)距離通信。其缺點(diǎn)是傳送速度較低。36.1.2.串行通訊的傳輸方式傳輸方式單工全雙工半雙工(l)單工方式

●信息只能沿一個方向傳輸,而不能沿相反方向傳輸。(2)半雙工方式

●信息可以沿著兩個方向傳輸,但在指定時刻,信息只能沿一個方向傳輸。(3)全雙工方式

●信息可以同時沿著兩個方向傳輸。

456.1.3異步通信與同步通信(1)異步通信異步通信用起始位0表示字符的開始,然后從低位到高位逐位傳送數(shù)據(jù),最后用停止位1表示字符結(jié)束,如后圖所示。一個字符又稱一幀信息。圖中,一幀信息包括1位起始位、8位數(shù)據(jù)位和1位停止位,圖中,數(shù)據(jù)位增加到9位。在C8051F單片機(jī)系統(tǒng)中,第9位數(shù)據(jù)D8可以用作奇偶校驗(yàn)位,也可以用作地址/數(shù)據(jù)幀的標(biāo)識位,D8=1表示該幀信息傳送的是地址,D8=0表示傳送的是數(shù)據(jù)。兩幀信息之間可以無間隔,也可以有間隔,且間隔時間可任意改變,間隔用空閑位“1”來填充。6異步通信

圖異步通信數(shù)據(jù)格式

7奇偶校驗(yàn)是一種校驗(yàn)代碼傳輸正確性的方法。根據(jù)被傳輸?shù)囊唤M二進(jìn)制代碼的數(shù)位中“1”的個數(shù)是奇數(shù)或偶數(shù)來進(jìn)行校驗(yàn)。采用奇數(shù)的稱為奇校驗(yàn),反之,稱為偶校驗(yàn)。采用何種校驗(yàn)是事先規(guī)定好的。通常專門設(shè)置一個奇偶校驗(yàn)位,用它使這組代碼中“1”的個數(shù)為奇數(shù)或偶數(shù)。若用奇校驗(yàn),則當(dāng)接收端收到這組代碼時,校驗(yàn)“1”的個數(shù)是否為奇數(shù),從而確定傳輸代碼的正確性。8異步通信的優(yōu)缺點(diǎn)通常,異步通信的波特率為50~9600bit/s。異步通信的優(yōu)點(diǎn)是不需要傳送同步時鐘,字符幀長度不受限制,故設(shè)備簡單。缺點(diǎn)是字符幀中因包含起始位和停止位而降低了有效數(shù)據(jù)的傳輸速率。9(2)同步通信

在同步通信中,每一數(shù)據(jù)塊開頭時發(fā)送一個或兩個同步字符,使發(fā)送與接收雙方取得同步。數(shù)據(jù)塊的各個字符間取消了起始位和停止位,所以通信速度得以提高,如圖所示。同步通信時,如果發(fā)送的數(shù)據(jù)塊之間有間隔時間,則發(fā)送同步字符填充。

同步通信的數(shù)據(jù)傳輸速率較高,通??蛇_(dá)56Kb/s或更高,其缺點(diǎn)是要求發(fā)送時鐘和接收時鐘必須保持嚴(yán)格同步。10同步串口與異步串口同步串口●具有至少一根時鐘線、1-2根數(shù)據(jù)線的串行通訊方式,利用時鐘沿對齊數(shù)據(jù),所以此種通訊較為可靠,可以實(shí)現(xiàn)很高的通訊速率(1Mbps以上,可達(dá)Gbps級別)。SPI、IIC、都屬于同步串口。異步串口●無專門的時鐘線,只有1-2根數(shù)據(jù)線,收發(fā)雙方依據(jù)實(shí)現(xiàn)約定好的位速率確定各個數(shù)據(jù)位的時間位置,可靠性相對較差,速率在1Mbps以下。異步串口最常見的是UART,以及衍生出來的RS232、RS485等。MAXIM公司的1-WIRE總線屬于只有一根線的異步串口,如溫度傳感器DS18B20。11(3)波特率波特率(Baudrate)即調(diào)制速率,指的是信號被調(diào)制以后在單位時間內(nèi)的變化,即單位時間內(nèi)載波參數(shù)變化的次數(shù)。它是對符號傳輸速率的一種度量,1波特即指每秒傳輸1個符號。比特率:每秒鐘傳送的二進(jìn)制位數(shù),用b/s表示(b表示bit)

波特率是指數(shù)據(jù)信號對載波的調(diào)制速率,它用單位時間內(nèi)載波調(diào)制狀態(tài)改變的次數(shù)來表示,其單位是波特(Baud)。波特率與比特率的關(guān)系是比特率=波特率X單個調(diào)制狀態(tài)對應(yīng)的二進(jìn)制位數(shù)。

126.1.4串行通信的過程及通信協(xié)議串并轉(zhuǎn)換發(fā)送時的并轉(zhuǎn)串(1)串并轉(zhuǎn)換與設(shè)備同步13接收時的串轉(zhuǎn)并14設(shè)備同步●進(jìn)行串行通信的兩臺設(shè)備必須同步工作才能有效地檢測通信線路上的信號變化,從而采樣傳送數(shù)據(jù)脈沖?!裨O(shè)備同步對通信雙方有兩個共同要求:一是通信雙方必須采用統(tǒng)一的編碼方法;二是通信雙方必須能產(chǎn)生相同的傳送速率。15(2)串行通信協(xié)議通信協(xié)議(communicationsprotocol)是指雙方實(shí)體完成通信或服務(wù)所必須遵循的規(guī)則和約定。協(xié)議定義了數(shù)據(jù)單元使用的格式,信息單元應(yīng)該包含的信息與含義,連接方式,信息發(fā)送和接收的時序,從而確保網(wǎng)絡(luò)中數(shù)據(jù)順利地傳送到確定的地方。16(2)串行通信協(xié)議協(xié)議主要由以下三個要素組成:

語法: “如何講”,數(shù)據(jù)的格式、編碼和信號等級(電平的高低)。語義: “講什么”,數(shù)據(jù)內(nèi)容、含義以及控制信息。定時:速率匹配和排序。17(2)串行通信協(xié)議起始位數(shù)據(jù)位奇偶校驗(yàn)位停止位波特率設(shè)置握手信號約定187.2串行口及應(yīng)用串行接口電路的種類和型號很多。能夠完成異步通信的硬件電路稱為UART,即通用異步接收器/發(fā)送器;能夠完成同步通信的硬件電路稱為USRT;既能夠完成異步又能同步通信的硬件電路稱為USART。從本質(zhì)上說,所有的串行接口電路都是以并行數(shù)據(jù)形式與CPU連接,以串行數(shù)據(jù)形式與外部邏輯設(shè)備連接。它們的基本功能是從外部邏輯設(shè)備接收串行數(shù)據(jù),轉(zhuǎn)換成并行數(shù)據(jù)后傳送給CPU,或從CPU接收并行數(shù)據(jù),轉(zhuǎn)換成串行數(shù)據(jù)后輸出到外部邏輯設(shè)備。

1989C51具有一個全雙工串行通信接口。作用:●作為UART使用?!褡鳛橥揭莆患拇嫫饔?。功能:●擴(kuò)展IO口?!裢ㄟ^計算機(jī)串口實(shí)現(xiàn)與PC機(jī)的單機(jī)或多機(jī)通訊?!駥?shí)現(xiàn)單片機(jī)系統(tǒng)之間的點(diǎn)對點(diǎn)單機(jī)通訊。207.2.189C51串行口(1)結(jié)構(gòu)

有兩個物理上獨(dú)立的接收、發(fā)送緩沖器SBUF,它們占用同一地址99H;接收器是雙緩沖結(jié)構(gòu);發(fā)送緩沖器,因?yàn)榘l(fā)送時CPU是主動的,不會產(chǎn)生重疊錯誤。

21引腳RXD(P3.0)串行數(shù)據(jù)接收端。引腳TXD(P3.1)串行數(shù)據(jù)發(fā)送端。89C51用T1作為串行通信的波特率發(fā)生器。22SCON是一個特殊功能寄存器,用以設(shè)定串行口的工作方式、接收/發(fā)送控制以及設(shè)置狀態(tài)標(biāo)志:

(2)串行口控制字及控制寄存器

SM0和SM1為工作方式選擇位,可選擇四種工作方式:

SCON23●SM2,多機(jī)通信控制位,主要用于方式2和方式3。當(dāng)接收機(jī)的SM2=1時可以利用收到的RB8來控制是否激活RI(RB8=0時不激活RI,收到的信息丟棄;RB8=1時收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI,進(jìn)而在中斷服務(wù)中將數(shù)據(jù)從SBUF讀走)。當(dāng)SM2=0時,不論收到的RB8為0和1,均可以使收到的數(shù)據(jù)進(jìn)入SBUF,并激活RI(即此時RB8不具有控制RI激活的功能)。通過控制SM2,可以實(shí)現(xiàn)多機(jī)通信。在方式0時,SM2必須是0。在方式1時,若SM2=1,則只有接收到有效停止位時,RI才置1?!馬EN,允許串行接收位。由軟件置REN=1,則啟動串行口接收數(shù)據(jù);若軟件置REN=0,則禁止接收。24●TB8,在方式2或方式3中,是發(fā)送數(shù)據(jù)的第九位,可以用軟件規(guī)定其作用??梢杂米鲾?shù)據(jù)的奇偶校驗(yàn)位,或在多機(jī)通信中,作為地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式0和方式1中,該位未用。●RB8,在方式2或方式3中,是接收到數(shù)據(jù)的第九位,作為奇偶校驗(yàn)位或地址幀/數(shù)據(jù)幀的標(biāo)志位。在方式1時,若SM2=0,則RB8是接收到的停止位。25●TI,發(fā)送中斷標(biāo)志位。在方式0時,當(dāng)串行發(fā)送第8位數(shù)據(jù)結(jié)束時,或在其它方式,串行發(fā)送停止位的開始時,由內(nèi)部硬件使TI置1,向CPU發(fā)中斷申請。在中斷服務(wù)程序中,必須用軟件將其清0,取消此中斷申請?!馬I,接收中斷標(biāo)志位。在方式0時,當(dāng)串行接收第8位數(shù)據(jù)結(jié)束時,或在其它方式,串行接收停止位的中間時,由內(nèi)部硬件使RI置1,向CPU發(fā)中斷申請。也必須在中斷服務(wù)程序中,用軟件將其清0,取消此中斷申請。26PCON中只有一位SMOD與串行口工作有關(guān)

SMOD(PCON.7)波特率倍增位。在串行口方式1、方式2、方式3時,波特率與SMOD有關(guān),當(dāng)SMOD=1時,波特率提高一倍。復(fù)位時,SMOD=0。PCON(87H)27(3)串行通信工作方式SM0SM1方式功能說明000同步方式(擴(kuò)展移位寄存器方式,用于I/O口擴(kuò)展),波特率固定(fosc/12)0118位UART,波特率可變(由T1或T2溢出率決定)1029位UART,波特率固定(fosc/64或fosc/32)1139位UART,波特率可變(由T1或T2溢出率決定)28

(3)串行通信工作方式

方式0時,串行口為同步移位寄存器的輸入輸出方式。主要用于擴(kuò)展并行輸入或輸出口。數(shù)據(jù)由RXD(P3.0)引腳輸入或輸出,同步移位脈沖由TXD(P3.1)引腳輸出。發(fā)送和接收均為8位數(shù)據(jù),低位在先,高位在后。波特率固定為fosc/12。方式029

方式0輸入方式0接收和發(fā)送電路30串口外接74HCl64串入并出移位寄存器的接口邏輯見課本圖7-11所示。TXD輸出移位脈沖,RXD輸出數(shù)據(jù)移入74LSl64。CPU寫發(fā)送SBUF,啟動串行口從低位開始發(fā)送,經(jīng)過8個發(fā)送周期,發(fā)送SBUF的內(nèi)容移入74LSl64,并置位TI,完成一字節(jié)輸出。若fosc=12MHz,則串行輸出一位的時間是1μs,傳輸一個字節(jié)需8μs。從低位開始串行輸出,數(shù)據(jù)的低位在右高位在左,在具體應(yīng)用中應(yīng)加以注意。方式0輸出時,可以串接多個移位寄存器。31例題(例7-2)串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)(串轉(zhuǎn)并)說明本例的功能為單片機(jī)發(fā)出串行數(shù)據(jù)經(jīng)串并轉(zhuǎn)換芯片74HC164轉(zhuǎn)換為并行數(shù)據(jù),并將轉(zhuǎn)換的數(shù)據(jù)通過8只LED顯示出來。本例串口工作于模式0,移位寄存器I/O模式,串行數(shù)據(jù)由RXD發(fā)送給74HC164,TXD用于輸出移位時鐘脈沖。32電路圖33主程序voidmain(){ ucharc=0x80; SCON=0x00;//串口模式0,即移位寄存器輸入/輸出方式 while(1) { c=_crol_(c,1);//將c循環(huán)左移動一位 SBUF=c; while(TI==0);//等待發(fā)送結(jié)束 TI=0;//TI軟件置位 delay(400); }}34例7-335voidmain(){ SCON=0x10;//設(shè)為串口模式,并允許串口接收 while(1) { SH=0;//置數(shù),讀入并行輸入口的8位數(shù)據(jù) SH=1;//移位,并口輸入被封鎖,串行轉(zhuǎn)換開始 while(RI==0);//未接收一字節(jié)等待 RI=0; P0=SBUF; //接收到的字節(jié)顯示在P0端口,顯示的值與撥碼開關(guān)對應(yīng) }}36

方式1是10位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳,傳送一幀數(shù)據(jù)的格式如圖所示。其中1位起始位,8位數(shù)據(jù)位,1位停止位。1、方式1輸出方式137方式1輸出CPU向發(fā)送SBUF寫入一個數(shù)據(jù),即啟動發(fā)送,從TXD端輸出一幀信息,先發(fā)送起始位0,接著從低位開始依次輸出8位數(shù)據(jù),最后輸出停止位1,并置1發(fā)送中斷標(biāo)志TI。CPU查詢TI=1后,清TI,再向SBUF寫入數(shù)據(jù),啟動下一字符發(fā)送。也可以采用中斷方式,TI=1時向CPU產(chǎn)生中斷請求。38

方式1輸入用軟件置REN為1時,接收器以所選擇波特率的16倍速率采樣RXD引腳電平,檢測到RXD引腳輸入電平發(fā)生負(fù)跳變時,則說明起始位有效,將其移入輸入移位寄存器,并開始接收這一幀信息的其余位。接收過程中,數(shù)據(jù)從輸入移位寄存器右邊移入,起始位移至輸入移位寄存器最左邊時,控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的停止位為1)時,將接收到的9位數(shù)據(jù)的前8位數(shù)據(jù)裝入接收SBUF,第9位(停止位)進(jìn)入RB8,并置RI=1,向CPU請求中斷。39方式一輸入REN置1允許接收器接收。接收器以所選波特率的16倍的速率采樣RXD端的電平。當(dāng)檢測到RXD端輸入電平發(fā)生負(fù)跳變時,復(fù)位內(nèi)部的十六分頻計數(shù)器。計數(shù)器的16個狀態(tài)把傳送一位數(shù)據(jù)的時間分為16等分,在每位中心,即7、8、9這三個計數(shù)狀態(tài),位檢測器采樣RXD的輸入電平,接收的值是三次采樣中至少是兩次相同的值,這樣處理可以防止干擾。如果在第1位時間接收到的值(起始位)不是0,則起始位無效,復(fù)位接收電路,重新搜索RXD端上的負(fù)跳變。接收到停止位為1時,將接收到的8位數(shù)據(jù)裝入接收數(shù)據(jù)緩沖器SBUF,置位RI,供CPU查詢或向CPU請求中斷。40方式2和方式3

方式2和方式3是9位異步串行通信方式,TXD為數(shù)據(jù)發(fā)送端,RXD為數(shù)據(jù)接收端。方式2的波特率固定為振蕩器頻率的1/64或1/32,而方式3的波特率由定時器T1或T2的溢出率確定(UART1方式3的波特率由定時器T1或T4的溢出率確定)。在方式2和方式3中,一幀信息為11位:1位起始位,8位數(shù)據(jù)位(先低位后高位),1位附加的第9位數(shù)據(jù)(發(fā)送時為SCON中的TB8,接收時為SCON中的RB8。用于奇偶校驗(yàn)和多機(jī)通信),1位停止位。數(shù)據(jù)的格式如下圖所示。

41

方式2或方式3時為11位數(shù)據(jù)的異步通信口。TXD為數(shù)據(jù)發(fā)送引腳,RXD為數(shù)據(jù)接收引腳。方式2和方式3時起始位1位,數(shù)據(jù)9位(含1位附加的第9位,發(fā)送時為SCON中的TB8,接收時為RB8),停止位1位,一幀數(shù)據(jù)為11位。方式2的波特率固定為晶振頻率的1/64或1/32,方式3的波特率由定時器T1的溢出率決定。

方式2和方式342

1、方式2和方式3輸出發(fā)送開始時,先把起始位0輸出到TXD引腳,然后發(fā)送移位寄存器的輸出位(D0)到TXD引腳。每一個移位脈沖都使輸出移位寄存器的各位右移一位,并由TXD引腳輸出。第一次移位時,停止位“1”移入輸出移位寄存器的第9位上,以后每次移位,左邊都移入0。當(dāng)停止位移至輸出位時,左邊其余位全為0,檢測電路檢測到這一條件時,使控制電路進(jìn)行最后一次移位,并置TI=1,向CPU請求中斷。

方式2和方式343

2、方式2和方式3輸入

接收時,數(shù)據(jù)從右邊移入輸入移位寄存器,在起始位0移到最左邊時,控制電路進(jìn)行最后一次移位。當(dāng)RI=0,且SM2=0(或接收到的第9位數(shù)據(jù)為1)時,接收到的數(shù)據(jù)裝入接收緩沖器SBUF和RB8(接收數(shù)據(jù)的第9位),置RI=1,向CPU請求中斷。如果條件不滿足,則數(shù)據(jù)丟失,且不置位RI,繼續(xù)搜索RXD引腳的負(fù)跳變。方式2和方式344方式2和方式3多一附加位TB8、RB8,可用于多機(jī)通信和奇偶校驗(yàn)區(qū)別是波特率不同輸出:寫發(fā)送SBUF即啟動發(fā)送→發(fā)完置位TI輸入:置位REN→接收完后,若RI=0、SM2=0或收到的第9位為1,則置位RI→讀接收SBUF45在串行通信中,收發(fā)雙方對發(fā)送或接收數(shù)據(jù)的速率要有約定。通過軟件可對單片機(jī)串行口編程為四種工作方式,其中方式0和方式2的波特率是固定的,而方式1和方式3的波特率是可變的,由定時器T1的溢出率來決定。串行口的四種工作方式對應(yīng)三種波特率。由于輸入的移位時鐘的來源不同,所以,各種方式的波特率計算公式也不相同。方式0的波特率=fosc/12方式2的波特率=(2SMOD/64)·fosc方式1的波特率=(2SMOD/32)·(T1溢出率)方式3的波特率=(2SMOD/32)·(T1溢出率)(4)波特率設(shè)計46當(dāng)T1作為波特率發(fā)生器時,最典型的用法是使T1工作在自動再裝入的8位定時器方式(即方式2,且TCON的TR1=1,以啟動定時器)。這時溢出率取決于TH1中的計數(shù)值。T1溢出率=fosc/{12×[256-(TH1)]}在單片機(jī)的應(yīng)用中,常用的晶振頻率為:12MHz和11.0592MHz。所以,選用的波特率也相對固定。常用的串行口波特率以及各參數(shù)的關(guān)系如表所示。4748UART使用步驟1.設(shè)置串口工作模式,SCON的SM0,SM1使其工作于模式1,REN=1使能接收。2.根據(jù)波特率計算公式設(shè)置波特率,通常選用定時器模式2(自動重裝初值定時器)比較適用。3.波特率是否需要倍速,PCON寄存器中的SMOD=1,波特率倍速。4.串口中斷,一般來講串口發(fā)送均會采用查詢模式,串口接收較多采用中斷模式,EA=1開全總中斷,ES=1開串口中斷,注意,要寫好中斷服務(wù)程序,且AT89C51的串口收發(fā)中斷共用,因此中斷服務(wù)函數(shù)中需要判斷TI與RI的值。5.向SBUF寫入數(shù)據(jù)啟動串口發(fā)送,讀SBUF可取出接收到的數(shù)據(jù)。49串行口工作之前,應(yīng)對其進(jìn)行初始化,主要是設(shè)置產(chǎn)生波特率的定時器1、串行口控制和中斷控制。具體步驟如下:確定T1的工作方式(編程TMOD寄存器);計算T1的初值,裝載TH1、TL1;啟動T1(編程TCON中的TR1位);確定串行口控制(編程SCON寄存器);串行口在中斷方式工作時,要進(jìn)行中斷設(shè)置(編程IE、IP寄存器)。50例

89C51單片機(jī)時鐘振蕩頻率為11.0592MHz,選用定時器T1工作模式2為波特率發(fā)生器,波特率為2400b/s,求初值。解:設(shè)波特率控制位SMOD0=0,定時器T1計數(shù)脈沖控制位T1M=0,則有:516.389C51與89C51點(diǎn)對點(diǎn)異步通信通信協(xié)議 要保證通信成功,通信雙方必須有一系列的約定,這種約定稱為通信規(guī)程或協(xié)議,只有雙方遵守協(xié)議,才能順利的進(jìn)行通信。波特率

溫馨提示

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

評論

0/150

提交評論