色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

采用DS18B20和AT89C51設計高精度的多路溫度監測系統與進行仿真調試

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2018-11-29 08:11 ? 次閱讀

引言

在實時溫度監控系統中,如大棚溫度監控、冷庫測溫、智能建筑溫度控制等系統中,經常需要進行多路溫度的采集和檢測。快速、可靠地采集到高精度溫度數據可為控制系統的工作提供可靠的依據。傳統上,溫度測量方法多以熱敏電阻、熱電偶等為溫度敏感元件,但都存在可靠性差、精度低、需A/D轉換以及線路復雜等的缺點。

本文提出采用美國Dallas 公司生產的單總線數字溫度傳感器DS18B20和AT89C51單片機構成高精度的多路溫度監測系統,在單片機的控制下巡回監測多路溫度,高低溫度超限報警,并可實現與上位機通訊等功能。

1 DS18B20 簡介

DSl8B20是Dallas公司推出的1-Wire式單總線智能數字溫度傳感器。與傳統的熱敏電阻相比,它能夠直接讀出被測溫度,溫度測量范圍為-55~125 ℃;可通過編程實現9~12位的轉換精度,對應的可分辨溫度分別為0.5 ℃,0.25 ℃,0.125 ℃和0.062 5 ℃,可滿足高精度設計要求;在9位分辨率時最多在93.75 ms內把溫度轉換為數字,12位分辨率時最多在750 ms內把溫度值轉換為數字;電源供電范圍3.0~5.5 V;讀取或寫入信息到DS18B20僅需要單總線接口(即將地址線、數據線、控制線合成一條信號線);測量結果直接輸出數字溫度信號,串行傳送給CPU 同時可傳送CRC 校驗碼,具有極強的抗干擾糾錯能力;使用DS18B20可使系統結構簡潔,可靠性更高。以上特性使得DSl8B20 非常適用于構建高精度的多路溫度采集與檢測系統。

2 硬件電路設計

系統原理框圖如圖1 所示,系統由多片DS18B20、AT89C51單片機、LED 驅動顯示電路、溫度上下限設定電路、報警提示電路、串行通信接口時鐘電路、復位電路等構成。

采用DS18B20和AT89C51設計高精度的多路溫度監測系統與進行仿真調試

系統采用8 片DS18B20 構成溫度采集電路,8 片DS18B20采用單總線與并行輸入相結合的方式接至單片機的P1口。單片機巡回采集各路DS18B20送來的溫度信息后,通過軟件設計算法,將處理后的溫度信息及相應的溫度路數通過LED 數碼管顯示出來,各路溫度值的上下限可通過P3.2~P3.4獨立式鍵盤進行設定。若某路超過溫度設定的上下限將進行通過P3.5或P3.6進行報警提示。此外,可通過串行口RS 232 模塊將各路溫度數據送上位機處理。系統采用Proteus仿真軟件設計的仿真電路如圖2所示,此時LED顯示的是第3路溫度值。

2.1 測溫電路設計

采用8 片DS18B20 組成多路測溫電路。DS18B20內部均有一個全球惟一的64位產品序列號,單片機通過序列號可對一條總線上的多路DS18B20進行控制,讀取其溫度。但DS18B20僅由單總線采集多路溫度數據時,軟件設計算法復雜,讀取速度慢,無法適用于實時性要求高的測溫場合。特別是當單總線上掛接的DS18B20傳感器個數大于8個時,采用寄生電源供電方式亦存在總線驅動能力不足等問題[3].為此,本設計采用“單總線結構+并行I/O 口輸入”相結合的方式,實時巡回采集多路DS18B20的溫度信息。具體做法是:硬件上將8片DS18B20的單總線分別連到單片機的并行P1口引腳,同時各片DS18B20的電源端采用外部電源供電方式,且每個單總線另接一個4.7 kΩ的上拉電阻到5 V電源以保證達到足夠的工作電流;軟件上讀取多路溫度與讀取單路溫度的操作類似,不需讀取讀出所用DS18B20的序列號,而只需通過參數傳遞來循環讀取各路溫度數據(軟件設計中介紹)。

2.2 鍵盤與LED顯示電路設計

