舵機控制程序_第1頁
舵機控制程序_第2頁
舵機控制程序_第3頁
舵機控制程序_第4頁
舵機控制程序_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 在機器人機電控制系統(tǒng)中,舵機控制效果是性能的重要影響因素。舵機可以在微機電系統(tǒng)和航模中作為基本的輸出執(zhí)行機構(gòu),其簡單的控制和輸出使得單片機系統(tǒng)非常容易與之接口。 舵機是一種位置伺服的驅(qū)動器,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。其工作原理是:控制信號由接收機的通道進入信號調(diào)制芯片,獲得直流偏置電壓。它內(nèi)部有一個基準(zhǔn)電路,產(chǎn)生周期為20ms,寬度為1.5ms的基準(zhǔn)信號,將獲得的直流偏置電壓與電位器的電壓比較,獲得電壓差輸出。最后,電壓差的正負(fù)輸出到電機驅(qū)動芯片決定電機的正反轉(zhuǎn)。當(dāng)電機轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器旋轉(zhuǎn),使得電壓差為0,電機停止轉(zhuǎn)動。舵機的控制信號是pwm信號,

2、利用占空比的變化改變舵機的位置。一般舵機的控制要求如圖1所示。圖1 舵機的控制要求單片機實現(xiàn)舵機轉(zhuǎn)角控制 可以使用fpga、模擬電路、單片機來產(chǎn)生舵機的控制信號,但fpga成本高且電路復(fù)雜。對于脈寬調(diào)制信號的脈寬變換,常用的一種方法是采用調(diào)制信號獲取有源濾波后的直流電壓,但是需要50hz(周期是20ms)的信號,這對運放器件的選擇有較高要求,從電路體積和功耗考慮也不易采用。5mv以上的控制電壓的變化就會引起舵機的抖動,對于機載的測控系統(tǒng)而言,電源和其他器件的信號噪聲都遠大于5mv,所以濾波電路的精度難以達到舵機的控制精度要求。 也可以用單片機作為舵機的控制單元,使pwm信號的脈沖寬度實現(xiàn)微秒級

3、的變化,從而提高舵機的轉(zhuǎn)角精度。單片機完成控制算法,再將計算結(jié)果轉(zhuǎn)化為 pwm信號輸出到舵機,由于單片機系統(tǒng)是一個數(shù)字系統(tǒng),其控制信號的變化完全依靠硬件計數(shù),所以受外界干擾較小,整個系統(tǒng)工作可靠。 單片機系統(tǒng)實現(xiàn)對舵機輸出轉(zhuǎn)角的控制,必須首先完成兩個任務(wù):首先是產(chǎn)生基本的pwm周期信號,本設(shè)計是產(chǎn)生20ms的周期信號;其次是脈寬的調(diào)整,即單片機模擬pwm信號的輸出,并且調(diào)整占空比。當(dāng)系統(tǒng)中只需要實現(xiàn)一個舵機的控制,采用的控制方式是改變單片機的一個定時器中斷的初值,將20ms分為兩次中斷執(zhí)行,一次短定時中斷和一次長定時中斷。這樣既節(jié)省了硬件電路,也減少了軟件開銷,控制系統(tǒng)工作效率和控制精度都很高

