基于單片機和DS18B20的溫度采集和分析系統
傳統的溫度檢測大多以熱敏電阻為溫度傳感器,但熱敏電阻的可靠性較差、測量溫度準確率低,且還必須經(jīng)專(zhuān)門(mén)的接口電路轉換為數字信號后才能由單片機進(jìn)行處理。不僅如此,大部分溫度系統都缺少對溫度的采樣存儲,無(wú)法對溫度進(jìn)一步分析。本文介紹了一套以個(gè)人電腦及80C51單片機為核心,使用DS18B20溫度傳感器進(jìn)行溫度采樣,數據庫進(jìn)行溫度存儲,Matlab進(jìn)行溫度分析的系統。該系統可對其所處環(huán)境的溫度進(jìn)行實(shí)時(shí)監控,同時(shí)進(jìn)行溫度的采樣、存儲和分析,實(shí)現對特定環(huán)境下溫度的了解。
本文引用地址:http://dyxdggzs.com/article/201610/308682.htm1 系統總體組成
系統硬件部分主要用于溫度的測量和存儲。PC端則用于測溫事件的建立與存儲、測量參數的設置、溫度數據的存儲及溫度數據的分析。整體而言,系統核心部分分為溫度監測模塊、溫度存儲模塊和溫度分析模塊3部分。
溫度監測模塊用于溫度的監測及采樣,首先利用PC端程序進(jìn)行測溫事件的建立及采樣開(kāi)始時(shí)間(時(shí)分秒)、采樣結束時(shí)間(時(shí)分秒)、采樣間隔(秒)和傳輸方式8個(gè)采樣相關(guān)參數的設置,傳輸方式包括直接傳輸和間接傳輸,對應溫度的永久存儲和臨時(shí)存儲,相關(guān)參數通過(guò)串口傳給單片機。然后利用80C51單片機和DS18B20溫度傳感器來(lái)獲取當前溫度,并按要求對溫度進(jìn)行采樣,同時(shí)利用其他器件將溫度及當前時(shí)間顯示到LED屏上。
溫度存儲模塊分為臨時(shí)存儲模塊和永久存儲模塊,臨時(shí)存儲模塊用于將所測量的溫度數據通過(guò)I2C總線(xiàn)臨時(shí)存儲于A(yíng)T24C02芯片中,永久存儲模塊則將AT24C02芯片中的數據或當前測量的溫度數據通過(guò)串行口傳給PC端,然后PC端程序將其存儲于SQL Server數據庫中。
溫度分析模塊利用Matlab對所獲數據進(jìn)行處理。通過(guò)將數據庫中的數據導入Excel表,然后調用Matlab的m文件讀取Excel表中的數據,并對其分析,完成數據處理。
系統的總體設計如圖1所示。

2 系統硬件設計
系統硬件原理如圖2所示,硬件電路圖如圖3所示。整個(gè)系統通過(guò)STC89C52RC單片機進(jìn)行控制,8051系列單片機為1980年Intel公司推出的MCS-51系列8為高檔單片機微機,而該型號單片機為8051內核芯片,內含Flash E2PROM存儲器,內部程序存儲空間的大小為4 kB,內部RAM為512 Byte,價(jià)格較低,能較好地滿(mǎn)足系統要求。DS18B20溫度傳感器通過(guò)單總線(xiàn)與單片機P1.7連接,單總線(xiàn)數字溫度傳感器將地址線(xiàn)、數據線(xiàn)、控制線(xiàn)合為1根信號線(xiàn),硬件開(kāi)銷(xiāo)小,為保證系統穩定性,將DS18B20的VCC端與外部電源相連。1602液晶為5 V電壓驅動(dòng),可顯示兩行,每行16個(gè)字符,內置含128個(gè)字符的ASCII字符集字庫,可滿(mǎn)足系統信息輸出的要求,1602占用單片機的P0及P2.3、P2.4、P2.5。AT24C02為E2PROM存儲器,使用了快速、高效、精準的I2C接口設計技術(shù)與單片機進(jìn)行通信,時(shí)鐘線(xiàn)與單片機P2.0相連,信號線(xiàn)與P2.1相連。DS1302為時(shí)間芯片,能自動(dòng)產(chǎn)生年、月、日、時(shí)、分、秒等時(shí)間信息,可實(shí)現系統溫度與測量時(shí)間的對應傳輸,并方便系統控制。MAX232為RS232/TTL電平轉換芯片,實(shí)現下位機與PC端上位機的串口通信,其與單片機的RXD(P3.0)和TxD(P3.1)相連。

3 系統軟件設計
3.1 單片機程序設計
圖3為程序的程序總體設計圖,application為整個(gè)單片機程序的全局變量,用以區分系統核心部分和應用部分,當按下與P3.2相連的按鍵時(shí),觸發(fā)外部中斷0,application自加1。

系統核心部分又分為空閑模式和工作模式。系統處于空閑模式時(shí),讀取DS1302的時(shí)間信息和DS18B20的溫度信息,在液晶顯示屏上顯示當前的日期、時(shí)間和溫度,同時(shí)利用按鍵可校準日期和時(shí)間;處于工作模式時(shí),硬件電路與PC端配合工作,完成溫度的采樣、存儲和傳輸。
應用部分,單片機通過(guò)串口獲得溫度閾值和函數式,利用下文將敘述的公式完成相應功能。另外,單片機進(jìn)行溫度采樣的時(shí)間由定時(shí)器0進(jìn)行精確控制。定時(shí)器1用于波特率的產(chǎn)生。當PC端傳遞數據給單片機時(shí),將導致串口中斷,參數數據傳送至單片機的SBUF寄存器,然后再將數據存儲于char型二維數組Parameter中,因為所需傳輸的參數數據共有8個(gè),且每個(gè)參數的位數均為2位,故包括‘国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放