总线与微命令实验总结_STM32实例DS18B20温度传感器实验DS18B20读取温度

    知道了怎么计算温度,接下来我们就来看看如何读取温度数据,由于DS18B20 是单总线器件,所有的单总线器件都要求采用严格的信号时序,以保证数据的完整性。DS18B20 时序包括如下几种:初始化时序、写(0和1)时序、读(0 和 1)时序。DS18B20 发送所有的命令和数据都是字节的低位在前。这里我们简单介绍这几个信号的时序:

(1)初始化时序

    单总线上的所有通信都是以初始化序列开始。主机输出低电平,保持低电平时间至少 480us (该时间的时间范围可以从 480 到 960 微妙) , 以产生复位脉冲。

    接着主机释放总线,外部的上拉电阻将单总线拉高,延时 15~60 us,并进入接收模式。接着 DS18B20 拉低总线 60~240 us,以产生低电平应答脉冲,若为低电平,还要做延时,其延时的时间从外部上拉电阻将单总线拉高算起最少要480微妙。初始化时序图如下:

0c9a504e7ba17f56e5cae48744cc7aac.png

(2)写时序

    写时序包括写 0 时序和写 1 时序。所有写时序至少需要 60us,且在 2 次独立的写时序之间至少需要 1us 的恢复时间,两种写时序均起始于主机拉低总线。写 1 时序:主机输出低电平,延时 2us,然后释放总线,延时 60us。写 0时序:主机输出低电平,延时 60us,然后释放总线,延时 2us。写时序图如下:

02fb387588e53617e54b4aadbf23d0ad.png

(3)读时序

    单总线器件仅在主机发出读时序时,才向主机传输数据,所以,在主机发出读数据命令后,必须马上产生读时序,以便从机能够传输数据。所有读时序至少需要 60us,且在 2 次独立的读时序之间至少需要 1us 的恢复时间。每个读时序都由主机发起,至少拉低总线 1us。主机在读时序期间必须释放总线,并且在时序起始后的 15us 之内采样总线状态。读时序图如下:

678c1446270521e8164810e3654c3ca9.png

    典型的读时序过程为:主机输出低电平延时 2us,然后主机转入输入模式延时 12us,然后读取单总线当前的电平,然后延时 50us。

    在了解了单总线时序之后,我们来看看 DS18B20 的典型温度读取过程,

DS18B20 的典型温度读取过程为:复位→发 SKIP ROM 命令( 0XCC)→发开始转换命令( 0X44)→延时→复位→发送 SKIP ROM 命令( 0XCC)→发读存储器命令( 0XBE)→连续读出两个字节数据(即温度)→结束。

    到这里我们就介绍完了 DS18B20时序,如需更详细的介绍,请大家参考《DS18B20 中文》数据手册。

硬件设计

    本实验使用到硬件资源如下:

(1)D1 指示灯

(2)串口 1

(3)DS18B20 温度传感器

    D1指示灯、串口 1 电路在前面章节都介绍过,这里就不多说,DS18B20温度传感器模块电路如下图所示:

184b5b9c1b9db7ed08947a0b86333f5b.png

0d08fabc59399e3724c92c614e2e6e5b.png

    从电路图中可以看到,单总线接口连接在 STM32F1 芯片的 PG11管脚上,并且接了一个 10K 的上拉电阻。通过 PG11 管脚模拟单总线时序与 DS18B20 温度传感器通信。由于开发板标配是不带 DS18B20 温度传感器的,开发板上只提供接口DS1,所以做本章实验,大家需要准备一个 DS18B20 传感器插在预留的接口上,一定要注意温度传感器的方向,在接口处我们已经用丝印画了一个凸起,所以只需要将温度传感器对应插入即可。DS18B20 温度传感器接口如下图所示:

529333cf6ab1258ec6e9098407943fa5.png

    D1指示灯用来提示系统运行状态,DS18B20 温度传感器用来检测环境温度,串口 1用来打印输出温度传感器测试的温度值。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值