新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于ZigBee的無線溫度監控系統的設計

        基于ZigBee的無線溫度監控系統的設計

        作者: 時間:2013-01-24 來源:網絡 收藏

        3 AVR單片機控制模塊
        AVR單片機控制模塊由2部分組成:單片機最小系統以及DS18B20溫度采集模塊,如圖3中虛線框所示。其中,單片機系統的RX、TX兩個引腳和的TX、RX引腳相連,負責UART的通訊。單片機的PCI引腳與DS18B20的數據端相連,接收來自溫度傳感器的溫度數據。此外,單片機上的PA0和PA1兩個引腳分別引出,用來指示不同的溫度控制響應。

        本文引用地址:http://www.104case.com/article/153600.htm

        e.JPG


        3.1 溫度采集模塊
        溫度采集模塊由溫度傳感器DS18B20構成。由于DS18B20采用1-WIRE數據傳輸協議,僅使用1根數據線即可實現與單片機芯片的雙向通訊(包括傳輸溫度信息),接線方便,非常適用于農業大棚、潔凈室、機房等多種非極限測溫場合。設計采用寄生電源供電方式,電路連接如圖4所示,由ATMega16的PCI采集溫度數據。

        f.JPG


        DS18B20的內部有64位的ROM單元和9字節的RAM單元。64位的ROM包含了DS18B20唯一的序列號,因此DS18B20支持多點組網功能,多至階DS18B20可以同時存在一條總線上,實現多點測溫,由ROM讀取操作來判斷選擇某點的DS18B20溫度數據。在9字節RAM單元中,字節0-1是溫度寄存器,用來保存轉換好的溫度,共16bits。其中,bit0-bit7為LSB,分別保存權值為2-4至23的數據;bit8-bit15為MSB,bit8-bit10保存權值為24至26的數據,bit11-bit15為符號位,DS18B20的分辨率為0.0625,溫度計算公式為:temperature=(MSB+LSB)×256x0.062。DS18 B20內部還有2個E2PROM字節TH和TL,用于配置溫度最高界限和溫度最低界限,用戶通過設置這2個寄存器的值可以設定溫度報警的上下限。
        3.2 單片機控制系統
        單片機控制系統使用Atmel公司的ATMega16L芯片作為主控芯片,實現溫度數據的采集、串行數據的發送與接收,以及根據上位機的設定溫度和當前溫度比對結果做出加熱或降溫響應。數據傳輸和溫度信號采集部分的主要程序如下。
        1 UART數據接收模塊
        h.JPG
        利用單片機內部自帶的接收中斷來完成數據接收模塊。在此之前,需要對UART寄存器進行如下配置:異步模式、8位數據位、無校驗位、1位停止位。波特率設置函數為:UBRRL=(CRYSTAL/BAUD/16-1)%256和UBRRH=(CRYSTAL/BAUD/16-1)/256。
        2 UART數據發送模塊
        i.JPG
        當系統調用字符發送函數時,會先判斷發送寄存器是否為空,如果為空,則函數會向UART的I/O數據寄存器UDR寫入待發送的字符,格式為char型(8bits)。單片機接收到來自DS18B20的溫度數據,分別取出溫度的整數位和小數位,添加小數點后,將所有的整數位和小數點后兩位數據發送給UART。溫度數據以字符數組的形式保存,因此發送時以字符串的形式發送數據。
        3.DS18B20溫度數據接收模塊
        j.JPG



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 浦城县| 连城县| 建平县| 塔河县| 溧水县| 邵阳市| 九江市| 和硕县| 阿拉善盟| 大田县| 桐庐县| 扶沟县| 岳西县| 拜泉县| 枞阳县| 博客| 长武县| 富顺县| 仁化县| 揭西县| 莲花县| 浮山县| 彭州市| 河间市| 大埔县| 建昌县| 同德县| 天长市| 平山县| 霍山县| 资阳市| 奎屯市| 长海县| 普宁市| 玉门市| 天津市| 额尔古纳市| 广东省| 凌云县| 临澧县| 上饶市|