DS18B20溫度恒定上下限可調報警器_第1頁
DS18B20溫度恒定上下限可調報警器_第2頁
DS18B20溫度恒定上下限可調報警器_第3頁
DS18B20溫度恒定上下限可調報警器_第4頁
DS18B20溫度恒定上下限可調報警器_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、精選優質文檔-傾情為你奉上 目 錄 內容提要1 關鍵字1 引言1 二、設計方案 2 21設計任務和要求 2 22方案辯證 3 1溫度計軟件設計流程圖 3 2元器件的選取 4 3系統最終設計方案 4 三、設計方案的總體設計框圖 4 31硬件電路框圖 4 32硬件電路概述 5 33主控電路 5 34顯示電路 6 35報警溫度調節電路 7 36溫度傳感器及DS18B20測溫原理 7 3.7 升降溫調節電路7 四、系統軟件算法設計8 4.1主程序 9 42讀出溫度子程序9 4.3溫度轉換命令子程序10 44 計算溫度子程序 10 45 顯示數據刷新子程序 10 46 1602的液晶顯示 10 五、軟件

2、仿真 10 51系統仿真設計 11 52系統仿真原理圖 13 52系統原理圖 14 結與體會15 附錄15 一【內容摘要】 隨著時代的進步和發展,單片機技術已經普及到我們生活,工作,科研,各個領域,已經成為一種比較成熟的技術,單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,廣泛應用于儀器儀表中,結合不同種類的傳感器,可實現諸如電壓、濕度、溫度、速度、硬度、壓力等的物理量的測量。本文將介紹一種基于單片機控制理論及其應用系統設計的數字溫度計。 本文主要介紹了一個基于AT89C51單片機的測溫系統,詳細描述了利用數字溫度傳感器DS18B20開發測溫系統的過程,重點對傳感器在單

3、片機喜愛的硬件連接,軟件編程以及各模塊系統流程進行了詳盡分析,對各部分的電路也進行一一介紹,該系統可以方便的是實現溫度采集和顯示,并可以根據需要任意設定上下限報警溫度,它使用起來方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優點,適合我們日常生活和工農業生產中的溫度測量,也可以當做溫度處理模塊嵌入其他系統中,作為其他主系統的輔助擴展。DS18B20和AT89C51結合實現最簡溫度檢測系統,該系統結構簡單,抗干擾能力強,適合與惡劣環境下進行現場溫度測量,有廣泛的應用前景。 本設計首先是確定目標,氣候是各個功能模塊的設計,再在Proteus軟件上進行仿真,修改,仿真。本溫度計屬于多功能溫度計

4、,可以設置上下報警溫度,當溫度不在設置范圍內時,可以報警,同時根據設定的溫度范圍通過升降溫電路控制環境的溫度達到恒溫效果。 【關鍵詞】 單片機,數字控制,溫度計, DS18B20,STC89C52RC【引言】 單片機技術作為計算機技術的一個分支,廣泛地應用于工業控制,智能儀器儀表,機電一體化產品,家用電器等各個領域。“單片機原理與應用”在工科院校各專業中已作為一門重要的技術基礎課而普遍開設。學生在課程設計,畢業設計,科研項目中會廣泛應用到單片機知識,而且,進入社會后也會廣泛接觸到單片機的工程項目。鑒于此,提高“單片機原理及應用”課的教學效果,讓學生參與課程設計實習甚為重要。單片機應用技術涉及的

5、內容十分廣泛,如何使學生在有限的時間內掌握單片機應用的基本原理及方法,是一個很有價值的教學項目。為此,我們進行了“單片機的學習與應用”方面的課程設計,鍛煉學生的動腦動手以及協作能力。 單片機課程設計是針對模擬電子技術,數字邏輯電路,電路,單片機的原理及應用課程的要求,對我們進行綜合性實踐訓練的實踐學習環節,它包括選擇課設任務、軟件設計,硬件設計,調試和編寫課設報告等實踐內容。通過此次課程設計實現以下三個目標:第一,讓學生初步掌握單片機課程的試驗、設計方法,即學生根據設計要求和性能約束,查閱文獻資料,收集、分析類似的相關題目,并通過元器件的組裝調試等實踐環節,使最終硬件電路達到題目要求的性能指標

