智能溫度報警控制器_第1頁
智能溫度報警控制器_第2頁
智能溫度報警控制器_第3頁
智能溫度報警控制器_第4頁
智能溫度報警控制器_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、目錄第1章 緒論11.1本課題研究的背景和意義11.2主要設(shè)計內(nèi)容和要求1第2章 系統(tǒng)總體設(shè)計方案22.1 設(shè)計思路22.2 整體框圖22.3 模塊功能說明22.4 智能溫度報警器流程圖3第3章 硬件電路設(shè)計43.1 各模塊設(shè)計43.1.1 傳感器的選擇43.1.2 單片機(jī)的選擇43.1.3 液晶的選擇43.2 各模塊分析53.2.1 單片機(jī)AT89C51管腳圖53.2.2 DS18B20引腳及管腳功能介紹63.2.3 LCD1602液晶顯示介紹7第4章 系統(tǒng)軟件設(shè)計84.1 單片機(jī)模塊電路圖及分析84.2 液晶顯示模塊電路圖及分析94.3 溫度傳感器模塊電路圖及分析11總結(jié)15參考文獻(xiàn)16附

2、錄 1 總電路圖17附錄 2 程序18第1章 緒論1.1本課題研究的背景和意義 本著熟悉單片機(jī)編程,系統(tǒng)設(shè)計的目的,增強(qiáng)動手合作能力,選擇了溫度控制器這個實(shí)驗(yàn)項(xiàng)目。課題小組針對溫控報警問題展開思考,終覺得設(shè)計一個能自低溫到高溫進(jìn)行報警并通過液晶顯示的系統(tǒng)。該系統(tǒng)使用AT89C51單片機(jī),同時運(yùn)用單線數(shù)字溫度傳感器DS18B20,LCD1602顯示模塊等模塊可實(shí)現(xiàn)溫度的檢測。課題經(jīng)過實(shí)驗(yàn)驗(yàn)證達(dá)到設(shè)計要求,具有一定的使用價值和推廣價值。該作品使用液晶顯示,可以清晰地顯示當(dāng)前的報警溫度,使使用者使用時不會出錯,安全可靠,可使用于各種食品儲存室,植物養(yǎng)殖所等地方,使用性很高。1.2主要設(shè)計內(nèi)容和要求設(shè)

3、計一個基于單片機(jī)的溫度檢測、報警的系統(tǒng),該系統(tǒng)能實(shí)時采集周圍的溫度信息進(jìn)行顯示,當(dāng)溫度超限時,可以報警。<1>功能 (1)實(shí)時溫度檢測并顯示其對應(yīng)的值。 (2)當(dāng)溫度超過預(yù)設(shè)范圍時,可報警。 (3)其他功能:可以設(shè)報警置溫度上下限,根據(jù)應(yīng)用環(huán)境不同可設(shè)定不同的報警上下限。<2>設(shè)計要求 (1)掌握傳感器的工作原理及相應(yīng)的輔助電路設(shè)計方法。 (2)獨(dú)立設(shè)計原理圖及相應(yīng)的硬件電路。 (3)設(shè)計說明書格式規(guī)范,層次合理,重點(diǎn)突出。并附上詳細(xì)的原理圖。第2章 系統(tǒng)總體設(shè)計方案2.1 設(shè)計思路根據(jù)功能要求,必須有單片機(jī)控制模塊,LCD1602顯示模塊以及DS18B20的溫度傳感模

4、塊。各個模塊都有其自己的功能。上電后,通過DS18B20可以檢測到溫度,并在顯示器上顯示。2.2 整體框圖2.3 模塊功能說明本系統(tǒng)共分為三塊模塊。單片機(jī)模塊,這部分主要實(shí)現(xiàn)數(shù)據(jù)的處理,輸出執(zhí)行,報警設(shè)置功能顯示模塊可以分別顯示實(shí)時溫度值,溫度上下限。溫度傳感模塊的主要功能是通過DS18B20的強(qiáng)大功能實(shí)現(xiàn)對溫度的采集及發(fā)送到計算機(jī)。開始NNNYYYY白燈閃爍,警告紅燈亮,報警綠燈亮,正常紅燈亮,報警溫度大于溫度上限溫度小于溫度上限LCD初始化溫度小于溫度下限溫度小于低溫控制溫度比較鍵盤處理讀取鍵盤值轉(zhuǎn)換,顯示讀取溫度數(shù)據(jù)初始化顯示2.4 智能溫度報警器流程圖結(jié)束29第3章 硬件電路設(shè)計3.1

