新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于51單片機溫度采集及無線發送

        基于51單片機溫度采集及無線發送

        作者: 時間:2011-11-09 來源:網絡 收藏

        0 引言
        隨著數字化腳步的加快,越來越多的數字化產品取代了原有的機械式儀表,從而大大提高了數據的準確率。然而,多數情況下,溫度的采集過程只在現場實時顯示,在增加了工作量的同時,也可能會造成很多不便,如進入危險區域。因此,將無線網絡應用在工業生產中,不僅能大大提高工作效率,同時也在一定程度上降低了勞動強度。
        本設計基于以上兩點,將工業生產中常用到的溫度進行數字化,并通過無線模塊將數據發送出去,在接收方利用無線接收設備接收實時的數據,從而大大降低勞動強度。

        1 系統組成
        系統由單片機、溫度傳感器、串口通信模塊和無線傳輸模塊等幾部分組成。測溫系統將測得的溫度通過單片機在數碼管上實時顯示,同時,通過串口通信部分和無線模塊將數據發送給上位機。系統結構如圖1所示。

        a.JPG
        該設計以Atmel公司生產的單片機AT89C51為核心,以數字溫度傳感器作為,以作為無線數據傳輸,從而構成整體系統。
        1.1 單片機系統
        系統采用AT89C51作為核心控制,配備4位共陰極數碼管顯示電路。AT89C51是Atmel公司推出的一種低功耗、高性能CMOS 8位微處理器,具有8 KB系統可編程FLASH存儲器;256 B RAM;32個I/O引腳,分為4個8位控制端口;看門狗定時器;2個數據指針;3個16位定時器/計數器;兩級中斷優先等級;可編程全雙工串行傳輸端口;片內晶振及時鐘電路;8個中斷源。其性能完全能夠滿足系統要求。數碼顯示采用Ytt-410391K四位7段8線數碼管,作為溫度顯示部分,并用最末一位顯示小數。
        1.2 數字溫度傳感器
        是美國Dallas公司生產的一款可編程1-Wire數字溫度計。具有精度高,全數字化,連線少等諸多優點。其可直接將采集到的溫度轉換成數字信號,通過單條數據線串行發送出去,只要嚴格遵循規定時序邏輯和脈沖間隔,就能舍去同步時鐘信號線,做到通信期間引腳最少化,達到目的。
        1.2.1 內部結構及外部管腳
        數字式溫度傳感器DS18B20的內部結構如圖2所示,其主要由四部分組成:64位ROM和單總線接口、溫度傳感器、非揮發的溫度報警觸發器TH和TL、配置寄存器。

        b.JPG
        DS18B20 64位閃存ROM的開始8位是產品類型的編號,接著的48位為每個器件的惟一序號,最后8位是CRC校驗碼。用于存儲用戶設定溫度上下限值的非易失性溫度報警觸發器TH和TL,使用時可通過軟件寫入、設定報警上下限值。DS18B20內部配有一個電可擦除的E2PROM,用于存儲TH、TL值,數據先寫入內部的高速暫存RAM,經校驗后在傳給E2PROM。RAM中的第5個字節為配置寄存器,用于確定溫度值的數字轉化分辨率。工作時按此寄存器中的分辨率將溫度轉化為相應精度的溫度值。
        DS18B20具有三引腳To-92小體積封裝形式,如圖3所示;溫度測量范圍為-55~+125℃,其工作電源既可在遠端引入,也可使用寄生電源方式產生;CPU只需一根端口線就能與諸多DS18B20通信,由于其占用微處理器的端口較少,因此可節省大量的引線和邏輯電路。

        c.JPG
        DSB18B20各引腳介紹如下:GND為地;DQ為數據輸入/輸出端;VDD為外接供電電源輸入端(在寄生電源接線方式時接地);NC為SOIC封裝的,NC為空引腳。
        1.2.2 工作原理
        DS18B20內部的低溫度系數振蕩器能產生穩定的頻率信號f0,而高溫度系數振蕩器則將被測溫度轉化成頻率信號f。當計數器打開時,DS 18B20則對f0計數,計數器開通時間由高溫度系數振蕩器決定。芯片內部還有斜率累加器,可對頻率的非線性給予補償。其測量的結果將暫存在溫度寄存器中,可使單片機方便的將溫度讀出。
        DS18B20的核心是一個直接的數字化溫度傳感器,可將溫度值按9 b,10 b,11 b,12 b分辨率進行量化,默認分辨率為12 b,對應的溫度最小增量分別為0.5℃,0.25℃,0.125℃和0.062 5℃。當主機向DS18B20發出溫度轉化命令后,開始溫度轉換,檢測的溫度結果將存放在兩個字節中,最低位LSB在前,最高位MSB為符號位。其數據格式如下:

        d.JPG
        其中,高位字節MSB的高5位為溫度的符號位,當溫度為正時,該5位為0,溫度為負時,統一為1。高位字節MSB的低3位和低位字節LSB的高4位共同組成溫度值的整數部分,低位字節LSB的低4位為小數位,采用二進制補碼方式存儲溫度數據。例如,當溫度為+125℃時,輸出溫度為07D0h;當溫度為+85℃時,輸出溫度為0550h;當溫度為+25.062 5℃時,輸出溫度為0191h;當溫度為-10.125℃時,輸出溫度為FF5Eh;當溫度為-55℃時,輸出溫度為FC90h。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新和县| 大城县| 治县。| 鄂托克前旗| 梅州市| 卢湾区| 陆川县| 志丹县| 吕梁市| 铁力市| 文登市| 株洲市| 尉氏县| 定陶县| 治县。| 福建省| 拜泉县| 灌云县| 新巴尔虎右旗| 正宁县| 当阳市| 文昌市| 乌兰浩特市| 兴文县| 广德县| 汾阳市| 东源县| 铜山县| 神农架林区| 马山县| 离岛区| 长岛县| 青铜峡市| 梧州市| 两当县| 棋牌| 文成县| 红安县| 长葛市| 焦作市| 宁德市|