LED顯示電路設計:P0口輸出顯示代碼經74LS245驅動后接到8 位LED 數碼管的段選線,P2 口輸出接到LED的位選線。正常情況下,8位LED數碼管用于循環顯示通道號及該通道的溫度值。

鍵盤輸入設計:采用獨立式鍵盤P3.2~P3.4用來修改溫度報警的上限與下限值。系統默認的溫度報警上限為50 ℃,下限為-10 ℃。系統上電后,LED數碼管將先后顯示溫度報警上/下限值。若按P3.2 鍵報警值加1;若按P3.3鍵報警值減1;P3.4為確定鍵,用于保存修改值。

此外,當系統檢測到當前通道溫度值超過設定的上、下限時,將通過P3.6,P3.7進行閃光報警提示。

2.3 串行通信設計

檢測系統可通過串行口與上位機進行通信,向上位機傳送溫度值及相應的通道號。實物中通過RS 232串行接口與上位機連接,上位機的控制界面由VB 6.0 編寫。當運行Proteus軟件時,可以從虛擬終端看到上位機接收到的8個通道的溫度數據及相應的通道號。

3 軟件設計

3.1 軟件總體設計

如圖3所示。

采用DS18B20和AT89C51設計高精度的多路溫度監測系統與進行仿真調試

系統上電復位后,程序主要包括:

(1)系統初始化設置。

(2)按鍵處理子程序:LED 數碼管顯示上限報警溫度值并閃爍,若10 s中之內有按鍵輸入修改溫度值,則進行鍵盤操作直至修改完成,并保存溫度上限值;若10 s之內無按鍵輸入或按P3.4“確定”鍵,則保存上限溫度;接著顯示下限報警溫度值并閃爍,重復上述操作后保存下限報警溫度值。

(3)溫度報警值設置子程序:實現將8 路的報警溫度寫入DS18B20中,流程圖詳見圖4所示。

(4)讀取溫度子程序:在對顯示路數初始化后,進行溫度值讀取,這是軟件設計的關鍵,下面將單獨介紹。

(5)溫度報警處理:讀取某路DS18B20溫度值及報警上下限值后,進行比較,若超出范圍則啟動定時器0,驅動上/下限報警提示單元。

(6)顯示當前通道溫度子程序:取得當前通道號后,根據讀取的2 字節溫度值(溫度暫存器格式參考DS18B20技術手冊),判斷其符號位并分別讀取其整數部分和小數部分,通過運算后保存到顯示緩沖區,進行動態顯示,并刷新顯示若干時間。

(7)上位機通信子程序:每采集一路溫度數據,通過RS 232 串口,將其通道號、溫度值發送給上位機,完成相應通道的溫度數據采集處理。

(8)循環修改:修改通道號,進行下一路溫度數據采集,直至8路溫度處理完成,如此循環往復。

3.2 讀取溫度子程序設計

采用DS18B20進行單路測量時,可直接與單片機相連,不需讀取讀出器件的64 位產品序列號。當采用DS18B20進行多路測溫時,在初始化操作后,通常的做法是需要在線逐個地搜索64 位ROM 編碼以確認各個DS18B20所在位置,并需對ROM編碼進行冗余校驗,算法設計復雜。且等待多路搜索是否完成需要消耗大量的時間,使程序執行的效率和系統實時性受到了影響。

本設計采用“單總線結構+并行I/O口輸入”結合的方式巡回讀取多路溫度。DS18B20作為單總線芯片,進行信息交換時有嚴格的讀/寫時序要求。讀取溫度子程序流程如圖5所示。首先通過參數傳遞將通道號傳給讀取溫度子程序,接著對DS18B20進行初始化,然后直接執行跳過ROM命令(CCH),即不讀取64位ROM編碼而直接向DS18B20發出功能命令,節約了時間。之后,再向DS18B20發送溫度轉換命令(44H),DS18B20啟動溫度采樣與A/D 轉換,并將轉換數據存儲在暫存器中。

然后再次初始化DS18B20,并在再一次跳過ROM 命令后,執行單片機讀暫存器命令(BEH),根據傳遞參數確定的通道號,可將通道號對應的DS18B20高速暫存存儲器的9個字節數據讀入單片機中,其中第0,1字節分別是溫度值低位(LS byte)和高位(MS byte),第2,3 字節分別是高溫限值(TH)和低溫限值(TL),從而完成某通道DS18B20的溫度采集。

