畢業(yè)設計--八路溫度采集顯示系統(tǒng)設計_第1頁
已閱讀1頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設計</b></p><p>  題目 八路溫度采集顯示系統(tǒng)設計 </p><p>  選題性質:設計□報告□其他</p><p>  院 系 電子工程學院 </p><p>  專 業(yè) 電子信息工程技術 </p><p>  班 級 20

2、10 級 (2) 班 </p><p>  學 號 </p><p>  學生姓名 X X X </p><p>  指導教師 X X </p><p><b>  畢業(yè)設計選題審批單</b></p><p>  年級 10

3、 專業(yè) 電子工程信息技術 班級 2班 </p><p>  2013 屆 電子工程 學院</p><p>  畢業(yè)設計開題報告及進度要求</p><p>  年級 2010 班級 2班 </p><p><b>  摘 要</b></p><p>

4、  在實際生產(chǎn)和生活等各個領域中,溫度是環(huán)境因素不可或缺的一部分,對溫度進行及時精確的控制和檢測顯得尤為重要。</p><p>  本次設計在控制成本的前提下,設計了一款高精度、可同時檢測八路溫度并由液晶顯示器對各路溫度值進行顯示的溫度檢測顯示系統(tǒng)。該系統(tǒng)以AT89S51為控制核心,采用可編程單總線數(shù)字式溫度傳感器DS18B20進行溫度采集,八路溫度值由六位LED顯示器顯示。系統(tǒng)正常運行時,其測溫范圍為-55℃~

5、+125℃,該系統(tǒng)在現(xiàn)代電子工業(yè)飛速發(fā)展的時期有良好的應用前景。</p><p>  關鍵詞:AT89S51、多路溫度檢測、LED顯示、 DS18B20</p><p><b>  目 錄</b></p><p><b>  摘 要I</b></p><p><b>  目 錄I

6、I</b></p><p><b>  第1章 緒論1</b></p><p>  1.1課題的來源1</p><p>  1.2 課題的目的1</p><p>  1.3 課題的意義1</p><p>  第2章 八路溫度采集顯示系統(tǒng)總體方案設計3</p>

7、<p>  2.1 確定設計流程圖3</p><p>  2.2 八路溫度采集顯示系統(tǒng)方案論證3</p><p>  2.2.1 單片機的選取4</p><p>  2.2.2 溫度傳感器的選取4</p><p>  2.2.3 顯示器的選取6</p><p>  2.3 確定總體設計方案7<

8、;/p><p>  第3章 八路溫度采集顯示系統(tǒng)硬件設計8</p><p>  3.1 AT89S51單片機的特點及引腳說明8</p><p>  3.1.1 AT89S51單片機的特點8</p><p>  3.1.2 AT89S51單片機引腳功能說明9</p><p>  3.2溫度采集模塊硬件設計11<

9、;/p><p>  3.2.1 DS18B20傳感器的結構11</p><p>  3.2.2 DS18B20的特點13</p><p>  3.2.3 DS18B20與單片機連接15</p><p>  3.3 顯示模塊硬件設計15</p><p>  3.3.1數(shù)碼管顯示器的結構及其特點15</p>

10、;<p>  第4章八路溫度采集軟件設計17</p><p>  4.1 溫度采集程序設計17</p><p>  4.2 數(shù)據(jù)處理程序設計18</p><p>  4.3 顯示程序設計20</p><p>  4.4 主程序22</p><p>  第5章 仿真測試25</p>

11、<p>  5.1 溫度顯示25</p><p>  5.2 控制需要顯示第幾路溫度25</p><p><b>  結 論26</b></p><p><b>  參考文獻27</b></p><p><b>  附錄29</b></p>

12、<p>  1、 系統(tǒng)程序29</p><p>  2、 系統(tǒng)電路圖39</p><p><b>  第1章 緒論</b></p><p><b>  1.1課題的來源</b></p><p>  在實際生產(chǎn)、生活等各個領域中,溫度是環(huán)境因素的不可或缺的一部分,對溫度進行及時精確的

13、控制和檢測顯得尤為重要。比如消防電氣的非破壞性溫度檢測,電力、電訊設備的過熱故障預知檢測,空調系統(tǒng)的溫度檢測,在醫(yī)院的監(jiān)護中也用到溫度的測量,化工、機械等設備溫度過熱檢測,土壤各個層面上的溫度將會影響植物的生長,以及熱處理中工件各個部位的溫度對工件形成后的性能至關重要等等??傊?,現(xiàn)代電子工業(yè)的飛速發(fā)展對溫度檢測的智能化精確度要求越來越高。</p><p><b>  1.2 課題的目的</b>

14、;</p><p>  通過本次設計,我們對大學三年所學課程將做出一個總結,對各門課程均將有更深入的了解,更加熟練的掌握設計方案的提出,設計流程的規(guī)劃以及各器件的硬件連和軟件編程,并且能夠更加熟練的操作Proteus仿真軟件,真正培養(yǎng)出科學的思維方式和靈活解決問題的能力,為以后實際工作奠定良好的基礎。</p><p>  在本次設計結束后,我們將得到一款能夠同時檢測顯示八路溫度的多點智能測

15、溫系統(tǒng),當某一路或某幾路溫度值超過設定的上限值或者下限值時,報警電路中的蜂鳴器鳴響且提示閃亮,使操作者能夠及時發(fā)現(xiàn)問題并控制溫度回到額定溫度范圍內。該系統(tǒng)運行穩(wěn)定,操作簡便,應用靈活,能夠在當代農(nóng)業(yè)、工業(yè)、醫(yī)療以及日常生活中得到良好的應用。</p><p><b>  1.3 課題的意義</b></p><p>  溫度控制系統(tǒng)在國內各行各業(yè)的應用雖然已經(jīng)十分廣泛,但

16、從生產(chǎn)的溫度控制器來講,總體發(fā)展水平仍然不高,同日本、美國、德國等先進國家相比有著較大差距。目前,我國在這方面總體技術水平處于20世紀80年代中后期水平,成熟產(chǎn)品主要以“點位”控制及常規(guī)的PID控制器為主。它只能適應一般溫度系統(tǒng)控制,難于控制滯后、復雜、時變溫度系統(tǒng)控制。而適應于較高控制場合的智能化、自適應控制儀表,國內技術還不十分成熟,形成商品化并在儀表控制參數(shù)的自整定方面,國外已有較多的成熟產(chǎn)品。但由于國外技術保密及我國開發(fā)工作的滯

