使用DS18B20溫度傳感器測溫_第1頁
使用DS18B20溫度傳感器測溫_第2頁
使用DS18B20溫度傳感器測溫_第3頁
使用DS18B20溫度傳感器測溫_第4頁
使用DS18B20溫度傳感器測溫_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

概述

11章DS18B20溫度傳感器測溫現(xiàn)實生產(chǎn)生活中,小到測量體溫的溫度計,大到航天飛機的溫控系統(tǒng),處處都離不開溫度測量。工業(yè)生產(chǎn)中的三大指標〔流量、壓力、溫度〕之一就是溫度,溫度測量可以說是無處不在,遍布了我們生活生產(chǎn)的方方面面。DS18B20溫度傳感器是美國DALLAS以串行數(shù)據(jù)流的形式,傳輸給單片機等微處理器去處理。DS18B20溫度傳感器的另一個主要特點是它是單總線的,即它與單片機等微處理器連接時,只需占用一個I/O管腳,并且不再需要其它任何外部元器件,這大大簡化了它與單片機之間的接口電路。DS18B20溫度傳感器介紹DS18B20溫度傳感器是三腳TO-92DS18B2011-1所示。可以看到它體積很小,只有三只管腳,外形與一般的三極11-2DS18B20TO-92直插式封裝圖,表11-1列出了DS18B20各個引腳的定義。圖11-1 DS18B20實物圖 圖11-2 DS18B20引腳圖表11-1 DS18B20引腳定義。引腳 引腳序號 名稱GND

功能描述接地端DQ 數(shù)據(jù)輸入輸出端VDDDS18B20溫度傳感器特性簡介

