2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  數(shù)字溫度傳感器的設計</p><p>  [摘要] 隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設施就需要從數(shù)單片機技術入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用

2、數(shù)字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用。</p><p>  現(xiàn)代測溫應用中,溫度計向數(shù)字化方向發(fā)展。傳統(tǒng)的機遇物理方法的溫度計功能單一,而數(shù)字溫度計以其便攜,檢測精度高,功能多等優(yōu)點應用的越來越廣泛。</p><p>  [關鍵詞]單片機;溫度計;智能化控制 </p><p

3、>  Digital temperature sensor design</p><p>  [Abstract]As people living standard rise ceaselessly, SCM control is undoubtedly one of the goals of the people to pursue, it brings convenience is not negati

4、ve, including digital thermometer is one example, for modern people to work, scientific research, life, provide better more convenient facilities need microcontroller technology from several of toward all digital control

5、 system, intelligent control direction. As introduced in the digital thermometer and the traditional thermometer, it is ch</p><p>  Modern measuring temperature applications, the thermometer to the digital d

6、evelopment direction ,traditional physical method of thermometers opportunity single function, and digital thermometer with its portable, high accuracy, the function is much advantages of application more and more widely

7、. </p><p>  [Key words]Single chip microcomputer、 The thermometer; Intelligent control</p><p><b>  目 錄</b></p><p><b>  第1章 前言4</b></p><p> 

8、 1.1 單片機簡介4</p><p>  1.2 基于單片機和溫度傳感器設計數(shù)字溫度計的發(fā)展現(xiàn)狀4</p><p>  1.3 基于單片機和溫度傳感器設計數(shù)字溫度器的技術現(xiàn)狀5</p><p>  1.4 選擇設計的意義5</p><p>  第2章 單片機溫度設計制作準備6</p><p>  2.1

9、電路介紹6</p><p>  2.2 制作焊接要求及注意事項6</p><p>  2.3 制作所需電子元件及其功能介紹7</p><p>  2.4 安裝完成調(diào)試說明及使用說明8</p><p>  第3章 單片機的溫度計設計各個部分工作及其相關性能介紹8</p><p>  3.1 溫度計的總體設計

10、8</p><p>  3.1.1 總體論述8</p><p>  3.1.2 設計思路9</p><p>  3.2 硬件說明9</p><p>  3.2.1 測量輸入模塊9</p><p>  3.2.2 鍵盤輸入模塊13</p><p>  3.2.3 顯示模塊14</

11、p><p>  3.2.4 報警模塊14</p><p>  3.2.5 設計思路14</p><p>  3.2.6 AT89C2051的低功耗措施15</p><p>  3.2.7 主控制部分及系統(tǒng)方案15</p><p>  3.3軟件和功能的說明16</p><p>  3.3.

12、1 數(shù)據(jù)的讀取16</p><p>  3.3.2 DS18B20的軟件設計17</p><p>  第4章 設計制作心得體會18</p><p><b>  參考文獻18</b></p><p><b>  致 謝18</b></p><p><b&

13、gt;  附表19</b></p><p><b>  第1章 前言</b></p><p><b>  1.1 單片機簡介</b></p><p>  單片機全稱為單片微型計算機。單片機發(fā)展始于70年代,經(jīng)過30多年的發(fā)展,由于其具有高集成度、低功耗、工作電壓范圍寬、價格便宜、使用方便等諸多優(yōu)點而在廣泛使

14、用。到目前為止將單片機發(fā)展階段分為三個階段,分別為初級階段、高性能階段、以及高位單片機的推出。通常單片機內(nèi)部含有中央處理部件(CPU)、數(shù)據(jù)存儲器(RAM)、程序存儲器(ROM、EPROM、Flash ROM)、定時器、計數(shù)器和各種輸入輸出接口等。目前8位單片機是目前品種最豐富、應用最廣泛的單片機。今天我所使用的就其中比較典型的一種8位單片機AT89C51。</p><p>  1.2 基于單片機和溫度傳感器設計

15、數(shù)字溫度計的發(fā)展現(xiàn)狀</p><p>  隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設施就需要從數(shù)單片機技術入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,主要用于對

16、測溫比較準確的場所,或科研實驗室使用。檢測是控制的基礎和前提,而檢測的精度必須高于控制的精確度,否則無從實現(xiàn)控制的精度要求。不僅如此,檢測還涉及國計民生各個部門,可以說在所以科學技術領域無時不在進行檢測??茖W技術的發(fā)展和檢測技術的發(fā)展是密切相關的。現(xiàn)代化的檢測手段能達到的精度、靈敏度及測量范圍等,在很大程度上決定了科學技術的發(fā)展水平。同時,科學技術的發(fā)展達到的水平越高,又為檢測技術、傳感器技術提供了新的前提手段。目前溫度計的發(fā)展很快,從