17、后,還沒有開發(fā)出性能可靠的自整定軟件??刂茀?shù)大多靠人工經(jīng)驗及現(xiàn)場調試確定。</p><p>  國外溫度控制系統(tǒng)發(fā)展迅速,并在智能化、自適應、參數(shù)自整定等方面取得成果。日本、美國、德國、瑞典等技術領先,都生產(chǎn)出了一批商品化的、性能優(yōu)異的溫度控制器及儀器儀表,并在各行業(yè)廣泛應用。它們主要具有如下的特點:一是適應于大慣性、大滯后等復雜溫度控制系統(tǒng)的控制;二是能夠適應于受控系統(tǒng)數(shù)學模型難以建立的溫度控制系統(tǒng)的控制;三

18、是能夠適應于受控系統(tǒng)過程復雜、參數(shù)時變的溫度控制系統(tǒng)的控制;四是溫度控制系統(tǒng)普遍采用自適應控制、自校正控制、模糊控制、人工智能等理論及計算機技術,運用先進的算法,適應的范圍廣泛;五是溫控器普遍具有參數(shù)自整定功能。借助計算機軟件技術,溫控器具有對控制對象控制參數(shù)及特性進行自動整定的功能。有的還具有自學習功能,能夠根據(jù)歷史經(jīng)驗及控制對象的變化情況,自動調整相關控制參數(shù),以保證控制效果的最優(yōu)化;六是具有控制精度高、抗干擾力強、魯棒性好的特點。

19、</p><p>  目前,國內外溫度控制系統(tǒng)及儀表正朝著高精度、智能化、小型化等方面快速發(fā)展。本課題設計的系統(tǒng)符合當代科學發(fā)展的趨勢,能夠滿足現(xiàn)代生產(chǎn)生活的需要,其測溫效率高,具有較強的穩(wěn)定性和靈活性。方便快捷的實現(xiàn)了多路溫度采集并顯示,該系統(tǒng)用液晶顯示器節(jié)省了空間且顯示效果好,報警電路同時包含了蜂鳴器和提示燈,能更好的引起操作者的警覺,在實際生產(chǎn)中能夠降低由于溫度超過額定范圍引發(fā)的事故,有良好的實用性,在國內

20、外都具備良好的應用前景。</p><p>  第2章 八路溫度采集顯示系統(tǒng)總體方案設計</p><p>  2.1 確定設計流程圖</p><p>  在熟悉課題,明確任務的基礎上,查閱相關資料,理清設計思路,綜合考慮總的設計時間和各部分設計所需時間,最終決定將本次設計分五大步進行。</p><p> ?。?)熟悉課題,明確任務,查閱相關資料

21、,確定總體設計方案;</p><p>  (2)根據(jù)各部分的功能劃分功能模塊,確定每一模塊的硬件組成,合理選取具有相應功能的器件;</p><p> ?。?)進行硬件設計,把各器件組成相應功能的模塊,并把各功能模塊進行電氣連接,形成總的功能系統(tǒng);</p><p>  (4)進行軟件設計,編寫程序,實現(xiàn)各模塊功能,使整個系統(tǒng)能夠良好的運行;</p>&l

22、t;p> ?。?)進行仿真調試,檢查各模塊功能能否完全實現(xiàn),綜合考慮系統(tǒng)的靈活性、穩(wěn)定性、誤差大小及測溫效率調整各器件的各項參數(shù)。使系統(tǒng)的處在最佳性能狀態(tài)。</p><p>  經(jīng)分析總結,確定總的設計流程如圖2.1所示。</p><p>  圖2.1 設計流程圖</p><p>  2.2 八路溫度采集顯示系統(tǒng)方案論證</p><p>

23、;  2.2.1 單片機的選取</p><p>  若采用8031芯片,其內部沒有程序存儲器,需要進行外部擴展,這給電路增加了復雜度,且占用空間增大。</p><p>  但是如果采用AT89S51單片機為控制核心優(yōu)點凸顯,51系列微處理器基于簡化的嵌入式控制系統(tǒng)結構,被廣泛應用于從軍事到自動控制再到PC機上的鍵盤上的各種應用系統(tǒng)上,僅次于Motorola 68HC11在8位微控制器市場上

24、的銷量,很多制造商都可提供51系列單片機,像Intel Philips Siemens等,這些制造商給51系列單片機加入了大量的性能和外部功能,像I2C總線接口,模擬量到數(shù)字量的轉換,看門狗,PWM輸出等,不少芯片的工作頻率達到40M,工作電壓下降到1.5V?;谝粋€內核的這些功能使得51系列單片機很適合作為廠家產(chǎn)品的基本構架,它能夠運行各種程序而且開發(fā)者只需要學習這一個平臺[1]。</p><p>  比較這兩

25、種方案,綜合考慮單片機的各部分資源,因此此次設計選用第二種方案,選用AT89S51單片機為核心處理器。</p><p>  2.2.2 溫度傳感器的選取</p><p>  傳感器是信號輸入通道的第一道環(huán)節(jié),也是決定整個測試系統(tǒng)性能的關鍵環(huán)節(jié)之一。由于傳感技術的發(fā)展非常迅速,各種各樣的傳感器應運而生,所以對傳感器的正確選用顯得尤為重要。而眾多傳感器對微機化測控系統(tǒng)有較大的影響。當今應用較多

26、的傳感器大致可以分為以下幾種[2]:</p><p> ?。?)大信號輸出傳感器。為了與A/D輸入要求相適應,傳感器廠家設計制造一些專門與A/D相配套的大號輸出傳感器。通常是把放大電路與傳感器做成一體,使傳感器能直接輸出0~5V、0~10V或0~2.5V要求的信號電壓,把傳感器與相應的變送器電路做成一體,構成能輸出4~20mA直流標準信號的變送器。對于大電流輸出,只要經(jīng)過簡單I/V轉換即可變?yōu)榇蛐盘栯妷狠敵觥τ?/p>

