新聞中心

        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 溫度測量系統

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 襄城县| 白水县| 上虞市| 永年县| 邢台市| 吴忠市| 青河县| 即墨市| 松滋市| 南宁市| 黄龙县| 治县。| 日照市| 宝清县| 图片| 江孜县| 韶山市| 阿拉善右旗| 杭州市| 普安县| 四平市| 色达县| 新竹市| 潜山县| 伊宁市| 双鸭山市| 拉孜县| 平乡县| 杨浦区| 慈利县| 喀什市| 三江| 芮城县| 崇义县| 龙南县| 孝昌县| 衡南县| 乳山市| 霍林郭勒市| 闽清县| 夏河县|