基于51單片機的溫度警報器的設(shè)計_第1頁
基于51單片機的溫度警報器的設(shè)計_第2頁
基于51單片機的溫度警報器的設(shè)計_第3頁
基于51單片機的溫度警報器的設(shè)計_第4頁
基于51單片機的溫度警報器的設(shè)計_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、西安文理學(xué)院物理與機械電子工程學(xué)院課程設(shè)計任務(wù)書學(xué)生姓名姜鵬飛專業(yè)班級11級自動化2班學(xué) 號0803110212指導(dǎo)教師謝常健職 稱講師教研室自動化課 程自動化專業(yè)課程設(shè)計題 目基于單片機的室溫控制器任務(wù)與要求利用單片機實驗箱上的資源設(shè)計一個室溫控制器。設(shè)計要求:1)利用AT89C52控制,DS18B20溫度傳感器采集溫度并用數(shù)碼管顯示溫度值2)溫度誤差控制在0.5,當(dāng)室溫低于20和高于30時報警3)有報警后的溫度控制接口開始日期 2014.11.24 完成日期 2014.12.19 2014年 12 月 12 日目 錄摘要31 引言31.1課題背景31.2研究內(nèi)容和意義52 芯片介紹52.1

2、 DS18B20概述52.1.1 DS18B20封裝形式及引腳功能62.1.2 DS18B20內(nèi)部結(jié)構(gòu)62.1.3 DS18B20供電方式92.1.4 DS18B20的測溫原理102.1.5 DS18B20的ROM命令112.2 AT89C52概述132.2.1單片機AT89C52介紹132.2.2功能特性概述133 系統(tǒng)硬件設(shè)計133.1 單片機最小系統(tǒng)的設(shè)計133.2 溫度采集電路的設(shè)計143.3 LED顯示報警電路的設(shè)計154 系統(tǒng)軟件設(shè)計 154.1 流程圖154.2 溫度報警器程序164.3 總電路圖 195總結(jié)20摘 要隨著時代的進步和發(fā)展,溫度的測試已經(jīng)影響到我們的生活、工作、科

3、研、各個領(lǐng)域,已經(jīng)成為了一種非常重要的事情,因此設(shè)計一個溫度測試的系統(tǒng)勢在必行。本文主要介紹了一個基于AT89C52單片機的數(shù)字溫度報警器系統(tǒng)。詳細描述了利用數(shù)字溫度傳感器DS18B20開發(fā)測溫系統(tǒng)的過程,重點對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進行了詳盡分析,對各部分的電路也一一進行了介紹,該系統(tǒng)可以方便的實現(xiàn)溫度的采集和報警,并可以根據(jù)需要任意上下限報警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點,適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測量,也可以當(dāng)做溫度處理模塊潛入其他系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展。DS18B20與AT89C52結(jié)

4、合實現(xiàn)最簡溫度報警系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強,適合于惡劣環(huán)境下進行現(xiàn)場溫度測量,有廣泛的應(yīng)用前景。關(guān)鍵詞:單片機;溫度檢測;AT89C52;DS18B20;1 引言1.1課題背景溫度是工業(yè)對象中主要的被控參數(shù)之一,如冶金、機械、食品、化工各類工業(yè)生產(chǎn)中,廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等,對工件的溫度處理要求嚴(yán)格控制。隨著科學(xué)技術(shù)的發(fā)展,要求溫度測量的范圍向深度和廣度發(fā)展,以滿足工業(yè)生產(chǎn)和科學(xué)技術(shù)的要求?;贏T89C51單片機提高了系統(tǒng)的可移植性、擴展性,利于現(xiàn)代測控、自動化、電氣技術(shù)等專業(yè)實訓(xùn)要求。以單片機為核心設(shè)計的溫度報警器,具有安全可靠、操作簡單方便、智能控制等優(yōu)點。溫

5、度對于工業(yè)生產(chǎn)如此重要,由此推進了溫度傳感器的發(fā)展。溫度傳感器主要經(jīng)過了三個發(fā)展階段1:(1)模擬集成溫度傳感器。該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測量溫度)、測溫誤差小、價格低、響應(yīng)速度快、傳輸距離遠、體積小、微功耗等特點,適合遠距離測溫、控溫,不需要進行非線性校準(zhǔn),外圍電路簡單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等;(2)模擬集成溫度控制器。模擬集成溫度控制器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)品有LM56、AD22105和MAX6509。某些增強型集