27、大信號電壓可以經(jīng)A/D轉換,也可以經(jīng)V/F轉換送入微機,但后者響應速度較慢。</p><p> ?。?)集成傳感器。集成傳感器是將傳感器與信號調理電路做成一體。例如,將應變片、應變電橋、線性化處理、電橋放大等做成一體,構成集成壓力傳感器。采用集成傳感器可以減輕輸入通道的信號調理任務,簡化通道結構。</p><p> ?。?)光纖傳感器。這種傳感器其信號拾取、變換、傳輸都是通過光導纖維實現(xiàn)的

28、,避免了電路系統(tǒng)的電磁干擾。在信號輸入通道中采用光纖傳感器可以從根本上解決由現(xiàn)場通過傳感器引入的干擾。</p><p> ?。?)數(shù)字式傳感器。數(shù)字式傳感器一般都采用頻率敏感效應器件構成,也可以是由敏感參數(shù)RLC構成的振蕩器,或模擬電壓輸入經(jīng)V/F轉換等,因此,數(shù)字量傳感器一般都是輸出頻率參量,具有測量精度高、抗干擾能力強,便于遠距離傳送等優(yōu)點。此外,采用數(shù)字量傳感器時,傳感器輸出如果滿足TTL電平標準,則可直接

29、接入計算機的I/O口或中斷入口。</p><p>  如何根據(jù)具體的測量目的、測量對象以及測量環(huán)境合理地選用傳感器,是在進行某個量的測量時首先要解決的問題。當傳感器確定之后,與之相配套的測量方法和測量設備也就可以確定了。測量結果的成敗,在很大程度上取決于傳感器的選用是否合理,因此在設計過程中選取溫度傳感器要注意一下幾點:</p><p> ?。?)根據(jù)測量對象與測量環(huán)境確定傳感器的類型&l

30、t;/p><p>  要進行—項具體的測量工作,首先要考慮采用何種原理的傳感器,這需要分析多方面的因素之后才能確定。因為,即使是測量同一物理量,也有多種原理的傳感器可供選用,哪一種原理的傳感器更為合適,則需要根據(jù)被測量的特點和傳感器的使用條件考慮以下一些具體問題:量程的大??;被測位置對傳感器體積的要求;測量方式為接觸式還是非接觸式;信號的引出方法,有線或是非接觸測量;傳感器的來源,國產(chǎn)還是進口,價格能否承受,還是自行

31、研制。</p><p><b>  (2)靈敏度的選擇</b></p><p>  通常,在傳感器的線性范圍內,希望傳感器的靈敏度越高越好。因為只有靈敏度高時,與被測量變化對應的輸出信號的值才比較大,有利于信號處理。但要注意的是,傳感器的靈敏度高,與被測量無關的外界噪聲也容易混入,也會被放大系統(tǒng)放大,影響測量精度。因此,要求傳感器本身應具有較高的信噪比,盡量減少從外界

32、引入的串擾信號</p><p><b> ?。?)頻率響應特性</b></p><p>  傳感器的頻率響應特性決定了被測量的頻率范圍,必須在允許頻率范圍內保持不失真的測量條件,實際上傳感器的響應總有—定延遲,希望延遲時間越短越好。傳感器的頻率響應高,可測的信號頻率范圍就寬,而由于受到結構特性的影響,機械系統(tǒng)的慣性較大,因有頻率低的傳感器可測信號的頻率較低。</

33、p><p><b> ?。?)線性范圍</b></p><p>  傳感器的線形范圍是指輸出與輸入成正比的范圍。以理論上講,在此范圍內,靈敏度保持定值。傳感器的線性范圍越寬,則其量程越大,并且能保證一定的測量精度。在選擇傳感器時,當傳感器的種類確定以后首先要看其量程是否滿足要求。但實際上,任何傳感器都不能保證絕對的線性,其線性度也是相對的。當所要求測量精度比較低時,在一定

34、的范圍內,可將非線性誤差較小的傳感器近似看作線性的,這會給測量帶來極大的方便。</p><p><b> ?。?)穩(wěn)定性</b></p><p>  傳感器使用一段時間后,其性能保持不變化的能力稱為穩(wěn)定性。影響傳感器長期穩(wěn)定性的因素除傳感器本身結構外,主要是傳感器的使用環(huán)境。因此,要使傳感器具有良好的穩(wěn)定性,傳感器必須要有較強的環(huán)境適應能力。在選擇傳感器之前,應對其使

35、用環(huán)境進行調查,并根據(jù)具體的使用環(huán)境選擇合適的傳感器,或采取適當?shù)拇胧瑴p小環(huán)境的影響。</p><p><b>  (6)精度</b></p><p>  精度是傳感器的一個重要的性能指標,它是關系到整個測量系統(tǒng)測量精度的一個重要環(huán)節(jié)。傳感器的精度越高,其價格越昂貴,因此,傳感器的精度只要滿足整個測量系統(tǒng)的精度要求就可以,不必選得過高。這樣就可以在滿足同一測量目的的

36、諸多傳感器中選擇比較便宜和簡單的傳感器。</p><p>  如果測量目的是定性分析的,選用重復精度高的傳感器即可,不宜選用絕對量值精度高的;如果是為了定量分析,必須獲得精確的測量值,就需選用精度等級能滿足要求的傳感器。對某些特殊使用場合,無法選到合適的傳感器,則需自行設計制造傳感器。自制傳感器的性能應滿足使用要求。</p><p>  顯而易見,數(shù)字式溫度傳感器在本設計中的應用優(yōu)點突出,

37、綜合考慮以上選取注意事項,本設計采用DS18B20單總線數(shù)字式溫度傳感器對溫度信號進行采集。</p><p>  2.2.3 顯示器的選取</p><p>  顯示系統(tǒng)是單片機控制系統(tǒng)的重要組成部分,主要用于顯示各種參數(shù)的值,以便使現(xiàn)場工作人員能夠及時掌握生產(chǎn)過程。</p><p>  工業(yè)控制系統(tǒng)中常用的顯示器件有CRT、LED、LCD等,CRT不僅可以進行字符顯

