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

基于單片機的高精度溫度測量系統設計

2011-06-30 01:09:38何宗虎,張德祥,張玲君
現代電子技術 2011年9期
關鍵詞:單片機

何宗虎, 張德祥, 張玲君

摘 要:提出采用單總線數字式溫度傳感器DS18B20 和單片機組成的新型高精度溫度測量儀的設計。介紹了溫度傳感器DS18B20的結構、特點和工作原理,設計了DS18B20和AT89S52單片機的溫度測量系統硬件電路和軟件編程,主要包括溫度采集、溫度顯示及報警控制等功能。整個系統具有結構簡單,測量精度高,傳輸距離遠,抗干擾能力強,溫度讀取方便和造價低等一系列優點,適用于生產生活及科學研究中對溫度的測量,應用前景十分廣闊。

關鍵詞:溫度測量; 單片機; DS18B20; 數碼管顯示

中圖分類號:TN876-34

文獻標識碼:A

文章編號:1004-373X(2011)09-0130-03

Design of High-accuracy Temperature Detecting System Based on Single Chip Microcomputer

HE Zong-hu, ZHANG De-xiang, ZHANG Ling-jun

(Institute of Electrical Engineering and Automation, Anhui University, Hefei 230039, China)

Abstract: A new high-accuracy temperature detecting system based on single-bus digital temperature sensor DS18B20 and single chip microcomputer (SCM) is proposed. In this paper, the structure, characteristics and working principle of temperature sensor DS18B20 is introduced. Hardware circuit and software programming (including temperature acquisition, temperature display and alarm control functions) of the temperature measurement system are designed based on DS18B20 and AT89S52 SCM. The whole system has a series of advantages of simple structure, high detection accuracy, long transmission distance, strong anti-interference ability, easy to read temperature and low cost. It has a bright application future in daily life and scientific research for temperature measurement.

Keywords: temperature measurement; SCM; DS18B20; nixie display

0 引 言

溫度是工業生產過程和實驗過程中比較重要的一個參數,精確的溫度測量和及時的顯示溫度是很重要的。目前溫度測量系統種類繁多,功能參差不齊。單片機具有體積小,價格便宜,通用性和靈活性強的特點,利用單片機設計溫度測量系統,既可以滿足功能要求,又經濟實惠。數字溫度測量傳感器DS18B20是單一總線的高精度測量器件,它克服了以前模擬式傳感器與微機接口時需要的A/D轉換器及其他復雜外圍電路的缺點[1]。本文就是運用單片機及其接口和集成單總線溫度傳感器DS18B20構建一個高精度的溫度測量和顯示系統,并且通過開關進行溫度上限的設置,如果溫度超過設定值就會報警或進行相應的控制命令。設計的電路簡單,易于實現,而且還具有一定的擴展功能,可以擴展成多點采集和更復雜的功能。

1 系統硬件設計

整個系統主要由主控中心(單片機) 、溫度傳感器DS18B20、數碼管顯示及開關控制等功能模塊組成[2-3]。可以通過開關調節報警溫度的上限,既可以使上限增加,也可以使上限減小,這樣就可以用于不同場合了,系統的框圖如圖1所示。

圖1 系統硬件結構框圖

1.1 溫度傳感器DS18B20

DS18B20是美國Dallas半導體公司生產的數字式溫度傳感器,提供9位溫度讀數,指示溫度[4-5]。溫度信息通過單線接口送入DS18B20或者從DS18B20送出,所以從處理器到DS18B20僅需連接一條線。讀、寫和完成溫度變換所需的電源可以由數據本身提供,而不需要外部電源。這使得DS18B20與單片機接口變得很簡單,克服了模擬式傳感器與微機接口時需要的A/D轉換及其他復雜外圍電路的缺點,而且它具有結構簡單、成本低、體積小、抗干擾能力強、使用簡單等優點。最重要的是DS18B20的ROM中存有其芯片的惟一標識碼,即任意兩個DS18B20的標識碼是不同的,特別適合與微處理芯片構成多點溫度測量控制系統。DS18B20是DS1820的改進型,分辨率為9~12位可編程控制,由其寄存器R0,R1的兩位狀態決定。測量范圍從-55~+125 ℃,增量值為0.5 ℃。

DS18B20在內部以時鐘周期個數計數來測量溫度,并且提供0.5 ℃的分辨率。溫度讀數以16位、符號擴展的二進制補碼讀數形式提供。需要注意的是在DS18B20中溫度以1/2 ℃LSB(最低有效位) 形式表示時,產生以下9位格式:

MSB LSB

1

11100110

1.2 鍵盤控制設計