5、 各模塊設(shè)計3.1.1 傳感器的選擇 采用DALLAS最新單線數(shù)字溫度傳感器DS18B20。新的“一線器件”體積更小、適用電壓更寬、更經(jīng)濟(jì)。一線總線獨(dú)特而且經(jīng)濟(jì)的特點(diǎn),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測量系統(tǒng)的構(gòu)建引入全新概念。DS18B20“一線總線”數(shù)字化溫度傳感器也支持“一線總線”接口,測量溫度范圍為 -55°C+125°C,在-10+85°C范圍內(nèi),精度為±0.5°C?,F(xiàn)場溫度直接以“一線總線”的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量,如:環(huán)境控制、設(shè)備或過程控制、測溫類消費(fèi)電子產(chǎn)品等。與前一代產(chǎn)品不同,新

6、的產(chǎn)品支持3V5.5V的電壓范圍,使系統(tǒng)設(shè)計更靈活、方便。而且新一代產(chǎn)品更便宜,體積更小。 DS18B20的特性:DS18B20可以程序設(shè)定912位的分辨率,精度為±0.5°C??蛇x更小的封裝方式,更寬的電壓適用范圍。分辨率設(shè)定,及用戶設(shè)定的報警溫度存儲在EEPROM中,掉電后依然保存。DS18B20的性能是新一代產(chǎn)品中最好的!性能價格比也非常出色!繼“一線總線”的早期產(chǎn)品后,DS1820開辟了溫度傳感器技術(shù)的新概念。DS18B20使電壓、特性及封裝有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟(jì)的測溫系統(tǒng)。3.1.2 單片機(jī)的選擇 AT89C51是一種帶4K字節(jié)閃爍可編程可擦除

7、只讀存儲器的低電壓、高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的89C51是一種高效微控制器。3.1.3 液晶的選擇 采用LCD1602液晶顯示模塊,有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。目前字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計中最常用的信息顯示器件。它可以顯示兩行,每行16個字符,采用單5V電源供電,外圍電路配置簡單,價格便宜,具有

8、很高的性價比。3.2 各模塊分析3.2.1 單片機(jī)AT89C51管腳圖 引腳說明:電源引腳Vcc(40腳):典型值5V。Vss(20腳):接低電平。外部晶振X1、X2分別與晶體兩端相連接。當(dāng)采用外部時鐘信號時,X2接振蕩信號,X1接地。輸入輸出口引腳:P0口:I/O雙向口。作輸入口時,應(yīng)先軟件置“ 1”。P1口:I/O雙向口。作輸入口時,應(yīng)先軟件置“ 1”。P2口:I/O雙向口。作輸入口時,應(yīng)先軟件置“ 1”。P3口:I/O雙向口。作輸入口時,應(yīng)先軟件置“ 1”??刂埔_:RST/Vpd、ALE/-PROG、-PSEN、-EA/Vpp組成了MSC-51的控制總線。RST/Vpd(9腳):復(fù)位信

9、號輸入端(高電平有效)。第二功能:加+5V備用電源,可以實(shí)現(xiàn)掉電保護(hù)RAM信息不丟失。ALE/-PROG(30腳):地址鎖存信號輸出端。第二功能:編程脈沖輸入。-PSEN(29腳):外部程序存儲器讀選通信號。-EA/Vpp(31腳):外部程序存儲器使能端。第二功能:編程電壓輸入端(+21V)。3.2.2 DS18B20引腳及管腳功能介紹DQ:數(shù)字信號輸入輸出端。GND:電源地端。VCC:外接供電電源輸入端(在寄生電源接線時此腳應(yīng)接地)。3.2.3 LCD1602液晶顯示介紹管腳功能1602采用標(biāo)準(zhǔn)的16腳接口第1腳:VSS為電源地第2腳:VDD接5V電源正極第3腳:V0為液晶顯示器對比度調(diào)整端

10、,接正電源時對比度最弱,接地電源時對比度最高。第4腳:RS為寄存器選擇,高電平1時選擇數(shù)據(jù)寄存器、低電平0時選擇指令寄存器。 第5腳:RW為讀寫信號線,高電平(1)時進(jìn)行讀操作,低電平(0)時進(jìn)行寫操作。 第6腳:E(或EN)端為使能(enable)端。 第714腳:D0D7為8位雙向數(shù)據(jù)端。 第1516腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。第4章 系統(tǒng)軟件設(shè)計4.1 單片機(jī)模塊電路圖及分析P1接液晶數(shù)據(jù)口,P0接3個二極管,P2接8個按鈕,P3.3接蜂鳴器,P3.4接液晶的RS,P3.5接液晶的R/W,P3.6接液晶的EN,P3.7接溫度傳感器,其他按單片機(jī)最小系統(tǒng)連接。4.2