38、示,而且可以進行畫面顯示,和計算機配合使用,可十分方便地實現(xiàn)生產(chǎn)過程的管理和監(jiān)視,但由于CRT體積大,價格昂貴,所以只適用于大型微機控制系統(tǒng)。在中小型的控制過程中,為了使工作人員能夠在現(xiàn)場直接看到生產(chǎn)情況和報警信號,經(jīng)常選用LED和LCD作為顯示器件。LED具有體積小,功耗低,響應速度快,易于匹配,可靠性高和壽命高等優(yōu)點,是一種功耗極低的顯示元件,在儀表和低功耗應用系統(tǒng)中的使用較多.所以,本系統(tǒng)采用LED作顯示。</p>

39、<p>  2.3 確定總體設計方案</p><p>  通過對設計任務及相關芯片的深入了解,最終決定本設計采用AT89S51單片機作為控制器,選用單總線數(shù)字溫度傳感器DS18B20對溫度進行采集,采用16×4字符的LCD顯示器一起構成八路溫度采集與顯示系統(tǒng),使得系統(tǒng)可以檢測-55℃~+125℃范圍內的溫度,選擇分辨率為12位,使用液晶顯示器對八路溫度進行循環(huán)顯示,考慮到測溫精度,設置顯示數(shù)值

40、精確到0.1℃,并且設置溫度上下限,當某一路或幾路溫度值超過上下限溫度時,報警電路中的蜂鳴器鳴響,提示燈亮。根據(jù)各模塊要實現(xiàn)的功能及其各模塊的結構特點,設計其總體結構如圖2.2所示。</p><p>  圖2.2 八路溫度采集與顯示系統(tǒng)結構圖</p><p>  第3章 八路溫度采集顯示系統(tǒng)硬件設計</p><p>  3.1 AT89S51單片機的特點及引腳說明&

41、lt;/p><p>  3.1.1 AT89S51單片機的特點</p><p>  AT89S51是美國ATMEL公司生產(chǎn)的低電壓、高性能CMOS 8位單片,內含4Kbytes的可反復擦寫的只讀程序存儲器(EPROM)和128 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產(chǎn),兼容標準MCS-51指令系統(tǒng),片內置通用8位中央處理器(CPU)和Fla

42、sh存儲單元,功能強大的AT89S51單片機可提供許多高性價比的應用場合,可靈活應用于各種控制領域,該芯片外形結構及引腳如圖3.1所示[4]。</p><p>  圖3.1 AT89S51外形結構及引腳</p><p>  AT89S51單片機主要性能參數(shù)為:</p><p> ?。?)與MCS-51產(chǎn)品指令系統(tǒng)完全兼容;(2)4K字節(jié)可重擦寫Flash閃速存儲器;

43、(3)1000次擦寫周期;(4)全靜態(tài)操作:0Hz—24Hz;(5)三級加密程序存儲器;(6)128×8字節(jié)內部RAM;(7)32個可編程I/O口線;(8)2個16位定時/計數(shù)器;(9)6個中斷源;(10)可編程串行UART通道;(11)低功耗空閑和掉電模式[8]。</p><p>  AT89S51提供4K字節(jié)Flash閃速存儲器,128字節(jié)內部RAM,32個I/O口線,兩個16位定時/計數(shù)器,一個5

44、向量兩級中斷結構,一個全雙工串行通信口,片內振蕩器及時鐘電路。同時,AT89S51可降至0Hz的靜態(tài)邏輯操作,并支持兩種軟件可選的節(jié)電工作模式。空閑方式停止CPU的工作,但允許RAM,定時/計數(shù)器,串行通信口及中斷系統(tǒng)繼續(xù)工作。掉電方式保存RAM中的內容,但振蕩器停止工作并禁止其他所有部件工作直到下一個硬件復位。</p><p>  3.1.2 AT89S51單片機引腳功能說明</p><p&

45、gt; ?。?)Vcc:電源電壓;</p><p><b> ?。?)GND:地;</b></p><p> ?。?)P0口:P0口是一組8位漏極開路型雙向I/O口,也即地址/數(shù)據(jù)總線復用口。作為輸出口用時,每位能吸收電流的方式驅動8個TTL邏輯門電路,對端口寫“1”可作為高阻抗輸入端用。在訪問外部數(shù)據(jù)存儲器或程序存儲器時,這組口線分時轉換地址(低8位)和數(shù)據(jù)總線復用

46、,在訪問期間激活內部上拉電阻。在Flash編程時,P0口接收指令字節(jié),而在程序校驗時,輸出指令字節(jié),校驗時,要求外接上拉電阻。</p><p> ?。?)P1口:P1口是一個帶內部上拉電阻的8位雙向I/O口,P1的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端口寫“1”,通過內部的上拉電阻把端口拉倒高電平,此時可做輸入口。做輸入口輸入時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸出一個電流(

47、IIL)。Flash編程和程序校驗期間,P1接收低8位地址。</p><p> ?。?)P2口:P2是一個帶有內部上拉電阻的8位雙向I/O口,P2的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路,對端口寫“1”,通過內部的上拉電阻把端口拉倒高電平,此時可做輸入口,做輸入口使用時,因為內部存在上拉電阻,某個引腳被外部信號拉低時會輸入一個電流(IIL)。在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如執(zhí)

48、行MOVX@DPTR指令)時,P2口送出高8位地址數(shù)據(jù)。在訪問8為地址的外部數(shù)據(jù)存儲器(如執(zhí)行MOVX@R1指令)時,P2口線上的內容(也即特殊功能寄存器SFR區(qū)中R2寄存器的內容),在整個訪問期間不改變。Flash編程或校驗時,P2亦接受高位地址和其它控制信號。</p><p>  (6)P3口:P3口是一個帶有內部上拉電阻的8位雙向I/O口,P3口的輸出緩沖級可驅動(吸收或輸出電流)4個TTL邏輯門電路。對端

