• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 測試測量 > 設計應用 > 基于DS18B20和AT89C2051的家用溫度測量器設計研究

    基于DS18B20和AT89C2051的家用溫度測量器設計研究

    作者: 時間:2017-06-04 來源:網絡 收藏

    一、設計概況

    本文引用地址:http://www.czjhyjcfj.com/article/201706/347796.htm

    本制作采用USB口作為供電端口,用溫度傳感器進行溫度信息采集,用單片機進行控制,采用四位共陽數碼管顯示,從而實現對溫度的測量顯示(系統框圖如圖1所示)。本設計可培養學生對單片機學習的興趣,提高其制作與編程能力。

    圖1 系統框圖

    二、電路原理

    采用PROteUS仿真軟件進行原理圖設計與程序仿真。電路如圖2所示。

    圖2 電路圖

    1、電源

    采用USB口供電,可將USB適配器接人電路板的USB口或直接接計算機USB口。這樣,既節省了資源,又能夠獲得較為理想的工作電壓。USB口的外形及電源口定義如圖3所示。

    圖3 USB口的外形及電源口定義

    2、溫度信號采集

    采用(外形見圖4)智能型數字溫度傳感器作為溫度信號采集裝置。

    圖4 外形

    (1)DS18B20工作原理

    DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數不同,且溫度轉換的延時時間由2s減為750ms。DS18B20測溫原理如圖5所示。其中,低溫度系數晶振的振蕩頻率受溫度影響很小,用于產生固定頻率的脈沖信號送給計數器1。高溫度系數晶振的振蕩頻率隨溫度變化改變明顯,所產生的信號作為計數器2的脈沖輸人。計數器1和溫度寄存器被預置在-55℃所對應的—個基數值。計數器1對低溫度系數晶振產生的脈沖信號進行減法計數,當計數器1的預置值減到0日寸,溫度寄存器的值將加1,計數器1將重新被裝人預置,并重新開始對低溫度系數晶振產生的脈沖信號進行計數。如此循環,直到計數器2計數到OH寸停止溫度寄存器值的累加。此時,溫度寄存器中的數值即為所測溫度。圖5中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數器1的預置值。

    圖5 DS18B20測溫原理圖

    (2)DS18B20的主要特性

    1)適應電壓范圍3.0V~5.5V,在寄生電源方式下可由數據線供電。

    2)DS18B20與微處理器之間僅需要—條口線即可雙向通訊。

    3)支持多點組網功能,多個DS18B20可以并聯在唯—的三線上,實現組網多點測溫。

    4)不需要任何外圍元件,全部傳感元件及轉換電路集成在外形如一只三極管的電路內。

    5)測溫范圍-55℃~+125℃,在-lO℃~+85℃時精度為±0.5℃。

    6)可編程的分辨率為9位~12位,對應的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現高精度測溫。

    7)在9位分辨率時,最多93.75ms便可把溫度轉換為數字,12位分辨率時最多750ms便可把溫度值轉換為數字。

    8)直接輸出數字溫度信號,以一線總線串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。

    9)電源極性接反時,芯片不會因發熱而燒毀,但不能正常工作。

    DS18B20遵循單總線協議,每次測溫時必須有初始化、傳送ROM命令、傳送RAM命令、數據交換等4個過程。

    3、單片機

    采用單片機作為主控元件(參見圖2)。

    4、數碼管顯示

    采用四位共陽數碼管進行動態顯示,溫度顯示保留到小數點后一位。編程時,利用P3.2~P3.5作為數碼管動態顯示的位選端,Pl.0~Pl.7作為數碼管動態顯示的段選位。當P3.2輸出高電平時選中“1”號數碼管,P3.3輸出高電平時選中“2”號數碼管,以此類推。在電路中,P3.2~P3.5外接4只NPN三極管作為驅動。Pl.0~Pl.7外接8只電阻限流。

    三、參考程序

    本設計采用單片機C語言進行編程,限于篇幅,其參考程序此處不一一列出。

    四、制作與調試

    本設計調試較為簡單,只要安裝、焊接正確,程序編寫準確完整,一般較為容易實現功能。

    調試好的實物如圖6所示。

    圖6 實物圖



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 绥江县| 寿阳县| 海门市| 阿拉善左旗| 晋江市| 石家庄市| 桂林市| 阿图什市| 郴州市| 寻甸| 辽阳县| 乌鲁木齐县| 十堰市| 湄潭县| 旬阳县| 遂宁市| 巴塘县| 新和县| 张家界市| 兴城市| 香格里拉县| 开远市| 杭州市| 郑州市| 滨州市| 若羌县| 来宾市| 和田县| 松溪县| 龙门县| 波密县| 桦川县| 东阳市| 北川| 武功县| 阜新市| 洛隆县| 息烽县| 突泉县| 丰县| 海城市|