6、;第二,課程設計為后續的畢業設計打好基礎,畢業設計是系統的工程設計實踐,而課程設計的著眼點是讓學生開始從理論學習的軌道上逐漸引向實際運用,從已學過的定性分析、定量計算的方法,逐步掌握工程設計的步驟和方法,了解科學實驗的程序和實施方法。第三,培養學生勤于思考樂于動手的習慣,同時通過設計并制作單片機類產品,使學生能夠自己不斷地學習接受新知識(如在本課設題目中存在智能測溫器件DS18B20,就是課堂環節中不曾提及的“新器件”),通過多人的合作解決現實中存在的問題,從而不斷地增強學生在該方面的自信心及興趣,也提高了學生的動手能力,對學生以后步入社會參加工作打下一定良好的實踐基礎。溫度可調上下限檢測報警

7、恒溫設計二、設計方案21設計務任和要求1、基本范圍-551252、精度誤差小于0.53、LCD 數碼直讀顯示4、可以任意設定溫度的上下限報警功能.22方案辯證1溫度計軟件設計流程圖: 設置堆棧指針將溫度轉換為BCD碼發讀存儲器命令讀溫度數據復位DS18B20發跳過ROM命令顯示緩沖區初始化更新數據緩沖區延時發溫度轉換命令復位DS18B20發跳過ROM命令開始 2元器件的選取:單片機芯片的選取:方案一.采用89C51芯片作為硬件核心,利用Flash ROM,內部具有4KB ROM 存儲空間,能于3V的超低壓工作,而且與MCS-51系列單片機完全兼容,但是運用于電路設計中時由于不具備ISP在線編程

8、技術, 當在對電路進行調試時,由于程序的錯誤修改或對程序的新增功能需要燒入程序時,對芯片的多次拔插會對芯片造成一定的損壞。方案二:采用STC89C52RC單片機作為硬件核心,該單片機指令代碼完全兼容傳統的8051單片機。STC89C52RC的工作電壓為5.5-3.4V,工作頻率范圍0-80MHz,程序存儲器flash容量為8KB,隨機存儲器RAM空間為512字節,完全滿足設計溫度控制系統的要求。綜上所述:本課設中單片機芯片采用STC89C52RC。 溫度傳感器的選取: 方案一:采用熱敏電阻傳感器。利用熱敏電阻隨溫度變化而顯著變化,能直接將溫度的變化轉換為能量的變化,進而制成溫度計。但是其測溫傳

9、感器比較復雜,而且不易通過編制程序來控制測溫精度,增大系統設計的難度。 方案二: 采用DS18B20溫度傳感器。DS18B20的內部3腳(或8腳)封裝;使用特有的溫度測量技術,將被測溫度轉換成數值信號;3.05.5V的電源供電方式和寄生電源供電方式;ROM由64位二進制數字組成,共分為8個字節;RAM由9個字節的高速暫存器和非易失性電擦寫ROM組成。綜上所述:溫度傳感器選取智能測溫器件DS18B20。本設計顯示電路采用1602液晶顯示模塊芯片。3系統最終設計方案:綜上各方案所述,對此次課設的方案選定: 采用STC89C52RC作為主控制系統; 1602液晶顯示模塊芯片作為溫度數據顯示裝置;而智

10、能溫度傳感器DS18B20器件作為測溫電路主要組成部分。至此,系統最終方案確定。三、設計方案的總體設計框圖溫度計電路設計總體設計方框圖如圖所示,控制器采用單片機STC89C52RC,溫度傳感器采用DS18B20,用1602液晶顯示屏以串口傳送數據實現溫度顯示。3.1硬件電路框圖: 單片機芯片STC89C52RC復位電路晶振控制1602 顯示器溫度檢測電路DS18B20報警溫度調整鍵蜂鳴器,指示燈 圖總體設計方框圖3.2硬件電路概述:系統由單片機最小系統、顯示電路、按鍵、溫度傳感器等組成。本電路是由STC89C52RC單片機為控制核心,具有與8051系列單片機完全兼容,程序加密等功能,8KB字節

