DS18B20引腳圖及功能中文資料_第1頁(yè)
DS18B20引腳圖及功能中文資料_第2頁(yè)
DS18B20引腳圖及功能中文資料_第3頁(yè)
DS18B20引腳圖及功能中文資料_第4頁(yè)
DS18B20引腳圖及功能中文資料_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上輸出引線:紅色(VCC),黃色(DATA),黑色(GND)18B20溫度傳感器應(yīng)用解析溫度傳感器的種類眾多,在應(yīng)用與高精度、高可靠性的場(chǎng)合時(shí)DALLAS(達(dá)拉斯)公司生產(chǎn)的DS18B20溫度傳感器當(dāng)仁不讓。超小的體積,超低的硬件開消,抗干擾能力強(qiáng),精度高,附加功能強(qiáng),使得DS18B20更受歡迎。對(duì)于我們普通的電子愛好者來說,DS18B20的優(yōu)勢(shì)更是我們學(xué)習(xí)單片機(jī)技術(shù)和開發(fā)溫度相關(guān)的小產(chǎn)品的不二選擇。了解其工作原理和應(yīng)用可以拓寬您對(duì)單片機(jī)開發(fā)的思路。DS18B20的主要特征:? 全數(shù)字溫度轉(zhuǎn)換及輸出。? 先進(jìn)的單總線數(shù)據(jù)通信。? 最高12位分辨率,精度可達(dá)土0.5攝氏度

2、。? 12位分辨率時(shí)的最大工作周期為750毫秒。? 可選擇寄生工作方式。? 檢測(cè)溫度范圍為55°C +125°C (67°F +257°F)? 內(nèi)置EEPROM,限溫報(bào)警功能。? 64位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。? 多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。DS18B20芯片封裝結(jié)構(gòu):DS18B20引腳功能:·GND 電壓地 ·DQ 單數(shù)據(jù)總線 ·VDD 電源電壓 ·NC 空引腳DS18B20工作原理及應(yīng)用:DS18B20的溫度檢測(cè)與數(shù)字?jǐn)?shù)據(jù)輸出全集成于一個(gè)芯片之上,從而抗干擾力更強(qiáng)。其一個(gè)工作周期可分為兩個(gè)

3、部分,即溫度檢測(cè)和數(shù)據(jù)處理。在講解其工作流程之前我們有必要了解18B20的內(nèi)部存儲(chǔ)器資源。18B20共有三種形態(tài)的存儲(chǔ)器資源,它們分別是:ROM 只讀存儲(chǔ)器,用于存放DS18B20ID編碼,其前8位是單線系列編碼(DS18B20的編碼是19H),后面48位是芯片唯一的序列號(hào),最后8位是以上56的位的CRC碼(冗余校驗(yàn))。數(shù)據(jù)在出產(chǎn)時(shí)設(shè)置不由用戶更改。DS18B20共64位ROM。RAM 數(shù)據(jù)暫存器,用于內(nèi)部計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個(gè)字節(jié)RAM,每個(gè)字節(jié)為8位。第1、2個(gè)字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值信息,第3、4個(gè)字節(jié)是用戶EEPROM(常用于溫度報(bào)警值儲(chǔ)存)的鏡像。在上

4、電復(fù)位時(shí)其值將被刷新。第5個(gè)字節(jié)則是用戶第3個(gè)EEPROM的鏡像。第6、7、8個(gè)字節(jié)為計(jì)數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計(jì)的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計(jì)算的暫存單元。第9個(gè)字節(jié)為前8個(gè)字節(jié)的CRC碼。EEPROM 非易失性記憶體,用于存放長(zhǎng)期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。RAM及EEPROM結(jié)構(gòu)圖:圖2我們?cè)诿恳淮巫x溫度之前都必須進(jìn)行復(fù)雜的且精準(zhǔn)時(shí)序的處理,因?yàn)镈S18B20的硬件簡(jiǎn)單結(jié)果就會(huì)導(dǎo)致軟件的巨大開消,也是盡力減少有形資產(chǎn)轉(zhuǎn)化為無形資產(chǎn)的投入,是一種較好的節(jié)約之道。控制器對(duì)18B20操作

