s3c6410 DS18B20温度传感器驱动(一) --- 原理分析

1. DS18B20简介

温度传感器的最高精度为0.0625℃。温度值被保存在暂存寄存器的第0和1字节。第1字节的高5为用来表示温度的正负,当为1时为负值,当为0时为正值。

温度传感器的测量范围为:-5~125℃

 

2. 温度如何计算

    读取暂存器的第0和第1字节。这两个字节拼接成一个占两个字节的数。第一个字节占高8位,第0个字节占低八位。当第11~15位为0时,直接用这个数去乘于0.0625就可以得到温度值。如果第11~15位为1时,对这个数取反加1,就可以得到真实值,然后再乘于-0.0625就可以得到温度值。

 

3.ROM指令和功能指令

因为在INT8口只接了一个DS18B20,所以我们用的ROM指令为(CCh)忽略ROM指令。这个指令允许总线控制器不用提供64位的ROM编码。

功能指令:44H 温度转换指令

                     4EH 写暂存器指令

                      BEH 读暂存器指令

 

4.执行序列

1. 初始化

2.ROM操作指令

3.DS18B20 功能指令

每一次DS18B20的操作都必须满足以上步骤,若是缺少或是顺序混乱,器件就不会返回值。

 

你可能感兴趣的:(s3c6410 DS18B20温度传感器驱动(一) --- 原理分析)