49、口寫“1”時,它們被內部上拉電阻拉高并可作為輸入端。作輸入端時,被外部拉低的P3口將用上拉電阻輸出電流(IIL)。P3口除了作為一般的I/O口線外,更重要的用途是它的第二功能,如表3.1所示。</p><p>  表3.1 P3口第二功能</p><p> ?。?)RST:復位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期以上高電平將使單片機復位。</p><p>

50、; ?。?)ALE/ :當訪問外部程序存儲器或數(shù)據(jù)存儲器時,ALE(地址鎖存允許)輸出脈沖可用于鎖存地址的低八位字節(jié)。即使不訪問外部存儲器,ALE仍以時鐘振蕩頻率的1/6輸出固定的正脈沖信號,因此它可對外輸出時鐘或用于定時目的。要注意的是:每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。對Flash存儲器編程期間,該引腳還用于輸入編程脈沖( )。如有必要,可通過對特殊功能寄存器(SFR)區(qū)中的8EH單元的D0位置位,可禁止ALE操作。該位

51、置置位后,只有一條MOVX和MOVC指令ALE才會被激活。此外,該引腳會被微弱拉高,單片機執(zhí)行外部程序時,應設置ALE無效[8]。</p><p> ?。?) :程序儲存允許( )輸出是外部程序存儲器的讀選通信號,當AT89S51由外部程序存儲器取指令(或數(shù)據(jù))時,每個機器周期兩次 有效,即輸出兩個脈沖。在此期間,當訪問外部數(shù)據(jù)存儲器時,這兩次有效的 信號不出現(xiàn)。</p><p> ?。?

52、0)EA/VPP:外部訪問允許。欲使CPU僅訪問外部數(shù)據(jù)存儲器(地址為0000H—FFFFH),EA端必須保持低電平(接地)。需注意的是:如果加密位LB1被編成,復位時內部會鎖存EA端狀態(tài)。如EA端為高電平(接Vcc端),CPU則執(zhí)行內部程序存儲器中的指令。Flash存儲器編程時,該引腳加上+12V的編程允許電源Vpp,當然這必須是該器件使用12V編程電壓Vpp。</p><p> ?。?0)XTAL1:振蕩器反

53、相放大器及內部時鐘發(fā)生器的輸入端。</p><p>  (11)XTAL2:振蕩器反相放大器的輸出端。</p><p>  3.2溫度采集模塊硬件設計</p><p>  3.2.1 DS18B20傳感器的結構</p><p>  DS18B20溫度傳感器是美國Dallas半導體公司生產(chǎn)的總線式智能數(shù)字溫度傳感器。DS18B20可根據(jù)實際要求

54、通過簡單的編程實現(xiàn)9~12位的分辨率數(shù)字值讀數(shù)方式。其工作電源既可在遠端引入,也可采用寄生電源方式產(chǎn)生。多個DS18B20可以并聯(lián)到三根或者兩根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。現(xiàn)場溫度直接以單線的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性,適合于惡劣環(huán)境的現(xiàn)場溫度測量。DS18B20引腳排列及定義如圖3.2所示[3]。</p><p>  圖

55、3.2 DS18B20的TO-92封裝</p><p>  DS18B20的三個引腳布局合理,結構簡單,功能明確。DQ:數(shù)據(jù)輸入輸出;VCC:可選的電源電壓腳;GND:接地。</p><p>  DS18B20內部主要由64位ROM、高溫傳感器、非易失性溫度報警觸發(fā)器TH和TL、高速緩存4個數(shù)據(jù)部分組成。64位ROM用于存儲序列號。開始8位是產(chǎn)品類型編號。接著是每個器件唯一的序列號,共有6

56、個字節(jié)48位,在出廠前已寫入片內ROM中。最后8位是前面56位的CRC校驗碼。非易失性溫度報警觸發(fā)器TH和TL,可以由用戶通過軟件寫入報警上下限值。高速緩存由9個字節(jié)組成。DS18B20的內部結構功能框圖如圖3.3所示[1]。</p><p>  圖3.3 DS18B20內部結構框圖</p><p>  主機在進入操作程序前必須逐一讀入DS18B20,用讀ROM命令將該DS18B20序列號

57、讀出并登錄該主機。需要對眾多在線DS18B20的某一個進行操作時首先要發(fā)出匹配ROM命令,緊接著主機提供64位序列(包括該DS18B20的48位序列號)。</p><p>  DS18B20的存儲器結構如表3.2所示。存儲器由一個暫存RAM和一個存儲高低位報警觸發(fā)值TH和TL的非易失性電可擦除EERAM組成。當在單總線上通信時,暫存器幫助確保數(shù)據(jù)的完整性。數(shù)據(jù)先被寫入暫存器,這里的數(shù)據(jù)可被讀回。數(shù)據(jù)經(jīng)過校驗后,用

58、一個拷貝暫存器命令把數(shù)據(jù)傳到非易失性EERAM中。這一個過程確保更改存儲器數(shù)據(jù)時的完整性。</p><p>  表3.2 存儲器結構</p><p>  暫存器的結構為8個字節(jié)的存儲器。頭兩個字節(jié)包含測得的溫度信號。第3和第4字節(jié)的兩個字節(jié)沒有使用,但是在讀回數(shù)據(jù)時,他們全部為邏輯1。還有一個第9字節(jié),可以用讀暫存器命令讀出。這個字節(jié)是以上8個字節(jié)的CRC碼。</p><

59、;p>  暫存器第5個字節(jié)是配置寄存器,用于確定溫度值轉換為數(shù)字值的分辨率。該配置寄存器字節(jié)各位的定義如表3.3所示。</p><p>  表3.3 配置寄存器各位的定義</p><p>  TM是測試模式位。R0、R1決定溫度轉換的分辨率位數(shù),其定義如表3.4所示。</p><p>  表3.4 DS18B20的分辨率</p><p>

60、;  3.2.2 DS18B20的特點</p><p> ?。?)1—Wire系統(tǒng)</p><p>  1—Wire系統(tǒng)也稱為單總線系統(tǒng)。單總線系統(tǒng)包括一個總線控制器和一個或多個從機,DS18B20是從機。關于這種總線分三部分討論:硬件配置、執(zhí)行序列和單線信號(信號類型和時序)。</p><p><b> ?。?)硬件配置</b></p&

