基于Linux的溫度傳感器DS18B20驅(qū)動(dòng)程序設(shè)計(jì)
圖2中的暫存器是DS18B20中最重要的寄存器。暫存器由9個(gè)字節(jié)組成,各字節(jié)定義如表1所列。
配置寄存器用于用戶(hù)設(shè)置溫度傳感器的轉(zhuǎn)換精度,其各位定義如下:
TM位是測(cè)試模式位,用于設(shè)置DS18B20是工作模式(0)還是測(cè)試模式(1),其出廠值為0。R1、R0用于設(shè)置溫度傳感器的轉(zhuǎn)換精度:00,分辨率為9位,轉(zhuǎn)換時(shí)間為93.75ms;01,分辨率為10位,轉(zhuǎn)換時(shí)間為187.5 ms;10,分辨率為11位,轉(zhuǎn)換時(shí)間為375 ms;11,分辨為12位,轉(zhuǎn)換時(shí)間為750 ms。R1、R0的出廠值為11。其余5位值始終為1。
第0和第1字節(jié)為16位轉(zhuǎn)換后的溫度二進(jìn)制值,其中前4位為符號(hào)位,其余12位為轉(zhuǎn)換后的數(shù)據(jù)位(分辨率為12位)。如果溫度大于0,則前4位值為0,只要將測(cè)到的數(shù)值乘上0.062 5即可得到實(shí)際溫度值;如果溫度小于0,則前4位為1,需將測(cè)得的數(shù)值取反加1后,再乘上0.062 5。第0和第1字節(jié)各位的二進(jìn)制值如下:
2.2 DS18B20的應(yīng)用電路結(jié)構(gòu)
按DS18B20的供電方式,其應(yīng)用電路結(jié)構(gòu)可分為如下3種:寄生電源供電方式;寄生電源強(qiáng)上拉供電方式;外部電源供電方式。實(shí)際應(yīng)用中,以外部電源供電方式為主。其應(yīng)用原理圖如圖3所示。
linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論