5、流程:1, 復(fù)位:首先我們必須對(duì)DS18B20芯片進(jìn)行復(fù)位,復(fù)位就是由控制器(單片機(jī))給DS18B20單總線至少480uS的低電平信號(hào)。當(dāng)18B20接到此復(fù)位信號(hào)后則會(huì)在1560uS后回發(fā)一個(gè)芯片的存在脈沖。2, 存在脈沖:在復(fù)位電平結(jié)束之后,控制器應(yīng)該將數(shù)據(jù)單總線拉高,以便于在1560uS后接收存在脈沖,存在脈沖為一個(gè)60240uS的低電平信號(hào)。至此,通信雙方已經(jīng)達(dá)成了基本的協(xié)議,接下來將會(huì)是控制器與18B20間的數(shù)據(jù)通信。如果復(fù)位低電平的時(shí)間不足或是單總線的電路斷路都不會(huì)接到存在脈沖,在設(shè)計(jì)時(shí)要注意意外情況的處理。3, 控制器發(fā)送ROM指令:雙方打完了招呼之后最要將進(jìn)行交流了,ROM指令共

6、有5條,每一個(gè)工作周期只能發(fā)一條,ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報(bào)警芯片搜索。ROM指令為8位長(zhǎng)度,功能是對(duì)片內(nèi)的64位光刻ROM進(jìn)行操作。其主要目的是為了分辨一條總線上掛接的多個(gè)器件并作處理。誠(chéng)然,單總線上可以同時(shí)掛接多個(gè)器件,并通過每個(gè)器件上所獨(dú)有的ID號(hào)來區(qū)別,一般只掛接單個(gè)18B20芯片時(shí)可以跳過ROM指令(注意:此處指的跳過ROM指令并非不發(fā)送ROM指令,而是用特有的一條“跳過指令”)。ROM指令在下文有詳細(xì)的介紹。4, 控制器發(fā)送存儲(chǔ)器操作指令:在ROM指令發(fā)送給18B20之后,緊接著(不間斷)就是發(fā)送存儲(chǔ)器操作指令了。操作指令同樣為8位,共6條

7、,存儲(chǔ)器操作指令分別是寫RAM數(shù)據(jù)、讀RAM數(shù)據(jù)、將RAM數(shù)據(jù)復(fù)制到EEPROM、溫度轉(zhuǎn)換、將EEPROM中的報(bào)警值復(fù)制到RAM、工作方式切換。存儲(chǔ)器操作指令的功能是命令18B20作什么樣的工作,是芯片控制的關(guān)鍵。5, 執(zhí)行或數(shù)據(jù)讀寫:一個(gè)存儲(chǔ)器操作指令結(jié)束后則將進(jìn)行指令執(zhí)行或數(shù)據(jù)的讀寫,這個(gè)操作要視存儲(chǔ)器操作指令而定。如執(zhí)行溫度轉(zhuǎn)換指令則控制器(單片機(jī))必須等待18B20執(zhí)行其指令,一般轉(zhuǎn)換時(shí)間為500uS。如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴(yán)格遵循18B20的讀寫時(shí)序來操作。數(shù)據(jù)的讀寫方法將有下文有詳細(xì)介紹。若要讀出當(dāng)前的溫度數(shù)據(jù)我們需要執(zhí)行兩次工作周期,第一個(gè)周期為復(fù)位、跳過ROM指令、執(zhí)行溫度轉(zhuǎn)

8、換存儲(chǔ)器操作指令、等待500uS溫度轉(zhuǎn)換時(shí)間。緊接著執(zhí)行第二個(gè)周期為復(fù)位、跳過ROM指令、執(zhí)行讀RAM的存儲(chǔ)器操作指令、讀數(shù)據(jù)(最多為9個(gè)字節(jié),中途可停止,只讀簡(jiǎn)單溫度值則讀前2個(gè)字節(jié)即可)。其它的操作流程也大同小異,在此不多介紹。DS18B20芯片與單片機(jī)的接口:圖3圖4如圖所示,DS18B20只需要接到控制器(單片機(jī))的一個(gè)I/O口上,由于單總線為開漏所以需要外接一個(gè)4.7K的上拉電阻。如要采用寄生工作方式,只要將VDD電源引腳與單總線并聯(lián)即可。但在程序設(shè)計(jì)中,寄生工作方式將會(huì)對(duì)總線的狀態(tài)有一些特殊的要求。圖5DS28B20芯片ROM指令表:Read ROM(讀ROM)33H (方括號(hào)中的

9、為16進(jìn)制的命令字)這個(gè)命令允許總線控制器讀到DS18B20的64位ROM。只有當(dāng)總線上只存在一個(gè)DS18B20的時(shí)候才可以使用此指令,如果掛接不只一個(gè),當(dāng)通信時(shí)將會(huì)發(fā)生數(shù)據(jù)沖突。Match ROM(指定匹配芯片)55H這個(gè)指令后面緊跟著由控制器發(fā)出了64位序列號(hào),當(dāng)總線上有多只DS18B20時(shí),只有與控制發(fā)出的序列號(hào)相同的芯片才可以做出反應(yīng),其它芯片將等待下一次復(fù)位。這條指令適應(yīng)單芯片和多芯片掛接。Skip ROM(跳躍ROM指令)CCH這條指令使芯片不對(duì)ROM編碼做出反應(yīng),在單總線的情況之下,為了節(jié)省時(shí)間則可以選用此指令。如果在多芯片掛接時(shí)使用此指令將會(huì)出現(xiàn)數(shù)據(jù)沖突,導(dǎo)致錯(cuò)誤出現(xiàn)。Sear

