《微型計算機基本原理與應(yīng)用》課件第12章 可編程定時、計數(shù)器及其應(yīng)用_第1頁
《微型計算機基本原理與應(yīng)用》課件第12章 可編程定時、計數(shù)器及其應(yīng)用_第2頁
《微型計算機基本原理與應(yīng)用》課件第12章 可編程定時、計數(shù)器及其應(yīng)用_第3頁
《微型計算機基本原理與應(yīng)用》課件第12章 可編程定時、計數(shù)器及其應(yīng)用_第4頁
《微型計算機基本原理與應(yīng)用》課件第12章 可編程定時、計數(shù)器及其應(yīng)用_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第12章

可編程定時器/計數(shù)器及其應(yīng)用本章主要內(nèi)容1.計算機中定時、計數(shù)的基本技術(shù);2.可編程計數(shù)器/定時器8253的結(jié)構(gòu)及工作方式;3.8253的編程應(yīng)用。12.1概述實現(xiàn)定時的三種方法:1.軟件定時

由CPU執(zhí)行指令序列所花費的時間來構(gòu)成一定的時間間隔,從而達到定時的目的。例如:

MOVCX,××××HHERE:LOOPHERE優(yōu)點:不需要專門的硬件設(shè)備。缺點:浪費了寶貴的CPU資源。2.不可編程的硬件定時

時序波形

穩(wěn)態(tài)

td觸發(fā)信號

暫穩(wěn)態(tài)單穩(wěn)態(tài)電路3.可編程計數(shù)器/定時器可用軟件的方法(通過初始化編程)設(shè)定或調(diào)整定時范圍。典型產(chǎn)品:ZilogZ80-CTCIntel

8253(8254)12.2可編程計數(shù)器/定時器825312.2.18253的主要功能

(1)具有三個獨立的16位計數(shù)通道;

(2)每個計數(shù)通道可按二進制或二-十進制計數(shù);

(3)每個計數(shù)通道的計數(shù)速率可達2MHz;

(4)每個計數(shù)通道有六種工作方式;

(5)全部輸入輸出都與TTL電平兼容。12.2.28253的結(jié)構(gòu)框圖8253的內(nèi)部結(jié)構(gòu)框圖如圖12.1所示。由圖可見,它由與CPU的接口、內(nèi)部控制電路以及三個計數(shù)器通道所組成。數(shù)據(jù)總線緩沖器讀/寫邏輯控制字寄存器D7~D0計數(shù)器0計數(shù)器1計數(shù)器2RDWRA0A1CS內(nèi)部總線CLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2圖12.18253內(nèi)部結(jié)構(gòu)框圖1.數(shù)據(jù)總線緩沖器這是8253與CPU的數(shù)據(jù)總線(D7~D0)連接的8位雙向三態(tài)緩沖器。

CPU用輸入輸出指令對8253進行讀寫操作時的所有信息都通過這個緩沖器傳送。2.讀/寫邏輯

這是8253內(nèi)部操作的控制電路,它從系統(tǒng)控制總線上接收輸入信號,然后轉(zhuǎn)換成8253內(nèi)部操作的各種控制信號。3.控制字寄存器當?shù)刂沸盘朅1和A0都為1時,訪問控制字寄存器。控制字寄存器從數(shù)據(jù)總線上接收CPU送來的控制字,并由控制字的D7、D6兩位的編碼決定控制字寫入哪個通道的控制寄存器中去。由寄存在每個通道內(nèi)的控制寄存器的內(nèi)容決定該通道的工作方式,選擇計數(shù)器是按二進制還是BCD數(shù)計數(shù),并確定每個計數(shù)器初值的寫入順序。4.計數(shù)器0、計數(shù)器1、計數(shù)器2這是三個計數(shù)器/定時器通道,每一個都由16位的可設(shè)置計數(shù)初值的減法計數(shù)器構(gòu)成。三個通道的操作是完全獨立的。每個通道都有兩個輸入引腳CLK和GATE以及一個輸出引腳OUT。從編程的角度看,8253的結(jié)構(gòu)框圖如圖12.2所示。