6、成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時并不受微處理器的控制,這是二者的主要區(qū)別;(3)智能溫度傳感器 (亦稱數(shù)字溫度傳感器)。智能溫度傳感器是在20世紀(jì)90年代中期問世的,其內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機存取存儲器(RAM)和只讀存儲器(ROM)。智能溫度傳感器的特點是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的基礎(chǔ)上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開

7、發(fā)水平?,F(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集2(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計算機技術(shù))。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量高居各種傳感器之首。數(shù)字溫度傳感器可以直接將被檢測的溫度信息以數(shù)字化形式輸出,與傳統(tǒng)的模擬式溫度傳感器相比,具有測量精度高、功耗低、穩(wěn)定性好、外圍接口電路簡單特點。而單片機微處理器越來越豐富的外圍功能模塊,更加方便了數(shù)字式溫度傳感器輸出信號的處理。智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)化器、信號處理器、存儲器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央處理器(CPU)、隨機存取存

8、儲器(RAM)和只讀存儲器(ROM)。并且它是在硬件的基礎(chǔ)上通過軟件來實現(xiàn)測試功能的,其智能化程度也取決于軟件的開發(fā)水平。進入21世紀(jì)后,智能溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單片機測溫系統(tǒng)等的方向發(fā)展。數(shù)字化溫度傳感器可以直接將溫度量以數(shù)字脈沖信號形式輸出,具有測量精度高、抗干擾能力強、傳輸距離遠、外圍接口電路簡單等諸多優(yōu)點。同時數(shù)字溫度傳感器還可直接與微處理器進行接口,大大方便了傳感器輸出信號的處理.數(shù)字單總線溫度傳感器是目前最新的測溫器件,它集溫度測量,A/D轉(zhuǎn)換于一體,具有單總線結(jié)構(gòu),數(shù)字量輸出,直接與微機接口等優(yōu)點。1.2研

9、究內(nèi)容和意義本溫度報警器以AT89C51單片機為控制核心,由一數(shù)字溫度傳感器DS18B20測量被控溫度,結(jié)合7段LED以及驅(qū)動LED的74LS245組合而成。當(dāng)被測量值超出預(yù)設(shè)范圍則發(fā)出警報,且精度高,適用于大多數(shù)工業(yè)生產(chǎn)以及教育教學(xué)領(lǐng)域。溫度是一種最基本的環(huán)境參數(shù),它是與人類的生活、工作關(guān)系最密切的物理量,也是各門學(xué)科與工程研究設(shè)計中經(jīng)常遇到和必須精確測量的物理量。從工業(yè)爐溫、環(huán)境氣溫到人體溫度;從空間、海洋到家用電器,各個技術(shù)領(lǐng)域都離不開測溫和控溫。因此,研究溫度的測量和控制方法具有重要的意義。AT89C52單片機數(shù)字溫度傳感器雙限報警系統(tǒng)譯碼顯示電路設(shè)計原理2 芯片介紹2.1 DS18B

10、20概述DS18B20是Dallas公司繼DS1820后推出的一種改進型智能數(shù)字溫度傳感器,與傳統(tǒng)的熱敏電阻相比,只需一根線就能直接讀出被測溫度值,并可根據(jù)實際需求來編程實現(xiàn)912位數(shù)字值的讀數(shù)方式3。2.1.1 DS18B20封裝形式及引腳功能 圖2.1 DS18B20封裝形式和引腳功能如圖2.1所示,DS18B20的外形如一只三極管,引腳名稱及作用如下:GND:接地端。DQ:數(shù)據(jù)輸入/輸出腳,與TTL電平兼容。VDD:可接電源,也可接地。因為每只DS18B20都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。采用數(shù)據(jù)總線供電方式時VDD接地,可以節(jié)省一根傳輸線,但完成數(shù)據(jù)測量的時