11、可編程閃存,工作電壓范圍為2.76V,全靜態工作頻率為024MHZ;顯示電路由1602液晶顯示模塊芯片,可以進行多行顯示;溫度報警按鍵設為五個,可以顯示華氏溫度,調節高低報警溫度;溫度傳感器電路主要由DS18B20測溫器件構成,該器件主要功能有:采用單總線技術;每只DS18B20具有一個獨立的不可修改的64位序列號;低壓供電,電源范圍為35V;測溫范圍為-55+125,誤差為±0.5;復位電路是10K電阻構成的上電自動復位。3.3主控電路單片機STC89C52RC 具有低電壓供電和體積小等特點,四個端口只需要兩個口就能滿足電路系統的設計需要,很適合便攜手持式產品的設計使用系統可用二節

12、電池供電。晶振采用12MHZ。復位電路采用上電加自動復位。主控芯片8051 晶振電路 復位電路3.4顯示電路 本設計顯示電路采用1602液晶顯示模塊芯片,該芯片可現實16x2個字符,比以前的七段數碼管LED顯示器在顯示字符的數量上要多得多。另外,由于1602芯片編程比較簡單,界面直觀,因此更加易于使用者的操作和觀測。1602A芯片的接口信號說明圖 液晶顯示電路35報警溫度調節電路本系統一共設置了四個按鍵,K1鍵只是按一下上限報警溫度加1,松開后恢復顯示正常溫度,K2鍵按一下上限報警溫度減1,松開后恢復顯示正常溫度,當調節的上限報警溫度與環境實際的溫度相比,環境實際溫度高于上限報警溫度時系統會出

13、現聲音報警及燈光警示,同理,K3,K4的調節方法一樣,當環境實際溫度低于下限報警溫度時,系統出現報警。報警點調節電路3.6溫度傳感器及DS18B20測溫原理預置斜率累加器比較低溫度系數振蕩器計數器1溫度寄存器Tx預置=0高溫度系數振蕩器-0計數器2T1加1停止T2 64位ROM的結構開始8位是產品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前面56位的CRC檢驗碼,這也是多個DS18B20可以采用一線進行通信的原因。溫度報警觸發器TH和TL,可通過軟件寫入戶報警上下限。 DS18B20溫度傳感器的內部存儲器還包括一個高速暫存RAM和一個非易失性的可電擦除的EERAM。高速暫存

14、RAM的結構為8字節的存儲器,結構如圖4所示。頭2個字節包含測得的溫度信息,第3和第4字節TH和TL的拷貝,是易失的,每次上電復位時被刷新。第5個字節,為配置寄存器,它的內容用于確定溫度值的數字轉換分辨率。DS18B20工作時寄存器中的分辨率轉換為相應精度的溫度數值。該字節各位的定義如圖5所示。低5位一直為1,TM是工作模式位,用于設置DS18B20在工作模式還是在測試模式,DS18B20出廠時該位被設置為0,用戶不要去改動,R1和R0決定溫度轉換的精度位數,來設置分辨率。DS18B20的測溫原理是這這樣的,器件中低溫度系數晶振的振蕩頻率受溫度的影響很小,用于產生固定頻率的脈沖信號送給減法計數

15、器1;高溫度系數晶振隨溫度變化其振蕩頻率明顯改變,所產生的信號作為減法計數器2的脈沖輸入。器件中還有一個計數門,當計數門打開時,DS18B20就對低溫度系數振蕩器產生的時鐘脈沖進行計數進而完成溫度測量。計數門的開啟時間由高溫度系數振蕩器來決定,每次測量前,首先將最低溫所對應的一個基數分別置入減法計數器1、溫度寄存器中,計數器1和溫度寄存器被預置在最低溫所對應的一個基數值。減法計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當減法計數器1的預置值減到0時,溫度寄存器的值將加1,減法計數器1的預置將重新被裝入,減法計數器1重新開始對低溫度系數晶振產生的脈沖信號進行計數,如此循環直到減法計數器計