10、ch ROM(搜索芯片)F0H在芯片初始化后,搜索指令允許總線上掛接多芯片時(shí)用排除法識(shí)別所有器件的64位ROM。Alarm Search(報(bào)警芯片搜索)ECH在多芯片掛接的情況下,報(bào)警芯片搜索指令只對(duì)附合溫度高于TH或小于TL報(bào)警條件的芯片做出反應(yīng)。只要芯片不掉電,報(bào)警狀態(tài)將被保持,直到再一次測(cè)得溫度什達(dá)不到報(bào)警條件為止。DS28B20芯片存儲(chǔ)器操作指令表:Write Scratchpad (向RAM中寫數(shù)據(jù))4EH這是向RAM中寫入數(shù)據(jù)的指令,隨后寫入的兩個(gè)字節(jié)的數(shù)據(jù)將會(huì)被存到地址2(報(bào)警RAM之TH)和地址3(報(bào)警RAM之TL)。寫入過程中可以用復(fù)位信號(hào)中止寫入。Read Scratchp

11、ad (從RAM中讀數(shù)據(jù))BEH此指令將從RAM中讀數(shù)據(jù),讀地址從地址0開始,一直可以讀到地址9,完成整個(gè)RAM數(shù)據(jù)的讀出。芯片允許在讀過程中用復(fù)位信號(hào)中止讀取,即可以不讀后面不需要的字節(jié)以減少讀取時(shí)間。Copy Scratchpad (將RAM數(shù)據(jù)復(fù)制到EEPROM中)48H此指令將RAM中的數(shù)據(jù)存入EEPROM中,以使數(shù)據(jù)掉電不丟失。此后由于芯片忙于EEPROM儲(chǔ)存處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出“1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻超用強(qiáng)上拉并至少保持10MS,來維持芯片工作。Convert T(溫度轉(zhuǎn)換)44H收到此指令后芯片將進(jìn)行

12、一次溫度轉(zhuǎn)換,將轉(zhuǎn)換的溫度值放入RAM的第1、2地址。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出“1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻超用強(qiáng)上拉并至少保持500MS,來維持芯片工作。Recall EEPROM(將EEPROM中的報(bào)警值復(fù)制到RAM)B8H此指令將EEPROM中的報(bào)警值復(fù)制到RAM中的第3、4個(gè)字節(jié)里。由于芯片忙于復(fù)制處理,當(dāng)控制器發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0”,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出“1”。另外,此指令將在芯片上電復(fù)位時(shí)將被自動(dòng)執(zhí)行。這樣RAM中的兩個(gè)報(bào)警字節(jié)位將始終為EEPROM中數(shù)據(jù)的鏡像。Rea

13、d Power Supply(工作方式切換)B4H此指令發(fā)出后發(fā)出讀時(shí)間隙,芯片會(huì)返回它的電源狀態(tài)字,“0”為寄生電源狀態(tài),“1”為外部電源狀態(tài)。DS18B20復(fù)位及應(yīng)答關(guān)系示意圖:圖6每一次通信之前必須進(jìn)行復(fù)位,復(fù)位的時(shí)間、等待時(shí)間、回應(yīng)時(shí)間應(yīng)嚴(yán)格按時(shí)序編程。DS18B20讀寫時(shí)間隙:DS18B20的數(shù)據(jù)讀寫是通過時(shí)間隙處理位和命令字來確認(rèn)信息交換的。寫時(shí)間隙:圖7寫時(shí)間隙分為寫“0”和寫“1”,時(shí)序如圖7。在寫數(shù)據(jù)時(shí)間隙的前15uS總線需要是被控制器拉置低電平,而后則將是芯片對(duì)總線數(shù)據(jù)的采樣時(shí)間,采樣時(shí)間在1560uS,采樣時(shí)間內(nèi)如果控制器將總線拉高則表示寫“1”,如果控制器將總線拉低則表