17、原始的玻璃管溫度計發(fā)展到了現(xiàn)在的熱電阻溫度計、熱電偶溫度計、數(shù)字溫度計、電子溫度計等等。目前的溫度計中傳感器是它的重要組成部分,它的精度靈敏度基本決定了溫度計的精度、測量范圍、控制范圍和</p><p>  1.3 基于單片機和溫度傳感器設計數(shù)字溫度器的技術現(xiàn)狀</p><p>  目前基于單片機的溫度傳感器設計的數(shù)字溫度計已經(jīng)很成熟,各種精度很高的溫度計不斷推出。數(shù)字溫度計要求檢測的精度

18、必須高于控制的精確度,否則無從實現(xiàn)控制的精度要求。所以精度已經(jīng)成為數(shù)字溫度計的一項重要的性能參數(shù)。因此追求高精度是數(shù)字溫度計的一個目標。不僅如此,檢測還涉及國計民生各個部門,可以說在所以科學技術領域無時不在進行檢測??茖W技術的發(fā)展和檢測技術的發(fā)展是密切相關的。現(xiàn)代化的檢測手段能達到的精度、靈敏度及測量范圍等,在很大程度上決定了科學技術的發(fā)展水平。同時,科學技術的發(fā)展達到的水平越高,又為檢測技術、傳感器技術提供了新的前提手段。目前市場上出

19、現(xiàn)了很多傳感器,很多精度高的傳感器已經(jīng)出現(xiàn),而且精度越來越高。數(shù)字溫度計未來將會更精確、更人性化,為我們做出更多貢獻。</p><p>  1.4 選擇設計的意義</p><p>  隨著人們生活水平的不斷提高,單片機控制無疑是人們追求的目標之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計就是一個典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設施

20、就需要從數(shù)單片機技術入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。本設計所介紹的數(shù)字溫度計與傳統(tǒng)的溫度計相比,具有讀數(shù)方便,測溫范圍廣,測溫準確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準確的場所,或科研實驗室使用。</p><p>  現(xiàn)代測溫應用中,溫度計向數(shù)字化方向發(fā)展。傳統(tǒng)的機遇物理方法的溫度計功能單一,而數(shù)字溫度計以其便攜,檢測精度高,功能多等優(yōu)點應用的越來越廣泛。隨著技術的發(fā)展,一些環(huán)境比較惡劣的場

21、合中也能覓得數(shù)字溫度計的蹤跡。在本文中,主要從功能組合,硬件組合,軟件算法和降低功耗等幾個方面探討溫度計的設計。</p><p>  第2章 單片機溫度設計制作準備</p><p><b>  2.1 電路介紹</b></p><p>  該電路是由18B20溫度傳感器作為溫度傳感元件,并由AT89C2051單片機進行數(shù)據(jù)處理輸出,顯示模塊是

22、由0.56寸大的三位共陽極數(shù)碼管顯示溫度值。此電路可由外接5V---12V的直流電電源提供。</p><p>  溫度顯示和控制的范圍為:-55℃----125℃之間,精確度到達1℃,即數(shù)碼管顯示溫度為整數(shù)。如果設定的報警溫度為30℃,則當溫度到達30℃的時候,報警發(fā)光二極管發(fā)光同時蜂鳴器發(fā)出響聲,此時繼電器發(fā)生動作。如果不需要對溫度控制報警,可以將報警溫度設置提高。如果是為了控制局部溫度,可以把18B20用引線

23、引出,但是距離不宜過大,注意引腳要絕緣。</p><p>  2.2 制作焊接要求及注意事項</p><p>  1、形成“℃”攝氏度符號的單個數(shù)碼管應倒置焊接,否則形成的攝氏度符號是反方向的。</p><p>  2、7850穩(wěn)壓塊,應該貼板安裝,節(jié)約空間,同時散熱較好,常溫下,7850穩(wěn)壓塊溫度不會很高。</p><p>  3、DS18

24、B20、1N4148、LED、三極管、發(fā)光二極管和電容不能接反,一旦接反都不能實現(xiàn)功能。</p><p>  4、電阻為臥式安放焊接。</p><p>  5、進行焊接的時候盡量保證焊錫不能過多,以免元件二個引腳短路。</p><p>  2.3 制作所需電子元件及其功能介紹</p><p>  表1 電子元器件及功能介紹</p>

