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

基于DS 1 8 B 2 0的多點溫度采集系統設計

2017-09-03 10:57:36嶺南師范學院網絡與信息技術中心葉小樂
電子世界 2017年16期
關鍵詞:單片機系統

嶺南師范學院網絡與信息技術中心 葉小樂

基于DS 1 8 B 2 0的多點溫度采集系統設計

嶺南師范學院網絡與信息技術中心 葉小樂

以DS18B20數字溫度傳感器和AT89C52單片機為核心,設計了一種多點溫度采集系統。系統由DS18B20溫度采集模塊、RS-232串口通信模塊、LCD1602液晶顯示模塊和聲光報警等模塊組成。給出了系統的具體硬件電路與程序設計,實現了對多點溫度的采集、顯示、傳輸和異常報警。系統可以廣泛應用于糧倉、溫室大棚等農業生產領域,具有廣闊的應用前景。

溫度采集;DS18B20;單片機

0 引言

溫度是農業生產中的一個重要參數,在眾多農業生產領域中需要對溫度進行監測,大型糧倉需要對上百個點的溫度進行監測,掌握各個點在不同時刻的溫度變化,以提高倉儲量,同時有效地避免發生霉變現象。針對這種需要多點溫度采集的情況,本文設計提出了一種基于AT89C52單片機和DS18B20數字溫度傳感器的多點溫度采集系統。系統可以實時獲取多點溫度數據,并將溫度值與報警設定值進行比較,判斷是否發出聲光報警,同時將溫度值送LCD1602進行實時顯示,并把溫度數據通過串口通訊傳輸給上位PC機,由PC機處理后通過網絡傳輸到控制中心。

1 多點溫度采集系統設計

1.1 系統結構設計

系統的控制核心選用8位單片機AT89C52,由DS18B20溫度采集模塊、RS-232串口通信模塊、LCD1602液晶顯示模塊和聲光報警模塊組成,如圖1所示。

圖1 系統結構圖

1.2 系統電路設計

根據系統結構設計出包含AT89C52單片機與DS18B20數字溫度傳感器、串口、LCD以及聲光報警電路的整體電路圖,如圖2所示。

這里AT89C52單片機采用DIP-40封裝,包括4組8位的輸入/輸出口;LCD1602的D0~D7引腳連接單片機的P0.0~P0.7口,RS引腳連接單片機的P3.5口,E引腳連接單片機的P3.4口;聲光報警電路連接單片機的P2.3口;DS18B20數字溫度傳感器采用單總線技術(1-WireBus),即在單片機接口中只用一根導線(I/O信號線)就可以連接多個數字溫度傳感器,并能夠直接把被測溫度值轉化為串行信號在單總線上傳輸,這里選用單片機的P2.1口通過單總線與兩個DS18B20的數據線引腳DQ相連,單總線通過10K的上拉電阻R6連接+5V電源,DS18B20傳感器可位于離單片機150m以內的任何地方;并且為了能夠和上位PC機進行長距離數據傳輸,系統選用RS-232串行接口,通信距離能夠達到15米,上位PC機通過VC程序控制串口來接收單片機發送的溫度數據,所以系統能夠滿足在需要較大范圍溫度測控的場合布置使用。

圖2 系統電路圖

2 硬件模塊設計

2.1 DS18B20溫度采集模塊

系統使用的是美國DALLAS半導體公司推出的系列單總線溫度傳感器芯片DS18B20[1],該芯片具有以下優點:(1)體積小,只有電源、接地、數據線共3個引腳,極大地節約了系統資源[2];(2)功耗低、成本低、性能高;(3)測溫范圍廣,可測范圍在-55℃到+125℃之間;(4)可組網,每個DS18B20都有唯一的序列號,可用于多點測溫;(5)線路簡單,DS18B20作為1-wire單總線數字溫度傳感器,采用一根信號線實現信號的雙向傳輸,接口簡單,便于擴展和維護[3],只需要占用單片機的一個端口即可通信,本設計采用AT89C52單片機的P2.1端口與DS18B20進行通信,詳見圖2所示;(6)適用電壓寬,從3V一直到5.5V;(7)用戶可以在9位到12位之間選擇數字溫度的分辨率,傳感器直接輸出溫度值的數字信號,抗干擾能力好;(8)可在內部設置溫度的上、下限告警。

2.2 AT89C52單片機