4、。具體的設(shè)計過程: 例如想讓舵機轉(zhuǎn)向左極限的角度,它的正脈沖為2ms,則負(fù)脈沖為20ms-2ms=18ms,所以開始時在控制口發(fā)送高電平,然后設(shè)置定時器在2ms后發(fā)生中斷,中斷發(fā)生后,在中斷程序里將控制口改為低電平,并將中斷時間改為18ms,再過18ms進入下一次定時中斷,再將控制口改為高電平,并將定時器初值改為2ms,等待下次中斷到來,如此往復(fù)實現(xiàn)pwm信號輸出到舵機。用修改定時器中斷初值的方法巧妙形成了脈沖信號,調(diào)整時間段的寬度便可使伺服機靈活運動。 為保證軟件在定時中斷里采集其他信號,并且使發(fā)生pwm信號的程序不影響中斷程序的運行(如果這些程序所占用時間過長,有可能會發(fā)生中斷程序還未結(jié)束

5、,下次中斷又到來的后果),所以需要將采集信號的函數(shù)放在長定時中斷過程中執(zhí)行,也就是說每經(jīng)過兩次中斷執(zhí)行一次這些程序,執(zhí)行的周期還是20ms。軟件流程如圖2所示。圖2 產(chǎn)生pwm信號的軟件流程 如果系統(tǒng)中需要控制幾個舵機的準(zhǔn)確轉(zhuǎn)動,可以用單片機和計數(shù)器進行脈沖計數(shù)產(chǎn)生pwm信號。 脈沖計數(shù)可以利用51單片機的內(nèi)部計數(shù)器來實現(xiàn),但是從軟件系統(tǒng)的穩(wěn)定性和程序結(jié)構(gòu)的合理性看,宜使用外部的計數(shù)器,還可以提高cpu的工作效率。實驗后從精度上考慮,對于futaba系列的接收機,當(dāng)采用1mhz的外部晶振時,其控制電壓幅值的變化為0.6mv,而且不會出現(xiàn)誤差積累,可以滿足控制舵機的要求。最后考慮數(shù)字系統(tǒng)的離散誤

6、差,經(jīng)估算誤差的范圍在0.3%內(nèi),所以采用單片機和8253、8254這樣的計數(shù)器芯片的pwm信號產(chǎn)生電路是可靠的。圖3是硬件連接圖。圖3 pwa信號的計數(shù)和輸出電路(點擊放大)基于8253產(chǎn)生pwm信號的程序主要包括三方面內(nèi)容:一是定義8253寄存器的地址,二是控制字的寫入,三是數(shù)據(jù)的寫入。軟件流程如圖4所示,具體代碼如下。1. /關(guān)鍵程序及注釋: 2. /定時器t0中斷,向8253發(fā)送控制字和數(shù)據(jù) 3. voidt0int()interrupt1 4. 5. th0=0xb1; 6. tl0=0xe0;/20ms的時鐘基準(zhǔn) 7. /先寫入控制字,再寫入計數(shù)值 8. servo0=0x30;/

7、選擇計數(shù)器0,寫入控制字 9. pwm0=buf0l;/先寫低,后寫高 10. pwm0=buf0h; 11. servo1=0x70;/選擇計數(shù)器1,寫入控制字 12. pwm1=buf1l; 13. pwm1=buf1h; 14. servo2=0xb0;/選擇計數(shù)器2,寫入控制字 15. pwm2=buf2l; 16. pwm2=buf2h; 17. 圖4 基于8253產(chǎn)生pwa信號的軟件流程 當(dāng)系統(tǒng)的主要工作任務(wù)就是控制多舵機的工作,并且使用的舵機工作周期均為20ms時,要求硬件產(chǎn)生的多路pwm波的周期也相同。使用51單片機的內(nèi)部定時器產(chǎn)生脈沖計數(shù),一般工作正脈沖寬度小于周期的1/8,

8、這樣可以在1個周期內(nèi)分時啟動各路pwm波的上升沿,再利用定時器中斷t0確定各路pwm波的輸出寬度,定時器中斷t1控制20ms的基準(zhǔn)時間。 第1次定時器中斷t0按20ms的 1/8設(shè)置初值,并設(shè)置輸出i/o口,第1次t0定時中斷響應(yīng)后,將當(dāng)前輸出i/o口對應(yīng)的引腳輸出置高電平,設(shè)置該路輸出正脈沖寬度,并啟動第2次定時器中斷,輸出i/o口指向下一個輸出口。第2次定時器定時時間結(jié)束后,將當(dāng)前輸出引腳置低電平,設(shè)置此中斷周期為20ms的1/8減去正脈沖的時間,此路 pwm信號在該周期中輸出完畢,往復(fù)輸出。在每次循環(huán)的第16次(28=16)中斷實行關(guān)定時中斷t0的操作,最后就可以實現(xiàn)8路舵機控制信號的輸

