|
與DS18B20連接小副本.gif (443.14 KB, 下載次數(shù): 66)
下載附件
2017-12-15 10:05 上傳
DS18B20簡(jiǎn)介
DS18B20數(shù)字溫度傳感器接線方便,封裝后可應(yīng)用于多種場(chǎng)合,如管道式,螺紋式,磁鐵吸附式,不銹鋼封裝式。主要根據(jù)應(yīng)用場(chǎng)合的不同而改變其外觀。封裝后的DS18B20可用于電纜溝測(cè)溫,高爐水循環(huán)測(cè)溫,鍋爐測(cè)溫,機(jī)房測(cè)溫,農(nóng)業(yè)大棚測(cè)溫,潔凈室測(cè)溫,彈藥庫(kù)測(cè)溫等各種非極限溫度場(chǎng)合。耐磨耐碰,體積小,使用方便,封裝形式多樣,適用于各種狹小空間設(shè)備數(shù)字測(cè)溫和控制領(lǐng)域。
DS18B20的特點(diǎn)
1、適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下可由數(shù)據(jù)線供電
2、獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。
3、DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。
4、DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。
5、溫范圍-55℃~+125℃,在-10~+85℃時(shí)精度為±0.5℃
6、可編程的分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫。
7、在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。
8、測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一根總線"串行傳送給CPU,同時(shí)可傳送CRC校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。
9、負(fù)壓特性:電源極性接反時(shí),芯片不會(huì)因發(fā)熱而燒毀, 但不能正常工作。
DS18B20實(shí)物圖
1.png (366.98 KB, 下載次數(shù): 59)
下載附件
2017-12-15 10:06 上傳
DS18B20的內(nèi)部結(jié)構(gòu)
2.png (331.25 KB, 下載次數(shù): 73)
下載附件
2017-12-15 10:07 上傳
光刻64位只讀存儲(chǔ)器
光刻ROM中的64位序列號(hào)是出廠前被光刻好的,它可以看作是該DS18B20的地址序列號(hào)。64位光刻ROM的排列是:開(kāi)始8位(28H)是產(chǎn)品類型標(biāo)號(hào),接著的48位是該DS18B20自身的序列號(hào),最后8位是前面56位的循環(huán)冗余校驗(yàn)碼。光刻ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。
3.png (124.07 KB, 下載次數(shù): 71)
下載附件
2017-12-15 10:07 上傳
DS18B20溫度轉(zhuǎn)換規(guī)則
DS18B20的核心功能是它可以直接讀出數(shù)字的溫度數(shù)值。溫度傳感器的精度為用戶可編程的9,10,11或12位,分別以0.5℃,0.25℃,0.125℃和0.0625℃增量遞增。在上電狀態(tài)下默認(rèn)的精度為12位。
DS18B20啟動(dòng)后保持低功耗等待狀態(tài),當(dāng)需要執(zhí)行溫度測(cè)量和AD轉(zhuǎn)換時(shí),總線控制器必須發(fā)出[44h]命令。轉(zhuǎn)換完以后,產(chǎn)生的溫度數(shù)據(jù)以兩個(gè)字節(jié)的形式被存儲(chǔ)到高速暫存器的溫度寄存器中,DS18B20繼續(xù)保持等待狀態(tài)。
DS18B20溫度轉(zhuǎn)換規(guī)則
這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲(chǔ)在DS18B20的兩個(gè)8位的RAM中,高字節(jié)的前5位是符號(hào)位,如果測(cè)得的溫度大于0,這5位為‘0’,只要將測(cè)到的數(shù)值乘以0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為‘1’,測(cè)到的數(shù)值需要取反加1再乘以0.0625即可得到實(shí)際溫度。
4.png (115.34 KB, 下載次數(shù): 63)
下載附件
2017-12-15 10:08 上傳
DS18B20溫度轉(zhuǎn)換規(guī)則
5.png (501.44 KB, 下載次數(shù): 54)
下載附件
2017-12-15 10:08 上傳
DS18B20的存儲(chǔ)器
DS18B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高度的暫存器RAM和一個(gè)非易失性的可電擦除的EEPRAM,后者存放高溫度和低溫度觸發(fā)器TH、TL和結(jié)構(gòu)寄存器。
配置寄存器
存儲(chǔ)器的第4位為配置寄存器,其組織見(jiàn)圖8,用戶可按表3所示設(shè)置R0和R1位來(lái)設(shè)定DS18B20的精度。上電默認(rèn)設(shè)置:R0=1、R1=1(12位精度)。注意:精度和轉(zhuǎn)換時(shí)間之間有直接的關(guān)系。暫存器的位7和位0-4被器件保留,禁止寫(xiě)入。
6.png (178.06 KB, 下載次數(shù): 63)
下載附件
2017-12-15 10:09 上傳
DS18B20的ROM指令表
7.png (448.96 KB, 下載次數(shù): 71)
下載附件
2017-12-15 10:10 上傳
DS18B20的RAM指令表
8.png (481.38 KB, 下載次數(shù): 60)
下載附件
2017-12-15 10:10 上傳
DS18B20初始化
9.png (110.57 KB, 下載次數(shù): 58)
下載附件
2017-12-15 10:11 上傳
(1).數(shù)據(jù)線拉到低電平“0”。
(2).延時(shí)480微妙(該時(shí)間的時(shí)間范圍可以從480到960微妙)。
(3).數(shù)據(jù)線拉到高電平“1”。
(4).延時(shí)等待80微妙。如果初始化成功則在15到60微妙時(shí)間內(nèi)產(chǎn)生一個(gè)由DS18B20所返回的低電平“0”.根據(jù)該狀態(tài)可以來(lái)確定它的存在,但是應(yīng)注意不能無(wú)限的進(jìn)行等待,不然會(huì)使程序 進(jìn)入死循環(huán),所以要進(jìn)行超時(shí)判斷。
(5).若CPU讀到了數(shù)據(jù)線上的低電平“0”后,還要做延時(shí),其延時(shí)的時(shí)間從發(fā)出的高電平算起(第(3)步的時(shí)間算起)最少要480微妙。
DS18B20讀時(shí)序
10.png (168.4 KB, 下載次數(shù): 57)
下載附件
2017-12-15 10:11 上傳
(1).將數(shù)據(jù)線拉低“0”。
(2).延時(shí)4微妙。
(3).將數(shù)據(jù)線拉高“1”,釋放總線準(zhǔn)備讀數(shù)據(jù)。
(4).延時(shí)10微妙。
(5).讀數(shù)據(jù)線的狀態(tài)得到1個(gè)狀態(tài)位,并進(jìn)行數(shù)據(jù)處理。
(6).延時(shí)45微妙。
(7).重復(fù)1~7步驟,直到讀完一個(gè)字節(jié)。
DS18B20寫(xiě)時(shí)序
11.png (134.56 KB, 下載次數(shù): 77)
下載附件
2017-12-15 10:12 上傳
(1).數(shù)據(jù)線先置低電平“0”
(2).延時(shí)15微妙。
(3).按從低位到高位的順序發(fā)送數(shù)據(jù)(一次只發(fā)送一位)。
(4).延時(shí)60微妙。
(5).將數(shù)據(jù)線拉到高電平。
(6).重復(fù)1~5步驟,直到發(fā)送完整的字節(jié)。
(7).最后將數(shù)據(jù)線拉高。
單片機(jī)源程序如下:
- /***********************************************************************
- * 說(shuō) 明: 點(diǎn)亮第一個(gè)發(fā)光二極管
- * 開(kāi)發(fā)平臺(tái): 劍齒虎STM8開(kāi)發(fā)板
- * 哈爾濱卓恩科技開(kāi)發(fā)有限公司
- *
- * 作 者: 劉洋 張殿東
- * 版 本: V1.0
- * 日 期: 2016-05-03
- *
- * IAR開(kāi)發(fā)環(huán)境 版本 V2.20.1
- * ST庫(kù)函數(shù) 版本 V2.2.0
- ***********************************************************************/
- #include "pbdata.h"//引入自定義公共頭文件
- void BSP_Configuration(void);//硬件初始化函數(shù)聲明
- /***********************************************************************
- * 函 數(shù) 名: main
- * 功能說(shuō)明: c程序入口
- * 形 參:無(wú)
- * 返 回 值: 錯(cuò)誤代碼(無(wú)需處理)
- ***********************************************************************/
- int main(void)
- {
- BSP_Configuration();//硬件驅(qū)動(dòng)初始化函數(shù)
-
- while(1)//主程序循環(huán),反復(fù)執(zhí)行循環(huán)體里的語(yǔ)句
- {
- //LED_Demo1();//在主程序中調(diào)用LED_Demo1()函數(shù)
- //LED_Demo2();//在主程序中調(diào)用LED_Demo2()函數(shù)
- //UART1_Printf_Demo();
- DS18B20_Demo();
- }
- }
- /***********************************************************************
- * 函 數(shù) 名: BSP_Configuration
- * 功能說(shuō)明: 初始化硬件設(shè)備。只需要調(diào)用一次。該函數(shù)配置CPU寄存器和外設(shè)的寄存器并初始化一些全局變量。
- * 形 參:無(wú)
- * 返 回 值: 無(wú)
- ***********************************************************************/
- void BSP_Configuration(void)
- {
- CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1);//時(shí)鐘速度為內(nèi)部16M,1分頻,
- UART1_Congfiguration();//調(diào)用RS232串口1初始化函數(shù)
- LED_Init();//調(diào)用LED初始化函數(shù)
- rim();//打開(kāi)總中斷
- }
- /*斷言函數(shù):它的作用是在編程的過(guò)程中為程序提供參數(shù)檢查*/
- #ifdef USE_FULL_ASSERT
- ……………………
- …………限于本文篇幅 余下代碼請(qǐng)從51黑下載附件…………
復(fù)制代碼
0.jpg (9.25 KB, 下載次數(shù): 80)
下載附件
2017-12-15 16:17 上傳
所有資料51hei提供下載:
【眾拳】劍齒虎STM8開(kāi)發(fā)板實(shí)驗(yàn)代碼下載:
眾拳DS18B20溫度傳感器程序.zip
(1.75 MB, 下載次數(shù): 240)
2017-12-15 10:13 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|