11、 液晶顯示模塊電路圖及分析液晶顯示模塊的子程序:/*lcd1602程序*/ void delay1ms(unsigned int ms)/延時1毫秒(不夠精確的) unsigned int i,j; for(i=0;i<ms;i+)for(j=0;j<100;j+); void wr_com(unsigned char com)/寫指令/ delay1ms(1); RS=0; RW=0; EN=0; P1=com; delay1ms(1); EN=1; delay1ms(1); EN=0; void wr_dat(unsigned char dat)/寫數(shù)據(jù)/ delay1ms(1

12、); RS=1; RW=0; EN=0; P1=dat; delay1ms(1); EN=1; delay1ms(1); EN=0;void lcd_init()/初始化設(shè)置/delay1ms(15); wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x0e);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x01);delay1ms(5); void display(unsigned char *p)/顯示/while(*p!='0')wr_dat(*p);p

13、+;delay1ms(1);4.3 溫度傳感器模塊電路圖及分析溫度傳感器讀取溫度以及顯示溫度的子程序:/*ds1820程序*/ void delay_18B20(unsigned int i)/延時1微秒 while(i-);void ds1820rst()/*ds1820復(fù)位*/ unsigned char x=0; DQ = 1; /DQ復(fù)位 delay_18B20(4); /延時 DQ = 0; /DQ拉低 delay_18B20(100); /精確延時大于480us DQ = 1; /拉高 delay_18B20(40); uchar ds1820rd()/*讀數(shù)據(jù)*/ unsigne