數(shù)據(jù)總線地址譯碼RDWRIO/MVCCGNDCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT2D7~D0RDWRCSA1A0控制寄存器(8位)高8位低8位高8位低8位計數(shù)器0高8位低8位計數(shù)初值寄存器(CR)計數(shù)執(zhí)行部件(CE)輸出鎖存器(OL)計數(shù)器1計數(shù)器2圖12.28253計數(shù)通道結(jié)構(gòu)

“控制寄存器”及“計數(shù)初值寄存器(CR)”可由CPU寫入;“輸出鎖存器(OL)”可由CPU讀出。12.2.38253的引腳8253的引腳如圖12.3所示。8253D7D6D5D4D3D2D1D0CLK0OUT0GATE0GND123456789101112242322212019181716151413VccWRRDCSA1A0CLK2GATE2OUT2CLK1GATE1OUT112.38253的引腳圖12.2.48253的工作方式8253的每個通道均可以通過編程選擇6種工作方式之一:1.方式0——計數(shù)到零產(chǎn)生中斷請求

(InterruptonTerminalCount)方式0的操作時序圖如圖12.4所示。CLKGATE(高)01234CWN=4WRN+1個OUT圖12.4方式0的時序圖方式0的主要特點是:計數(shù)器只計一遍而不能自動重復(fù)工作。當減1計數(shù)到零時,并不自動恢復(fù)計數(shù)初值重新開始計數(shù),且OUT輸出保持為高電平。只有CPU再次寫入一個新的計數(shù)值(即使計數(shù)值相同也需再次寫入),OUT才變?yōu)榈碗娖?,計?shù)器按新寫入的計數(shù)值重新開始計數(shù)?;蛘逤PU重新對8253設(shè)置方式0控制字,它的OUT輸出也可以立即變?yōu)榈碗娖?,并等再次寫入計?shù)初值后重新開始計數(shù)。(2)CPU向CR寄存器寫入計數(shù)初值后的第一個CLK脈沖(即圖中用斜線標出的那個脈沖),將CR的內(nèi)容送入CE,從此之后計數(shù)器才開始減1計數(shù)。這第一個CLK脈沖不包括在減1計數(shù)過程中。如果設(shè)置計數(shù)初值為N,則輸出OUT是在N+1個CLK脈沖之后才變?yōu)楦唠娖健?3)在計數(shù)過程中,可由GATE信號控制暫停計數(shù)。當GATE變低時,計數(shù)暫停;當GATE變高后又接著計數(shù)。其工作波形如圖12.5所示。CLKGATE12223N=3CWWROUT圖12.5方式0計數(shù)過程中改變GATE信號0(4)在計數(shù)過程中也可改變計數(shù)值。在寫入新的計數(shù)值后,計數(shù)器將立即按新的計數(shù)值重新開始計數(shù),即改變計數(shù)值是立即有效的。當按新的計數(shù)值減1計數(shù)到0時,輸出OUT變?yōu)楦唠娖?。其工作波形如圖12.6所示。CLKGATE(高)12123CWN=3WROUT圖12.6方式0計數(shù)過程中改變計數(shù)值0N=22.方式1—硬件可重復(fù)觸發(fā)的單穩(wěn)態(tài)觸發(fā)器

(Programmableone-shot)

方式1的時序圖如圖12.7所示。

CLKGATE圖12.7方式1的時序圖CWN=2WR112OUT020在方式1,當CPU輸出控制字后(WR的上升沿),OUT輸出變?yōu)楦唠娖?若原為高電平,則保持為高電平);在CPU寫入計數(shù)初值后,計數(shù)器并不開始計數(shù),直至門控信號GATE上升沿(即門控觸發(fā)信號)出現(xiàn),并在其下一個CLK脈沖的下降沿,CR的內(nèi)容送入CE,同時使OUT輸出變?yōu)榈碗娖剑缓箝_始對隨后的CLK脈沖進行減1計數(shù)。