9、出。 也可以采用外部計數(shù)器進行多路舵機的控制,但是因為常見的8253、8254芯片都只有3個計數(shù)器,所以當(dāng)系統(tǒng)需要產(chǎn)生多路pwm信號時,使用上述方法可以減少電路,降低成本,也可以達到較高的精度。調(diào)試時注意到由于程序中脈沖寬度的調(diào)整是靠調(diào)整定時器的初值,中斷程序也被分成了8個狀態(tài)周期,并且需要嚴(yán)格的周期循環(huán),而且運行其他中斷程序代碼的時間需要嚴(yán)格把握。 在實際應(yīng)用中,采用51單片機簡單方便地實現(xiàn)了舵機控制需要的pwm信號。對機器人舵機控制的測試表明,舵機控制系統(tǒng)工作穩(wěn)定,pwm占空比 (0.52.5ms 的正脈沖寬度)和舵機的轉(zhuǎn)角(-9090)線性度較好。如何使用at89s52編寫這樣一個程序。

10、 要求,單片機控制舵機,讓舵機到中間位置后,左轉(zhuǎn)15度,延遲2ms,右轉(zhuǎn)15度。(度數(shù)不要求精確)。舵機為0.52.5ms。晶振12m#includeunsigned int pwm;unsigned char flag;sbit p10=p10;void timer0() interrupt 1 using 1 p10=!p10; pwm=20000-pwm; th0=pwm/256; tl0=pwm%256; flag+; if(flag10)flag+; if(flag=10&p10=0)pwm=1250;flag=11;/保證回到90度再左轉(zhuǎn)15; void timer1() inte

11、rrupt 3 using 1 et1=0;/2ms到關(guān)閉定時器1 et0=0; tr0=0; pwm=1750; th0=pwm/256; tl0=pwm%256; et0=1; tr0=1; void int0 (void) interrupt 0 using 1 /判斷左轉(zhuǎn)到15,通過傳感器判斷或者其他信號判斷 ,能正好保證剛左轉(zhuǎn)15度,開始延時2ms tr1=1;/定時器1開始計數(shù) void main(void) p10=1; tmod=0x11; pwm=1500;/回90度 th0=pwm/256; tl0=pwm%256; th1=2000/256; tl1=2000%256;

12、ea=1; et0=1; et1=1; tr0=1; while(1);舵機控制程序8路舵機控制器 芯片:at89s52晶振:12mhz=*/i nclude#define uint8 unsigned char#define uint16 unsigned intsbit key1=p14;sbit key2=p15;/pwm的輸出端口sbit pwm_out0=p00;sbit pwm_out1=p01;sbit pwm_out2=p02;sbit pwm_out3=p03;sbit pwm_out4=p04;sbit pwm_out5=p05;sbit pwm_out6=p06;sbit