系統工作前先由用戶自己設定一個兩位溫度值作為報警值,打開電源,單片機復位初始化,閉合開關中斷程序,按復位開關,每按一次報警值就會在初始化的基礎上加1 ℃,數碼管顯示設定值[6-8]。用戶進行核對查看顯示的數字值是否與設置值一樣,然后打開開關進行周圍溫度測量值傳輸。由于報警值可以由用戶自己設定,故系統能適應各種不同溫度的環境。

1.3 其他的部分

系統主要采用的是7段共陽極數碼管顯示測量的溫度值,由發光二極管和蜂鳴器進行報警。如果測的溫度值高于設定值1 ℃,報警系統就會報警(發光二極管點亮,蜂鳴器鳴響)。這樣可以從聲音和視覺上收到系統的警報。

1.4 系統的電路原理圖

系統的電路原理圖如圖2所示。

圖2 系統電路原理圖

2 軟件設計

系統開始工作時,首先進行I/O口初始化、報警值初始化,然后判斷開關是否閉合,由用戶自己在原報警值的基礎上更改,確定后由單片機控制軟件發出溫度讀取指令,通過數字溫度傳感器DS18B20采集當前溫度值,轉換后經過單總線傳輸給單片機,單片機經過處理由數碼管顯示,如果超出設置的報警值1 ℃,系統就會報警(發光二極管點亮、蜂鳴器鳴響) [9-10]。系統的軟件部分主要是由中斷子程序、讀寫DB18B20程序、顯示程序和報警系統四部分組成,主程序流程圖如圖3所示。

圖3 主程序流程圖

設計的部分程序如下:

#include

#include

#include

sbit DQ = P3^2;//定義DS18B20的數據口

sbit SET=P3^3;//定義報警值的控制開關

unsigned char TAP[10]= //共陽極,不帶點

{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};

unsigned char TAP2[10]=//共陽極,帶點

{0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,};

//定義一個存放轉換后溫度值的數組,溫度值為字符型(ASCII碼),小數點后保留2位

unsigned char str[10];

//延時子程序,延時(10*D+3)us

void delay_10us(unsigned char D)