在計數(shù)過程中,OUT一直維持為低電平,直至減1計數(shù)到0時,OUT輸出變?yōu)楦唠娖?。即由于GATE上升沿的觸發(fā),使OUT輸出端產(chǎn)生一個寬度為N個CLK周期的負脈沖。此后,若再次由GATE上升沿觸發(fā),則輸出再次產(chǎn)生一個同樣寬度的負脈沖。方式1的主要特點是:(1)若設(shè)置計數(shù)初值為N,則輸出負脈沖的寬度為N個CLK脈沖周期。(2)當計數(shù)到零時,可再次由GATE上升沿觸發(fā),輸出同樣寬度的負脈沖,而不必重新寫入計數(shù)初值。(3)在計數(shù)過程中(輸出負脈沖期間),可由GATE上升沿再觸發(fā)。并使計數(shù)器從計數(shù)初值開始重新作減1計數(shù),減至0時,OUT輸出變?yōu)楦唠娖?。其效果是使輸出負脈沖的寬度比原來加寬了。(4)在計數(shù)過程中,CPU可改變計數(shù)初值,這時計數(shù)過程不受影響,計數(shù)到零后輸出變高。當再次觸發(fā)時,計數(shù)器才按新輸入的計數(shù)值計數(shù)。即改變計數(shù)值是下次有效的。3.方式2——分頻器(RateGenerator)在方式2,當CPU輸出控制字后,OUT輸出為高。在寫入計數(shù)初值后,計數(shù)器將自動對輸入時鐘CLK計數(shù)。在計數(shù)過程中OUT輸出為高,直至計數(shù)器減到1(注意,不是減到0)時,OUT輸出變低,經(jīng)過一個CLK周期,輸出恢復(fù)為高,且計數(shù)器將自動重新開始計數(shù)。這種方式可作脈沖速率發(fā)生器或用來產(chǎn)生實時時鐘中斷信號。

方式2的時序圖如圖12.8所示。CLKGATE(高)23123CWN=3WROUT圖12.8方式2時序圖13方式2的主要特點是:

(1)不用重新設(shè)置計數(shù)值,通道能連續(xù)工作,輸出固定頻率的脈沖。如果計數(shù)初值為N,則每輸入N個CLK脈沖,輸出一個負脈沖。負脈沖寬度為1個CLK周期,重復(fù)周期為N倍的CLK周期。(2)計數(shù)過程可由GATE信號控制。當GATE信號變低時,立即暫?,F(xiàn)行計數(shù);當GATE信號又變高后,從計數(shù)初值開始重新計數(shù)。(3)如果在計數(shù)過程中,CPU重新寫入計數(shù)值,則對于正在進行的計數(shù)無影響,而是從下一個計數(shù)操作周期開始按新的計數(shù)值改變輸出脈沖的頻率。4.方式3——方波發(fā)生器

(SquareWaveRateGenerator)方式3和方式2的工作情況類似,兩者的主要區(qū)別是輸出波形的形式。對于方式3,OUT輸出是對稱方波或基本對稱的矩形波。即在一個計數(shù)周期內(nèi),若計數(shù)初值N為偶數(shù),則OUT輸出將有N/2個CLK周期為高電平,N/2個CLK周期為低電平,輸出為對稱方波,其周期為N個CLK周期;若N為奇數(shù),則OUT輸出將有(N+1)/2個CLK周期為高電平,(N-1)/2個CLK周期為低電平,輸出為基本對稱的矩形波,其周期也為N個CLK周期。

在方式3,當CPU設(shè)置控制字后,輸出將為高,在寫完計數(shù)初值N后計數(shù)器就自動開始計數(shù),輸出保持為高。當計數(shù)到N/2(或(N+1)/2)時,輸出變低,直至計數(shù)到0,使輸出變高。同時又重新裝入計數(shù)值開始新的計數(shù)。計數(shù)過程周而復(fù)始重復(fù)進行。這種方式常用來產(chǎn)生一定頻率的方波。方式3的時序圖如圖12.9所示。