電源端獨特的單總線〔一條線〕I/O管腳,且硬件連接無需其它外部元件;測量結(jié)果直接輸出數(shù)字量,可直接與微處理器通信;供電電壓范圍3.0V~5.5V;在寄生電源方式下可由數(shù)據(jù)線供電;測溫范圍-55℃~+125℃;在-10℃~+85℃范圍內(nèi),測量精度可達±0.5℃;可編程的9~12位測溫區(qū)分率,對應的可區(qū)分溫度值分別為0.5℃,0.25℃,0.125℃,0.0625℃;12位區(qū)分率時的溫度測量轉(zhuǎn)換最長時間〔上限〕只有750ms;每一片DS18B20都有自己獨一無二的芯片號碼DS18B20可以并聯(lián)在一條數(shù)據(jù)總線上,實現(xiàn)不同地點的多點組網(wǎng);應用范圍包括溫度調(diào)控,工業(yè)現(xiàn)場測溫,消費類產(chǎn)品,溫度計及熱敏系統(tǒng)等。DS18B20溫度傳感器測溫工作原理DS18B20的核心功能就是測量被測環(huán)境溫度并直接轉(zhuǎn)換成為數(shù)字量。我們使用DS18B20DS18B20DS18B20內(nèi)部讀出,送入單片機進展處理,所以了解DS18B20內(nèi)部的存儲器的構(gòu)造和組成是必要的。另外,掌握DS18B20測溫順讀取溫度值的指令也是必不行少的。以下就從這兩個方面分別加以說明。1、DS18B20內(nèi)部的存儲器248249DS18B2064位光刻ROE2RAM?!?〕64位光刻ROM63位56 位558708CRC碼48位序列號家族代碼28H前面已經(jīng)提及,每一片DS18B20都有一個獨一無二的號碼,用于唯一標識當前這片DS18B20DS18B2063位56 位558708CRC碼48位序列號家族代碼28H圖11-3 64位光刻ROM數(shù)據(jù)格式這64位號碼從最低位〔位0〕到最高位〔位63〕劃分為三個組成局部,分別是:最低8位,中間488位,如圖11-3所示。其中,最低8位對每一片DS18B20而言都一樣,其值是0x28,稱為家族代碼。這個值是特地安排給DS18B20家族的,用以區(qū)分不同的48位是唯一標識當前這片DS18B20DS18B200x28H484848位序856位〔8位+48位=56位〕CRC碼,一般不大使用,讀者可以不予深究。〔2〕中間結(jié)果暫存RAM中間結(jié)果暫存RAM811-4所示。功能描述字節(jié)地址8位08位1設置溫度上限值2設置溫度下限值3設置存放器字節(jié)4保存5保存6保存7圖11-4 中間結(jié)果暫存RAM0818位,234是配置存放5,6,780,1,45個字節(jié)幾乎不使用,0,1,4就足夠了。SSSSS26 25 2423 22 21 20 2-1 2-2 2-3 2-401中存放的就是測量的溫度值,字節(jié)地址18位,0811-55位S5S0則表示溫度是正值,由于是正值,補碼與原碼一樣,余下的11位按圖示各位的權(quán)重計算,所得數(shù)值就是所測溫度值;假設5S111位的110.0625SSSSS26 25 2423 22 21 20 2-1 2-2 2-3 2-4圖11-5 溫度數(shù)據(jù)存儲格式4是配置存放器字節(jié)。前面已經(jīng)提及,DS18B209位,10位,11位,12位四種區(qū)分率,實際測溫時選用哪種區(qū)分率,可以通過具體編程來設定,DS18B201112位750ms(tconv)12位。字節(jié)地址4配置存放器字節(jié)的數(shù)據(jù)格式如圖11-6R1R09位,10位,11位,12位四種區(qū)分率。對應1112位750ms(tconv)765432100R1R01111111-6配置存放器字節(jié)的數(shù)據(jù)格式11-2R1R0的四種組合與測溫區(qū)分率的關(guān)系R1R0溫度區(qū)分率 最大轉(zhuǎn)換時間009位 93.75ms (tconv/8)0110位 187.5ms (tconv/4)1011位 375ms (tconv/2)〔3〕E2RAME2RAM11-7所示。可以看到,E2RAMRAM中字節(jié)地址位2,3,4的三個字節(jié)內(nèi)容的拷貝或者說是備份,以備數(shù)據(jù)的完備性需要。這個存儲器一般不使用,故可以無視不予考慮。設置存放器字節(jié)圖11-7 E2RAM的構(gòu)造綜上所述,在不轉(zhuǎn)變測溫出廠區(qū)分率〔12位〕的前提下,DS18B20內(nèi)部存儲器中,我64位光刻ROMRAM中用于存放溫度值的字節(jié)地01了。2、DS18B20的指令DS18B20的指令可分為三大類,第一類是與64位光刻ROM相關(guān)聯(lián)的一系列指令,其次類是與中間結(jié)果暫存RAM換的掌握類指令。上面剛剛提到,在不轉(zhuǎn)變測溫出廠區(qū)分率〔12位〕的前提下,DS18B2064ROMRAM0和字節(jié)地址1中的溫度值。考慮到DS18B20的指令集中,局部指令極少使用,此處僅就常用的、關(guān)鍵指令做解釋說明,其余指令請讀者查閱參考相關(guān)資料。64ROM相關(guān)的指令64ROM號碼指令【0x33】本條指令用于讀取唯一標識當前這片DS18B2064DS18B20,否則會消滅多片DS18B20沖突的問題;64ROM號碼指令【0x55】本條指令主要用在單總線上掛接多片DS18B200x55后,64位光刻ROM號碼〔64ROM號碼時,低位在前。64位光刻ROM號碼,將與單總線上每一片DS18B2064位光刻ROM號碼進展比對,號碼匹配的那一片DS18B20將執(zhí)行后續(xù)的指令,例如轉(zhuǎn)換溫度、讀取溫度值等指令;而號碼不匹配的那些DS18B20將不執(zhí)行任何指令,連續(xù)等待下去,直到總線復位后,再等待下一次被匹配的時機。64ROM號碼匹配指令【0xCC】可以設想,假設總線上只有一片DS18B20掛接其上,執(zhí)行溫度轉(zhuǎn)換指令、讀取溫度值指令等只能是針對這一片DS18B2064位光刻ROM64位光刻ROM號碼,明顯是畫蛇添足,多此一舉,所以完全可以跳過64位光刻ROM號碼的匹配環(huán)節(jié),直接執(zhí)行轉(zhuǎn)換溫度、讀取溫度值等指令。應當留意的是,不需要執(zhí)行匹0x550xCC指令完成跳過功能。64ROM指令【0xF0】當總線上掛接多片DS18B20芯片時,執(zhí)行本指令可以搜尋當前掛接在總線上的DS18B2064位光刻ROMDS18B20芯片。與中間結(jié)果暫存RAM相關(guān)的溫度數(shù)值讀取指令RAM指令【0xBE】單片機發(fā)出并執(zhí)行讀中間結(jié)果暫存RAM0xBE后,就可以從字節(jié)地址0開頭,每次讀取一個字節(jié),依次讀取中間結(jié)果暫存RAM8前面兩個字節(jié)中,實際應用中只讀取前兩個字節(jié)就可以了。掌握溫度轉(zhuǎn)換指令啟動溫度轉(zhuǎn)換指令【0x44】本指令是啟動溫度轉(zhuǎn)換指令,轉(zhuǎn)換完畢后的溫度值,被存入中間結(jié)果暫存RAM的字0〔8位〕1〔8位〕中。然后就可以從中讀取溫度值了。3、DS18B20的通信規(guī)章僅用一條線通信的DS18B20一般芯片,其特別性表現(xiàn)在,每次操作都要按部就班地執(zhí)行以下四個步驟:S1:初始化DS18B20;S2:向DS18B20發(fā)送與64位光刻ROM相關(guān)的指令;S3:執(zhí)行與中間結(jié)果暫存RAM相關(guān)的指令〔包括掌握溫度轉(zhuǎn)換指令S4:數(shù)據(jù)處理。64ROMDS18B20溫度轉(zhuǎn)換操作,讀取溫度操作,來細化上述四個步驟。64位光刻ROM號碼操作S1:初始化DS18B20;S2:單片機向DS18B2064位光刻ROM0x33H;S364位光刻ROM號碼操作不涉及中間結(jié)果暫存RAM,此步驟就什么都不做;S4:單片機從單總線上一位接著一位地讀取,共64位,得到64位光刻ROM號碼〔留意:低位在前。啟動DS18B20溫度轉(zhuǎn)換操作S1:初始化DS18B20;S2DS18B2064位光刻ROM0xCCH〔假設只有一片DS18B20掛接在總線上;S3:單片機向DS18B20發(fā)送啟動溫度轉(zhuǎn)換指令0x44H;S4:本操作只啟動溫度轉(zhuǎn)換,很多據(jù)處理,故本步驟什么都不做。讀取溫度操作S1:初始化DS18B20;S2DS18B2064ROM0xCCH〔假設只有一片DS18B20掛接在總線上;S3:單片機向DS18B20發(fā)送讀中間結(jié)果暫存RAM指令0xBEH;S4:單片機從單總線上一位接著一位地讀取,連續(xù)讀取兩個字節(jié)的數(shù)據(jù)〔低字節(jié)在前,高位在前此處還需要解釋說明兩點:①DS18B20的操作時序很嚴格,特別是延時,要比較準確才行。所以以上每一步驟后都緊跟一段延時,具體延時時間多長,后面的初始化、讀寫操作等時序會給出具體說明。②由于DS18B20是單總線的,只有一條線與單片機的一個I/O管腳相連接。在初始化、64位光刻ROMDS18B20DS18B20傳送到單片機的,全部數(shù)據(jù)都是〔也只能〕借助這一條總線在傳輸,所以數(shù)據(jù)是在單片機與DS18B20之間一位一位地串行傳輸?shù)摹?、DS18B20的初始化、數(shù)據(jù)讀寫操作時序前面已經(jīng)提及,由于DS18B20是單總線的,所以其操作時序很嚴格,特別是延時,要比較準確才行。DS18B20的初始化DS18B2011-8所示。DS18B20的初始化時序是:

圖11-8 DS18B20的初始化時序①首先是單片機發(fā)送一低電平到單一數(shù)據(jù)總線上,將單總線拉低,拉低的時間至少是480μs960μs750μs左右;②然后,單片機釋放單總線的掌握權(quán),轉(zhuǎn)而預備被動地接收DS18B20發(fā)送來的數(shù)據(jù)。此時,焊接在單總線上5KΩ的上拉電阻,將單總線由低電平拉高到高電平,此電平從低到高的上升沿被DS18B20捕獲到以后,單總線轉(zhuǎn)而由DS18B20掌握了;③當DS18B20掌握了總線時,在等待15~60μs以后,DS18B20將單總線再次拉低,作DS18B2DS18B2060μs240μs。④隨后,DS18B20釋放單總線,單總線上5KΩ的上拉電阻,再次將單總線由低電平拉高到高電平。此時DS18B20的初始化完成。具體到程序設計時,可以簡化初始化過程。實現(xiàn)如下:◆首先,單片機發(fā)送一低電平到單一數(shù)據(jù)總線上,將單總線拉低,這一低電平的持續(xù)時間750μs750μs=480μs+40μs+230μs480μs是單片機將總線拉低所40μs是單片機釋放總線后DS18B20〔大約23μs是DS18B20DS18B20DS18B20反響回應的低電平,承受延時以后,可以不必考慮單片機何時釋放總線、DS18B20等待多長時間、DS18B20發(fā)回應低電平多長一段時間后又釋放總線、而總線又被上拉電阻拉高。252只要這些過程完畢后,單總線是高電平就行,所以進入下一步驟:拉高總線。500μs左右;單片機向DS18B20寫數(shù)據(jù)單片機向DS18B2011-9所示。圖11-9 單片機向DS18B20寫一位數(shù)據(jù)的時序單片機向DS18B20寫一位數(shù)據(jù)的時序:①首先,單片機將單總線拉低〔延時時間小于15μs〕②然后,假設單片機向DS18B20寫的數(shù)是二進制數(shù)0,則單片機連續(xù)將單總線拉低,讓DS18B20采樣當前單總線上的數(shù)據(jù)〔低電平,即數(shù)據(jù)0,此總線拉低的延時時間最大45μs,由于單片機向DS18B20寫一位數(shù)據(jù)的時間必需在60μs內(nèi)完成;假設單片機向DS18B20寫的數(shù)是二進制數(shù)1,則單片機釋放總線,由外接上拉電阻將單總線拉高,供DS18B20采樣當前單總線上的數(shù)據(jù)〔高電平,即數(shù)據(jù)線更改為單片機將單總線拉高——只要得到高電平,不必考慮由誰將其拉高。同樣,此拉45μsDS18B2060μs內(nèi)完成;③最終,單片機再次將單總線拉高,預備下一位數(shù)據(jù)寫入DS18B20,一般在總線拉高10μs左右。具體程序設計時,實現(xiàn)如下:15μs;060μs;140μs;10μs;單片機從DS18B20讀數(shù)據(jù)單片機從DS18B2011-10所示。圖11-10 單片機從DS18B20讀一位數(shù)據(jù)的時序11-10可以看到,單片機從DS18B20讀一位數(shù)據(jù)時序比較嚴格,留給單片機采樣253窗口很窄,單片機從DS18B20讀取一位二進制數(shù)據(jù)的時間,必需掌握在開頭讀以后的15μs以內(nèi)。具體分析如下:◆首先,單片機將單總線拉低,拉低后的延時時間極短,一般在1μs以內(nèi);◆然后,單片機釋放單總線,由DS18B20將單總線拉低,或者由外接上拉電阻將單總線拉高,供單片機去采樣0或者1。需要強調(diào)的是:此時單片機只是讀取這些凹凸電平,而不是掌握單總線被拉低或者拉高。整個拉低或者拉高電平的持續(xù)時間只有15-2=13μs左右,單片機此時應抓緊時間去讀取,否則電平就要發(fā)生變化。具體程序設計時,實現(xiàn)如下:◆首先,單片機將單總線拉低,拉低后的延時時間極短,一般在1μs以內(nèi);不是單片機從DS18B20讀一位數(shù)據(jù)的時序要求51I/O1I/O口讀8μs左右;◆最終,單片機讀取單總線上的數(shù)據(jù)。DS18B201功能要求:DS18B201602〔數(shù)據(jù)已處理過,以及中間結(jié)果暫存RAM的字節(jié)地址0和字節(jié)地址1的溫度值〔數(shù)據(jù)未處理1602液晶屏其次行,顯示該片DS18B2064位光刻ROM號碼。硬件說明:11-11所示。留意DQ10KΩ的上拉電阻。實際練11-12所示。圖11-11 一片DS18B20與單片機的連接程序清單如下:#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitRS=P2^0;sbitRW=P2^1;sbitE=P2^2;sbitDQ=P2^3;uinttemp;ucharwdL,wdH;254255staticucharsn[8]={0};ucharcodeb2hex[]=“0123456789ABCDEF“;//************************************voidwrcmd1602(ucharcmd){ucharm;RW=0;RS=0;P1=cmd;for(m=0;m<=2;m++);E=1;for(m=0;m<=2;m++);E=0;}voidwrdata1602(ucharshuju){ucharm;RW=0;RS=1;P1=shuju;for(m=0;m<=2;m++);E=1;for(m=0;m<=2;m++);E=0;}voidinit1602(void){RW=0;E=0;wrcmd1602(0x38);wrcmd1602(0x0c);wrcmd1602(0x06);wrcmd1602(0x01);}voiddisp1602(ucharx,uchary,ucharch){ucharm;wrcmd1602(0x80+x*0x40+y);for(m=0;m<=252;m++);wrdata1602(ch);}/****************************************/voidinit18b20(void){ucharm;DQ=0;for(m=0;m<=90;m++); //732usDQ=1;for(m=0;m<=65;m++); //532us}voidwrcmd18b20(ucharcmd18b20){bitsendbit;uchari,m;for(i=1;i<=8;i++){sendbit=cmd18b20&0x01;cmd18b20=cmd18b20>>1;if(sendbit==0){}else{}}}