61、gt;<p>  單總線只有一條定義的信號線。重要的是每一個掛在總線上的器件都能在適當?shù)臅r間驅動它。為此每一個總線上的器件都必須是漏極開路或者三態(tài)輸出。DS18B20的單總線端口(I/O引腳)是漏極開路式的。一個多點總線由一個單總線或多個掛于其上的從機構成。單總線需要一個約5kΩ的上拉電阻[10]。</p><p>  單總線的空閑狀態(tài)是高電平。無論任何理由需要暫停某一執(zhí)行過程時,如果還想恢復執(zhí)行的

62、話,總線必須停留在空閑狀態(tài)。在恢復期間,如果單總線處于非活動(高電平)狀態(tài),位與位之間的恢復時間可以無限長。如果單總線停留在低電平超過480μs,總線上的所有器件都被復位[10]。</p><p><b> ?。?)執(zhí)行序列</b></p><p>  通過單線總線端口訪問DS18B20的協(xié)議如下:</p><p> ?、俪跏蓟?;②ROM操作指

63、令;③存儲器操作指令;④執(zhí)行/數(shù)據(jù)。</p><p><b> ?。?)初始化</b></p><p>  通過單線總線的所有執(zhí)行(處理)都從一個初始化序列開始。初始化序列包括一個由總線控制器發(fā)出的復位脈沖和跟在其后從機發(fā)出的存在脈沖。存在脈沖讓總線控制器知道DS18B20在總線上且已準備就緒[12]。</p><p><b> ?。?/p>

64、5)I/O信號</b></p><p>  DS18B20需要嚴格的協(xié)議以確保數(shù)據(jù)的完整性。協(xié)議包括幾種單線信號類型:復位脈沖、存在脈沖、寫0、寫1、讀0和讀1。所有這些信號,除存在脈沖外,都是由總線控制器發(fā)出的。</p><p>  和DS18B20間的任何通信都需要以初始化序列開始,初始化序列由一個復位脈沖和一個存在脈沖表示。一個復位脈沖跟著一個存在脈沖表明DS18B20已

65、經(jīng)準備好發(fā)送和接受數(shù)據(jù)(適當?shù)腞OM命令和存儲器操作命令)。</p><p>  總線控制器發(fā)出(TX)一個復位脈沖(一個最少保持480μs的低電平信號),然后釋放總線,進入接收狀態(tài)(RX)。單總線由5kΩ上拉電阻拉倒高電平。探測到I/O引腳上的上升沿后,DS18B20等待15~60μs,然后發(fā)出存在脈沖(一個60~240μs的低電平信號)。</p><p><b> ?。?)讀

66、/寫時間隙</b></p><p>  DS18B20的數(shù)據(jù)讀寫是通過時間隙處理位和命令字來確認信息交換的。</p><p><b> ?、賹憰r間隙</b></p><p>  當主機把數(shù)據(jù)線從邏輯高電平拉倒邏輯低電平的時候,寫時間隙開始。有兩種寫時間隙;寫1時間隙和寫0時間隙。所有寫時間隙必須最少持續(xù)60μs,包括兩個寫周期間至少

67、1μs的恢復時間。</p><p>  I/O線電平變低后,DS18B20在一個15μs到60μs的窗口內對I/O線采樣。如果線上是高電平,就是寫1,如果線上是低電平,就是寫0。</p><p>  主機要生成一個寫時間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫時間隙開始后的15μs內允許數(shù)據(jù)線拉倒高電平。</p><p>  主機要生成一個寫0時間隙,必須把數(shù)據(jù)線拉

68、到低電平并保持60μs。R/ </p><p><b> ?、谧x時間隙</b></p><p>  當從DS18B20讀取數(shù)據(jù)時,主機生成讀時間隙。當主機把數(shù)據(jù)線從高電平拉到低電平時,寫時間隙開始。數(shù)據(jù)線必須保持至少1μs;從DS18B20輸出的數(shù)據(jù)在讀時間隙的下降沿出現(xiàn)后15μs內有效。因此,主機在讀時間隙開始后必須停止把I/O腳驅動為低電平15μs,以讀取I/O腳

69、狀態(tài)。在讀時間隙的結尾,I/O引腳將被外部上拉電阻拉倒高電平。所有讀時間隙必須至少60μs,包括兩個讀周期間至少1μs的恢復時間。</p><p>  3.2.3 DS18B20與單片機連接</p><p>  由于DS18B20是但總線數(shù)字式溫度傳感器,內置了模數(shù)轉換模塊,所以只需按照前面介紹其三個端口各自的功能將其掛在單總線上即可,即VCC端口接電源,DQ端口接單片機的P3.2端口,作

70、為數(shù)據(jù)傳送端口,并接一個5kΩ的上拉電阻,GND端口則接地,其硬件連接如圖3.4所示。</p><p>  圖3.4 DS18B20與單片機硬件連接圖</p><p>  當系統(tǒng)正常運行時,對DS18B20進行初始化后開始采集到溫度,采集溫度后通過內置的模數(shù)轉換模塊對采集到的模擬量進行模數(shù)轉換,轉換成數(shù)字量之后通過DQ端口將其送到單片機進行處理,處理之后送往顯示。</p>&

71、lt;p>  3.3 顯示模塊硬件設計</p><p>  3.3.1數(shù)碼管顯示器的結構及其特點</p><p>  七段數(shù)碼管是數(shù)碼的一種是半島體發(fā)光器件,數(shù)碼管可分為七段數(shù)碼管和八段數(shù)碼管,區(qū)別在于八段數(shù)碼管比七段數(shù)碼管多一個發(fā)光二極管單元,其基本單元是發(fā)光二極管。</p><p>  數(shù)碼管是一類價格便宜 使用簡單,通過隊其不同的管腳輸入相對的電流,使其

72、發(fā)亮,從而顯示出數(shù)字能夠顯示 時間、日期、溫度等所有可用數(shù)字表示的參數(shù)的器件。</p><p>  在電器特別是家電領域應用極為廣泛,如顯示屏、空調、熱水器、冰箱等等。絕大多數(shù)熱水器用的都是數(shù)碼管,其他家電也用液晶屏與熒光屏。</p><p>  需要使其具有恒定的工作電流采用恒流驅動電路后可防止短時間的電流過載也可能對發(fā)光管造成永久性的損壞, 以此避免電流故障所引起的七段數(shù)碼管的大面積損