CWN=4(N=5)GATE(高)24124OUT(N=4時UT(N=5時)圖12.9方式3時序圖WRCLK方式3的主要特點是:(1)若計數(shù)初值N為偶數(shù),則輸出波形是周期為N個CLK周期的對稱方波;若計數(shù)初值N為奇數(shù),則輸出波形是周期為N個CLK周期的基本對稱矩形波,其高電平持續(xù)時間比低電平持續(xù)時間多一個CLK周期。(2)如果在計數(shù)過程中,GATE信號變低,則暫?,F(xiàn)行計數(shù)過程,直到GATE再次有效,將從計數(shù)初值開始重新計數(shù)。(3)如果要求改變輸出方波的頻率,則CPU可在任何時候重新寫入新的計數(shù)初值,并從下一個計數(shù)操作周期開始改變輸出方波的頻率。5.方式4—軟件觸發(fā)選通

(SoftwareTriggeredStrobe)在方式4,當寫入控制字后,OUT輸出為高。當寫入計數(shù)初值后計數(shù)器即開始計數(shù)(相當于軟件觸發(fā)啟動),當計數(shù)到0后,輸出變低,經(jīng)過1個CLK周期,輸出又變高。方式4不能自動重復(fù)計數(shù),即這種方式計數(shù)是一次性的。每次啟動計數(shù)都要靠重新寫入計數(shù)值,所以稱為“軟件觸發(fā)選通”。當8253工作于方式4時,可用作軟件觸發(fā)的選通信號發(fā)生器。方式4的時序圖如圖12.10所示。GATE(高)CLKWRCWN=30123OUT圖12.10方式4時序圖方式4的主要特點是:

(1)若設(shè)置計數(shù)初值為N,則在寫入計數(shù)初值后的N+1個CLK脈沖,才輸出一個負脈沖。負脈沖的寬度為1個CLK周期。(2)GATE為高時,允許計數(shù);GATE為低時,禁止計數(shù)。所以,要實現(xiàn)軟件啟動,GATE應(yīng)為高。(3)若在計數(shù)過程中改變計數(shù)值,則按新的計數(shù)值重新開始計數(shù),即改變計數(shù)值是立即有效的。方式4可應(yīng)用于這樣一種情況:

CPU經(jīng)輸出端口發(fā)送并行數(shù)據(jù)給接收系統(tǒng),經(jīng)過一段時間延遲后,再發(fā)送一個選通信號,利用該選通信號將并行數(shù)據(jù)打入到接收系統(tǒng)的緩沖寄存器中。通過改變計數(shù)初值N,可以方便地調(diào)整發(fā)出選通信號的延遲時間。6.方式5——硬件觸發(fā)選通

(HardwareTriggeredStrobe)

在方式5,設(shè)置了控制字后,輸出為高。在設(shè)置了計數(shù)初值后,計數(shù)器并不立即開始計數(shù),而是由門控信號GATE的上升沿觸發(fā)啟動。當計數(shù)到0時,輸出變低,經(jīng)過一個CLK周期,輸出恢復(fù)為高,并停止計數(shù)。要等到下次門控GATE信號的觸發(fā)才能再計數(shù),即方式5的計數(shù)是一次性的。方式5的時序圖如圖12.11所示。

CLKGATE0123CWN=3WROUT圖12.11方式5時序圖方式5的主要特點是:(1)若設(shè)置計數(shù)初值為N,則在門控GATE上升沿觸發(fā)后,經(jīng)過N+1個CLK脈沖,才輸出一個負脈沖。(2)若在計數(shù)過程中再次出現(xiàn)門控GATE觸發(fā)信號,則將使計數(shù)器從計數(shù)初值開始重新計數(shù),但OUT輸出的高電平不受影響。(3)若在計數(shù)過程中改變計數(shù)值,只要在計數(shù)到0之前不出現(xiàn)新的門控觸發(fā)信號,則原計數(shù)過程不受影響;等計數(shù)到0并出現(xiàn)新的門控發(fā)信號后,再按新的計數(shù)值計數(shù)。若在寫入了新的計數(shù)值后,在未計數(shù)到0之前有門控觸發(fā)信號出現(xiàn),則立即按新的計數(shù)值重新開始計數(shù)。7.8253工作方式小結(jié)

(1)方式2(分頻器)、方式4(軟件觸發(fā)選通)和方式5(硬件觸發(fā)選通),它們的輸出波形相同,都是寬度為1個CLK周期的負脈沖。

區(qū)別是,方式2是自動重復(fù)工作的,而方式4需由軟件(設(shè)置計數(shù)值)觸發(fā)啟動,方式5需由門控GATE信號觸發(fā)啟動。

(2)方式5(硬件觸發(fā)選通)與方式1(硬件觸發(fā)單穩(wěn)),觸發(fā)信號相同,但輸出波形不同.方式1輸出為寬度是N個CLK周期的負脈沖(計數(shù)過程中輸出為低);方式5輸出為寬度是1個CLK周期的負脈沖(計數(shù)過程中輸出為高)。(3)在6種工作方式中,只有方式0,在寫入控制字后輸出為低;

其余5種方式,都是在寫入控制字后輸出為高。(4)6種工作方式中的任一種方式,只有在寫入計數(shù)初值后才能開始計數(shù)。方式0、2、3、4都是寫入計數(shù)初值后,計數(shù)過程就開始了。方式1、5在寫入計數(shù)初值后,需由外部GATE信號的觸發(fā)啟動,才能開始計數(shù)過程。(5)6種工作方式中,只有方式2(分頻器)和方式3(方波發(fā)生器)為自動重復(fù)工作方式,其他4種方式都是一次性計數(shù),要繼續(xù)工作需要重新啟動。12.2.58253的初始化編程1.內(nèi)部寄存器的尋址8253有三個獨立的計數(shù)器通道,每個通道可以被CPU訪問的部件有:

8位的控制寄存器,它只能寫入,不能讀出;

16位的計數(shù)初值寄存器CR,它只能寫入,不能讀出;

16位的輸出鎖存器OL,它只能讀出,不能寫入。

8253芯片是否被選中,決定于片選信號CS,通常CS接自地址譯碼器輸出。

一片8253占用四個連續(xù)的端口地址,分別對應(yīng)于三個計數(shù)初值寄存器端口和一個控制寄存器端口。由輸入信號A1和A0的四種編碼來選擇四個端口之一。每個通道都各自有獨立的控制寄存器,但三個通道的控制寄存器都共用一個端口地址,即A1和A0都為1時的端口地址。它是三個通道共同使用的控制寄存器端口地址。

為了能夠?qū)⒚總€通道的控制字寫入它們各自的控制寄存器中,使用控制字的D7和D6的編碼,來標志此控制字是寫入哪個通道的控制寄存器中。