{unsigned char i;

for (i=0;i

{_nop_();//空操作,一個指令周期

_nop_();

}

}

//DS18B20初始化

void INIT(void)

{DQ = 0;

delay_10us(50); //等待500 μs

DQ = 1;//釋放18B20數據線。

delay_10us(9); //等待90 μs

while (!DQ);//等待18B20準備好

}

//讀DS18B20的程序

unsigned char READ(void)

{unsigned char i;

unsigned char D = 0;

for (i=0;i<8;i++) //讀8位數據

{D=D>>1; //先讀數據低位

DQ = 0;

_nop_ ();

DQ = 1; //釋放18B20數據線

for (j=1;j<9;j++)

{_nop_(); }

if(DQ) D += 0x80; //如果數據線上是″1″,D最高位為″1″,否則為″0″

delay_10us (6);

}

return D;//返回值為D,即讀出的一個字節數據。

}

//寫DS18B20的程序

void WRITE(unsigned char D)

{unsigned char i;

for (i=0;i<8;i++)

{DQ = 0;

if (D & 0x01) DQ = 1;

elseDQ = 0;

delay_10us(8);

DQ = 1;

D = D >> 1;//右移一位,準備寫下一位

}

}

//顯示程序(str數組內元素是ASCII碼,所以要減去48)

void display(void)

{unsigned char i;

unsigned char j=100;

while(j--)

{

for (i=0;i<255;i++)

{ P0 = TAP [str[0]-48];

P2 = 0x1;

}

for (i=0;i<255;i++)

{ P0 = TAP2[str[1]-48];

P2 = 0x2;

}

for (i=0;i<255;i++)

{P0 = TAP[str[3]-48];

P2 = 0x4;

}

for(i=0;i<255;i++)

{P0 = TAP[str[4]-48];

P2 = 0x8;

}

}

}

//主程序

void main()

{unsigned char warning=30;

unsigned char TMP_H = 0;

unsigned char TMP_L = 0;

shortTMP= 0; //短整型數據

float TMP_F = 0; //浮點型數據

P1_0=0; //開機時測試溫度超限警報LED燈

while(1)

{

while(!SET) //報警值確定

{

delay_10us(5);

while(!SET)

{

if(P1_0==0) warning+=1;//增加上限

else if(P1_1==0) warning+=1;//減小上限

elsewarning+=0;

str[0]=warning/10+48;

str[1]=warning%10+48;

str[3]=48;

str[4]=48;

display();

delay_10us(5);

}

}

INIT(); //初始化DS18B20

WRITE(0xCC);//跳過ROM配置

WRITE(0x44);//開始轉換溫度

display(); //默認至少等待750 ms,用于溫度轉換

INIT();//初始化DS18B20

WRITE(0xCC);//跳過ROM配置

WRITE(0xBE);//準備讀取溫度值

TMP_L=READ(); //讀取溫度值的低8位

TMP_H=READ(); //讀取溫度值的高4位

TMP=TMP_H;

TMP=(TMP<<8) | TMP_L;//高位左移8位與低位相或(加) 賦值于TMP

TMP_F=TMP * 0.0625;//計算溫度值

sprintf(str,″%.2f″,TMP_F);//將浮點數轉換成字符型,存入str數組

if(TMP_F>=warning)P1_0=0; //如果溫度值大于等于報警值,報警

else P1_0=1;

}

}

3 結 語

基于C51系列單片機和DS18B20數字溫度傳感器的溫度測量系統結構簡單、成本低、操作方便,比較好推廣,而且也可以根據情況進行擴展,比如進行多點采集等。

參考文獻

[1]劉衛民.集成溫度傳感器DS1820原理及應用[J].黑龍江科技信息,2008(21):52.

[2]楊偉偉.淺談基于單片機的溫度測控系統設計[J].信息與電腦:理論版,2010(2):50-51.

[3]何錫才.傳感器及其應用電路[M].北京:電子工業出版社,2002.

[4]李虹,溫秀梅,高振天.基于MSP430單片機和DS18B20的小型測溫系統[J].微計算機信息,2006,22(2):137-138.

[5]檀永,陳小平.基于DS1620的溫度變送器設計[J].江蘇電器,2006(4):4-6,10.

[6]張立科.單片機典型外圍器件及應用實例[M].北京:人民郵電出版社,2006.

[7]鄔楊波.一種基于VHDL的7段LED數碼管顯示控制器[J].機電工程,2008,25(7):51-54.

[8]馬臣崗, 孟立凡.基于單總線式無線溫度采集系統設計[J].電子設計工程,2010(3):31-33.

[9]劉瑞新.單片機原理及應用教程[M].北京:機械工業出版社,2003.

[10]張義和,王敏男,許宏昌.例說51單片機[M].北京:人民郵電出版社,2008.

2011年5月1日第34卷第9期現代電子技術Modern Electronics TechniqueMay 2011Vol.34 No.9

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

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 亚洲欧美日韩精品专区| 国产精品人成在线播放| 欧美人与牲动交a欧美精品| 亚洲永久免费网站| 亚洲AV无码一二区三区在线播放| 亚洲香蕉在线| 免费一级毛片完整版在线看| www成人国产在线观看网站| 久久永久精品免费视频| 美女国产在线| 丁香综合在线| 国产精品一区二区国产主播| 一级爆乳无码av| 国产极品粉嫩小泬免费看| 久久人午夜亚洲精品无码区| 国产精品网拍在线| 欧美日韩国产在线观看一区二区三区| a毛片在线播放| 国产精品免费p区| 国产日本一线在线观看免费| 国产一区二区三区在线观看视频| 国产精品久久国产精麻豆99网站| 国产成人久久777777| 人妻中文字幕无码久久一区| 国产中文在线亚洲精品官网| 亚洲精品高清视频| 免费午夜无码18禁无码影院| 思思热精品在线8| 亚洲国产中文欧美在线人成大黄瓜 | 有专无码视频| 国产乱子伦精品视频| 亚洲天堂网在线观看视频| 国产精品一区二区国产主播| 久久美女精品国产精品亚洲| 一级成人a毛片免费播放| 小蝌蚪亚洲精品国产| 日本一区二区三区精品国产| 狂欢视频在线观看不卡| 国产日韩AV高潮在线| 在线观看网站国产| 欧美成人二区| 久久大香香蕉国产免费网站| 久久99这里精品8国产| 91人妻日韩人妻无码专区精品| 亚洲精品日产AⅤ| 在线观看91精品国产剧情免费| 国产综合精品一区二区| 亚洲中文精品人人永久免费| 高清码无在线看| 亚洲国产黄色| 久久无码av三级| 久久午夜夜伦鲁鲁片不卡| 久久无码av三级| 国产精品国产三级国产专业不| 亚洲无码精彩视频在线观看 | 999精品免费视频| 久久77777| 久久久久人妻一区精品| 国产呦精品一区二区三区下载| 四虎国产精品永久一区| 54pao国产成人免费视频 | 久久99久久无码毛片一区二区| 欧美日本激情| 伊人激情综合网| 国产91在线|日本| 最新国产高清在线| 丁香婷婷久久| 综合色亚洲| 国产va视频| 99成人在线观看| 在线欧美日韩| 国产成人喷潮在线观看| 福利视频久久| 无码福利日韩神码福利片| 久久99精品久久久久纯品| 青草午夜精品视频在线观看| 国产午夜福利亚洲第一| 日本亚洲欧美在线| 奇米精品一区二区三区在线观看| 国产偷倩视频| 欧美另类图片视频无弹跳第一页 | 亚洲日韩精品伊甸|