25、<p>  2.4 安裝完成調(diào)試說明及使用說明</p><p>  1、調(diào)試之前,復查電路確保焊接無誤,各個引腳沒有短路,才可以外接電源進行試驗調(diào)試。</p><p>  2、調(diào)試的時候要讓電路板在常溫和干燥環(huán)境下工作,在此環(huán)境下才可以更加容易調(diào)試。</p><p>  3、繼電器控制輸出接線柱,為一個常開,一個為常閉,中間是公共端,通電調(diào)試之前要用萬

26、用表測試一下。</p><p>  4、各個按鈕操作說明</p><p>  (1)如果電路正常,接通電源后,只是顯示“℃”攝氏度符號,沒有溫度顯示。</p><p> ?。?)按下AN3,先顯示上次存儲下來的設定溫度(報警溫度值),然后再顯示環(huán)境溫度值,并隨環(huán)境溫度變化而變化。</p><p> ?。?)再按AN3,溫度數(shù)字閃爍,待調(diào)節(jié)。&

27、lt;/p><p> ?。?)接著AN1或者AN2:按AN1為報警溫度值增大,最大為125℃;按AN2為報警溫度值減小,最小為-55℃。</p><p> ?。?)調(diào)好溫度值后按一下AN3,調(diào)好的報警溫度值被保存,此時數(shù)碼管又顯示當前環(huán)境溫度值。當溫度達到被保存的報警溫度值時,電路發(fā)出報警信號和動作。</p><p>  第3章 單片機的溫度計設計各個部分工作及其相關

28、性能介紹</p><p>  3.1 溫度計的總體設計</p><p>  3.1.1 總體論述</p><p>  此次所討論的數(shù)字溫度計,除了完成基本的溫度測量外,還能夠滿足最高最低溫度設置及報警,在不同的環(huán)境中,所要求的最高溫度和最低溫度是不同的,因此最高溫度和最低溫度應能夠根據(jù)環(huán)境不同而設置成不同的數(shù)值。還有些場合要求每隔一定得時間段進行讀取一次數(shù)值,當相隔

29、的時間比較長而所需要讀取的數(shù)據(jù)又比較多時,認為的讀取就比較麻煩,因此應具備自動讀取和存儲若干組溫度值的功能。另外,在野外工作時能夠選擇其工作模式以降低功耗。</p><p>  3.1.2 設計思路</p><p>  由論述可知,所設計的這種溫度計的功能是傳統(tǒng)的物理溫度計無法完成的。在分析之后決定采用以單片機AT89C51為核心的系統(tǒng)進行設計。主要有以下幾個模塊:測量輸入模塊,鍵盤設置模

30、塊,運算處理模塊,顯示模塊和報警模塊。有這幾個模塊組成的系統(tǒng)框圖如圖一所示:</p><p><b>  3.2 硬件說明</b></p><p>  3.2.1 測量輸入模塊</p><p><b>  1、傳感器的選擇</b></p><p>  設計單片機數(shù)字溫度計需要考慮以下3個方面<

31、/p><p>  ·溫度傳感器的選擇;</p><p>  ·單片機和溫度傳感器的接口電路;</p><p>  ·控制溫度傳感器實現(xiàn)溫度信息采集以及數(shù)據(jù)傳輸?shù)能浖?lt;/p><p>  單片機的接口信號是數(shù)字信號。要想用單片機獲取溫度這類非電信號的信息,必須使用溫度傳感器,將溫度信息轉換為電流或電壓輸出。如果轉換后

32、的電流或電壓輸出是模擬信號,還必須進行A/D轉換,以滿足單片機接口的需要。傳統(tǒng)的溫度檢測大多以熱敏電阻作為溫度傳感器。但是,熱敏電阻的可靠性較差、測量溫度準確率低,而且還必須經(jīng)專門的接口電路轉換成數(shù)字信號后才能由單片機進行處理。20世紀90年代中期出現(xiàn)了智能溫度傳感器(亦稱數(shù)字溫度傳感器)。智能溫度傳感器的內(nèi)部都包含溫度傳感器、A/D轉換器、信號處理器、存儲器(或寄存器)和接口電路,其特點是能直接輸出數(shù)字化的溫度數(shù)據(jù)及相關的溫度控制量,