16、數到0時,停止溫度寄存器的累加,此時溫度寄存器中的數值就是所測溫度值。其輸出用于修正減法計數器的預置值,只要計數器門仍未關閉就重復上述過程,直到溫度寄存器值大致被測溫度值。 測溫電路3.6升溫、降溫控制電路 加溫電路系統在檢測到當前溫度低于設定的下限值時,在報警器啟動報警同時,升溫電路開始工作,使得Q2三極管導通,繼電器RL1吸合加熱燈開始點亮加熱,起到升溫的效果,此時升溫指示燈點亮,表示升溫系統開始工作。降溫電路系統在檢測到當前溫度超高設定的上限值時,在報警器啟動報警同時,降溫電路開始工作,使得Q3三極管導通,繼電器RL2吸合風扇開始吹風,起到降溫的效果,此時降溫指示燈點亮,表示降溫系統開始

17、工作。四、系統軟件算法設計整個系統是由硬件配合軟件來實現的,在硬件確定后,編寫的軟件的功能也就基本定型了。所以軟件的功能大致可分為兩個部分:一是監控,這也是系統的核心部分,二是執行部分,完成各個具體的功能。系統程序主要包括主程序,讀出溫度子程序,溫度轉換命令子程序,計算溫度子程序,顯示數據刷新子程序等。4.1主程序主程序的主要功能是負責溫度的實時顯示、讀出并處理DS18B20的測量的當前溫度值,溫度測量每1s進行一次。這樣可以在一秒之內測量一次被測溫度,其程序流程見圖所示。Y發DS18B20復位命令發跳過ROM命令發讀取溫度命令讀取操作,CRC校驗9字節完?CRC校驗正?確?移入溫度暫存器結束

18、NNY初始化調用顯示子程序1S到?初次上電讀出溫度值溫度計算處理顯示數據刷新發溫度轉換開始命令NYNY 圖1主程序流程圖 圖2讀溫度流程圖 4.2讀出溫度子程序發DS18B20復位命令發跳過ROM命令發溫度轉換開始命令 結束讀出溫度子程序的主要功能是讀出RAM中的9字節,在讀出時需進行CRC校驗,校驗有錯時不進行溫度數據的改寫。其程序流程圖如圖示圖 溫度轉換流程圖4.3溫度轉換命令子程序溫度轉換命令子程序主要是發溫度轉換開始命令,當采用12位分辨率時轉換時間約為750ms,在本程序設計中采用1s顯示程序延時法等待轉換的完成。溫度轉換命令子程序流程圖如上圖,圖9所示4.4 計算溫度子程序計算溫度

19、子程序將RAM中讀取值進行BCD碼的轉換運算,并進行溫度值正負的判定,其程序流程圖如圖所示。 開始溫度零下?溫度值取補碼置“”標志計算小數位溫度BCD值 計算整數位溫度BCD值 結束置“+”標志NY溫度數據移入顯示寄存器十位數0?百位數0?十位數顯示符號百位數不顯示百位數顯示數據(不顯示符號) 結束NNYY 圖計算溫度流程圖 圖顯示數據刷新流程圖4.5 顯示數據刷新子程序顯示數據刷新子程序主要是對顯示緩沖器中的顯示數據進行刷新操作,當最高顯示位為0時將符號顯示位移入下一位。程序流程圖如圖。1602液晶顯示流程圖4.6 1602的液晶顯示五、軟件仿真5.1系統仿真設計本設計是在Proteus環境

20、下進行仿真的,仿真所用到的器件有:單片機AT89C51,DS1820溫度傳感器,蜂鳴器,液晶顯示器,一些電阻,電容等。仿真結果如下: 顯示器顯示 傳感器溫度 5.2系統仿真原理圖5.3系統原理圖六、總結與體會 #include <reg52.h>#include <intrins.h>#define uint unsigned int#define uchar unsigned charsbit DQ=P23;/ds18b20與單片機連接口sbit RS=P25;sbit RW=P26;sbit EN=P27;uchar data disdata5;uint tvalu