8253內(nèi)部寄存器的尋址如表12-1所示。表12-18253內(nèi)部寄存器的尋址

CSRDWRA1A0寄存器選擇和操作

01000寫通道0計數(shù)初值寄存器CR001001寫通道1計數(shù)初值寄存器CR101010寫通道2計數(shù)初值寄存器CR201011寫控制寄存器

00100讀通道0輸出鎖存器OL000101讀通道1輸出鎖存器OL100110讀通道2輸出鎖存器OL22.初始化編程順序注意:必須按控制字D5,D4位規(guī)定的格式進行寫入。

設(shè)置控制字寫入計數(shù)初值3.8253的控制字SC1SC0RL1RL0M2M1M0BCD00通道001通道102通道211無效通道選擇:00計數(shù)器鎖存命令01只讀/寫計數(shù)器低8位10只讀/寫計數(shù)器高8位11先讀/寫計數(shù)器低8位

后讀/寫計數(shù)器高8位讀/寫格式:計數(shù)制:0二進制計數(shù)1十進制計數(shù)工作方式:000方式0001方式1x10方式2x11方式3100方式4101方式5圖12.128253控制字格式需要說明的是:

當采用二進制計數(shù)時,如果是8位二進制計數(shù)(計數(shù)值≤256),則在8253初始化編程的傳送指令“MOVAL,n”中,n可以寫成任何進制數(shù)(二進制、十進制或十六進制)的形式;如果是16位二進制計數(shù)(計數(shù)值≤65536),一種方法是先把計算得到的十進制計數(shù)初值n轉(zhuǎn)換成4位十六進制數(shù)(即16位二進制),然后分兩次寫入8253的指定端口。