系統選用美國ATMEL公司制造的8位單片機AT89C52做主控制器。這種單片機采用ATMEL公司的高密度非易失存儲器技術生產,兼容工業標準的MCS-51指令系統和8052的產品引腳,片內含有8k字節可擦寫Flash只讀程序存儲器(PEROM)與256字節隨機數據存儲器(RAM)。該單片機擁有1個8位CPU,1個片內振蕩器及時鐘電路,3個16位定時/計數器,21個特殊功能寄存器,4個8位并行I/O口,共32條可編程I/O端線,1個可編程全雙工串行口,8個中斷源[4,5]。AT89C52單片機可以為嵌入式系統行業提供高性價比、高靈活度的解決方案。

2.3 LCD1602液晶顯示模塊

這里采用LCD1602液晶顯示模塊來實時顯示所測溫度。該款液晶顯示模塊以其功耗低、顯示內容豐富、超薄輕巧、體積小的優勢,被廣泛應用于低功耗的應用系統和袖珍式儀表當中。這種工業字符型的液晶顯示模塊能夠同時顯示2行,每行16個字符,共計32個字符,本設計每行顯示一個采集點的溫度值。該液晶模塊自帶標準字庫,有160個不同的點陣字符圖形被存儲于其內部字符發生存儲器(CGROM)中,這些字符包括英文字母的大小寫、阿拉伯數字、常用的符號等,每一個字符均對應有一個固定的代碼??梢酝ㄟ^指令編程來實現對液晶顯示模塊的讀寫、屏幕和光標的操作等。

2.4 聲光報警模塊

系統實時測量各點溫度,如果溫度達到告警設置,則由單片機的系統軟件控制P2.3引腳交替輸出高低電平,使三極管驅動聲光設備發出報警。

2.5 串口通信模塊

AT89C52單片機的串行接口與RS-232標準串口通信連接的接口電路詳見圖2所示。因為AT89C52單片機的串行接口采用TTL電平,從而和采用RS-232電平的PC機串口在接口規范上不一致,所以需要在單片機的串行接口和PC機的標準串行接口之間進行電平轉換,這里采用的是MAX232接口芯片來實現TTL電平到RS-232接口電平的轉換的。

3 系統軟件設計

系統軟件使用Keil C51開發,采取模塊化的設計方法,使程序的結構清晰,提高了開發調試的效率,利于以后軟件的升級和系統功能的擴展。程序設計模塊主要包括主程序、溫度轉換子程序、DS18B20時序子程序等。

3.1 主程序

主程序的主要功能是負責溫度數據的實時處理:調用溫度轉換子程序獲取實時溫度數據,將實時溫度值與報警設定值進行比較,判斷是否發出聲光報警,同時將溫度值送LCD1602進行實時顯示,并同時把溫度數據由串口通訊實時發送給上位PC機。主程序流程圖如圖3所示。

圖3 主程序流程圖

主程序相關代碼程序如下:

void main() {

uint i;

fl oat tempr;

init();//初始化函數

while (1) {

for (i = 0;i < 2;i++) {

tempr = get_temp(get_serial + i * 8);//調用溫度轉換程序獲取實時溫度數據

if (i == 0) { //第一個溫度傳感器

if (tempr > warn1) {warn(1);} //判斷溫度是否超標報警

write_com(0x80);//在LCD的第一行顯示

sprintf(table1 + 6,” %0.1f”,tempr);//精確到小數點后一位

Display_LCD_String(table1);//送往LCD顯示Send_COM_String(table1);//由串口發送給上位PC機

}

if (i == 1) { //第二個溫度傳感器

if (tempr > warn2) {warn(2);} //判斷溫度是否超標報警

write_com(0x80 + 0x40);//在LCD的第二行顯示sprintf(table2 + 6,” %0.1f”,tempr);//精確到小數點后一位

Display_LCD_String(table2);//送往LCD顯示

Send_COM_String(table2);//由串口發送給上位PC機

} } } }

3.2 溫度轉換子程序

DS18B20在上電后是處于空閑狀態的,依據其單總線協議,每次溫度轉換都需要單片機通過以下4個步驟器發送命令控制傳感器來完成:(1)對DS18B20進行初始化即復位操作;(2)初始化成功后發送ROM指令用于識別器件;(3)發送一條RAM指令控制DS18B20完成相應操作;(4)收發數據。由此設計溫度轉換子程序的程序流程圖如圖4所示。

圖4 溫度轉換子程序流程圖

DS18B20完成溫度轉換后得到的12位數據存儲于兩個8位的RAM中,如果溫度小于0,需要把測得的數值取反加1再乘以0.0625便是實際溫度,如果溫度大于0,把測得的數值乘以0.0625就是實際溫度。編寫設計溫度轉換子程序如下:

f

l oat get_temp(uchar *rom) ∥DS18B20溫度轉換函數

{

uchar a,b;

uint temp;

fl oat f_temp;

dsreset();//對DS18B20進行初始化即復位操作

delay(1);

tempwritebyte(0x55);// 匹配ROM指令,用來選定與所給ROM編碼相匹配的傳感器

tempwriteromcode(rom);//發送一個ROM編碼

tempwritebyte(0x44);// 發送溫度轉換指令

dsreset();//對DS18B20進行初始化即復位操作

delay(1);

tempwritebyte(0x55);// 匹配ROM指令,用來選定與所給ROM編碼相匹配的傳感器

tempwriteromcode(rom);//發送一個ROM編碼

tempwritebyte(0xbe);// 發送讀出暫存器指令

a = tempreadbyte();//讀低8位

b = tempreadbyte();//讀高8位

temp = b;

temp <<= 8;//兩個字節組合為1個字

temp = temp | a;

if ((temp & 0xf800) == 0xf800) { //判斷溫度正負值

f_temp = (~temp + 1) * 0.0625*-1;

} else {

f_temp = temp * 0.0625;//溫度在寄存器中為12位 分辨率位0.0625度

}

return f_temp;//返回實際溫度值

}

3.3 時序子程序

由于DS18B20是采用單總線協議方式在一根I/O線上進行數據的讀寫,這要求對數據位的讀寫有著嚴格的時序來保證各位數據得到正確完整地傳輸,并且所有的數據讀寫均由最低位開始。本系統單片機使用的晶振頻率是11.0592MHz,根據DS18B20的初始化時序、寫時序和讀時序要求,分別設計編寫了3個子程序。

(1)初始化時序:它是單總線上所有傳輸過程的開始。整個初始化過程由主機發出的復位脈沖和DS18B20發出的響應脈沖組成。初始化時序子程序如下:

void dsreset(void) { ∥初始化時序函數

uint i;

ds = 0; ∥拉低總線

i = 103;

while (i > 0) ∥延時

i--;

ds = 1;∥釋放總線

i = 4;

while (i > 0) ∥延時

i--;

}

(2)讀時序:DS18B20只有在檢測到主機啟動讀時序后才向主機傳輸數據。因此在主機發送了讀數據命令后,必須馬上產生讀時序,以便DS18B20能夠傳輸數據。讀時序子程序如下:

bit tempreadbit(void) { ∥讀1位數據時序函數

uint i;

bit dat;

ds = 0; ∥拉低總線

i++;∥i++ 起延時作用

ds = 1;∥釋放總線

i++;∥i++ 起延時作用

i++;

dat = ds;∥讀1位數據

i = 8;

while (i > 0) ∥延時

i--;

return (dat);

}

uchar tempreadbyte(void) //讀1個字節數據時序函數{

uchar i,j,dat;

dat = 0;

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

j = tempreadbit();

dat = (j << 7) | (dat >> 1);//剛好一個字節在dat里

}

return (dat);

}

(3)寫時序:對于DS18B20的寫時序分為寫0時序與寫1時序兩個過程。寫“0”時序用于主機向DS18B20寫入0,寫“1”時序用于主機向DS18B20寫入1。寫時序子程序如下:void tempwritebit(bit dat) { ∥寫1位數據時序函數

uint i;

if (dat) ∥寫 1

{ ds = 0; ∥拉低總線

i++;∥i++ 起延時作用

i++;

ds = 1;∥釋放總線,由上拉電阻將單總線拉至高電平

i = 8;

while (i > 0) ∥延時

i--;

} else { ∥寫 0

ds = 0; ∥拉低總線

i = 8;

while (i > 0) ∥延時

i--;

ds = 1;∥釋放總線

i++;∥i++ 起延時作用

i++;

} }

void tempwritebyte(uchar dat) //寫一個字節數據時序函數

{

uchar j;

bit testb;

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

testb = dat & 0x01;

dat = dat >> 1;

tempwritebit(testb);

} }

4 結束語

在通過模塊化的電路調試、軟件測試和整體集成后,系統各方面性能都滿足設計要求,測溫準確,數據顯示、傳輸和聲光報警都工作正常。隨著科學技術的發展,尤其是計算機技術的發展與普及,數據采集技術將有更為廣闊的發展前景[6],本文設計的遠距離多點數字式溫度采集系統作為一種數據采集技術可以廣泛應用于糧倉、溫室大棚等農業生產領域。

[1]DALLAS公司.DS18B20使用手冊[Z].2003.