11、間較長;采用外部供電方式則VDD接+5V,多用一根導(dǎo)線,但測量速度較快。2.1.2 DS18B20內(nèi)部結(jié)構(gòu)64位ROM和單線接口存儲和控制邏輯 高速緩存器溫度傳感器高溫觸發(fā)器TH低溫觸發(fā)器TL匹配寄存器8位CRC發(fā)生器電源檢 測CDQVDD內(nèi)部電源VDD圖2.2 DS18B20內(nèi)部結(jié)構(gòu)圖2.2中出示了DS18B20 的主要內(nèi)部部件,下面對DS18B20內(nèi)部部分進行簡單的描述4:(1)64位ROM。64位ROM是由廠家使用激光刻錄的一個64位二進制ROM代碼,是該芯片的標(biāo)識號,如表2.1所示:表2.1 64位ROM標(biāo)識8位循環(huán)冗余檢驗48位序列號8位分類編號(10H)MSB LSBMSB LSB

12、MSB LSB 第1個8位表示產(chǎn)品分類編號,DS18B20的分類號為10H;接著為48位序列號。它是一個大于281*1012的十進制編碼,作為該芯片的唯一標(biāo)示代碼;最后8位為前56位的CRC循環(huán)冗余校驗碼,由于每個芯片的64位ROM代碼不同,因此在單總線上能夠并接多個DS18B20進行多點溫度實習(xí)檢驗。(2)溫度傳感器。溫度傳感器是DS18B20的核心部分,該功能部件可完成對溫度的測量通過軟件編程可將-55125范圍內(nèi)的溫度值按9位、10位、11位、12位的分辨率進行量化,以上的分辨率都包括一個符號位,因此對應(yīng)的溫度量化值分別為0.5、0.25、0.125、0.0625,即最高分辨率為0.06

13、25。芯片出廠時默認為12位的轉(zhuǎn)換精度。當(dāng)接收到溫度轉(zhuǎn)換命令(44H)后,開始轉(zhuǎn)換,轉(zhuǎn)換完成后的溫度以16位帶符號擴展的的二進制補碼形式表示,存儲在高速緩存器RAM的第0,1字節(jié)中,二進制數(shù)的前5位是符號位。如果測得的溫度大于0,這5位為0,只要將測得的數(shù)值乘上0.0625即可得到實際溫度;如果溫度小于0,這5位為1,測得的數(shù)值需要取反加1再乘上0.0625即可得到實際溫度。(3)高速緩存器。DS18B20內(nèi)部的高速緩存器包括一個高速暫存器RAM和一個非易失性可電擦除的EEPROM。非易失性可點擦除EEPROM用來存放高溫觸發(fā)器TH、低溫觸發(fā)器TL和配置寄存器中的信息。(4)配置寄存器。配置寄

14、存器的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換率。DS18B20工作是按此寄存器的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值,它是高速緩存器的第5個字節(jié),該字節(jié)定義如表2.2所示:表2.2 匹配寄存器TMR0R111111TM是測試模式位,用于設(shè)置DS18B20在工作模式還是在測試模式,在DS18B20出廠時該位被設(shè)置為0,用戶不要去改動;R1和R0用來設(shè)置分辨率;其余5位均固定為1。DS18B20分辨率的設(shè)置如表2.3所示:表2.3 DS18B20分辨率的設(shè)置R1R0分辨率最大轉(zhuǎn)換時間 /ms009位93.750110位187.51011位3751112位750DS18B20依靠一個單線端口通訊。在單線端口條件下

15、,必須先建立ROM 操作協(xié)議,才能進行存儲器和控制操作。因此,控制器必須首先提供下面5個ROM 操作命令之一:1)讀ROM;2)匹配ROM;3)搜索ROM;4)跳過ROM;5)報警搜索。這些命令對每個器件的激光ROM 部分進行操作,在單線總線上掛有多個器件時,可以區(qū)分出單個器件,同時可以向總線控制器指明有多少器件或是什么型號的器件。成功執(zhí)行完一條ROM 操作序列后,即可進行存儲器和控制操作,控制器可以提供6 條存儲器和控制操作指令中的任一條。一條控制操作命令指示DS18B20完成一次溫度測量。測量結(jié)果放在DS18B20的暫存器里,用一條讀暫存器內(nèi)容的存儲器操作命令可以把暫存器中數(shù)據(jù)讀出。溫度報