14、示寫“0”。每一位的發(fā)送都應(yīng)該有一個(gè)至少15uS的低電平起始位,隨后的數(shù)據(jù)“0”或“1”應(yīng)該在45uS內(nèi)完成。整個(gè)位的發(fā)送時(shí)間應(yīng)該保持在60120uS,否則不能保證通信的正常。讀時(shí)間隙:圖8讀時(shí)間隙時(shí)控制時(shí)的采樣時(shí)間應(yīng)該更加的精確才行,讀時(shí)間隙時(shí)也是必須先由主機(jī)產(chǎn)生至少1uS的低電平,表示讀時(shí)間的起始。隨后在總線被釋放后的15uS中DS18B20會(huì)發(fā)送內(nèi)部數(shù)據(jù)位,這時(shí)控制如果發(fā)現(xiàn)總線為高電平表示讀出“1”,如果總線為低電平則表示讀出數(shù)據(jù)“0”。每一位的讀取之前都由控制器加一個(gè)起始信號(hào)。注意:如圖8所示,必須在讀間隙開始的15uS內(nèi)讀取數(shù)據(jù)位才可以保證通信的正確。在通信時(shí)是以8位“0”或“1”為

15、一個(gè)字節(jié),字節(jié)的讀或?qū)懯菑母呶婚_始的,即A7到A0.字節(jié)的讀寫順序也是如圖2自上而下的。/實(shí)驗(yàn)?zāi)康模菏煜S18B20的使用/六位數(shù)碼管顯示溫度結(jié)果,其中整數(shù)部分2位,小數(shù)部分4位/每次按下RB0鍵后進(jìn)行一次溫度轉(zhuǎn)換。/硬件要求:把DS18B20插在18B20插座上/          撥碼開關(guān)S10第1位置ON,其他位置OFF/          撥碼開關(guān)S5、S6全部置ON,其他撥碼開關(guān)全部置OFFi nclud

16、e<pic.h>/_CONFIG(0x1832);        /芯片配置字,看門狗關(guān),上電延時(shí)開,掉電檢測(cè)關(guān),低壓編程關(guān),加密,4M晶體HS振蕩#define uch unsigned char                     /給unsigned char起別名 uch# define DQ RA0&#

17、160;                               /定義18B20數(shù)據(jù)端口 # define DQ_DIR TRISA0             &#

18、160;           /定義18B20D口方向寄存器 # define DQ_HIGH() DQ_DIR =1                   /設(shè)置數(shù)據(jù)口為輸入# define DQ_LOW() DQ = 0; DQ_DIR = 0      &

19、#160;    /設(shè)置數(shù)據(jù)口為輸出unsigned char TLV=0 ;                        /采集到的溫度高8位unsigned char THV=0;             

20、;            /采集到的溫度低8位unsigned char TZ=0;                           /轉(zhuǎn)換后的溫度值整數(shù)部分unsigned char TX=0;  

21、60;                        /轉(zhuǎn)換后的溫度值小數(shù)部分unsigned int wd;                     

22、0;        /轉(zhuǎn)換后的溫度值BCD碼形式unsigned char shi;                             /整數(shù)十位unsigned char ge;     &#

23、160;                        /整數(shù)個(gè)位unsigned char shifen;                      

24、;    /十分位unsigned char baifen;                          /百分位unsigned char qianfen;             

25、            /千分位unsigned char wanfen;                          /萬分位unsigned char table=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x8

26、2,0xf8,0x80,0x90; /0-9的顯示代碼/-/延時(shí)函數(shù)void delay(char x,char y) char z;do      z=y;      do;while(-z);     while(-x);/其指令時(shí)間為:7+(3*(Y-1)+7)*(X-1)如果再加上函數(shù)調(diào)用的call 指令、頁(yè)面設(shè)定、傳遞參數(shù)花掉的7 個(gè)指令。/則是:14+(3*(Y-1)+7)*(X-1)。/-/結(jié)果顯示函數(shù)void display() 