13、 pwm_out7=p07;/pwm的數(shù)據(jù)值uint16 pwm_value8=1500,1000,1500,1000,1750,2000,2500,2000;uint8 order1; /定時器掃描序列/*= 定時器t0的中斷服務(wù)程序 一個循環(huán)20ms = 8*2.5ms=*/void timer0(void) interrupt 1 using 1switch(order1)case 1: pwm_out0=1; th0=-pwm_value0/256; tl0=-pwm_value0%256; break;case 2: pwm_out0=0; th0=-(2700-pwm_value0

14、)/256; tl0=-(2700-pwm_value0)%256; break;case 3: pwm_out1=1; th0=-pwm_value1/256; tl0=-pwm_value1%256; break;case 4: pwm_out1=0; th0=-(2700-pwm_value1)/256; tl0=-(2700-pwm_value1)%256; break;case 5: pwm_out2=1; th0=-pwm_value2/256; tl0=-pwm_value2%256; break;case 6: pwm_out2=0 ; th0=-(2700-pwm_value

15、2)/256; tl0=-(2700-pwm_value2)%256; break;case 7: pwm_out3=1; th0=-pwm_value3/256; tl0=-pwm_value3%256; break;case 8: pwm_out3=0; th0=-(2700-pwm_value3)/256; tl0=-(2700-pwm_value3)%256; break;case 9: pwm_out4=1; th0=-pwm_value4/256; tl0=-pwm_value4%256; break;case 10: pwm_out4=0; th0=-(2700-pwm_valu

16、e4)/256; tl0=-(2700-pwm_value4)%256; break;case 11: pwm_out5=1; th0=-pwm_value5/256; tl0=-pwm_value5%256; break;case 12: pwm_out5=0; th0=-(2700-pwm_value5)/256; tl0=-(2700-pwm_value5)%256; break;case 13: pwm_out6=1; th0=-pwm_value6/256; tl0=-pwm_value6%256; break;case 14: pwm_out6=0; th0=-(2700-pwm_

17、value6)/256; tl0=-(2700-pwm_value6)%256; break;case 15: pwm_out7=1; th0=-pwm_value7/256; tl0=-pwm_value7%256; break;case 16: pwm_out7=0; order1=0; th0=-(2700-pwm_value7)/256; tl0=-(2700-pwm_value7)%256; order1=0; break; default : order1=0; order1+;/*=初始化中斷=*/void initpwm(void) order1=1; tmod |=0x11;

18、 th0=-1500/256; tl0=-1500%256; ea=1; ex0=0; et0=1; tr0=1;pt0=1;px0=0;void delay(void) uint16 i=100; while(i-);void main(void)initpwm(); while(1) if(key1=0) if(pwm_value0500) pwm_value0-; delay(); 單片機舵機控制程序# include# define uchar unsigned char# define uint unsigned intuint a,b,c,d,n;sbit p12=p12;sbit

19、 p13=p13;sbit p37=p37;void timer0(void) interrupt 1 using 1p12=!p12;c=20000-c;th0=-(c/256);tl0=-(c%256);if(c=500&c=2500)c=a;else c=20000-a;void delay()uint i;for(i=0;i200;i+)void init_serialcomm(void) scon= 0x50; /scon: serail mode 1, 8-bit uart, enable ucvr tmod |= 0x21; /tmod: timer 1, mode 2, 8-b

20、it reload pcon |= 0x80; /smod=1; th1 = 0xf4; /baud:4800fosc=11.0592mhz ie |= 0x93; /enable serial interrupt tr1 = 1; / timer 1 run / ti=1; void serial () interrupt 4 using 3 if(ri) ri = 0; b=sbuf; sbuf=0xff; while(ti=0); ti=0; void main(void)/tmod=0x21;init_serialcomm(); p12=1;a=1500;c=a;th0=-(a/256

21、);tl0=-(a%256);px0=0;pt0=1;tr0=1;while(1)a=b*10;舵機控制程序(改變a值可控制任意角度)#include#include#define uchar unsigned char#define uint unsigned intuint a,c;sbit p10=p10;sbit p11=p11;void timer0(void) interrupt 1 p10=!p10;p11=!p11; c=20000-c; th0=-(c/256); tl0=-(c%256); if(c=500&c0;j-);void main(void)tmod=0x01;