16、警觸發(fā)器TH 和TL 各由一個EEPROM字節(jié)構(gòu)成。如果沒有對DS18B20使用報警搜索命令,這些寄存器可以做為一般用途的用戶存儲器使用??梢杂靡粭l存儲器操作命令對TH 和TL 進行寫入,對這些寄存器的讀出需要通過暫存器。所有數(shù)據(jù)都是以最低有效位在前的方式進行讀寫。2.1.3 DS18B20供電方式DS18B20可以采用外部電源供電和寄生電源供電兩種模式。外部電源供電模式是將DS18B20的GND直接接地,DQ與但單總線相連作為信號線,VDD與外部電源正極相連。如圖2.3所示:單片機DS18B20外部+5V電源VDDDQ4.7KVCC其它單線器件圖2.3 DS18B20外部供電方式圖中DS18

17、B20的DQ端口通過接入一個4.7K的上拉電阻到VCC,從而實現(xiàn)外部電源供電方式。寄生電源供電模式如圖2.4所示:從圖中可知,DS18B20的GND和VDD均直接接地,DQ與單總線相連,單片機其中一個I/O口與DS18B20的DQ端相連。VCC單片機DS18B20GND4.7K圖2.4 DS18B20寄生電源供電方式+5V2.1.4 DS18B20的測溫原理DS18B20的測溫原理如圖2.5所示, 其主要由斜率累加器、溫度系數(shù)振蕩器、減法計數(shù)器、溫度存儲器等功能部件組成。圖2.5 DS18B20的測溫原理DS1820 是這樣測溫的:用一個高溫度系數(shù)的振蕩器確定一個門周期,內(nèi)部計數(shù)器在這個門周期

18、內(nèi)對一個低溫度系數(shù)的振蕩器的脈沖進行計數(shù)來得到溫度值。計數(shù)器被預(yù)置到對應(yīng)于-55的一個值。如果計數(shù)器在門周期結(jié)束前到達0,則溫度寄存器(同樣被預(yù)置到-55)的值增加,表明所測溫度大于-55。同時,計數(shù)器被復(fù)位到一個值,這個值由斜坡式累加器電路確定,斜坡式累加器電路用來補償感溫振蕩器的拋物線特性。然后計數(shù)器又開始計數(shù)直到0,如果門周期仍未結(jié)束,將重復(fù)這一過程。斜坡式累加器用來補償感溫振蕩器的非線性,以期在測溫時獲得比較高的分辨率。這是通過改變計數(shù)器對溫度每增加一度所需計數(shù)的的值來實現(xiàn)的。因此,要想獲得所需的分辨力,必須同時知道在給定溫度下計數(shù)器的值和每一度的計數(shù)值。DS18B20內(nèi)部對此計算的結(jié)

19、果可提供0.5的分辨率。溫度以16bit帶符號位擴展的二進制補碼形式讀出,表2.4 給出了溫度值和輸出數(shù)據(jù)的關(guān)系。數(shù)據(jù)通過單線接口以串行方式傳輸。DS18B20測溫范圍-55+125,以0.5遞增。表2.4 溫度數(shù)據(jù)關(guān)系溫度數(shù)據(jù)輸出(二進制)數(shù)據(jù)輸出(十六進制)+12500000000 1111101000FA+2500000000 001100100032+0.500000000 000000010001000000000 000000000000-0.511111111 11111111FFFF-2511111111 11001110FFCE-5511111111 10010010FF92

20、S18B20遵循單總線協(xié)議,每次測溫時都必須有4個過程6: 初始化; 傳送ROM 操作命令; 傳送ROM操作命令; 數(shù)據(jù)交換;2.1.5 DS18B20的ROM命令read ROM(讀ROM).命令代碼為33H,允許主設(shè)備讀出DS18B20的64位二進制ROM代碼。該命令只適用于總線上存在單個DS18B20.Match ROM(匹配ROM)。命令代碼為55H,若總線上有多個從設(shè)備時,適用該命令可選中某一指定的DS18B20,即只有和64位二進制ROM代碼完全匹配的DS18B20才能響應(yīng)其操作。Skip ROM(跳過ROM)。命令代碼為CCH,在啟動所有DS18B20轉(zhuǎn)換之前或系統(tǒng)只有一個DS1