33、適配各種</p><p>  微控制器(MCU)。其中DS18B20就是一種應用相當廣泛的單總線數(shù)字溫度傳感器,它結構簡單、不需外接元件,采用一根I/O數(shù)據(jù)線既可供電又可傳輸數(shù)據(jù)、并可設置溫度報警界限等特點,廣泛用于工業(yè)、民用等領域的溫度測量中。</p><p>  2、DS18B20的介紹</p><p>  (1) DS18B20芯片簡介(此資料參考《傳感器應用

34、及電路設計》)</p><p>  DS18B20是單總線數(shù)字化智能集成溫度傳感器。單總線它采用單根信號線,既傳輸時鐘又傳輸數(shù)據(jù),而且數(shù)據(jù)傳輸是雙向的,具有節(jié)省I/O口線資源、結構簡單、成本低廉、便于總線擴展和維護等諸多優(yōu)點。與其它溫度傳感器相比,DS18B20具有以下特性:①獨特的單線接口方式,在與微處理器連接時僅需要一條接口線即可實現(xiàn)微處理器與DS18B20的雙向通信。②DS18B20支持多點組網(wǎng)功能,多個D

35、S18B20可以并聯(lián)在唯一的信號線上,實現(xiàn)多點測溫。③DS18B20在使用中不需要任何外圍元件。④測溫范圍-55℃~+125℃,固有測溫分辨率0·625℃。⑤測量結果以9~12位數(shù)字量方式串行傳送。</p><p> ?。?)DS18B20內(nèi)部結構</p><p>  DS18B20內(nèi)部結構主要由四部分組成:64位光刻ROM,溫度傳感器,非揮發(fā)的溫度報警觸發(fā)器TH和TL,高速暫存

36、器。64位光刻ROM是出廠前被光刻好的,它可以看作是該DS18B20的地址序列號。 DS18B20的管腳排列如圖2所示。</p><p><b>  引腳功能如下:</b></p><p>  NC:空引腳,懸空不使用;</p><p>  VDD:可選電源腳,電源電壓范圍3~5.5V。工作于寄生電源時,此引腳應接地;</p&g

37、t;<p>  DQ:數(shù)據(jù)輸入/輸出腳,漏極開路,常態(tài)下高電平。</p><p>  DSl8820的核心功能部件是它的數(shù)字溫度傳感器,其分辨率可配置為9、10、11和12位,出廠默認設置為12位分辨率,對應的溫度值分辨率分別為0.5、0.25、0.125和0.0625。溫度信息的低位、高位字節(jié)內(nèi)容中,還包括了符號位S(是正溫度還是負溫度)和二進制小數(shù)部分,具體形式為:</p><

38、;p><b>  低位字節(jié):</b></p><p><b>  高位字節(jié):</b></p><p>  這是12位分辨率的情況,如果配置為低的分辨率,則其中無意義位為0。</p><p>  實測溫度和數(shù)字輸出的對應關系如表2所示。</p><p>  表2 實測溫度和數(shù)字輸出的對應關系&l

39、t;/p><p>  在DSl8B20完成溫度變換之后,溫度值與儲存在TH和TL內(nèi)的告警觸發(fā)值進行比較。由于是8位寄存器,所以9~12位在比較時忽略。TH或TL的最高位直接對應于16位溫度寄存器的符號位。如果溫度測量的結果高于TH或低于TL,那么器件內(nèi)告警標志將置位,每次溫度測量都會更新此標志。只要告警標志置位,DSl8B20就將響應告警搜索命令,這也就允許單線上多個DSl8B20同時進行溫度測量,即使某處溫度越限,

40、也可以識別出正在告警的器件。</p><p>  3、DS18B20控制方法 </p><p><b>  ,</b></p><p>  表3 DS18B20有六條控制命令</p><p>  4、DS18B20的通信協(xié)議</p><p>  DS18B20器件要求采用嚴格的通信協(xié)議,以保證數(shù)

41、據(jù)的完整性。該協(xié)議定義了幾種信號類型:復位脈沖,應答脈沖時隙;寫0,寫1時隙;讀0,讀1時隙。與DS18B20的通信,是通過操作時隙完成單總線上的數(shù)據(jù)傳輸。發(fā)送所有的命令和數(shù)據(jù)時,都是字節(jié)的低位在前,高位在后。</p><p><b>  復位和應答脈沖時隙</b></p><p>  每個通信周期起始于微控制器發(fā)出的復位脈沖,其后緊跟DS18B20發(fā)出的應答脈沖,在

