基于Linux的温度传感器DS18B20驱动程序设计

工控自动化 时间:2010-03-02来源:网络

  图2中的暂存器是DS18B20中最重要的寄存器。暂存器由9个字节组成,各字节定义如表1所列。


  配置寄存器用于用户设置温度传感器的转换精度,其各位定义如下:


  TM位是测试模式位,用于设置DS18B20是工作模式(0)还是测试模式(1),其出厂值为0。R1、R0用于设置温度传感器的转换精度:00,分辨率为9位,转换时间为93.75ms;01,分辨率为10位,转换时间为187.5 ms;10,分辨率为11位,转换时间为375 ms;11,分辨为12位,转换时间为750 ms。R1、R0的出厂值为11。其余5位值始终为1。

  第0和第1字节为16位转换后的温度二进制值,其中前4位为符号位,其余12位为转换后的数据位(分辨率为12位)。如果温度大于0,则前4位值为0,只要将测到的数值乘上0.062 5即可得到实际温度值;如果温度小于0,则前4位为1,需将测得的数值取反加1后,再乘上0.062 5。第0和第1字节各位的二进制值如下:


  2.2 DS18B20的应用电路结构

  按DS18B20的供电方式,其应用电路结构可分为如下3种:寄生电源供电方式;寄生电源强上拉供电方式;外部电源供电方式。实际应用中,以外部电源供电方式为主。其应用原理图如图3所示。

1 2 3 4

关键词: 驱动 程序设计 DS18B20 传感器 Linux 温度 基于 传感器

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版