14、d char i=0; unsigned char dat = 0; for (i=8;i>0;i-) DQ = 0; /給脈沖信號 dat>>=1; DQ = 1; /給脈沖信號 if(DQ) dat|=0x80; delay_18B20(10); return(dat); void ds1820wr(uchar wdata)/*寫數(shù)據(jù)*/ unsigned char i=0; for (i=8; i>0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata>>=1; read_t

15、emp()/*讀取溫度值并轉(zhuǎn)換*/ uchar a,b; ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr(0x44);/*啟動溫度轉(zhuǎn)換*/ ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr(0xbe);/*讀取溫度*/ a=ds1820rd(); b=ds1820rd(); tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; else tvalue=tvalue+1; tflag=1; tvalue=tv

16、alue*(0.625);/溫度值擴(kuò)大10倍,精確到1位小數(shù)return(tvalue); /*/ void ds1820disp()/溫度值顯示 uchar flagdat; disdata0=tvalue/1000+0x30;/百位數(shù) disdata1=tvalue%1000/100+0x30;/十位數(shù) disdata2=tvalue%100/10+0x30;/個位數(shù) disdata3=tvalue%10+0x30;/小數(shù)位 if(tflag=0) flagdat=0x20;/正溫度不顯示符號 else flagdat=0x2d;/負(fù)溫度顯示負(fù)號:- if(disdata0=0x30) d

17、isdata0=0x20;/如果百位為0,不顯示 if(disdata1=0x30) disdata1=0x20;/如果百位為0,十位為0也不顯示 wr_com(0x89); wr_dat(flagdat);/顯示符號位 wr_com(0x8a); wr_dat(disdata0);/顯示百位 wr_com(0x8b); wr_dat(disdata1);/顯示十位 wr_com(0x8c); wr_dat(disdata2);/顯示個位 wr_com(0x8d); wr_dat(0x2e);/顯示小數(shù)點(diǎn) wr_com(0x8e); wr_dat(disdata3);/顯示小數(shù)位 總結(jié) 通過這

18、次課程設(shè)計,我對所學(xué)的知識又有了新的認(rèn)識。同時也了解了AT89C51的強(qiáng)大功能,這次設(shè)計基本符合老師交給我們的任務(wù),查閱資料也拓展了所學(xué)的知識。經(jīng)過老師的輔導(dǎo),對設(shè)計過程中的錯誤得到了改正。 在大學(xué)期間,從接觸硬件的相關(guān)課程開始,就已經(jīng)對硬件產(chǎn)生了恐懼,不論是課程的學(xué)習(xí),還是心中的看法。知道大三這學(xué)期開設(shè)了傳感器和單片機(jī)課程,對我的人生觀產(chǎn)生了巨大的影響。通過一個學(xué)期的學(xué)習(xí)發(fā)現(xiàn)傳感器和單片機(jī)的確是一門很有用的課程,對今后的學(xué)習(xí)工作有很大的幫助,因?yàn)閱纹瑱C(jī)目前在社會中有在和極其廣泛的用途,各個地方都離不開它的。但是我覺得就我們在課堂上學(xué)到的這點(diǎn)知識還是極其有限的,更多的東西還靠我們自己去課下學(xué)習(xí)

19、。老師只起到一個引導(dǎo)我們學(xué)習(xí)的作用,關(guān)鍵還是在于我們自己,這就是所謂的“師傅領(lǐng)進(jìn)門,修行在個人”吧。冰凍三尺非一日之寒,滴水穿石非一時之功,謹(jǐn)以此自勉! 在這次的設(shè)計的過程中我學(xué)到了很多,對很多相關(guān)的知識有了更深一層的理解。本次課程設(shè)計對我而言,知識上的收獲重要,精神上的豐收更加可喜。讓我知道了學(xué)無止境的道理。我們每一個人永遠(yuǎn)不能滿足于現(xiàn)有的成就,人生就像在爬山,一座山峰的后面還有更高的山峰在等著你。挫折是一份財富,經(jīng)歷是一份擁有。這次課程設(shè)計必將成為我人生旅途上一個非常美好的回憶!參考文獻(xiàn) 1 李光飛,樓然苗,胡佳文等.單片機(jī)課程設(shè)計實(shí)例指導(dǎo)M.北京:北京航空航天大學(xué)出版社,2004 2 劉

20、文濤.單片機(jī)語言C51典型應(yīng)用設(shè)計M.北京:人民郵電出版社,20013 田華等.可編程單總線數(shù)字式溫度傳感器DS18B2的原理與應(yīng)用M.電子質(zhì)量,20044 梁森,歐陽三泰,王侃夫.自動檢測技術(shù)及應(yīng)用M.北京:機(jī)械工業(yè)出版社,20115 永學(xué)等.1-Wire總線數(shù)字溫度傳感器DS18B20及應(yīng)用M.電子產(chǎn)品世界,20036 馮博琴,吳寧.微型計算機(jī)原理與接口技術(shù)(第3版)M.北京:清華大學(xué)出版社,2011附錄 1 總電路圖附錄 2 程序#include<reg51.h>#define uchar unsigned char#define uint unsigned intsbit

21、DQ=P37;/ds18b20與單片機(jī)連接口sbit RS=P34;sbit RW=P35;sbit EN=P36;sbit led1=P00;/綠燈sbit led2=P01;/白燈sbit led3=P02;/紅燈sbit baojing=P33; /蜂鳴器unsigned char code str1="Now temp: "unsigned char code str2="Made by DJ SH AJ" unsigned char code str3=" Welcome! " unsigned char code str4

22、="=" unsigned char code str5="L H1 H2 " uchar shuzi=0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39; /1602液晶09的顯示uchar num;uchar l=8;h1=20;h2=22; /初始的L、H1、H2的值 void Beep(); /按鍵“滴”提示音函數(shù)uchar data disdata5;uint tvalue;/溫度值uchar tflag;/溫度正負(fù)標(biāo)志/*lcd1602程序*/ void delay1ms(unsigned in

23、t ms)/延時1毫秒(不夠精確的) unsigned int i,j; for(i=0;i<ms;i+) for(j=0;j<100;j+); void wr_com(unsigned char com)/寫指令/ delay1ms(1); RS=0; RW=0; EN=0; P1=com; delay1ms(1); EN=1; delay1ms(1); EN=0; void wr_dat(unsigned char dat)/寫數(shù)據(jù)/ delay1ms(1); RS=1; RW=0; EN=0; P1=dat; delay1ms(1); EN=1; delay1ms(1); E

24、N=0; void lcd_init()/初始化設(shè)置/delay1ms(15); wr_com(0x38);delay1ms(5); wr_com(0x08);delay1ms(5); wr_com(0x0e);delay1ms(5); wr_com(0x06);delay1ms(5); wr_com(0x01);delay1ms(5); void display(unsigned char *p)/顯示/while(*p!='0')wr_dat(*p);p+;delay1ms(1); init_play()/初始化顯示 wr_com(0x80+0x10); /屏幕外等待 di

25、splay(str3); wr_com(0xc0+0x10); display(str4); for(num=0;num<16;num+) /屏幕左移 wr_com(0x18); delay1ms(200); init_play1()/溫度上下限的顯示 uint a,b,c,d,e,f; a=l/10; b=l%10; c=h1/10; d=h1%10; e=h2/10; f=h2%10; wr_com(0x80); display(str5); wr_com(0xc0); wr_dat(shuzia); wr_com(0xc1); wr_dat(shuzib); wr_com(0xc3

26、); wr_dat(shuzic); wr_com(0xc4); wr_dat(shuzid); wr_com(0xc6); wr_dat(shuzie); wr_com(0xc7); wr_dat(shuzif); init_play2() /當(dāng)前溫度顯示 wr_com(0x80); display(str1); wr_com(0xc0); display(str2); /*ds1820程序*/ void delay_18B20(unsigned int i)/延時1微秒 while(i-);void ds1820rst()/*ds1820復(fù)位*/ unsigned char x=0; DQ

27、 = 1; /DQ復(fù)位 delay_18B20(4); /延時 DQ = 0; /DQ拉低 delay_18B20(100); /精確延時大于480us DQ = 1; /拉高 delay_18B20(40); uchar ds1820rd()/*讀數(shù)據(jù)*/ unsigned char i=0; unsigned char dat = 0; for (i=8;i>0;i-) DQ = 0; /給脈沖信號 dat>>=1; DQ = 1; /給脈沖信號 if(DQ) dat|=0x80; delay_18B20(10); return(dat); void ds1820wr(u

28、char wdata)/*寫數(shù)據(jù)*/ unsigned char i=0; for (i=8; i>0; i-) DQ = 0; DQ = wdata&0x01; delay_18B20(10); DQ = 1; wdata>>=1; read_temp()/*讀取溫度值并轉(zhuǎn)換*/ uchar a,b; ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr(0x44);/*啟動溫度轉(zhuǎn)換*/ ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr(0xbe);/*讀取溫度*/ a=ds18

29、20rd(); b=ds1820rd(); tvalue=b; tvalue<<=8; tvalue=tvalue|a; if(tvalue<0x0fff) tflag=0; else tvalue=tvalue+1; tflag=1; tvalue=tvalue*(0.625);/溫度值擴(kuò)大10倍,精確到1位小數(shù)return(tvalue); /*/ void ds1820disp()/溫度值顯示 uchar flagdat; disdata0=tvalue/1000+0x30;/百位數(shù) disdata1=tvalue%1000/100+0x30;/十位數(shù) disdata2

30、=tvalue%100/10+0x30;/個位數(shù) disdata3=tvalue%10+0x30;/小數(shù)位 if(tflag=0) flagdat=0x20;/正溫度不顯示符號 else flagdat=0x2d;/負(fù)溫度顯示負(fù)號:- if(disdata0=0x30) disdata0=0x20;/如果百位為0,不顯示 if(disdata1=0x30) disdata1=0x20;/如果百位為0,十位為0也不顯示 wr_com(0x89);wr_dat(flagdat);/顯示符號位 wr_com(0x8a); wr_dat(disdata0);/顯示百位 wr_com(0x8b); wr

31、_dat(disdata1);/顯示十位 wr_com(0x8c); wr_dat(disdata2);/顯示個位 wr_com(0x8d); wr_dat(0x2e);/顯示小數(shù)點(diǎn) wr_com(0x8e); wr_dat(disdata3);/顯示小數(shù)位 uchar GetKey() /讀取鍵值 uchar K; if(P2=0xff) return 0; /檢查是否有鍵按下 delay1ms(10); switch(P2) case 0xfe: K=1;break; case 0xfd: K=2;break; case 0xfb: K=3;break; case 0xf7: K=4;br

32、eak; case 0xef: K=5;break; case 0xdf: K=6;break; case 0xbf: K=7;break; case 0x7f: K=8;break; default: K=0; while(P2!=0xff); Beep(); return K; void KeyProcess(uchar Key) /鍵盤處理 uchar t=0; switch(Key) case 1:if(h1<h2)&&(l<h1) h1-; delay1ms(10);break;case 2:if(h1<h2)&&(l<h1) h1+;delay1ms(10);break; case 3:if(h1<h2)&&(l<h1) h2-;delay1ms(10);break; case

溫馨提示

  • 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

提交評論