42、寫時隙期間,主機向DS18B20器件寫入數(shù)據(jù),而在讀時隙期間,主機讀入來自DS18B20的數(shù)據(jù)。在每一個時隙,總線只能傳輸一位數(shù)據(jù)。</p><p><b>  寫時隙</b></p><p>  當主機將單總線DQ從邏輯高拉到邏輯低時,即啟動一個寫時隙,所有的寫時隙必須在60~120us完成,且在每個循環(huán)之間至少需要1us的恢復時間。寫0和寫1時隙如圖所示。在寫0時

43、隙期間,微控制器在整個時隙中將總線拉低;而寫1時隙期間,微控制器將總線拉低,然后在時隙起始后15us之釋放總線。</p><p><b>  讀時隙</b></p><p>  DS18B20器件僅在主機發(fā)出讀時隙時,才向主機傳輸數(shù)據(jù)。所以在主機發(fā)出讀數(shù)據(jù)命令后,必須馬上產(chǎn)生讀時隙,以便DS18B20能夠傳輸數(shù)據(jù)。所有的讀時隙至少需要60us,且在兩次獨立的讀時隙之間

44、,至少需要1us的恢復時間。每個讀時隙都由主機發(fā)起,至少拉低總線1us。在主機發(fā)起讀時隙之后,DS18B20器件才開始在總線上發(fā)送0或1,若DS18B20發(fā)送1,則保持總線為高電平。若發(fā)送為0,則拉低總線當發(fā)送0時,DS18B20在該時隙結束后,釋放總線,由上拉電阻將總線拉回至高電平狀態(tài)。DS18B20發(fā)出的數(shù)據(jù),在起始時隙之后保持有效時間為15us。因而主機在讀時隙期間,必須釋放總線。并且在時隙起始后的15us之內(nèi)采樣總線的狀態(tài)。&l

45、t;/p><p><b>  以下圖片參照</b></p><p>  3.2.2 鍵盤輸入模塊</p><p>  鍵盤模塊使用的是3個鍵,分別命名為確定鍵、+和-。確定鍵為確定并退出,+和-為參數(shù)菜單的選擇。在開機時按確定鍵進入一級菜單,然后按+和-進行選擇要調(diào)節(jié)的參數(shù),在這段過程的任一時間按確定鍵確定并退出。菜單如表4所示:</p>

46、;<p><b>  表4 相關參數(shù)菜單</b></p><p>  3.2.3 顯示模塊</p><p>  顯示部分采用一位共陽數(shù)碼管和三位共陽數(shù)碼管,能夠同時顯示溫度和單位。</p><p>  3.2.4 報警模塊</p><p>  報警模塊采用的是聲光報警電路,當檢測溫度超過設定的上下限值時,單

47、片機就會發(fā)出報警脈沖,使得報警電路工作,產(chǎn)生報警信號,</p><p><b>  如圖所示。</b></p><p>  3.2.5 設計思路</p><p>  系統(tǒng)設計的總體思路是圍繞如何實現(xiàn)低功耗開展??刂乒?必須從內(nèi)部著手。對于數(shù)字化的測量系統(tǒng),通過適當?shù)剡x擇采樣周期,在一個采樣周期內(nèi),迅速地測量溫度,然后進入電流消耗較低的“休息”

48、狀態(tài),就可以大幅度地減小整個系統(tǒng)的電流的消耗。假設采樣可以在Ts=10 ms之內(nèi)完成,采樣時消耗的電流為Is=1mA,采樣周期為TA=1 s,非測量狀態(tài)的電流消耗為Ib=0.04 mA,</p><p>  整個系統(tǒng)的平均電流消耗為:</p><p>  I平均= (Ts×Is+(TA-Ts)×Ib) /TA=Ib+Ts/TA×(Is-Ib) =0.0496

49、mA</p><p>  從公式中得出,在Ts/TA采樣時消耗的電流對整個系統(tǒng)的平均電流影響并不很大,只要恰當?shù)剡x擇Ib, Is,Ts,TA就可以達到降低功耗的目的。可以從以下幾個方面入手:</p><p>  (1)減小Ib,減小休息時的電流消耗,方法一是盡量減少在“休息”狀態(tài)下還要工作的模塊數(shù)量,二是選用低功耗元器件。</p><p>  (2)減小Is,采樣時

50、,工作的元件要盡量降低功耗,選擇電流消耗較小的型號。</p><p>  (3)減小Ts,減小工作時間,完成采樣后盡快結束工作。</p><p>  3.2.6 AT89C2051的低功耗措施</p><p>  AT89C2051是采用CMOS工藝的低功耗8位單片機芯片,在工作電壓為5V時,8051工作電流為150mA,而AT89C2051為2.4mA一24mA。

