999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于DS18B20的溫度測量系統

2008-04-12 00:00:00趙永杰
現代電子技術 2008年10期

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

關鍵詞:DS18B20;AT89C51;溫度;測量

中圖分類號:TP212 文獻標識碼: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

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

1 DS18B20介紹

1.1 DS18B20功能特點

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

1.2 DS18B20引腳功能

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

1.3 DS18B20內部結構

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

圖1DS18B20引腳

(1) 64位閃速ROM的結構如下:

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

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

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

(3) 高速暫存存儲器:

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

1.4 DS18B20的初始化

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

2 單片機溫度測量系統硬件設計

2.1 系統的硬件結構 

系統的硬件結構如圖2所示。以單片機AT89C51為核心,由溫度傳感器DS18B20、鍵盤和LED顯示電路、電源電路及時鐘電路等組成。

圖2 系統硬件結構

2.2 電源電路

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

2.3 數據采集

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

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

2.4 接口電路

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

3 軟件設計

3.1 系統程序流程圖

系統程序流程圖如圖4所示。

圖4 系統程序流程圖

3.2 溫度部分軟件設計

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

3.2.1 初始化函數

初始化函數:

void TxReset(void)

{ uint i;

DQ = 0;

i = 100;

while (i>0) i--; 

DQ = 1; // 產生上升沿

i = 4;

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

3.2.2 等待應答函數

等待應答函數:

void RxWait(void)

{ uint i;

while(DQ);

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

i = 4;

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

3.2.3 讀數據函數

讀數據函數:

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 寫數據函數

寫數據函數:

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以內拉高

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 啟動溫度轉換函數

啟動溫度轉換函數:

void convert(void)

{ TxReset(); // 產生復位脈沖,初始化DS18B20

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

delay(1); // 延時

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

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

}

3.2.6 讀取溫度值函數

讀取溫度值函數:

void RdTemp(void)

{ TxReset(); // 產生復位脈沖,初始化DS18B20 

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

delay(1); // 延時

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

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

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

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

}

4 結 語

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

參 考 文 獻

[1]田俊英.基于51單片機的溫度測試系統的設計與實現[J]. 現代電子技術,2007,30(10):15-17.

[2]MAXIM公司.MAXIM產品資料全集[M/CD].2000.

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

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

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

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

主站蜘蛛池模板: 欧美精品啪啪| 色偷偷男人的天堂亚洲av| 国产正在播放| 在线欧美一区| 国产呦精品一区二区三区下载| 美女黄网十八禁免费看| 亚洲无码四虎黄色网站| 婷婷色丁香综合激情| 国产精品久久久久久搜索| 亚洲第一成年人网站| 久久无码av一区二区三区| 亚洲国产91人成在线| 久久国产亚洲欧美日韩精品| 99re免费视频| 欧美国产在线看| 国产精品男人的天堂| 国产欧美日本在线观看| 色欲综合久久中文字幕网| 国产你懂得| 国产亚洲精品97AA片在线播放| 亚洲国产成人麻豆精品| 在线日韩日本国产亚洲| 制服丝袜一区| 精品久久久久无码| 日韩高清在线观看不卡一区二区| 日本不卡在线播放| 国产精品亚洲天堂| 国产在线精品美女观看| 色综合成人| 东京热高清无码精品| 人妻免费无码不卡视频| 五月天久久婷婷| 在线观看亚洲天堂| 日韩毛片基地| 欧美午夜视频在线| 国产美女久久久久不卡| 蝌蚪国产精品视频第一页| 人妻丝袜无码视频| 久久精品这里只有国产中文精品| 日韩在线网址| 欧美yw精品日本国产精品| 人人爽人人爽人人片| 欧美性猛交一区二区三区| 欧美翘臀一区二区三区| 欧美专区在线观看| 亚洲欧美不卡| 亚洲视频免费在线看| 国产精品久久久久久影院| 国产69囗曝护士吞精在线视频 | 久久国产亚洲偷自| 九一九色国产| 国产亚洲欧美日本一二三本道| 97视频精品全国在线观看| 免费看av在线网站网址| 91精品人妻一区二区| 国产情精品嫩草影院88av| 亚洲另类国产欧美一区二区| 久综合日韩| AV色爱天堂网| 免费激情网址| 日本黄色不卡视频| 精品在线免费播放| 激情综合婷婷丁香五月尤物| 国产成人高清精品免费软件| 成人小视频网| 亚洲成A人V欧美综合天堂| 免费无遮挡AV| 久久国产乱子伦视频无卡顿| 久久永久精品免费视频| 亚洲看片网| 亚洲综合第一区| 欧洲av毛片| 午夜啪啪福利| 亚洲日韩AV无码一区二区三区人| 青青国产在线| 国产视频你懂得| 亚洲bt欧美bt精品| 熟女成人国产精品视频| 久久综合色天堂av| 伊人五月丁香综合AⅤ| 欧美成a人片在线观看| 九色最新网址|