另一種方法是先把該十進制計數(shù)初值n直接傳送給AX,然后分兩次寫入8253指定端口,即:

MOVAX,nOUTPORT,AL;先寫低8位(PORT為端口號)

MOVAL,AHOUTPORT,AL;后寫高8位當采用十進制(BCD碼)計數(shù)時,必須在8253初始化編程中把計算得到的十進制計數(shù)初值n加上后綴H,以便在相應(yīng)的傳送指令執(zhí)行后能夠在AL(或AX)中得到十進制數(shù)n的BCD碼表示形式。

例如n=50,則應(yīng)按如下方式寫入:

MOVAL,50H

OUTPORT,AL

如果n=1250,則需分兩次寫入,即:

MOVAL,50H

OUTPORT,AL;先寫低8位

MOVAL,12H

OUTPORT,AL;后寫高8位

也可按如下方法兩次寫入:

MOVAX,1250HOUTPORT,AL;先寫低8位

MOVAL,AHOUTPORT,AL;

后寫高8位4.初始化編程舉例例12.1

若用8253的計數(shù)通道1,工作在方式0,按8位二進制計數(shù),計數(shù)初值為128,則初始化編程如下:

(1)確定通道控制字-------50H

(2)8位計數(shù)初值-----------80H

設(shè)8253的端口地址為48H~4BH,則初始化程序段為:

MOVAL,50HOUT4BH,AL;設(shè)置通道1控制字

MOVAL,80HOUT49H,AL;寫通道1計數(shù)初值,只寫低8位

例12.2

若用通道0,工作在方式1,按十進制(BCD碼)計數(shù),計數(shù)初值為2010,則初始化編程如下:

(1)確定通道控制字------33H(2)計數(shù)初值低8位為10,高8位為20。若8253的端口地址同例1,則初始化程序段為:

MOVAL,33HOUT4BH,AL;設(shè)置通道0控制字

MOVAL,10H

OUT48H,AL;寫通道0計數(shù)初值低8位

MOVAL,20HOUT48H,AL;寫通道0計數(shù)初值高8位12.2.68253的讀出操作

1.讀之前先暫停計數(shù)

2.讀之前先發(fā)鎖存命令12.38253的應(yīng)用例12.4

8253用作脈沖信號發(fā)生器。

可用8253產(chǎn)生如圖12.14(a)所示的周期性脈沖信號,其重復(fù)周期為5μs,脈沖寬度為1μs。設(shè)CLK信號頻率為2MHz。圖12.148253用作脈沖信號發(fā)生器MOVAL,00010010B;設(shè)置計數(shù)器0為方式1(單穩(wěn)),只寫低8

位,二進制計數(shù)OUT86H,ALMOVAL,02H;設(shè)置計數(shù)器0的計數(shù)初值為2OUT80HALMOVAL,01010100B;設(shè)置計數(shù)器1為方式2(分頻器),只寫低

8位,二進制計數(shù)OUT86H,ALMOVAL,0AH;設(shè)置計數(shù)器1的計數(shù)初值為10OUT82H,AL例12.3

用8253實現(xiàn)生產(chǎn)流水線上的工件計數(shù),每通過100個工件,揚聲器便發(fā)出頻率為1000Hz的音響信號,持續(xù)時間為5秒。設(shè)外部時鐘頻率為2MHZ。INTR(中斷請求)+5V時鐘2MHz8255APA0GATE1CLK1GATE0OUT08253CLK0O

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論