51、AT89C2051具有正常、空閑、掉電三種工作狀態(tài)。它的時鐘頻率范圍為1.2MHz一12MHz,在工作電壓5V的正常狀態(tài)下運行,工作電流為24mA;在空閑方式下運行時,工作電流為3mA,在掉電方式下,工作電流為50uA??臻e和掉電方式都可以用軟件選擇運行,如果單片機處在空閑方式或掉電方式下,需要時才進人正常運行狀態(tài),就可以大大減少單片機的功耗。</p><p>  空閑方式時,CPU停止工作,而RAM、串行口、計

52、數(shù)器/定時器和中斷系統(tǒng)仍在工作,CPU內(nèi)部的狀態(tài)(程序計數(shù)器、堆棧指針、程序狀態(tài)字、累加器、片內(nèi)RAM的狀態(tài))完整地保留下來。使用中斷或復位可以把CPU從空閑狀態(tài)喚醒進人正常狀態(tài)。掉電方式時,片內(nèi)振蕩器停止工作,所有的運行狀態(tài)都停止了,只加電維持片內(nèi)RAM內(nèi)容不被破壞。解除掉電工作方式,只能用硬件復位的方法,復位時不改變片內(nèi)RAM的內(nèi)容。。</p><p>  3.2.7 主控制部分及系統(tǒng)方案</p>

53、<p>  方案一:此方案采用PC機實現(xiàn)。它可在線編程,可在線仿真的功能,這讓調(diào)試變得方便。且人機交互友好。但是PC機輸出信號不能直接與DS18B20通信。需要通過RS232電平轉換兼容,硬件的合成在線調(diào)試,較為繁瑣,很不簡便。而且在一些環(huán)境比較惡劣的場合,PC機的體積大,攜帶安裝不方便,性能不穩(wěn)定,給工程帶來很多麻煩!方案二:此方案采用AT89S52單片機實現(xiàn)。單片機軟件編程的自由度大,可通過編程實現(xiàn)各種各樣的算術

54、算法和邏輯控制。而且體積小,硬件實現(xiàn)簡單,安裝方便。既可以單獨對多DS18B20控制工作,還可以與PC機通信.運用主從分布式思想,由一臺上位機(PC微型計算機),下位機(單片機)多點溫度數(shù)據(jù)采集,組成兩級分布式多點溫度測量的巡回檢測系統(tǒng),實現(xiàn)遠程控制。另外AT89S52在工業(yè)控制上也有著廣泛的應用,編程技術及外圍功能電路的配合使用都很成熟。</p><p>  綜上所述,溫度傳感器以及主控部分都采用第二方案。系

55、統(tǒng)采用針對傳統(tǒng)溫度測溫系統(tǒng)測溫點少,系統(tǒng)兼容性及擴展性較差的特點,運用分布式通訊的思想。設計一種可以用于大規(guī)模多點溫度測量的巡回檢測系統(tǒng)。通過下位機(單片機)進行現(xiàn)場的溫度采集,溫度數(shù)據(jù)既可以由下位機模塊實時顯示,也可以送回上位機進行數(shù)據(jù)處理,具有巡檢速度快,擴展性好,成本低的特點。實際采用電路方案見附表一</p><p>  3.3軟件和功能的說明</p><p>  3.3.1 數(shù)據(jù)

56、的讀取</p><p>  其大致程序流程如圖所示:</p><p>  3.3.2 DS18B20的軟件設計</p><p>  單片機實現(xiàn)溫度轉換讀取溫度數(shù)值程序的流程如圖所示:</p><p>  圖7 單片機實現(xiàn)溫度轉換讀取溫度數(shù)值程序</p><p>  第4章 設計制作心得體會</p>&l

57、t;p>  溫度計的整體設計大致如上文所述,經(jīng)過分析可知該溫度計的思路是可行的。由上述可知該溫度計能夠適應多種場合的需要同時其工作效率較高,而且低功耗模式的功能由讓其具有較低的經(jīng)濟投資。隨著電子技術的不斷發(fā)展,按著此思路設計的溫度計的性能也一定會越來越好。</p><p>  經(jīng)過此次設計,我了解了一些傳感器的知識,對智能儀器的設計有了一個整體的認識,這有利于我以后深入學習或參加工作。</p>