21、8B20時,該命令將允許主設(shè)備不提供64位二進制ROM代碼就適用存儲器操作命令。Search ROM(搜索ROM)。命令代碼為F0H,當(dāng)系統(tǒng)初次啟動時,主設(shè)備可能不知縱向上有多少個從設(shè)備或者它們的ROM代碼,適用該命令可確定系統(tǒng)中的從設(shè)備個數(shù)及其RON代碼。Alarm ROM(報警搜索ROM)。命令代碼為ECH,該命令用于鑒別和定位系統(tǒng)中超出程序設(shè)定的報警溫度值。Write scratchpad(寫暫存器)。命令代碼為4EH,允許主設(shè)備向DS18B20的暫存器寫入兩個字節(jié)的數(shù)據(jù),其中第一個字節(jié)寫入TH中,第二個字節(jié)寫入TL中??梢栽谌魏螘r刻發(fā)出復(fù)位命令終止數(shù)據(jù)的寫入。Read scratchp

22、ad(讀暫存器)。命令代碼為BEH,允許主設(shè)備讀取暫存器中的內(nèi)容。從第一個字節(jié)開始直到讀完第九個字節(jié)CRC讀完。也可以在任何時刻發(fā)出復(fù)位命令中止數(shù)據(jù)的讀取操作。Copy scratchpad(復(fù)制暫存器)。命令代碼為48H,將溫度報警觸發(fā)器TH和TL中的字節(jié)復(fù)制到非易失性EEPROM。若主機在該命令之后又發(fā)出讀操作,而DS18B20又忙于將暫存器中的內(nèi)容復(fù)制到EEPROM時,DS18B20就會輸出一個“0”,若復(fù)制結(jié)束,則DS18B20輸出一個“1”。Convert T(溫度轉(zhuǎn)換)。命令代碼為44H,啟動一次溫度轉(zhuǎn)換,若主機在該命令之后又發(fā)出其它操作,而DS18B20又忙于溫度轉(zhuǎn)換,DS18B

23、20就會輸出一個“0”,若轉(zhuǎn)換結(jié)束,則DS18B20輸出一個“1”。Recall E2(拷回暫存器)。命令代碼為B8H。將溫度報警觸發(fā)器TH和TL中的字節(jié)從EEPROM中拷回到暫存器中。該操作是在DS18B20上電時自動執(zhí)行,若執(zhí)行該命令后又發(fā)出讀操作,DS18B20會輸出溫度轉(zhuǎn)換忙標(biāo)識:0為忙,1完成。Read power supply(讀電源使用模式)。命令代碼為B4H。主設(shè)備將該命令發(fā)給DS18B20后發(fā)出讀操作,DS18B20會返回它的電源使用模式:0為寄生電源,1為外部電源。2.2 AT89C52概述2.2.1單片機AT89C52介紹AT89C52是一個低電壓,高性能CMOS8位單片

24、機,片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單元,AT89C52單片機在電子行業(yè)中有著廣泛的應(yīng)用。2.2.2 主要功能特性1、兼容MCS51指令系統(tǒng) 2、8k可反復(fù)擦寫(大于1000次)Flash ROM; 3、32個雙向I/O口; 4、256x8bit內(nèi)部RAM; 5、3個16位可編程定時/計數(shù)器中斷; 6、時鐘頻率0-24MHz; 7、2個串行中斷,可編程UART串行通道; 8、2個外部中斷源,共

25、8個中斷源; 9、2個讀寫中斷口線,3級加密位; 10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能; 11、有PDIP、P裝形式,以適應(yīng)不同產(chǎn)品的需求。 3 系統(tǒng)硬件設(shè)計3.1 單片機最小系統(tǒng)的設(shè)計單片機是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統(tǒng)、定時器/計時器等功能集成到一塊硅片上構(gòu)成的一個小而完善的計算機系統(tǒng)。本次課程設(shè)計中選用AT89C52式單片機,其最小系統(tǒng)主要由電復(fù)位、振蕩電路組成。單片機的最小系統(tǒng)如圖3所示。單片機的復(fù)位電路原理是在單片機的復(fù)位引腳RST上電阻和電容,實現(xiàn)上電復(fù)位。當(dāng)