[2]宋丹.多路溫度巡檢系統的設計與應用[J].自動化與儀表,2008, 23(9):13-15.

[3]張彥兵,劉永前,李義強.1-wire總線驅動電路設計[J].傳感技術學報,2006,19(4):1020-1028.

[4]李文娟,海霞,葉諶雯.一種基于超聲波的檢測防撞系統的設計[J].自動化博覽,2007(6):80-81.

[5]王安敏,張凱.基于AT89C52單片機的超聲波測距系統[J].儀表技術與傳感器,2006(6):45-46.

[6]朱曉榮,周東輝.一種實用的分布式數據采集和控制系統[J].電子產品世界,2003(8):34-36.

Design of Multi-point Temperature Acquisition System Based on DS18B20

YE Xiao-le
(Information and Educational Technique Center,Zhanjiang Normal University,Zhanjiang 524048,China)

A multi-point temperature acquisition system is designed based on DS18b20 digital thermometer and AT89C52 MCU.The system consists of temperature acquisition module,RS-232 serial communication module,LCD1602 module,voice and light alarm module.The design method of concrete hardware and software of the system is given,and the system realizes the acquisition,indication,transmission and abnormal alarm of multipoint temperature.The system can be widely applie in agriculture domain such as granary,green house and so on,it has wide application prospects.

Temperature Acquisition;DS18B20;MCU

嶺南師范學院自然科學基金項目(L1211)。

葉小樂(1979—),男,江西大余人,碩士研究生,計算機科學與技術實驗師,研究方向:嵌入式系統、計算機網絡。

猜你喜歡
單片機系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于PowerPC+FPGA顯示系統
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
半沸制皂系統(下)
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
主站蜘蛛池模板: 国产福利免费在线观看| 亚洲中文字幕在线观看| 熟女日韩精品2区| 国产成人欧美| 一级毛片在线播放| 国产精品女人呻吟在线观看| 九九久久精品免费观看| 亚洲日本韩在线观看| 高清精品美女在线播放| 国产成年无码AⅤ片在线| 国产精品香蕉| 久久黄色视频影| 亚洲日韩Av中文字幕无码| 亚洲swag精品自拍一区| 亚洲国产成人麻豆精品| 国产国产人成免费视频77777| 久久久成年黄色视频| 免费啪啪网址| 亚洲国产成人久久精品软件 | 亚洲熟女中文字幕男人总站| 亚洲区一区| 老司机久久精品视频| 亚洲第一色网站| 国产成+人+综合+亚洲欧美| 四虎影视库国产精品一区| 亚洲女同一区二区| 熟妇丰满人妻| 亚洲午夜国产精品无卡| 国产专区综合另类日韩一区| 中文字幕在线看| 国产97视频在线观看| 欧美精品三级在线| 亚洲美女一级毛片| 精品一区二区三区无码视频无码| 99偷拍视频精品一区二区| 国产精品久久自在自2021| 亚洲精品无码AV电影在线播放| av免费在线观看美女叉开腿| 亚洲欧美不卡中文字幕| 亚洲第一视频网| 国产成人精品一区二区| 97精品久久久大香线焦| 婷婷综合色| 伊人久久大香线蕉成人综合网| 国产一区二区三区夜色| 久久国产亚洲欧美日韩精品| 99久久无色码中文字幕| 永久成人无码激情视频免费| 亚洲av无码成人专区| 亚洲第一中文字幕| 一区二区无码在线视频| 成人亚洲天堂| 色悠久久久久久久综合网伊人| 久久精品aⅴ无码中文字幕| 国产三级韩国三级理| 亚洲欧美人成人让影院| 欧美色伊人| 国产成人久久综合777777麻豆| 亚洲成aⅴ人在线观看| 伊人丁香五月天久久综合| 成人午夜视频网站| 亚洲午夜国产精品无卡| 亚洲天堂网视频| 国产成人欧美| 日本国产一区在线观看| 91精品视频在线播放| 国产福利2021最新在线观看| 日韩专区第一页| 亚洲成人免费看| 无码高潮喷水专区久久| 久久久精品无码一二三区| 精品五夜婷香蕉国产线看观看| 美女扒开下面流白浆在线试听| 97精品国产高清久久久久蜜芽 | 91精品国产91欠久久久久| 日韩高清在线观看不卡一区二区| 久草热视频在线| 国产欧美精品专区一区二区| 国产91小视频在线观看| 国产精品林美惠子在线播放| 亚洲天堂视频在线观看| 精品人妻AV区|