58、<p><b>  參考文獻</b></p><p>  [1] 沙占友.智能溫度傳感器的發(fā)展趨勢[J].電子技術應用,2002(5):6-7.</p><p>  [2] 于永學,葛建. 1-Wire總線數(shù)字溫度傳感器DS18B20及應用[J].電子產(chǎn)品世界,2003(24):80-82.</p><p>  [3] 張萍.基于數(shù)

59、字溫度計DS18B20的溫度測量儀的開發(fā)[J].自動化儀表, 2007,28(6):64-66.</p><p>  [4] 胡學海.單片機原理及應用系統(tǒng)設計[M].北京:電子工業(yè)出版社,2004.[2]李廣第,朱月秀,王秀山.單片機基礎[M].北京:北京航空航天大學出版社,2003.</p><p>  [5] 夏曉玲.基于AT89C2051的數(shù)字溫度計的設計[J]. 2005,12(3

60、):38-40.</p><p>  [6] 陳書旺,張秀清,董建傳感器應用及電路設計.化學工業(yè)出版社.2008-5-1</p><p><b>  致 謝</b></p><p>  首先衷心感謝老師對我的指導和教誨。您淵博的專業(yè)知識,嚴謹?shù)闹螌W態(tài)度,精益求精的工作作風,毀人不倦的高尚師德,嚴以律己,寬以待人的教學風范對我影響深遠。不僅

61、使我樹立了遠大的學習目標,掌握了基本的自學方法等。</p><p>  笨設計的順利完成,離不開各位老師同學和朋友的關心和幫助。再者在一次感謝老師等同學的知道和幫助</p><p><b>  附表</b></p><p><b>  附表一 電路圖</b></p><p>  附表二 程序設計思路

62、</p><p>  程序名稱:DS18B20溫度測量</p><p>  #include<reg51.h></p><p>  #include<absacc.h></p><p>  #include<intrins.h></p><p>  #define uchar uns

63、igned char</p><p>  #define tempint DBYTE[0x30]</p><p>  #define tempdf DBYTE[0x31]</p><p>  uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};</p><p&g

64、t;  sbit dat=P1^0;</p><p>  void set_ds18b20(); //初始化DS18B20子程序</p><p>  void get_temperature(); //獲得溫度子程序</p><p>  void read_ds18b20(); //讀DS18

65、B20子程序</p><p>  void write_ds18b20(uchar command);//向DS18B20寫1字節(jié)子程序</p><p>  void delayms(uchar count); //延時count毫秒子程序</p><p>  void disp_temp(); //顯示溫度子程序<

66、;/p><p>  void main()</p><p><b>  {</b></p><p>  EA=0; //禁止中斷</p><p>  SP=0x60; //設置堆棧指針</p><p><b&g

67、t;  while(1)</b></p><p><b>  {</b></p><p>  get_temperature(); //獲得溫度</p><p>  disp_temp(); //顯示溫度</p><p><b>  }</b><

68、/p><p><b>  }</b></p><p>  void set_ds18b20()</p><p><b>  {</b></p><p><b>  while(1)</b></p><p><b>  {</b><

69、/p><p>  uchar delay,flag;</p><p><b>  flag=0;</b></p><p>  dat=0; //數(shù)據(jù)線置低電平</p><p>  delay=250;</p><p>  while(--delay);

70、 //低電平保持500us</p><p>  dat=1; //數(shù)據(jù)線置高電平</p><p><b>  delay=30;</b></p><p>  while(--delay); //低電平保持60us</p><p>  while(dat==

71、0) //判斷DS18B20是否發(fā)出低電平信號</p><p><b>  {</b></p><p>  delay=120; //DS18B20響應,延時240us</p><p>  while(--delay);</p><p>  if(dat)

72、 //DS18B20發(fā)出高電平初始化成功,返回</p><p><b>  {</b></p><p>  flag=1; //DS18B20初始化成功標志</p><p><b>  break;</b></p><p><b>  }</b>&l

73、t;/p><p><b>  }</b></p><p>  if(flag) //初始化成功,再延時480us</p><p><b>  {</b></p><p>  delay=240;</p><p>  while(--delay);

74、</p><p><b>  break;</b></p><p><b>  }</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  void get_temperature

75、() //溫度轉換、獲得溫度子程序</p><p><b>  {</b></p><p>  set_ds18b20(); //初始化DS18B20</p><p>  write_ds18b20(0xcc); //發(fā)跳過ROM匹配命令</p><p&g

