亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于DS18B20的溫度測量系統(tǒng)

        2008-04-12 00:00:00趙永杰
        現(xiàn)代電子技術(shù) 2008年10期

        摘 要:探討工業(yè)場合溫度測量處理方法及系統(tǒng)構(gòu)成。根據(jù)數(shù)字溫度傳感器DS18B20的特點,構(gòu)成溫度測量系統(tǒng)。利用簡單的接口與單片機(jī)組成一個溫度測量系統(tǒng),通過鍵盤和LED顯示數(shù)碼管對系統(tǒng)進(jìn)行控制和顯示,給出用DS18B20和AT89C51單片機(jī)構(gòu)成的溫度測量系統(tǒng)的應(yīng)用電路和參考程序。利用DS18B20的單總線結(jié)構(gòu),占用系統(tǒng)的端口少,非常適合遠(yuǎn)距離多點溫度檢測系統(tǒng)。

        關(guān)鍵詞:DS18B20;AT89C51;溫度;測量

        中圖分類號:TP212 文獻(xiàn)標(biāo)識碼:B

        文章編號:1004-373X(2008)10-157-03

        Temperature Measurement System Based on DS18B20

        ZHAO Yongjie1,XU Yuan2

        (1.Nanyang Radio and TV University,Nanyang,473066,China;2.Nanyang Institute of Technology,Nanyang,473004,China)

        Abstract:Exploring the methods and system structure of temperature measurement in industrial situation.Methods Forming temperature measurement system by means of digital temperature sensor DS18B20.Creating a temperature measurement system by using simple I/O port and single chip microcomputer which has keyboard and LED,and providing the applied circuit and reference program by means of DS18B20 and AT89C51.According to the structure characteristics of DS18B20,which occupy less system ports.This temperature measurement system is appropriate to temperature test system based on long-distance and multi-ports.

        Keywords:DS18B20;AT89C51;temperature;measurement

        在許多工業(yè)場合中都要進(jìn)行溫度檢測和溫度控制,常用方法是采用溫度傳感進(jìn)行檢測,配合單片機(jī)進(jìn)行控制。DS18B20是美國DALLAS公司生產(chǎn)的“一線總線”接口的數(shù)字化傳感器,他具有微型化、低功耗、抗干擾能力強(qiáng)、易與微處理器接口等優(yōu)點,可直接將溫度轉(zhuǎn)化成串行數(shù)字信號供微處理器接收處理。利用這種溫度傳感器構(gòu)成的溫度測量系統(tǒng)電路非常簡單、易于實現(xiàn),并且適用于幾乎所有類型的單片機(jī)。

        1 DS18B20介紹

        1.1 DS18B20功能特點

        DS18B20功能特點:3.0~5.5 V單電源供電;微型化、低功耗、抗干擾能力強(qiáng)、易與微處理器接口;溫度測量范圍為-55~+125 ℃,測溫分辨率可達(dá)0.5 ℃;3引腳TO-92小體積封裝或8引腳μSOP封裝;可編程為9~12位A/D轉(zhuǎn)換精度;只需一根端口線就能與微處理器通訊;每只DS18B20有惟一的序列號并可存入其ROM中,便于實現(xiàn)多芯片多點測量;在使用中不需要任何外圍元件;用戶可自設(shè)定非易失性的報警上下限值。

        1.2 DS18B20引腳功能

        DS18B20引腳分布如圖1所示。

        1.3 DS18B20內(nèi)部結(jié)構(gòu)

        DS18B20內(nèi)部由64位閃速ROM、觸發(fā)器TH和TL、高速暫存存儲器、配置寄存器和8位CRC發(fā)生器等組成。

        圖1DS18B20引腳

        (1) 64位閃速ROM的結(jié)構(gòu)如下:

        8位檢驗CRC48位序列號8位工廠代碼

        開始8位是產(chǎn)品類型的編號,接著是每個器件的惟一的序號,共有48位,最后8位是前56位的CRC校驗碼,這也是多個DS18B20可以采用一線進(jìn)行通信的原因。

        (2) 非易失性溫度報警觸發(fā)器TH和TL,可通過軟件寫入用戶報警上下限。

        (3) 高速暫存存儲器:

        DS18B20溫度傳感器的內(nèi)部存儲器包括一個高速暫存RAM和一個非易失性的可電擦除的E2PROM。后者用于存儲TH,TL值,數(shù)據(jù)先寫入RAM,經(jīng)校驗后再傳給E2PROM。而配置寄存器為高速暫存器中的第5個字節(jié),他的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。

        1.4 DS18B20的初始化

        由于DS18B20單線通信功能是分時完成的,他有嚴(yán)格的時隙概念,因此讀寫時序很重要。系統(tǒng)對DS18B20的各種操作必須按協(xié)議進(jìn)行。操作協(xié)議為:初始化DS18B20(發(fā)復(fù)位脈沖)→發(fā)ROM功能命令→發(fā)存儲器操作命令→處理數(shù)據(jù)。

        2 單片機(jī)溫度測量系統(tǒng)硬件設(shè)計

        2.1 系統(tǒng)的硬件結(jié)構(gòu) 

        系統(tǒng)的硬件結(jié)構(gòu)如圖2所示。以單片機(jī)AT89C51為核心,由溫度傳感器DS18B20、鍵盤和LED顯示電路、電源電路及時鐘電路等組成。

        圖2 系統(tǒng)硬件結(jié)構(gòu)

        2.2 電源電路

        電源電路中主要使用的是由交流220 V,50 Hz的市電轉(zhuǎn)換成直流電,該部分電路由降壓、整流、濾波、穩(wěn)壓4部分組成,穩(wěn)壓集成塊采用7805。

        2.3 數(shù)據(jù)采集

        數(shù)據(jù)采集電路如圖3所示。 Atmel的AT89C51單片機(jī),內(nèi)有4 kB閃爍可編程可擦除只讀存儲器,128 B的數(shù)據(jù)存儲器空間,可直接推動LED。由溫度傳感器DS18B20采集被控對象的實時溫度,提供給AT89C51的P3.7口作為數(shù)據(jù)輸入。

        圖3 單片機(jī)89C51與溫度傳感器DS18B20的連接圖

        2.4 接口電路

        P1口接4×4行列鍵盤,P1.0~P1.3與行線相連,每條行線接10 kB的電阻到電源,P1.4~P1.7與列線相連。P0口用作7段數(shù)碼管的字段選擇信號,控制數(shù)碼管的字段LED發(fā)光,P2口的P2.0~P2.3用于產(chǎn)生4位數(shù)碼管的位選擇信號,控制應(yīng)該顯示的7段數(shù)碼管發(fā)光。

        3 軟件設(shè)計

        3.1 系統(tǒng)程序流程圖

        系統(tǒng)程序流程圖如圖4所示。

        圖4 系統(tǒng)程序流程圖

        3.2 溫度部分軟件設(shè)計

        DS18B20的一線工作協(xié)議流程是:初始化→ROM操作指令→存儲器操作指令→數(shù)據(jù)傳輸。其工作時序包括初始化時序、寫時序和讀時序。故主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過3個步驟:每一次讀寫之前都要對DS18B20進(jìn)行復(fù)位,復(fù)位成功后發(fā)送一條ROM指令,最后發(fā)送RAM指令,這樣才能對DS18B20進(jìn)行預(yù)定的操作。復(fù)位要求CPU將數(shù)據(jù)線下拉500 μs,然后釋放,DS18B20收到信號后等待16~60 μs左右,發(fā)出60~240 μs的低脈沖,CPU收到此信號表示復(fù)位成功。部分函數(shù)如下:

        3.2.1 初始化函數(shù)

        初始化函數(shù):

        void TxReset(void)

        { uint i;

        DQ = 0;

        i = 100;

        while (i>0) i--; 

        DQ = 1; // 產(chǎn)生上升沿

        i = 4;

        while (i>0) i--;}

        3.2.2 等待應(yīng)答函數(shù)

        等待應(yīng)答函數(shù):

        void RxWait(void)

        { uint i;

        while(DQ);

        while(~DQ); // 檢測到應(yīng)答脈沖 

        i = 4;

        while (i>0) i--; }

        3.2.3 讀數(shù)據(jù)函數(shù)

        讀數(shù)據(jù)函數(shù):

        uchar RdByte(void)

        { uchar i,j,b;

        b = 0;

        for (i=1;i<=8;i++)

        { j = RdBit();

        b = (j<<7)|(b>>1);

        }

        return(b);}

        3.2.4 寫數(shù)據(jù)函數(shù)

        寫數(shù)據(jù)函數(shù):

        void WrByte(uchar b)

        { uint i;

        uchar j;

        bit btmp;

        for(j=1;j<=8;j++)

        { btmp = b0x01;

        b = b>>1; // 取下一位(由低位向高位)

        if (btmp)

        { /* 寫1 */

        DQ = 0;

        i++;i++; // 延時,使得15 μs以內(nèi)拉高

        DQ = 1;

        i = 8;

        while(i>0) i-; // 整個寫1時隙不低于60 μs 

        }

        else

        { /* 寫0 */

        DQ = 0; 

        i = 8;

        while(i>0) i--; // 保持低在60~120 μs之間

        DQ = 1;

        i++;

        i++; } } }

        [BT4+*3]3.2.5 啟動溫度轉(zhuǎn)換函數(shù)

        啟動溫度轉(zhuǎn)換函數(shù):

        void convert(void)

        { TxReset(); // 產(chǎn)生復(fù)位脈沖,初始化DS18B20

        RxWait(); // 等待DS18B20給出應(yīng)答脈沖

        delay(1); // 延時

        WrByte(0xcc); // skip rom 命令

        WrByte(0x44); // convert T 命令

        }

        3.2.6 讀取溫度值函數(shù)

        讀取溫度值函數(shù):

        void RdTemp(void)

        { TxReset(); // 產(chǎn)生復(fù)位脈沖,初始化DS18B20 

        RxWait(); // 等待DS18B20給出應(yīng)答脈沖

        delay(1); // 延時

        WrByte(0xcc); // skip rom 命令

        WrByte(0xbe); // read scratchpad 命令

        tplsb = RdByte(); // 溫度值低位字節(jié)(其中低4位為二進(jìn)制的“小數(shù)”部分)

        tpmsb = RdByte(); // 高位值高位字節(jié)(其中高5位為符號位) 

        }

        4 結(jié) 語

        溫度傳感器DS18B20轉(zhuǎn)化溫度的方法非常簡潔且精度高、測試范圍較廣。單片機(jī)體積小、重量輕、抗干擾能力強(qiáng)、對環(huán)境要求不高、價格低廉、可靠性高、靈活性好。因此這種溫度測量系統(tǒng)能應(yīng)用于各種場合,具有很大的應(yīng)用價值。

        參 考 文 獻(xiàn)

        [1]田俊英.基于51單片機(jī)的溫度測試系統(tǒng)的設(shè)計與實現(xiàn)[J]. 現(xiàn)代電子技術(shù),2007,30(10):15-17.

        [2]MAXIM公司.MAXIM產(chǎn)品資料全集[M/CD].2000.

        [3]吉雷.Protel 99從入門到精通[M].西安:西安電子科技大學(xué)出版社,2000.

        [4]林伸茂.8051單片機(jī)徹底研究基礎(chǔ)篇[M].北京:中國電力出版社,2007.

        作者簡介 趙永杰 男,1975年出生,南陽廣播電視大學(xué),講師,在讀碩士研究生。研究方向為嵌入式系統(tǒng)。

        注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文。

        国产成人精品曰本亚洲| 国精品人妻无码一区二区三区性色| 九九久久精品国产免费av| 一本无码中文字幕在线观| 亚洲欧美激情在线一区| 人妻丰满熟妇av无码区hd| 大量老肥熟女老女人自拍| 在线观看日本一区二区三区四区| 久久久久久自慰出白浆| 日出水了特别黄的视频| 亚洲成人免费无码| 亚洲国产精品一区二区| 亚洲综合国产成人丁香五月激情| 中文字幕中文有码在线| 免费人成视频在线观看视频| 国产激情久久久久久熟女老人| 美女被插到高潮嗷嗷叫| 大香焦av一区二区三区| 欧美日韩视频在线第一区| 日子2020一区二区免费视频| 免费看男女啪啪的视频网站| 在线观看午夜视频一区二区| 天天躁日日躁狠狠躁av| 国产精品高潮av有码久久| 中文字幕亚洲一区视频| 女人高潮内射99精品| 免费av片在线观看网站| 亚洲一区二区三在线播放| 日韩少妇人妻中文视频| 欧美性猛交xxxx乱大交3| 国产福利小视频在线观看| 国产午夜福利在线观看中文字幕 | 亚洲一区二区三区中国| 男女爽爽无遮挡午夜视频| 亚洲精品亚洲人成在线下载| 少妇性l交大片免费1一少| 成人国成人国产suv| 最新亚洲人成无码网www电影| 国产va在线播放| 91久久香蕉国产熟女线看| 国产偷久久久精品专区|