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

下載本文檔

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

文檔簡介

1、 單片機系統(tǒng)課程設(shè)計報告單片機系統(tǒng)課程設(shè)計報告題 目:基于 DS18B20 的數(shù)字溫度計設(shè)計專 業(yè): 通信工程 學(xué) 生 姓 名: 學(xué) 號: 指 導(dǎo) 教 師: 完成日期:2015 年 6 月 22 日摘摘 要要隨著時代的進步和發(fā)展,溫度的測試已經(jīng)影響到我們的生活、工作、科研、各個領(lǐng)域,已經(jīng)成為了一種非常重要的事情,因此設(shè)計一個溫度測試的系統(tǒng)勢在必行。本文主要介紹了一個基于 AT89C51 單片機的數(shù)字溫度計系統(tǒng)。詳細描述了利用數(shù)字溫度傳感器 DS18B20 開發(fā)測溫系統(tǒng)的過程,重點對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進行了詳盡分析,對各部分的電路也一一進行了介紹,該系統(tǒng)可以方

2、便的實現(xiàn)溫度的采集和報警,并可以根據(jù)需要任意上下限報警溫度,它使用起來相當(dāng)方便,具有量程寬、體積小、功耗低等優(yōu)點,適合于我們?nèi)粘I詈凸ぁ⑥r(nóng)業(yè)生產(chǎn)中的溫度測量,也可以當(dāng)做溫度處理模塊潛入其他系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展。DS18B20 與 AT89C51結(jié)合實現(xiàn)最簡溫度報警系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡單,有廣泛的應(yīng)用前景。關(guān)鍵詞:單片機;溫度檢測;AT89C51; DS18B20;ABSTRACTWith the era of progress and development, the temperature test has affected our life, work, scientific

3、research, each domain, has become a very important thing, be imperative system so the design of a temperature test.This paper introduces a digital temperature alarm system based on AT89C51 mcu. Detailed description of the process of digital temperature sensor DS18B20 temperature measurement system d

4、evelopment, focusing on the sensor under the SCM hardware connection, software programming and system flow of each module are analyzed in detail, on the part of the circuit are one one are introduced, the system can facilitate the realization of temperature acquisition and alarm, and can according t

5、o need any alarm temperature, it is very convenient to use, has a wide range, small volume, low power consumption, suitable for our daily lives and industrial, agricultural production in the temperature measurement, can also be used as a temperature processing module into other systems, as other aux

6、iliary system. DS18B20 combined with AT89C51 to achieve the most simple temperature alarm system, the system is simple in structure, has the widespread application prospect.Key word. Single chip microcomputer; temperature detection; AT89C51; DS18B20; 目錄摘摘 要要.I IABSTRACTABSTRACT.IIII1 1 設(shè)計要求及方案選擇設(shè)計要求

7、及方案選擇.1 11.1 設(shè)計要求 .11.2 方案選擇 .12 2 理論分析與設(shè)計理論分析與設(shè)計.1 12.1 芯片介紹 .12.1.1 DS18B20 概述.12.1.2 AT89C51 介紹.22.2 系統(tǒng)結(jié)構(gòu)框圖 .32.3 程序原理敘述 .33.3.電路設(shè)計電路設(shè)計.3 33.1 硬件設(shè)計 .33.1.1 單片機最小系統(tǒng)電路.43.1.2 溫度采集模塊.53.2 軟件設(shè)計 .53.2.1 流程框圖.63.2.2 程序設(shè)計.64 4、系統(tǒng)測試、系統(tǒng)測試.15155 5、總結(jié)、總結(jié).1616. .參考文獻參考文獻.17171 設(shè)計要求及方案選擇1.1 設(shè)計要求1 制作完成溫度檢測系統(tǒng)2

8、溫度檢測精度 1 度3 顯示時間日期1.2 方案選擇方案一:采用熱敏電阻,熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測1 攝氏度的信號是不適用的,在溫度測量系統(tǒng)中,也常采用單片溫度傳感器,比如 AD590,LM35 等。但這些芯片輸出的都是模擬信號,必須經(jīng)過 A/D 轉(zhuǎn)換后才能送給計算機,這樣就使測溫系統(tǒng)的硬件結(jié)構(gòu)較復(fù)雜。要用到復(fù)雜的算法,一定程度上也增加了軟件實現(xiàn)的難度。方案二:采用單總線數(shù)字溫度傳感器 DS18B20 測量溫度,直接輸出數(shù)字信號。便于單片機處理及控制,節(jié)省硬件電路。且該芯片的物理化學(xué)性很穩(wěn)定,此元件線形性能好,在 0100 攝氏度時,最大線形偏差小于 1 攝氏度。DS18B2