76、t;  write_ds18b20(0x44); //發(fā)溫度轉換命令</p><p>  disp_temp(); //顯示溫度,等待轉換結束,大于600ms</p><p>  set_ds18b20();</p><p>  write_ds18b20(0xcc); //發(fā)跳過ROM匹配命令&

77、lt;/p><p>  write_ds18b20(0xbe); //發(fā)出讀溫度命令</p><p>  read_ds18b20(); //將讀出的溫度數(shù)據(jù)保存到tempint和tempdf處</p><p><b>  }</b></p><p>  void read_ds

78、18b20()</p><p><b>  {</b></p><p>  uchar delay,i,j,temp,temph,templ;</p><p>  j=2; //讀2位字節(jié)數(shù)據(jù)</p><p><b>  do</b></p&g

79、t;<p><b>  {</b></p><p>  for(i=8;i>0;i--) //一個字節(jié)分8位讀取</p><p><b>  {</b></p><p>  temp>>=1; //讀取1位右移1位</p>

80、<p>  dat=0; //數(shù)據(jù)線置低電平</p><p><b>  _nop_();</b></p><p><b>  _nop_();</b></p><p>  dat=1; //數(shù)據(jù)線置高電平</p>&l

81、t;p><b>  delay=4;</b></p><p>  while(--delay); //延時4us</p><p>  if(dat) //讀取1位數(shù)據(jù)</p><p>  temp|=0x80;</p><p>  delay=10;

82、 //讀取以為數(shù)據(jù)后延時20us</p><p>  while(--delay);</p><p><b>  }</b></p><p>  if(j==2) //讀取的第一字節(jié)存templ</p><p>  templ=temp;</p>

83、<p><b>  else</b></p><p>  temph=temp; //讀取的第二字節(jié)存temph</p><p>  }while(--j);</p><p>  tempdf=templ&0x0f; //將讀取的數(shù)據(jù)轉換成溫度值,整數(shù)部分存tempint,

84、小數(shù)部分存tempdf</p><p>  templ>>=4;</p><p>  temph<<=4;</p><p>  tempint=temph|templ;</p><p><b>  }</b></p><p>  void write_ds18b20(uch

85、ar command)</p><p><b>  {</b></p><p>  uchar delay,i;</p><p>  for(i=8;i>0;i--) //將一字節(jié)數(shù)據(jù)一位一位寫入</p><p><b>  {</b></p><

86、p>  dat=0; //數(shù)據(jù)線置低電平</p><p>  delay=8; //延時16us</p><p>  while(--delay);</p><p>  dat=command&0x01; //將數(shù)據(jù)放置在數(shù)據(jù)線上</p><p&

87、gt;  delay=20; //延時40us</p><p>  while(--delay);</p><p>  command=command>>1; //準備發(fā)送下一位數(shù)據(jù)</p><p>  dat=1; //發(fā)送完一位數(shù)據(jù),數(shù)據(jù)線置高電平</p>

88、<p>  _nop_(); //延時1us</p><p><b>  }</b></p><p><b>  }</b></p><p>  void disp_temp()</p><p><b>  {</b></p&

89、gt;<p>  uchar tempinth,tempintl,tempdfh,tempdfl,cnt;</p><p>  tempinth=tab[tempint/10]; //整數(shù)高半字節(jié)</p><p>  tempintl=tab[tempint%10]&0x7f;//整數(shù)低半字節(jié)</p><p>  tempdfh=tab

90、[tempdf/10]; //小數(shù)高半字節(jié)</p><p>  tempdfl=tab[tempdf%10]; //小數(shù)低半字節(jié)</p><p>  cnt=200; //循環(huán)顯示200次</p><p>  while(--cnt)</p><p><b>  {&

91、lt;/b></p><p><b>  P2=0xfe;</b></p><p>  P0=tempinth;</p><p>  delayms(1);</p><p><b>  P2=0xfd;</b></p><p>  P0=tempintl;</p&

92、gt;<p>  delayms(1);</p><p><b>  P2=0xf7;</b></p><p>  P0=tempdfh;</p><p>  delayms(1);</p><p><b>  P2=0xef;</b></p><p>  P0

93、=tempdfl;</p><p>  delayms(1);</p><p>  // P0=0xff;</p><p><b>  }</b></p><p><b>  }</b></p><p>  void delayms(uchar count)</p&g

94、t;<p><b>  {</b></p><p>  uchar i,j;</p><p><b>  do</b></p><p><b>  {</b></p><p>  for(i=5;i>0;i--)</p><p>  

溫馨提示

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

評論

0/150

提交評論