73、壞。</p><p>  超大規(guī)模集成電路還具有熱保護功能,當任何一片的溫度超過一定值時可自動關閉, 并且可在控制室內看到故障顯示。</p><p>  直流驅動是指每個數(shù)碼管的每個段碼都由一個單片機的 I/O 端口進行驅動, 或者使用如BCD碼二-十進制譯碼器譯碼進行驅動。優(yōu)點是編程簡單,顯示亮度高,缺點是占用 I/O端口多。</p><p>  動態(tài)顯示驅動是將

74、所有數(shù)碼管通過分時輪流控制各個數(shù)碼管的的COM端,就使各個數(shù)碼管輪流受控顯示。將所有數(shù)碼管的8個顯示筆劃"a,b,c,d,e,f,g,dp"的同名端連在一起,另外為每個數(shù)碼管的公共極COM增加位選通控制電路,位選通由各自獨立的I/O線控制,當單片機輸出字形碼時,所有數(shù)碼管都接收到相同的字形碼,但究竟是那個數(shù)碼管會顯示出字形,取決于單片機對位選通COM端電路的控制,所以我們只要將需要顯示的數(shù)碼管的選通控制打開,該位就顯

75、示出字形,沒有選通的數(shù)碼管就不亮。</p><p>  圖3.5 LED顯示模塊</p><p>  第4章八路溫度采集軟件設計</p><p>  4.1 溫度采集程序設計</p><p><b>  流程圖如下:</b></p><p><b>  程序:</b><

76、;/p><p>  void Init_DS18B20_1(void)//初始化ds1820</p><p><b>  {</b></p><p>  DQ_0 = 1; //DQ復位</p><p>  Delay(8); //稍做延時</p><p>  DQ_0 = 0; /

77、/單片機將DQ拉低</p><p>  Delay(80); //精確延時 大于 480us</p><p>  DQ_0 = 1; //拉高總線</p><p>  Delay(14);</p><p>  Delay(20);</p><p><b>  }</b></p>

78、;<p>  unsigned char ReadOneChar_1(void)//讀一個字節(jié)</p><p><b>  {</b></p><p>  unsigned char i=0;</p><p>  unsigned char dat = 0;</p><p>  for (i=8;i>

79、0;i--)</p><p><b>  {</b></p><p>  DQ_0 = 0; // 給脈沖信號</p><p><b>  dat>>=1;</b></p><p>  DQ_0 = 1; // 給脈沖信號</p><p><b>  i

80、f(DQ_0)</b></p><p>  dat|=0x80;</p><p><b>  Delay(4);</b></p><p><b>  }</b></p><p>  return(dat);</p><p><b>  }</b&g

81、t;</p><p>  void WriteOneChar_1(unsigned char dat)//寫一個字節(jié)</p><p><b>  {</b></p><p>  unsigned char i=0;</p><p>  for (i=8; i>0; i--)</p><p>

82、<b>  {</b></p><p><b>  DQ_0 = 0;</b></p><p>  DQ_0 = dat&0x01;</p><p><b>  Delay(5);</b></p><p><b>  DQ_0 = 1;</b>&l

83、t;/p><p><b>  dat>>=1;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  4.2 數(shù)據(jù)處理程序設計</p><p><b>  流程圖:</b>

84、;</p><p><b>  程序:</b></p><p>  unsigned int ReadTemperature(void)//讀取溫度</p><p><b>  {</b></p><p>  unsigned char a=0;</p><p>  unsi

85、gned char b=0;</p><p>  unsigned int t=0;</p><p>  float tt=0;</p><p><b>  switch(i)</b></p><p>  { case 0 : Init_DS18B20_1();</p><p>  Writ

86、eOneChar_1(0xCC); // 跳過讀序號列號的操作</p><p>  WriteOneChar_1(0x44); // 啟動溫度轉換</p><p>  Init_DS18B20_1();</p><p>  WriteOneChar_1(0xCC); //跳過讀序號列號的操作</p><p>  WriteOneChar_1(

87、0xBE); //讀取溫度寄存器</p><p>  a=ReadOneChar_1(); //讀低8位</p><p>  b=ReadOneChar_1(); //讀高8位</p><p><b>  break;</b></p><p>  case 1 : Init_DS18B20_2();&l

88、t;/p><p>  WriteOneChar_2(0xCC); // 跳過讀序號列號的操作</p><p>  WriteOneChar_2(0x44); // 啟動溫度轉換</p><p>  Init_DS18B20_2();</p><p>  WriteOneChar_2(0xCC); //跳過讀序號列號的操作</p>&

89、lt;p>  WriteOneChar_2(0xBE); //讀取溫度寄存器</p><p>  a=ReadOneChar_2(); //讀低8位</p><p>  b=ReadOneChar_2(); //讀高8位</p><p><b>  break;</b></p><p>  case

90、2 : Init_DS18B20_3();</p><p>  WriteOneChar_3(0xCC); // 跳過讀序號列號的操作</p><p>  WriteOneChar_3(0x44); // 啟動溫度轉換</p><p>  Init_DS18B20_3();</p><p>  WriteOneChar_3(0xCC);

91、//跳過讀序號列號的操作</p><p>  WriteOneChar_3(0xBE); //讀取溫度寄存器</p><p>  a=ReadOneChar_3(); //讀低8位</p><p>  b=ReadOneChar_3(); //讀高8位</p><p><b>  break;</b><

92、/p><p>  case 3 : Init_DS18B20_4();</p><p>  WriteOneChar_4(0xCC); // 跳過讀序號列號的操作</p><p>  WriteOneChar_4(0x44); // 啟動溫度轉換</p><p>  Init_DS18B20_4();</p><p>

93、;  WriteOneChar_4(0xCC); //跳過讀序號列號的操作</p><p>  WriteOneChar_4(0xBE); //讀取溫度寄存器</p><p>  a=ReadOneChar_4(); //讀低8位</p><p>  b=ReadOneChar_4(); //讀高8位</p><p><b&

94、gt;  break;</b></p><p>  case 4 : Init_DS18B20_5();</p><p>  WriteOneChar_5(0xCC); // 跳過讀序號列號的操作</p><p>  WriteOneChar_5(0x44); // 啟動溫度轉換</p><p>  Init_DS18B20

95、_5();</p><p>  WriteOneChar_5(0xCC); //跳過讀序號列號的操作</p><p>  WriteOneChar_5(0xBE); //讀取溫度寄存器</p><p>  a=ReadOneChar_5(); //讀低8位</p><p>  b=ReadOneChar_5(); //讀高8位&l

96、t;/p><p><b>  break;</b></p><p>  case 5 : Init_DS18B20_6();</p><p>  WriteOneChar_6(0xCC); // 跳過讀序號列號的操作</p><p>  WriteOneChar_6(0x44); // 啟動溫度轉換</p>

97、<p>  Init_DS18B20_6();</p><p>  WriteOneChar_6(0xCC); //跳過讀序號列號的操作</p><p>  WriteOneChar_6(0xBE); //讀取溫度寄存器</p><p>  a=ReadOneChar_6(); //讀低8位</p><p>  b=Rea

98、dOneChar_6(); //讀高8位</p><p><b>  break;</b></p><p>  case 6 : Init_DS18B20_7();</p><p>  WriteOneChar_7(0xCC); // 跳過讀序號列號的操作</p><p>  WriteOneChar_7(0

99、x44); // 啟動溫度轉換</p><p>  Init_DS18B20_7();</p><p>  WriteOneChar_7(0xCC); //跳過讀序號列號的操作</p><p>  WriteOneChar_7(0xBE); //讀取溫度寄存器</p><p>  a=ReadOneChar_7(); //讀低8位<