3.3 軟件設計流程

軟件設計流程如圖4,圖5所示。

采用DS18B20和AT89C51設計高精度的多路溫度監測系統與進行仿真調試

4 Keil C51 與Proteus 聯合仿真

軟件采用C語言編程,在Keil C51集成開發環境下將編寫的程序進行編譯、調試[6],并生成目標文件(XX.hex)。

同時利用嵌入式仿真軟件Proteus繪制出電路仿真原理圖,CPU 選擇AT89C51.雙擊AT89C51,在出現的對話框中的“Program file”加入已生成的XX.hex文件,并進行仿真調試,調試成功則可以修改溫度報警值,及在正常運行時看到循環顯示所采集到的溫度值、通道號,仿真效果圖如圖6所示。

5 結語

本設計以Proteus 仿真軟件作為開發工具,以AT89C51單片機作為控制核心,使用DS18B20芯片作為溫度傳感器,加上適當的外圍電路,組成了多路溫度巡回監測系統。與傳統溫度傳感器相比,可直接輸出數字信號而不必考慮A/D轉換問題,抗干擾能力與可靠性大大提升。同時,采用單總線與多路并行輸入相結合的方法,克服了DS18B20傳統上采用單總線結構時所存在的問題,實現多路溫度實時讀取、巡回監測、與上位機通信等功能,且系統具有結構簡潔、精度高、適應性強、維護方便等優點,在多路溫度采集與監測領域中有很好的實用價值。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6039

    文章

    44579

    瀏覽量

    636457
  • 溫度傳感器
    +關注

    關注

    48

    文章

    2950

    瀏覽量

    156186
  • 測試系統
    +關注

    關注

    6

    文章

    824

    瀏覽量

    62163