9、0 的最大特點之一采用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計 DS18B20 和微控制器 AT89C512 構(gòu)成的溫度裝置,它直接輸出溫度的數(shù)字信號到微控制器。每只 DS18B20 具有一個獨有的不可修改的 64 位序列號,根據(jù)序列號可訪問不同的器件。綜上分析,我們選用第二種方案。2 理論分析與設(shè)計2.1 芯片介紹2.1.1 DS18B20 概述DS18B20 是 Dallas 公司繼 DS1820 后推出的一種改進型智能數(shù)字溫度傳感器,與傳統(tǒng)的熱敏電阻相比,只需一根線就能直接讀出被測溫度值,并可根據(jù)實際需求來編程實現(xiàn) 912 位數(shù)字值的讀數(shù)方式。DS18B20 封裝形式及引腳功能圖 2-1-1 D

10、S18B20 封裝形式和引腳功能如圖 2-1-1 所示,DS18B20 的外形如一只三極管,引腳名稱及作用如下:GND:接地端。DQ:數(shù)據(jù)輸入/輸出腳,與 TTL 電平兼容。VDD:可接電源,也可接地。因為每只 DS18B20 都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。采用數(shù)據(jù)總線供電方式時 VDD 接地,可以節(jié)省一根傳輸線,但完成數(shù)據(jù)測量的時間較長;采用外部供電方式則 VDD 接+5V,多用一根導(dǎo)線,但測量速度較快2.1.2 AT89C51 介紹AT89C51 是一種帶 4K 字節(jié) FLASH 存儲器(FPEROMFlash Programmable and Erasabl

11、e Read Only Memory)的低電壓、高性能 CMOS 8 位微處理器,俗稱單片機。AT89C2051 是一種帶 2K 字節(jié)閃存可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復(fù)擦除 1000 次。該器件采用 ATMEL 高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的 MCS-51 指令集和輸出管腳相兼容。由于將多功能 8 位 CPU 和閃速存儲器組合在單個芯片中,ATMEL 的 AT89C51 是一種高效微控制器,AT89C2051 是它的一種精簡版本。AT89C51 單片機為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 。小管腳(40 腳)的 AT89C51 單

12、片機。如圖 2-1-2 所示:圖 2 -1-2 AT89C51單片機2.2 系統(tǒng)結(jié)構(gòu)框圖系統(tǒng)主要包括數(shù)據(jù)采集模塊,單片機控制模塊,顯示模塊,驅(qū)動電路五個部分。系統(tǒng)框圖如圖2-2-1 所示。單片機顯示電路溫度傳感器圖 2-2-1 系統(tǒng)結(jié)構(gòu)框圖2.3 程序原理敘述其中溫度采集模塊負責(zé)利用DS18B20傳感器實時采集溫度數(shù)據(jù),并將采集到的溫度數(shù)據(jù)傳輸?shù)絾纹瑱C控制模塊,單片機控制模塊將檢測到的數(shù)據(jù)進行處理后送到數(shù)碼管顯示模塊進行顯示。 3.電路設(shè)計3.1 硬件設(shè)計3.1.1 單片機最小系統(tǒng)電路在課題設(shè)計的溫度控制系統(tǒng)設(shè)計中,控制核心是 AT89C51 單片機,該單片 機為 51 系列增強型 8 位單片

13、機,它有 32 個 I/O 口,片內(nèi)含 4K FLASH 工藝的序存儲器,便于用電的方式瞬間擦除和改寫,而且價格便宜,其外部晶振為 12M一個指令周期為 1S。使用該單片機完全可以完成設(shè)計任務(wù),其最小系統(tǒng)主包括:復(fù)位電路、震蕩電路以及存儲器選擇模式,如圖 3-2-1 所示 圖 3-1-2 單片機最小電路3.1.2 溫度采集模塊在硬件完成后,為了使作品能夠?qū)崿F(xiàn)預(yù)定的功能和效果,因此需要對環(huán)境溫度進行采集. 在本設(shè)計中采用外部供電方式實現(xiàn) DS18B20 傳感器與單片機的連接如圖 3-1-3 所示.圖 3-1-2 溫度傳感器接口3.1.3 溫度顯示模塊(1)采用 LCD1602 液晶顯示工業(yè)字符型

14、液晶,能夠同時顯示 16x02 即 32 個字符。 (16 列 2 行) 。1602 液晶也叫 1602 字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個 5X7 或者 5X11 等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義 CGRAM,顯示效果也不好) 。1602LCD 是指顯示的內(nèi)容為 16X2,即可以顯示兩行,每行 16 個字符液晶模塊(顯示字符和數(shù)字) 。(2)采用數(shù)碼管顯示LED 數(shù)碼管的主要特點如下: (1)能在低電壓、小電流條