100、;/p><p>  b=ReadOneChar_7(); //讀高8位</p><p><b>  break;</b></p><p>  case 7 : Init_DS18B20_8();</p><p>  WriteOneChar_8(0xCC); // 跳過讀序號列號的操作</p>&l

101、t;p>  WriteOneChar_8(0x44); // 啟動溫度轉換</p><p>  Init_DS18B20_8();</p><p>  WriteOneChar_8(0xCC); //跳過讀序號列號的操作</p><p>  WriteOneChar_8(0xBE); //讀取溫度寄存器</p><p>  a=Read

102、OneChar_8(); //讀低8位</p><p>  b=ReadOneChar_8(); //讀高8位</p><p><b>  break;</b></p><p>  default : break;</p><p>  } //end switch(i)</p><p

103、><b>  t=b;</b></p><p><b>  t<<=8;</b></p><p><b>  t=t|a;</b></p><p>  tt=t*0.0625;</p><p>  t= tt*10+0.5; //放大10倍輸出并四舍五入<

104、;/p><p>  return(t);</p><p><b>  }</b></p><p>  4.3 顯示程序設計</p><p><b>  流程圖:</b></p><p><b>  程序:</b></p><p>  

105、#include <AT89X52.h></p><p>  #include <string.h></p><p>  #include <led.h></p><p>  uchar dis_buf[led_number]; //定義顯示數(shù)據(jù)寄存</p><p>  typedef struct t

106、ypNumber//------字符字模顯示數(shù)據(jù)結構------</p><p><b>  {</b></p><p>  uchar Index[1];</p><p>  uchar Msk[1];</p><p><b>  };</b></p><p>  str

107、uct typNumber code duanma[] = { //段碼數(shù)據(jù)</p><p>  "0",0x3f, // 0 00</p><p>  "1",0x06, // 1 01</p><p>  "2",0x5b, //

108、 2 02</p><p>  "3",0x4f, // 3 03</p><p>  "4",0x66, // 4 04</p><p>  "5",0x6d, // 5 05</p><p>  

109、"6",0x7d, // 6 06</p><p>  "7",0x07, // 7 07</p><p>  "8",0x7f, // 8 08</p><p>  "9",0x6F, //

110、 9 09</p><p>  "A",0x77, // A 0A</p><p>  "B",0x7c, // b 0B</p><p>  "C",0x39, // C 0C</p><p> 

111、 "D",0x5e, // d 0D</p><p>  "E",0x79, // E 0E</p><p>  "F",0x71, // F 0F</p><p>  "-",0x40, //

112、 - 10</p><p>  "r",0x50, // r 11</p><p>  "o",0x63, // o 12</p><p>  " ",0x00, // " " 13</p>

113、<p><b>  };</b></p><p>  uchar code Bit_Led[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位碼數(shù)據(jù)</p><p>  void delay_1(uchar x)</p><p>  { uchar i,j;</p>

114、<p>  for(i=0;i<x;i++)</p><p>  for(j=0;j<20;j++);</p><p><b>  }</b></p><p>  void Led_Disp(uchar *num)</p><p>  { uchar i,j,uLen;

115、 //變量定義</p><p>  uLen=strlen(num); //得到要顯示的數(shù)字的個數(shù)</p><p>  if(uLen > led_number)</p><p>  { dis_buf[0]=0x50;dis_buf[1]=0x50;dis_buf[2]=0x79; //顯示“Err”</p>&l

116、t;p>  for ( i=3;i<led_number;i++ )</p><p>  { dis_buf[i]=0x00; }</p><p><b>  }</b></p><p><b>  else</b></p><p>  { for ( i=0;i<uLen;i+

117、+ )</p><p><b>  {</b></p><p>  for(j=0;j<sizeof(duanma)/sizeof(duanma[0]);j++)</p><p><b>  {</b></p><p>  if(num[(uLen-1)-i] == duanma[j].Ind

118、ex[0])</p><p><b>  break;</b></p><p><b>  }</b></p><p>  dis_buf[i] = duanma[j].Msk[0];</p><p><b>  }</b></p><p>  for

119、( i=uLen;i<led_number;i++ )</p><p>  { dis_buf[i]=0x00; }</p><p><b>  }</b></p><p>  for (j=0;j<50;j++) //刷新100次</p><p><b>  {</b><

溫馨提示

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

評論

0/150

提交評論