收藏 人收藏

    評論

    相關推薦

    at89c51ds18b20,數碼管的溫度控制

    at89c51ds18b20,數碼管的溫度控制。實現溫度控制與報警
    發表于 05-09 00:42

    基于AT89C51DS18B20的最簡溫度測量系統

    與單片機溝通,完成溫度采集和數據處理。DS18B20AT89C51結合實現最簡溫度檢測系統,該系統
    發表于 10-25 17:11

    DS18B20溫度檢測系統中的應用

    主程序流程圖    程序開始先進行初始化,對系統進行復位操作,然后發送檢波信號,若系統檢測到采樣信號,則AT89C51單片機的P3.7口接
    發表于 11-06 15:09

    基于單總線數字溫度傳感器DS18B20的測溫系統方案

    個字節的存儲單元,高字節保存的值左移8位與低字節相加,便得DS18B20溫度轉換結果,讀取溫度轉換值函數如下:  4 系統調試與運行結果  
    發表于 11-06 15:18

    基于AT89S51單片機和數字溫度傳感器DS18B20組成的多路溫度檢測系統

    AT89S51單片機作為控制器,可靠性高、體積小、價格低廉;采用DS18B20作為多路溫度采集的傳感器,電路簡單、測量
    發表于 04-28 07:36

    基于AT89C51DS18B20的智能溫度表課程設計資料分享

    本設計選用AT89C51作為整個控制系統的核心部分,通過DS18B20采集溫度,通過三個按鍵:模式切換鍵、加鍵和減鍵。模式切換鍵可以切換正常顯示,上限
    發表于 01-13 08:25

    DS18B20溫度顯示報警控制設計

    本文設計了一種基于AT89C51 單片機與DS18B20溫度控制系統。該設計通過AT89S52 單片機驅動數字
    發表于 12-17 00:24 ?696次下載
    <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>顯示報警控制設計

    DS18B20簡介及其多路溫度監測系統的設計

    DS18B20采用單總線結構時溫度數據讀取慢、單總線驅動能力不足的問題,實現了多路溫度實時快速讀取和巡回
    發表于 11-29 11:14 ?13次下載
    <b class='flag-5'>DS18B20</b>簡介及其<b class='flag-5'>多路</b><b class='flag-5'>溫度</b><b class='flag-5'>監測</b><b class='flag-5'>系統</b>的設計

    DS18B20溫控系統的合集包括:芯片介紹,設計資料,原理圖和程序的概述

    基于DS18B20的溫控系統的設計采用DS18B20芯片和四位共陽極LED數碼管,還有主控芯片AT89C51。通過
    發表于 06-19 08:00 ?30次下載
    <b class='flag-5'>DS18B20</b>溫控<b class='flag-5'>系統</b>的合集包括:芯片介紹,設計資料,原理圖和程序的概述

    單片機測溫系統AT89C51DS18B20溫度傳感器、LCD1602)

    單片機測溫系統一、簡介此系統主要由AT89C51DS18B20溫度模塊和LCD1602組成。大致的原理是
    發表于 11-20 14:36 ?25次下載
    單片機測溫<b class='flag-5'>系統</b>(<b class='flag-5'>AT89C51</b>、<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器、LCD1602)

    51單片機多路測溫報警系統AT89C51、多個DS18B20、LCD1602)

    51單片機多路測溫報警系統AT89C51、多個DS18B20、LCD1602)一、簡介** 此系統
    發表于 11-21 11:06 ?19次下載
    <b class='flag-5'>51</b>單片機<b class='flag-5'>多路</b>測溫報警<b class='flag-5'>系統</b>(<b class='flag-5'>AT89C51</b>、多個<b class='flag-5'>DS18B20</b>、LCD1602)

    51單片機使用LCD1602顯示DS18B20溫度傳感器溫度

    的可以留言,看到回復)需要的元件:??AT89C51、LCD1602、DS18B20。電路原理圖:主函數代碼:#include <reg52.h>#include<DS18...
    發表于 11-23 17:21 ?67次下載
    <b class='flag-5'>51</b>單片機使用LCD1602顯示<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>傳感器<b class='flag-5'>溫度</b>

    基于AT89C51單片機用1602LCD與DS18B20設計的溫度報警器

    基于AT89C51單片機用1602LCD與DS18B20設計的溫度報警器Proteus仿真及程序
    發表于 05-05 10:00 ?10次下載

    基于AT89C51單片機用數碼管與DS18B20設計溫度報警器

    基于AT89C51單片機用數碼管與DS18B20設計溫度報警器Proteus仿真及程序
    發表于 05-04 15:31 ?35次下載

    基于51單片機DS18B20溫度測量仿真設計

    運用所學單片機知識,完成溫度信號的測量。要求如下:單片機系統選擇使用AT89C51溫度傳感器采用DS1
    的頭像 發表于 10-22 17:47 ?1724次閱讀
    基于<b class='flag-5'>51</b>單片機<b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b>測量<b class='flag-5'>仿真</b>設計
    主站蜘蛛池模板: 免费一级片网站| 免费韩伦影院在线观看| 99精品国产免费观看视频| 亚洲国产高清视频在线观看| 三级貂蝉艳史 在线观看| 欧美亚洲日韩欧洲不卡| 快播av种子| 久久久精品成人免费看| 国模大胆一区二区三区| 国产欧美日韩国产高清| 国产精品一区第二页| 国产精品久久高潮呻吟无码| 国产成人久久婷婷精品流白浆| 纲手裸乳被爆白浆| 广西美女色炮150p图| 国产成人欧美日韩在线电影| 国产99精品视频| 国产精品色吧国产精品| 国产乱码卡二卡三卡4W| 国产亚洲美女精品久久久2020 | 国产亚洲色婷婷久久精品99| 国产三级在线免费观看| 国产午夜在线精品三级a午夜电影| 国产日韩亚洲精品视频| 国产午夜精品理论片免费观看| 国自精品三七区| 久久精品国产免费播高清无卡| 久久毛片免费看一区二区三区| 美女伸开两腿让我爽| 欧美成人精品高清在线观看| 日本高清免费观看| 翁公吮她的花蒂和奶水| 亚洲AV永久无码精品澳门| 一级毛片皇帝 宫女| 91九色麻豆| 成人中文字幕在线| 国产三级在线精品男人的天堂| 精品国产在线手机在线| 免费A级毛片无码无遮挡内射| 秋霞伦理高清视频在线| 无码人妻少妇色欲AV一区二区 |