關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > DS18B20和AT89C2051的家用溫度測量器設計

        DS18B20和AT89C2051的家用溫度測量器設計

        作者: 時間:2013-03-22 來源:網絡 收藏

        (1)工作原理

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

        DS18B20測溫原理圖

        圖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 實物圖

        接地電阻相關文章:接地電阻測試方法



        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 全南县| 新竹市| 文昌市| 衡东县| 阿克陶县| 武城县| 华蓥市| 桂平市| 信阳市| 夏津县| 栾城县| 海兴县| 施秉县| 延津县| 建昌县| 康马县| 襄城县| 同仁县| 平塘县| 古交市| 衡山县| 云龙县| 张北县| 永城市| 平南县| 皋兰县| 崇文区| 开鲁县| 汶川县| 锦屏县| 略阳县| 佛坪县| 札达县| 百色市| 台山市| 京山县| 娄烦县| 武威市| 张家界市| 黄石市| 肃北|