21、e,CurrentT=0;/溫度值uchar tflag;/溫度正負標志#define LCD_BUS P0sbit SetKey = P22;sbit UpKey = P21;sbit DnKey = P20;sbit BEEP = P24;sbit Heat = P10;sbit Cool = P11;unsigned char AlarmTempLow=10,AlarmTempTop=40,Set=0,NG=0;void delayms(uint ms) /延時xx毫秒 uchar i;while(ms-) for(i=0;i<120;i+);void command(uint c

22、om) /LCD寫指令 RS=0; /RS為0 LCD_BUS=com; /裝載指令 delayms(5); /延時5ms EN=1; /LCD使能 delayms(5);/延時5ms EN=0;/LCD不使能void write_dat(uchar dat) /LCD寫數據 RS=1;/RS為1 LCD_BUS=dat;/裝載數據 delayms(5); /延時5ms EN=1; /LCD使能 delayms(5); /延時5ms EN=0; /LCD不使能void writestring(uchar x,uchar y,uchar *s) /LCD 寫字符串 if (y = 0) comm

23、and(0x80 + x); /表示第一行 else command(0xC0 + x); /表示第二行 while (*s) /判斷是否字符串的結尾 write_dat( *s); /顯示當前字符 s +; /字符串地址加1 void writeChar(uchar x,uchar y,uchar s) /LCD 寫字符串 if (y = 0) command(0x80 + x); /表示第一行 else command(0xC0 + x); /表示第二行 write_dat( s); /顯示當前字符 void LCD_Initial()/LCD初始化 EN=0; /LCD不使能 RW=0;

24、 /RW為0 command(0x38);/發送初始化指令 command(0x0c);/發送初始化指令 command(0x06); /發送初始化指令 command(0x01); /發送初始化指令 command(0x80+0x02);/發送LCD初始位置/*DS1820程序*/void delay_18B20(unsigned int i)/延時1微秒 while(i-);void ds1820rst(void)/*ds1820復位*/ unsigned char x=0;DQ = 1; /DQ復位delay_18B20(4); /延時DQ = 0; /DQ拉低delay_18B20(1

25、00); /精確延時大于480usDQ = 1; /拉高delay_18B20(40); uchar ds1820rd(void)/*讀數據*/ 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(uchar wdata)/*寫數據*/unsigned char i=0; for (i=8; i>0; i-) DQ = 0

26、;DQ = wdata&0x01;delay_18B20(10);DQ = 1;wdata>>=1; unsigned int Read_Temperature(void)/*讀取溫度值并轉換*/uchar a,b;ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ds1820wr(0x44);/*啟動溫度轉換*/ds1820rst(); ds1820wr(0xcc);/*跳過讀序列號*/ ds1820wr(0xbe);/*讀取溫度*/ a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tval

27、ue=tvalue|a; if(tvalue<0x0fff) tflag=0; else tvalue=tvalue+1;tflag=1;tvalue=tvalue*(0.625);/溫度值擴大10倍,精確到1位小數CurrentT=tvalue;return(tvalue);void Display_Temperature()/顯示溫度uchar flagdat; disdata0=tvalue/1000+0x30;/百位數 disdata1=tvalue%1000/100+0x30;/十位數 disdata2=tvalue%100/10+0x30;/個位數 disdata3=tval