22、/16位定時器 工作方式1p10=1;p11=1;a=2500;/180/c=a;th0=-(a/256); tl0=-(a%256);ea=1;et0=1; tr0=1;for(a=2500;a=500;a-)a=a-10;c=a; delay(5000);基于at89c2051的多路舵機控制器設(shè)計 ( 2007-11-10 11:37 )摘要 舵機是機器人、機電系統(tǒng)和航模的重要執(zhí)行機構(gòu)。舵機控制器為舵機提供必要的能源和控制信號。本文提出一種以外部中斷計數(shù)為基礎(chǔ)的pwm波形實現(xiàn)方法。該方法具有簡單方便,成本低,可實現(xiàn)多路獨立pwm輸出的優(yōu)點。關(guān)鍵詞 at89(:205l 舵機控制器 外部中斷

23、pwm 舵機是一種位置伺服的驅(qū)動器。它接收一定的控制信號,輸出一定的角度,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。在微機電系統(tǒng)和航模中,它是一個基本的輸出執(zhí)行機構(gòu)。1 舵機的工作原理以日本futaba-s3003型舵機為例,圖1是fufaba-s3003型舵機的內(nèi)部電路。舵機的工作原理是:pwm信號由接收通道進入信號解調(diào)電路ba66881。的12腳進行解調(diào),獲得一個直流偏置電壓。該直流偏置電壓與電位器的電壓比較,獲得電壓差由ba6688的3腳輸出。該輸出送人電機驅(qū)動集成電路ba6686,以驅(qū)動電機正反轉(zhuǎn)。當(dāng)電機轉(zhuǎn)速一定時,通過級聯(lián)減速齒輪帶動電位器r。,旋轉(zhuǎn),直到電壓差為o,電機停止轉(zhuǎn)

24、動。舵機的控制信號是pwm信號,利用占空比的變化改變舵機的位置。2 舵機的控制方法標(biāo)準(zhǔn)的舵機有3條導(dǎo)線,分別是:電源線、地線、控制線,如圖2所示。電源線和地線用于提供舵機內(nèi)部的直流電機和控制線路所需的能源電壓通常介于46v,一般取5v。注意,給舵機供電電源應(yīng)能提供足夠的功率??刂凭€的輸入是一個寬度可調(diào)的周期性方波脈沖信號,方波脈沖信號的周期為20 ms(即頻率為50 hz)。當(dāng)方波的脈沖寬度改變時,舵機轉(zhuǎn)軸的角度發(fā)生改變,角度變化與脈沖寬度的變化成正比。某型舵機的輸出軸轉(zhuǎn)角與輸入信號的脈沖寬度之間的關(guān)系可用圍3來表示。3 舵機控制器的設(shè)計(1)舵機控制器硬件電路設(shè)計從上述舵機轉(zhuǎn)角的控制方法可看

25、出,舵機的控制信號實質(zhì)是一個可嗣寬度的方波信號(pwm)。該方波信號可由fpga、模擬電路或單片機來產(chǎn)生。采用fpga成本較高,用模擬電路來實現(xiàn)則電路較復(fù)雜,不適合作多路輸出。一般采用單片機作舵機的控制器。目前采用單片機做舵機控制器的方案比較多,可以利用單片機的定時器中斷實現(xiàn)pwm。該方案將20ms的周期信號分為兩次定時中斷來完成:一次定時實現(xiàn)高電平定時th;一次定時實現(xiàn)低電平定時t1。th、t1的時間值隨脈沖寬度的變換而變化,但,th+t1=20ms。該方法的優(yōu)點是,pwm信號完全由單片機內(nèi)部定時器的中斷來實現(xiàn),不需要添加外圍硬件。缺點是一個周期中的pwm信號要分兩次中斷來完成,兩次中斷的定

26、時值計算較麻煩;為了滿足20ms的周期,單片機晶振的頻率要降低;不能實現(xiàn)多路輸出。也可以采用單片機+8253計數(shù)器的實現(xiàn)方案。該方案由單片機產(chǎn)生計數(shù)脈沖(或外部電路產(chǎn)生計數(shù)脈沖)提供給8253進行計數(shù),由單片機給出8253的計數(shù)比較值來改變輸出脈寬。該方案的優(yōu)點是可以實現(xiàn)多路輸出,軟件設(shè)計較簡單;缺點是要添加l片8253計數(shù)器,增加了硬件成本。本文在綜合上述兩個單片機舵機控制方案基礎(chǔ)上,提出了一個新的設(shè)計方案,如圖4所示。該方案的舵機控制器以at89c2051單片機為核心,555構(gòu)成的振蕩器作為定時基準(zhǔn),單片機通過對555振蕩器產(chǎn)生的脈沖信號進行計數(shù)來產(chǎn)生pwm信號。該控制器中單片機可以產(chǎn)生8

27、個通道的pwm信號,分別由at89c2051的p10pl.7(1219引腳)端口輸出。輸出的8路pwm信號通過光耦隔離傳送到下一級電路中。因為信號通過光耦傳送過程中進行了反相,因此從光耦出來的信號必須再經(jīng)過反相器進行反相。方波信號經(jīng)過光耦傳輸后,前沿和后沿會發(fā)生畸變,因此反相器采用cd40106施密特反相器對光耦傳輸過來的信號進行整形,產(chǎn)生標(biāo)準(zhǔn)的pwm方波信號。筆者在實驗過程中發(fā)現(xiàn),舵機在運行過程中要從電源吸納較大的電流,若舵機與單片機控制器共用一個電源,則舵機會對單片機產(chǎn)生較大的干擾。因此,舵機與單片機控制器采用兩個電源供電,兩者不共地,通過光耦來隔離,并且給舵機供電的電源最好采用輸出功率較

28、大的開關(guān)電源。該舵機控制器占用單片機的個sci串口。串口用于接收上位機傳送過來的控制命令,以調(diào)節(jié)每一個通道輸出信號的脈沖寬度。max232為電平轉(zhuǎn)換器,將上位機的rs232電平轉(zhuǎn)換成ttl電平。(2)實現(xiàn)多路pwm信號的原理在模擬電路中,pwm脈沖信號可以通過直流電平與鋸齒波信號比較來得到。在單片機中,鋸齒波可以通過對整型變量加1操作來實現(xiàn),如圖5所示。假定單片機程序中設(shè)置一整型變量sawval,其值變化范圍為on。555振蕩電路產(chǎn)生的外部計數(shù)時鐘信號輸入到at89c2051的into腳。每當(dāng)在外部計數(shù)時鐘脈沖的下降沿,單片機產(chǎn)生外部中斷,執(zhí)行外部中斷int0的中斷服務(wù)程序。每產(chǎn)生一次外部中斷

29、,對sawval執(zhí)行一次加1操作,若sawval已達到最大值n,則對sawval清o。sawval值的變化規(guī)律相當(dāng)于鋸齒波,如圖5所示。若在單片機程序中設(shè)置另一整型變量dutyval,其值的變化范圍為on。每當(dāng)在sawval清0時,dulyval從上位機發(fā)送的控制命令中讀入脈沖寬度系數(shù)值,例如為h(0hn)。若dutyvalsawval,則對應(yīng)端口輸出高電平;若dutyvalsawval,則對應(yīng)端口輸出低電平。從圖5中可看出,若改變dutyval的值,則對應(yīng)端口輸出脈沖的寬度發(fā)生變化,但輸出脈沖的頻率不變,此即為pwm波形。 設(shè)外部計數(shù)時鐘周期為tint0,鋸齒波周期(pwm脈沖周期)為tpw

30、m,pwm脈沖寬度占空比為d,由圖5可得出如下關(guān)系: 由式(3)可知,pwm波形的周期tpwm一旦確定下來,只須選定計數(shù)最大值n,就可以確定外部時鐘脈沖所需周期(頻率)。外部時鐘脈沖周期tint0顯然是pwm脈沖寬度變換的最小步距,即調(diào)節(jié)精度。由式(4)可知,n越大,步距所占pwm周期的百分比越小,精度越高。例如,若采用8位整型變量,最大值n=28-1=255,則精度為1(255+1)=1255;若采用16位整型變量,最大值n=216-1=65535,則精度為165536。文中計數(shù)變量sawval采用8位整型變量,因此n=255。對于一般應(yīng)用,其精度已足夠。就舵機而言,要求tpwm=20ms,則可算得外部時鐘周期為: 因此,設(shè)計555振蕩電路時,其輸出脈沖的頻率應(yīng)為: 當(dāng)有多個變量與sawval比較,將比較結(jié)果輸出到多個端口時。就形成了多路pwm波形。各個變量的值可以獨立變化,因此各路pwm波形的占空比

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論