27、  TRISA=0X00;delay(5,100);                           /設(shè)置A口全為輸出PORTD=tableshi;              

28、0;       /顯示整數(shù)十位PORTA=0x3e;delay(10,100);PORTD=tablege&0X7F;                  /顯示整數(shù)個(gè)位,并點(diǎn)亮小數(shù)點(diǎn)PORTA=0x3d;delay(10,100);PORTD=tableshifen;       

29、0;           /顯示小數(shù)十分位PORTA=0x3b;delay(10,100);PORTD=tablebaifen;                   /顯示小數(shù)百分位PORTA=0x37;delay(10,100);PORTD=tableqianfen;    &

30、#160;             /顯示小數(shù)千分位PORTA=0x2f;delay(10,100);PORTD=tablewanfen;                   /顯示小數(shù)萬分位PORTA=0x1f;delay(10,100);/-/系統(tǒng)初始化函數(shù)void init()ADCON1=0

31、X07;                                /設(shè)置A口為普通數(shù)字口TRISA=0X00;              

32、60;                   /設(shè)置A口方向?yàn)檩敵鯰RISD=0X00;                            

33、;     /設(shè)置D口方向?yàn)檩敵?-/復(fù)位DS18B20函數(shù)reset(void)char presence=1;while(presence)     DQ_LOW() ;                             

34、0;  /主機(jī)拉至低電平    delay(2,70);                              /延時(shí)503us    DQ_HIGH();      

35、0;                         /釋放總線等電阻拉高總線,并保持1560us    delay(2,8);                 

36、;              /延時(shí)70us    if(DQ=1) presence=1;                     /沒有接收到應(yīng)答信號(hào),繼續(xù)復(fù)位    else presence=0;

37、60;                         /接收到應(yīng)答信號(hào)    delay(2,60);                   

38、;           /延時(shí)430us   /-/寫18b20寫字節(jié)函數(shù)void write_byte(uch val)uch i;uch temp;for(i=8;i>0;i-)   temp=val&0x01;                   &

39、#160;        /最低位移出   DQ_LOW();    NOP();   NOP();   NOP();   NOP();   NOP();                     &#

40、160;              /從高拉至低電平,產(chǎn)生寫時(shí)間隙   if(temp=1) DQ_HIGH();                   /如果寫1,拉高電平   delay(2,7);    &

41、#160;                          /延時(shí)63us   DQ_HIGH();    NOP();   NOP();   val=val>>1;       

42、60;                       /右移一位/-/18b20讀字節(jié)函數(shù)uch read_byte(void)uch i;uch value=0;                  &

43、#160;             /讀出溫度static bit j;for(i=8;i>0;i-)   value>>=1;    DQ_LOW();   NOP();   NOP();   NOP();   NOP();   NOP();   NOP();   &#

44、160;                               /6us   DQ_HIGH();              

45、0;                /拉至高電平   NOP();    NOP();   NOP();    NOP();    NOP();                 &

46、#160;                /4us   j=DQ;   if(j) value|=0x80;   delay(2,7);                     &

47、#160;       /63usreturn(value);/-/啟動(dòng)溫度轉(zhuǎn)換函數(shù)void get_temp() int i;DQ_HIGH();reset();                               &#

48、160; /復(fù)位等待從機(jī)應(yīng)答 write_byte(0XCC);                        /忽略ROM匹配 write_byte(0X44);                 &

49、#160;      /發(fā)送溫度轉(zhuǎn)化命令 for(i=50;i>0;i-)                    display();                    

50、   /調(diào)用多次顯示函數(shù),確保溫度轉(zhuǎn)換完成所需要的時(shí)間    reset();                                 /再次復(fù)位,等待從機(jī)應(yīng)答 write_byte(0XCC);  &

51、#160;                     /忽略ROM匹配 write_byte(0XBE);                        /發(fā)送讀溫度命令

52、TLV=read_byte();                         /讀出溫度低8 THV=read_byte();                   &

53、#160;     /讀出溫度高8位 DQ_HIGH();                               /釋放總線 TZ=(TLV>>4)|(THV<<4)&0X3f;   

54、0;           /溫度整數(shù)部分TX=TLV<<4;                               /溫度小數(shù)部分if(TZ>100) TZ/100; 

55、;                      /不顯示百位ge=TZ%10;/個(gè)位                          /整數(shù)部分個(gè)位shi=TZ/10;/十位         

溫馨提示

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

評(píng)論

0/150

提交評(píng)論