28、ue%10+0x30;/小數位 if(tflag=0) flagdat=0x20;/正溫度不顯示符號 else flagdat=0x2d;/負溫度顯示負號:- /if(disdata0=0x30) /disdata0=0x20;/如果百位為0,不顯示/if(disdata1=0x30) disdata1=0x20;/如果百位為0,十位為0也不顯示 /if(tflag=1)writeChar(10,0,flagdat);/wr_com(0x8a);wr_dat(flagdat);/顯示符號位writeChar(11,0,disdata0);/wr_com(0x8b);wr_dat(disdata

29、0);/顯示百位writeChar(12,0,disdata1);/wr_com(0x8c);wr_dat(disdata1);/顯示十位 writeChar(13,0,disdata2);/wr_com(0x8d);wr_dat(disdata2);/顯示個位 writeChar(14,0,0X2E);/wr_com(0x8e);wr_dat(0x2e);/顯示小數點 writeChar(15,0,disdata3);/wr_com(0x8f);wr_dat(disdata3);/顯示小數位elsewriteChar(10,0,disdata0);/wr_com(0x8a);wr_dat(d

30、isdata0);/顯示百位writeChar(11,0,disdata1);/wr_com(0x8b);wr_dat(disdata1);/顯示十位 writeChar(12,0,disdata2);/wr_com(0x8c);wr_dat(disdata2);/顯示個位 writeChar(13,0,0X2e);/wr_com(0x8d);wr_dat(0x2e);/顯示小數點 writeChar(14,0,disdata3);/wr_com(0x8e);wr_dat(disdata3);/顯示小數位 void SetFun(void)unsigned char i1=0,i2=0,i3=

31、0,i4=0,i5=0,i6=0;if(SetKey=0)delayms(20);if(SetKey=0)if(Set<2)Set+;else Set=0;switch(Set)case 0: writestring(0,1," ");writestring(8,1," ");break;case 1:writestring(0,1,">");writestring(8,1," ");break;case 2:writestring(0,1," ");writestring(8,1,

32、">");break;while(SetKey=0);if(UpKey=0)&&(Set!=0)delayms(20);if(UpKey=0)switch(Set)case 1:if(AlarmTempLow<99) AlarmTempLow+;else AlarmTempLow=99; break;case 2:if(AlarmTempTop<99) AlarmTempTop+;else AlarmTempTop=99; break;i1 = AlarmTempLow/100; /獲得溫度值的百位 i2 = AlarmTempLow%10

33、0/10; /獲得溫度值的十位i3 = AlarmTempLow%10; /獲得溫度值的個位i4 = AlarmTempTop/100; /獲得溫度值的百位 i5 = AlarmTempTop%100/10; /獲得溫度值的十位i6 = AlarmTempTop%10; /獲得溫度值的個位writestring(5,1," ");writestring(13,1," ");if(i1!=0)writeChar(5,1,i1+'0');if(i1=0)&&(i2!=0) writeChar(5,1,i2+'0'

34、;);if(i1!=0) writeChar(6,1,i2+'0');if(i1=0)&&(i2=0)writeChar(5,1,i3+'0');else if(i1=0)&&(i2!=0)writeChar(6,1,i3+'0');if(i1!=0) writeChar(7,1,i3+'0');if(i4!=0)writeChar(13,1,i4+'0');if(i4=0)&&(i5!=0) writeChar(13,1,i5+'0');if(i4!

35、=0) writeChar(14,1,i5+'0');if(i4=0)&&(i5=0)writeChar(13,1,i6+'0');else if(i4=0)&&(i5!=0)writeChar(14,1,i6+'0');if(i4!=0) writeChar(15,1,i6+'0');while(UpKey=0);if(DnKey=0)&&(Set!=0)delayms(20);if(DnKey=0)switch(Set)case 1:if(AlarmTempLow>0) A

36、larmTempLow-;else AlarmTempLow=0; break;case 2:if(AlarmTempTop>0) AlarmTempTop-;else AlarmTempTop=0; break;i1 = AlarmTempLow/100; /獲得溫度值的百位 i2 = AlarmTempLow%100/10; /獲得溫度值的十位i3 = AlarmTempLow%10; /獲得溫度值的個位i4 = AlarmTempTop/100; /獲得溫度值的百位 i5 = AlarmTempTop%100/10; /獲得溫度值的十位i6 = AlarmTempTop%10; /

37、獲得溫度值的個位writestring(5,1," ");writestring(13,1," ");if(i1!=0)writeChar(5,1,i1+'0');if(i1=0)&&(i2!=0) writeChar(5,1,i2+'0');if(i1!=0) writeChar(6,1,i2+'0');if(i1=0)&&(i2=0)writeChar(5,1,i3+'0');else if(i1=0)&&(i2!=0)writeChar(6,1,i3+'0');if(i1!=0) writeChar(7,

溫馨提示

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

評論

0/150

提交評論