实验目标
本实验的目标是掌握 ds18b20 温度传感器的驱动程序原理和使用方法,通过实际操作学会读取温度传感器的数据并显示当前温度。
硬件原理
DS18B20 数字温度传感器接线简便,可应用于多种场合。该传感有 LTM8877、LTM8874 等多种型号,主要根据应用场合的不同而改变其外观。封装后的 DS18B20 可用于电缆沟测温、高炉水循环测温、锅炉测温、机房测温等。其体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。
单总线的概念
单总线技术是一种特殊的总线技术,采用单根信号线,既可传输时钟,又能传输数据。它具有线路简单、硬件开销少、成本低廉、便于总线扩展和维护等优点。这种技术近年在许多领域得到了广泛应用。
ds18b20 相关时序
初始化(复位)时序图
1. 先将数据线置高电平“1”。
2. 延时(该时间要求不严格,但尽可能的短)。
3. 数据线拉到低电平“0”。
4. 延时 750 微秒(时间范围可从 480 到 960 微秒)。
5. 数据线拉到高电平“1”。
6. 延时等待,如果成功则 DS18B20 在 15 到 60 微秒内产生一个低电平“0”。
7. CPU 读到数据线上的低电平“0”后,还要做延时。
写 ds18b20 时序图
1. 数据线先置低电平“0”。
2. 延时确定的时间(如 15 微秒)。
3. 按从低位到高位的顺序发送字节。
4. 每个字节发送完后延时。
5. 将数据线拉高。
读 ds18b20 时序图
1. 将数据线拉高“1”。
2. 延时。
3. 将数据线拉低“0”。
4. 进行数据处理并读取数据线的状态位。
5. 延时。
驱动程序(需要详细注释的话参考 cc2540/cc2530 的 ds18b20 程序)
以下是关于 ds18b20 的部分驱动程序代码及其注释:
```c
// 配置连接温度传感器的引脚
// 复位 ds18b20 传感器
// 从 ds18b20 读取一个字节
// 向 ds18b20 写入一个字节
```
应用程序
```c
实验结果