26、復(fù)位電平持續(xù)兩個時鐘周期以上時復(fù)位有效。復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成,上電復(fù)位是在復(fù)位引腳上連接一個電容到VCC,再連接一個電阻到GND;按鍵復(fù)位是在復(fù)位電容上并聯(lián)一個開關(guān),當(dāng)開關(guān)按下時電容被放電、RST也被拉到高電平,而且由于電容的充電,會保持一段時間的高電平來使單片機復(fù)位。AT89C51單片機使用12MHZ的晶振最為振蕩源,由于單片機內(nèi)部有振蕩電路,所以外部只要連接一個晶振和兩個電容即可,電容一般在15pF至50pF之間。外部晶振結(jié)合單片機內(nèi)部電路產(chǎn)生單片機所需的時鐘頻率。圖3 單片機最小系統(tǒng)3.2 溫度采集電路的設(shè)計溫度采集電路部分,采用數(shù)字溫度傳感器DS18B20進行溫度采集

27、。DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3個引腳;溫度側(cè)量范圍為-55+125,測量精度為0.5;被測溫度用符號擴展的16位數(shù)字量方式串行輸出;CPU只需用一個端口線就可以與DS18B20通信。溫度采集電路如圖4示。 圖4 溫度采集電路3.3 LED顯示報警電路的設(shè)計LED數(shù)碼管與單片機的P0口相連,單片機將采集到的溫度值轉(zhuǎn)化為與數(shù)碼管對應(yīng)的數(shù)據(jù),通過P0口輸出顯示。即信號通過譯碼管的端口a、b、c、d、e、f、g 、dp 端來控制每段譯碼管的亮滅與否,同時通過端口1、2、3、4 四個端口來控制四個譯碼管。在本次設(shè)計中,用集成芯片74HC245驅(qū)動數(shù)碼管。同時當(dāng)采集到

28、的溫度值超過所設(shè)置的范圍時,單片機會輸出一信號,通過三極管放大后驅(qū)動蜂鳴器發(fā)出報警信號。LED數(shù)碼管報警電路4 系統(tǒng)軟件設(shè)計4.1 流程圖NOYES結(jié)束報警beep=1num值判斷20<=num<=30掃描動態(tài)顯示兩位LED數(shù)碼管顯示溫度數(shù)po=tabletempLpo=tabletempH取溫度顯示的個位十位tempH=num/10tempL=num-tempH*10取溫度值有效值中間8位num=(ch2<<4)|(ch1>>4)寫一個字節(jié)給val 讀一個字節(jié)val Ch1 ch2開始初始化I/O端口(P0.0-P0.7 P2.0 P2.1.P3.0 P3

29、.7)DS18B20初始化,復(fù)位,讀取溫度值4.2 程序#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit DQ=P37; sbit beep=P30; void reset(); /DS18B20復(fù)位函數(shù) void write_byte(uchar val); /DS18B20寫命令函數(shù) uchar read_byte(void); /DS18B20讀1字節(jié)函數(shù) void read_temp(); /溫度讀取函數(shù) void LED_di

30、splay();void alarm();uchar tempH,tempL,num;uchar table10= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /09的LED字符編碼 uchar setValue_low=20;uchar setValue_high=30;main() while(1) read_temp(); LED_display(); alarm();void delay(uint t)for(;t>0;t-);void reset() /DS18B20的復(fù)位uchar presence=1;while(p

31、resence) while(presence) DQ=1;_nop_();_nop_(); DQ=0; delay(50); DQ=1; delay(6); presence=DQ; delay(45); presence=DQ; DQ=1;void write_byte(uchar val)/DS18B20寫一個字節(jié) uchar i;for(i=8;i>0;i-) DQ=1;_nop_();_nop_(); DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_(); DQ=val&0x01; delay(6); val=val>>1; DQ=1;_nop_();uchar read_byte(void)/DS18

溫馨提示

  • 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

提交評論