15、件下驅(qū)動發(fā)光,能與 CMOS、ITL 電路兼容。 (2)發(fā)光響應(yīng)時間極短(01s),高頻特性好,單色性好,亮度高。 (3)體積小,重量輕,抗沖擊性能好。 (4)壽命長,使用壽命在 10 萬小時以上,甚至可達 100 萬小時。成本低。因此它被廣泛用作數(shù)字儀器儀表、數(shù)控裝置、計算機的數(shù)顯器件。由于被實驗設(shè)計難度較低,且要求不多,選擇數(shù)碼管顯示簡易易懂。圖 3-1-2數(shù)碼管結(jié)構(gòu)圖3.2 軟件設(shè)計3.2.1 流程框圖圖 3-2-1 程序流程框圖4.系統(tǒng)仿真4.1 開發(fā)環(huán)境Keil 開發(fā)環(huán)境是德國知名公司 Keil 開發(fā)的嵌入式微控制器軟件開發(fā)平臺,也是目前 ARM 嵌入式單片機開發(fā)的主流工具。啟動界面

16、如圖所示,并且在調(diào)試程序、軟件仿真方面有比較強大的功能。在該開發(fā)工具中鏈中包含了指令模擬器,用戶可以通過使用該功能來模擬“純粹”的代碼,不需要外部硬件平臺的支持也可以在軟件平臺上模擬代碼運行,基本界面框架如下圖所示。4.2 構(gòu)建工程1 創(chuàng)建工程文件在 Keil MDK 開發(fā)環(huán)境中,用戶可以通過選擇“New Project”下拉菜單創(chuàng)建一個新的工程。此時,系統(tǒng)會彈出一個對話框,要求用戶為新建的工程起一個名字。在這里可以創(chuàng)建一個名為“TEST”文件夾。在工程文件夾里主要存放工程項目的所有文件。2 選擇芯片在創(chuàng)建完存放工程文件代碼的文件夾后,用戶可以根據(jù)實際需要選擇相應(yīng)的芯片。3 新建文件及添加源代

17、碼文件 在建立工程項目文件后,用戶根據(jù)需要在工程項目內(nèi)添加源程序代碼。通過菜單“File”|“New”或者單擊工具欄上的“新建文件”按鈕,就可已在項目工程窗口右側(cè)打開一個文本編輯窗口,用戶可以在該窗口輸入程序代碼及頭文件。4 最后是編譯仿真。結(jié)果如圖。5.代碼實現(xiàn)/proteus 仿真論壇:#define uchar unsigned char#define uint unsigned int#define DQ P3_7#includeuint sec;uint min=50;uint hour=9;uint day=22;uint month=6;uint yearl=15;uint ye

18、arh=20;uint tcnt;uint cursor=0;uchar a=0 xff;uchar code Seg=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f;void delay(uint t) uint i; while(t-) for (i=0;i0;i-) for(j=248;j0;j-);void Init_DS18B20(void) unsigned char x=0; DQ = 1; Tdelay(8); DQ = 0; Tdelay(80); DQ = 1; Tdelay(14); Tdelay(2

19、0);/讀一個字節(jié)ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; dat=1; DQ = 1; if(DQ) dat|=0 x80; Tdelay(4); return(dat);/寫一個字節(jié)WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ = 0; DQ = dat&0 x01; Tdelay(5); DQ = 1; dat=1; /讀取溫度ReadTemperature(voi

20、d)unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0 xCC); WriteOneChar(0 x44); Init_DS18B20();WriteOneChar(0 xCC); WriteOneChar(0 xBE);a=ReadOneChar();b=ReadOneChar();t=b;t=7)cursor=0; if(P3_1=0) Kdelay(); if(P3_1=0) if(cursor=1)sec+;if(sec=60)sec=0; if(cu

21、rsor=2)min+;if(min=60)min=0; if(cursor=3)hour+;if(hour=24)hour=0; if(cursor=4)day+;if(day=31)day=0; if(cursor=5)month+;if(month=12)month=0; if(cursor=6)yearl+;if(yearl=100)yearl=0; if(cursor=7)yearh+;if(yearh=30)yearh=20; if(P3_2=0) Kdelay(); if(P3_2=0) if(cursor=1)sec-; if(cursor=2)min-; if(cursor=

22、3)hour-; if(cursor=4)day-; if(cursor=5)month-; if(cursor=6)yearl-; if(cursor=7)yearh-; i=ReadTemperature(); display(Segyearh/10,Segyearh%10,Segyearl/10,Segyearl%10,Segmonth/10,Segmonth%10,Segday/10,Segday%10,Seghour/10,Seghour%10,Segmin/10,Segmin%10,Segsec/10,Segsec%10,Segi/100,Segi/10%10); void t0(void)interrupt 1 using 0 /t0 的中斷程序 tcnt+; if(tcnt=4000)/定時器的定時計數(shù),4000 次 250us 為 1 秒 tcnt=0; P3_3=P3_3; a=a; sec+; if(sec=60) sec=0; min+; if(min=60) min=0; hour+; if(hour=24) hour=0; day+; if(month=2&(yearl=0&yearh%4=0)|(yearl!=0&yearl%

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論