DS18B20模块

一、DS18B20

        DS18B20是常见的数字温度传感器,控制命令和数据都是以数字信号方式输入输出。可测-55℃—125℃的温度,通讯接口类型为1-Wire。

二、原理图

        DS18B20只有一根数据线用来双向传输数据,那么一根数据线怎么进行双向通信?

引脚

功能

VCC

电源正极(3.0V ~ 5.5V

GND

电源接地

I/O

单总线接口

三、内部结构

        64位ROM存放DS18B20器件地址,暂存器用于与总线数据交互,E2PROM存储温度触发阈值和配置参数。

四、单总线(1-Wire Bus)

1.单总线结构

        1-Wire总线结构,只需一根通信线来进行双向传输数据,是异步半双工。数据线要配置成开漏输出模式,并且加上拉电阻。

2.单总线时序

初始化:主机将总线拉低480us,然后释放总线(开始),经过15-60us(间隔),从机将总线拉低60-240us,然后释放总线(应答)。

发送一位:主机拉低总线60-120us,然后释放总线,表示发送0;主机拉低总线1-15us,然后释放总线,表示发送1。从机在总线拉低30us后读取电平,整个时间片应大于60us。

接收一位:主机将总线拉低1-15us,然后释放总线,在拉低15us内(最好在15us末尾)读取总线电平,读取低电平为0,读取高电平为1。整个时间片应大于60us。

发送一个字节:发送一位循环8次,低位在前高位在后。

接收一个字节:接收一位循环8次,低位在前高位在后。

五、DS18B20操作流程

1.操作流程

初始化、ROM指令、功能指令。

2.DS18B20数据帧

3.温度存储格式

六、实验

1.DS18B20温度读取

实验现象:LCD1602第一行显示“Temperature:”,第二行显示温度(保留4位小数)。

LCD1602.c

LCD1602.h

OneWire.c

OneWire.h

DS18B20.c

DS18B20.h

Delay.c

Delay.h

main.c

2.DS18B20温度报警器

实验现象:LCD1602第一行显示温度,第二行显示报警温度下限和上限值(保留两位小数)。按键1按下温度上限值加一,按键2按下温度上限值减一,按键3按下温度下限值加一,按键4按下温度下限值减一(AT24C02记忆功能)。温度高于上限值,LCD1602第一行显示OV:H,温度低于上限值,LCD1602第一行显示OV:L(+125℃~-55℃)。

LCD1602.c

LCD1602.h

OneWire.c

OneWire.h

DS18B20.c

OneWire.h

Delay.c

Delay.h

Timer0.c

Timer0.h

Key.c

Key.h

I2C.c

I2C.h

AT24C02.c

AT24C02.h

main.c

  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值