新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于AVR單片機和DS18B20的多點溫度測量系統

        基于AVR單片機和DS18B20的多點溫度測量系統

        作者: 時間:2013-12-10 來源:網絡 收藏

          測試中,選擇芯片出廠時默認的12位轉換精度,轉換的結果用16位符號擴展的二進制補碼讀數形式提供。關于可參考DALLAS公司的數據手冊。

          多點溫度巡回測量的主要程序如下:

        基于AVR單片機和DS18B20的多點溫度測量系統

        基于AVR單片機和DS18B20的多點溫度測量系統

        基于AVR單片機和DS18B20的多點溫度測量系統

        基于AVR單片機和DS18B20的多點溫度測量系統

          上述兩個程序可以編寫為兩個子程序,主程序在初始化工作完成后,讀開關K1的狀態,如為打開狀態調用溫度巡回測量部分的子程序;如為閉合狀態調用獲取ROM代碼子程序。

        4.1設置報警限值

          設有溫度高低限報警功能。DSl8B20的存儲器由兩部分組成:一個是9字節的靜態RAM,其中第0和第1字節用于存儲16位的溫度轉換值,第2(高溫限TH)和第3字節(低溫限TL)作為溫度報警限值或通用存儲器單元供用戶使用;另一個是非易失性的E2PROM。當靜態RAM作為溫度報警限值使用時,可以在系統安裝和工作前,用寫RAM命令4EH將高溫限TH和低溫限TL寫入第2和第3字節單元。由于靜態RAM掉電后信息即丟失,因此需要再通過拷貝RAM命令48H將第2和第3字節單元的溫度報警限值拷貝到E2PROM中。主程序只要在初始化部分使用重調E2PROM命令B8H,就可以將E2PROM中的溫度報警限值重新拷貝到靜態RAM中。

        4.2報警處理

          系統正常工作時,在啟動所有的DS18B20作溫度轉換后,可以使用報警搜索命令ECH,發現溫度值高于TH或低于TL的數值時,則讀取報警的DS18B20的ROM代碼,通過查內部E2PROM中測量位置點和傳感器64位ROM代碼之間的關系表即可得到報警的DS18B20的位置編號,從而啟動語音報警或在LCD上顯示報警點的位置編號。

          本文的設計方法,將DS18B20 ROM代碼的獲取和溫度的測量融為一體,利用單片機內部的E2PROM建立了測量位置點和ROM代碼之間的關系表,用簡單的硬件及編程方法實現了多點溫度的測量、數字溫度傳感器的出錯指示和識別,大大有利于系統的調試和擴充,能有效降低成本,縮短開發周期。在糧庫測溫系統、冷庫測溫系統、中央空調系統、智能建筑自控系統等多點中將獲得廣泛的應用。

        單片機相關文章:單片機教程


        單片機相關文章:單片機視頻教程


        單片機相關文章:單片機工作原理


        溫濕度控制器相關文章:溫濕度控制器原理

        上一頁 1 2 下一頁

        關鍵詞: AVR單片機 DS18B20 溫度測量系統

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 高陵县| 新巴尔虎左旗| 罗定市| 定州市| 玉田县| 玉龙| 丹寨县| 华安县| 西乡县| 密云县| 恩平市| 虞城县| 垦利县| 中山市| 皋兰县| 普陀区| 鲁山县| 应城市| 赤水市| 阳朔县| 荣昌县| 克拉玛依市| 长海县| 临江市| 民乐县| 台中县| 丁青县| 昌邑市| 花莲县| 贡嘎县| 嘉定区| 平远县| 闻喜县| 咸宁市| 蒲城县| 平遥县| 金寨县| 靖西县| 新竹市| 神池县| 广灵县|