DQ=0;for(m=0;m<=2;m++); //12usDQ=0;for(m=0;m<=20;m++);//66usDQ=1;for(m=0;m<=2;m++); //12usDQ=0;for(m=0;m<=1;m++); //9usDQ=1;for(m=0;m<=10;m++);//36usDQ=1;for(m=0;m<=1;m++); //9usbitrdbit18b20(void){ucharm;bitonebit;DQ=0;_nop_;DQ=1; //單片機的I/O1for(m=0;m<=1;m++);//9usonebit=DQ;for(m=0;m<=10;m++);//36usreturn(onebit);}ucharrdbyte18b20(void){uchari,j;uintwenduzhi=0;for(i=1;i<=8;i++){j=rdbit18b20;wenduzhi=(j<<7)|(wenduzhi>>1);}return(wenduzhi);}voidstconv18b20(void){ucharm,n;init18b20;for(m=0;m<=1;m++); //9uswrcmd18b20(0xCC);for(m=0;m<=1;m++); //9uswrcmd18b20(0x44);for(n=0;n<=250;n++)for(m=0;m<=250;m++);for(n=0;n<=250;n++)for(m=0;m<=250;m++); //760ms}uintrdwendu(void){init18b20;wrcmd18b20(0xCC);wrcmd18b20(0xBE);wdL=rdbyte18b20;wdH=rdbyte18b20;temp=wdH;temp=temp<<8;temp=temp|wdL;temp=(uint)((float)temp*0.0625*10+0.5);return(temp);}voidrd18b20rom(void){ucharj;init18b20;wrcmd18b20(0x33);for(j=0;j<=7;j++){sn[j]=rdbyte18b20;_nop_;}}/**************************************************/main{uintt,k;init1602;rd18b20rom;for(k=0;k<=7;k++){disp1602(1,2*k,b2hex[(sn[k]&0xf0)>>4]);disp1602(1,2*k+1,b2hex[sn[k]&0x0f]);}disp1602(0,5,39);disp1602(0,6,”C”);while(1){stconv18b20;t=rdwendu;disp1602(0,0,t/100+”0”);disp1602(0,1,t/10%10+”0”);disp1602(0,2,”.”);disp1602(0,3,t%10+”0”);disp1602(0,14,b2hex[(wdL&0xf0)>>4]);disp1602(0,15,b2hex[wdL&0x0f]);disp1602(0,12,b2hex[(wdH&0xf0)>>4]);disp1602(0,13,b2hex[wdH&0x0f]);}}圖11-12 一片DS18B20測溫、測序列號實際練習結(jié)果258DS18B202功能要求:單片機與四片DS18B20連接,在16021DS18B20在16022DS18B20在16023DS18B20在16024DS18B20硬件說明:11-13DS18B20的同名引腳分別并聯(lián),DQ引腳仍接上拉11-14所示。圖11-13 四片DS18B20與單片機的連接程序清單如下:#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitRS=P2^0;sbitRW=P2^1;sbitE=P2^2;sbitDQ=P2^3;uinttemp;ucharwdL,wdH;ucharcodesn[][8]={{0x28,0x0D,0x3F,0x2C,0x03,0x00,0x00,0x39},{0x28,0xE7,0x50,0x2C,0x03,0x00,0x00,0xA1},{0x28,0xB2,0x40,0x2C,0x03,0x00,0x00,0x18},{0x28,0xD1,0x45,0x2C,0x03,0x00,0x00,0x50}};//*****************************************voidwrcmd1602(ucharcmd){ucharm;RW=0;RS=0;P1=cmd;for(m=0;m<=2;m++);E=1;259260for(m=0;m<=2;m++);E=0;}voidwrdata1602(ucharshuju){ucharm;RW=0;RS=1;P1=shuju;for(m=0;m<=2;m++);E=1;for(m=0;m<=2;m++);E=0;}voidinit1602(void){RW=0;E=0;wrcmd1602(0x38);wrcmd1602(0x0c);wrcmd1602(0x06);wrcmd1602(0x01);}voiddisp1602(ucharx,uchary,ucharch){ucharm;wrcmd1602(0x80+x*0x40+y);for(m=0;m<=252;m++);wrdata1602(ch);}/*************************************************/voidinit18b20(void){ucharm;DQ=0;for(m=0;m<=90;m++); //732usDQ=1;for(m=0;m<=65;m++); //532us}voidwrcmd18b20(ucharcmd18b20){bitsendbit;uchari,m;for(i=1;i<=8;i++){sendbit=cmd18b20&0x01;cmd18b20=cmd18b20>>1;if(sendbit==0){}else{}

DQ=0;for(m=0;m<=2;m++); //12usDQ=0;for(m=0;m<=20;m++);//66usDQ=1;for(m=0;m<=2;m++); //12usDQ=0;for(m=0;m<=1;m++); //9usDQ=1;for(m=0;m<=10;m++);//36usDQ=1;for(m=0;m<=1;m++); //9us}}bitrdbit18b20(void){ucharm;bitonebit;DQ=0;_nop_;DQ=1;for(m=0;m<=1;m++);//9usonebit=DQ;for(m=0;m<=10;m++);//36usreturn(onebit);}ucharrdbyte18b20(void){uchari,j;uintwenduzhi=0;for(i=1;i<=8;i++){j=rdbit18b20;wenduzhi=(j<<7)|(wenduzhi>>1);}return(wenduzhi);}/*************************************************/voidmatch18b20(ucharn){uchari;init18b20;wrcmd18b20(0x55);for(i=0;i<=7;i++){wrcmd18b20(sn[n][i]);_nop_;}}//**************************************************voidstconv18b20(void){ucharm,n;init18b20;for(m=0;m<=1;m++); //9uswrcmd18b20(0xCC);for(m=0;m<=1;m++); //9usw

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論