新聞中心

EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 基于DS18B20的溫度測(cè)量和顯示系統(tǒng)設(shè)計(jì)與仿真

基于DS18B20的溫度測(cè)量和顯示系統(tǒng)設(shè)計(jì)與仿真

作者: 時(shí)間:2012-12-14 來(lái)源:網(wǎng)絡(luò) 收藏

3 軟件設(shè)計(jì)
本系統(tǒng)的軟件設(shè)計(jì)主要包括三部分,一是溫度測(cè)量部分,二是溫度顯示部分,還有一個(gè)是報(bào)警部分。
B20通過(guò)嚴(yán)格的單線通信協(xié)議來(lái)保證數(shù)據(jù)完整。該協(xié)議中定義了復(fù)位脈沖、存在脈沖、寫0、寫1、讀0、讀1等幾種信號(hào)形式。其中,只有存在脈沖是由總線受控(即B20)發(fā)出,其他的全部由總線主控(即單片機(jī))發(fā)出。
3.1 初始化
B20的初始化包括來(lái)自單片機(jī)的復(fù)位脈沖和接下來(lái)由DS18發(fā)出的存在脈沖。其初始化時(shí)序圖如圖3所示。
當(dāng)DS18響應(yīng)單片機(jī)的復(fù)位而發(fā)出存在脈沖時(shí),單片機(jī)便知道DS18在線上并已準(zhǔn)備好。單片機(jī)發(fā)送復(fù)位脈沖,即拉低總線至少480 μs,然后單片機(jī)釋放總線并進(jìn)入接收模式。當(dāng)DS18B20檢測(cè)到復(fù)位脈沖后,等待15~60 μs,然后發(fā)送存在脈沖,即拉低總線60~240μs。由于DS18B20的DQ引腳接了一個(gè)上拉電阻,所以,總線的空閑狀態(tài)為高電平,存在脈沖結(jié)束后,總線自動(dòng)恢復(fù)到高電平狀態(tài)。單片機(jī)所要做的就是發(fā)出復(fù)位脈沖并檢測(cè)DS18B20的存在脈沖,其參考程序如下:
b.JPG
3.2 寫時(shí)序
單片機(jī)可在寫時(shí)隙向DS18B20寫入數(shù)據(jù),在讀時(shí)隙從DS18B20讀出數(shù)據(jù),每個(gè)時(shí)隙總線上只傳送一位數(shù)據(jù)。寫時(shí)隙有“寫1”時(shí)隙和“寫0”時(shí)隙兩種。單片機(jī)通過(guò)寫1時(shí)隙向DS18B20寫入一個(gè)邏輯1,并通過(guò)寫0時(shí)隙向DS18B20寫入一個(gè)邏輯0。所有的寫時(shí)隙必須至少持續(xù)60 μs,并在每個(gè)獨(dú)立的寫時(shí)隙之間至少有1 μs的恢復(fù)時(shí)間。兩種寫時(shí)隙都是由單片機(jī)拉低總線開(kāi)始的,如圖3所示。

本文引用地址:http://2s4d.com/article/192907.htm

d.JPG



關(guān)鍵詞: 18B B20 DS 18

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