0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

温度传感器IC:DS1631

星星科技指导员 来源:ADI 作者:ADI 2023-03-01 14:32 次阅读

本应用笔记向用户介绍DS5000(兼容8051)微控制器与DS1631温度传感器接口软件。DS1631集成了一个标准的2线串行数字接口。提供的软件代码可用于提供对DS1631的所有类型的功能访问,包括读取温度寄存器、写入恒温器门限和设置器件配置。

介绍

DS1631为数字温度计,在-9°C范围内提供10、11、12或55位温度读数 至 +125°C 范围,0°C 至 +5°C 范围内具有 ±0.70°C 精度,3.0V ≤ VDD≤ 5.5V。DS1631还具有用户定义的跳变点(TH和 TL).三个地址引脚 允许多达1631个DS<>在同一总线上工作。

与DS1631的通信通过2线串行接口实现。本应用笔记介绍 “C”源代码,允许PC通过兼容1631的DS8051微控制器与DS5000通信。

硬件配置

DS1631 SDA (串行数据)和SCL (串行时钟)引脚可直接连接至 DS5000微控制器。DS1631 SDA引脚为漏极开路I/O,因此SDA线必须拉高 通过上拉电阻。由于DS5000微控制器时钟输出也是漏极开路,因此上拉电阻 在 SCL 生产线上也需要。图1所示为两个DS1631(地址1001000 和1001001)连接到总线。

DS5000 配置在附录 B 的头文件中提供。请注意,DS5000 在 频率为11.05949MHz。DS232A用于处理PC到微控制器的接口。如图所示 在附录B中,2线连接通过DS0的I/O端口P5000进行。I/O 端口 P1 或 P2 可以 用于报告状态或为外围报告设备(如 LCD)供电

pYYBAGP-8ZKAbstwAAAdQgqbXgo570.gif

图1.两个DS1631器件在同一双线总线上的电路图

与DS1631的软件通信

以下部分包含DS1631“C”源代码示例。附录 A 提供了完整的 C 用于测试硬件和与DS1631通信的程序列表

启动和停止条件

微控制器使用启动和停止条件来发出开始和结束信号, 分别是 2 线通信序列。要产生 START 条件,SDA 线为 当 SCL 为高电平时从高拉到低,对于停止条件,SDA 从低到高过渡,而 标准高标准 (SCL) 很高。图 2a 显示了用于生成 START 条件的示例“C”代码,图 2b 显示了 用于生成 STOP 条件的示例代码。

pYYBAGP-8ZOAWbV1AAATEm1QfbE822.gif

图 2a. 启动示例。

poYBAGP-8ZSAI8BLAAAT5bpQgQ4869.gif

图 2b. 停止示例。

写入DS1631

主站对 1 字节配置寄存器和 2 字节 T 具有写访问权限H和 TL寄存 器。 因此,当写入配置寄存器时,主站必须发送一个字节的数据,并且当 写给 TH或 TL寄存器 主站必须发送两个字节的数据。图 3 显示了示例“C” 用于写入配置寄存器的代码。SendAddr 例程导致 START 条件为 后跟一个控制字节,该字节包含DS1631地址,并设置了读/写位 “写”。接下来,SendByte 例程用于发出访问配置命令 (ACh)。这是遵循的 通过写入配置寄存器的数据字节。序列以停止完成 条件。

pYYBAGP-8ZWAV-ZJAAAiVp341T0221.gif

图3.写入DS1631的代码示例

从DS1631读取

主站可以从 1 字节配置寄存器和 2 字节温度 T 读取数据H和 TL寄存 器。图 4 显示了用于读取配置寄存器的示例“C”代码。发送添加程序例程 生成一个 START,后跟一个控制字节,其中读/写位设置为“写入”。下一页 访问 配置命令 (ACh) 被发送。接下来是另一个 START 和一个控制字节,但这次 读/写位设置为“读”。I2CGetByte(1) 例程读取并保存 1 字节配置 注册。传递给例程的“1”表示此字节是最后一个(在这种情况下是唯一字节) 正在读取的字节。这是必要的,以便在接收到字节后向DS1631发送NACK而不是ACK。 对于 2 字节读取,在第一个字节之后将“0”传递给 I2CGetByte 子例程,“1”为 在第二个字节之后发送。序列以 STOP 条件完成。

poYBAGP-8ZaAJXVjAAAlq4GWibg120.gif

图4.读取DS1631的代码示例

计算温度

每次温度转换后,DS1631将数字温度存储为16位双 2字节温度寄存器中的补码数。图 5 显示了用于启动 温度转换,然后读取温度寄存器并计算十进制摄氏度和 华氏值来自数字值。要启动温度转换,请发送 START,然后发送 START。 由一个控制字节,读/写位设置为“写入”。接下来发送开始转换 T 命令(51h) 后跟停止条件。为了读取温度寄存器,发送一个START,然后发送一个控制 将读/写位设置为“写入”的字节。接下来发送读取温度命令 (AAh) 后跟另一个 START,加上一个控制字节,读/写位设置为“读取”。I2CGetByte(0) 读取温度MSB,并向DS1631发送确认。I2CGetByte(1) 然后读取温度 LSB 并向 DS1631 发送 NACK。通信序列以停止完成 条件。最终代码段将 2 字节数字读数转换为十进制值。

pYYBAGP-8ZeAeFh4AABJ_HRCLhw682.gif

图5.读取DS1631的代码示例

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    48

    文章

    7548

    浏览量

    151369
  • 温度传感器
    +关注

    关注

    48

    文章

    2940

    浏览量

    156045
  • 寄存器
    +关注

    关注

    31

    文章

    5342

    浏览量

    120278
收藏 人收藏

    评论

    相关推荐

    怎么使用DS1631温度传感器与微控制PIC18F45 K2

    您好,我想使用DS1631温度传感器与微控制PIC18F45 K22(MPLABX V 3.26 +XC8)接口,使用I2C,但它不是WROK,我不知道为什么。我在Proteus上模
    发表于 07-09 15:45

    DS1631, DS1631A, DS1731 pdf da

    The DS1631, DS1631A, and DS1731 digital thermometers provide 9, 10, 11, or 12-bit temperature
    发表于 12-08 16:13 24次下载

    提高DS1631温度传感器精度的方法

    随着自动化设备的增多,集成温度传感器得到了广泛的应用,几乎渗透到了所有电子系统。如手机、PDA、各种型号的计算机、交换机、路由、家用电器以及汽车等都使用温度
    发表于 04-16 09:16 27次下载

    Using the DS1631 Temperature S

    INTRODUCTIONThe DS1631 was designed to be software compatible with the DS1621 in most applications
    发表于 04-17 12:08 20次下载

    Using the DS1631 Temperature S

    INTRODUCTIONThe DS1631 was designed to be software compatible with the DS1621 in most applications
    发表于 04-18 10:11 22次下载

    DS1631, DS1631A, DS1731 高精度数字温

    DS1631, DS1631A, DS1731 高精度数字温度计和温度监控
    发表于 12-08 16:16 1161次阅读
    <b class='flag-5'>DS1631</b>, <b class='flag-5'>DS1631</b>A, <b class='flag-5'>DS</b>1731 高精度数字温

    Interfacing to the DS1631 Digi

    compatible) microcontroller to the DS1631 temperature sensor. The DS1631 incorporates a standard 2-wire serial digital interface. Softw
    发表于 04-18 10:28 735次阅读
    Interfacing to the <b class='flag-5'>DS1631</b> Digi

    Interfacing to the DS1631 Digi

    compatible) microcontroller to the DS1631 temperature sensor. The DS1631 incorporates a standard 2-wire serial digital interface. Softw
    发表于 04-23 15:02 990次阅读
    Interfacing to the <b class='flag-5'>DS1631</b> Digi

    DS1631Z+ DS1631Z+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

    电子发烧友网为你提供()DS1631Z+相关产品参数、数据手册,更有DS1631Z+的引脚图、接线图、封装手册、中文资料、英文资料,DS1631Z+真值表,DS1631Z+管脚等资料,
    发表于 10-28 10:10
    <b class='flag-5'>DS1631</b>Z+ <b class='flag-5'>DS1631</b>Z+ - (Maxim Integrated) - <b class='flag-5'>温度</b><b class='flag-5'>传感器</b> - 模拟和数字输出

    DS1631+ DS1631+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

    电子发烧友网为你提供()DS1631+相关产品参数、数据手册,更有DS1631+的引脚图、接线图、封装手册、中文资料、英文资料,DS1631+真值表,DS1631+管脚等资料,希望可以
    发表于 10-28 10:10
    <b class='flag-5'>DS1631</b>+ <b class='flag-5'>DS1631</b>+ - (Maxim Integrated) - <b class='flag-5'>温度</b><b class='flag-5'>传感器</b> - 模拟和数字输出

    DS1631S+ DS1631S+ - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

    电子发烧友网为你提供()DS1631S+相关产品参数、数据手册,更有DS1631S+的引脚图、接线图、封装手册、中文资料、英文资料,DS1631S+真值表,DS1631S+管脚等资料,
    发表于 10-28 10:09
    <b class='flag-5'>DS1631</b>S+ <b class='flag-5'>DS1631</b>S+ - (Maxim Integrated) - <b class='flag-5'>温度</b><b class='flag-5'>传感器</b> - 模拟和数字输出

    DS1631 DS1631 - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

    电子发烧友网为你提供()DS1631相关产品参数、数据手册,更有DS1631的引脚图、接线图、封装手册、中文资料、英文资料,DS1631真值表,DS1631管脚等资料,希望可以帮助到广
    发表于 11-02 08:23
    <b class='flag-5'>DS1631</b> <b class='flag-5'>DS1631</b> - (Maxim Integrated) - <b class='flag-5'>温度</b><b class='flag-5'>传感器</b> - 模拟和数字输出

    DS1631S DS1631S - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

    电子发烧友网为你提供()DS1631S相关产品参数、数据手册,更有DS1631S的引脚图、接线图、封装手册、中文资料、英文资料,DS1631S真值表,DS1631S管脚等资料,希望可以
    发表于 11-02 08:23
    <b class='flag-5'>DS1631</b>S <b class='flag-5'>DS1631</b>S - (Maxim Integrated) - <b class='flag-5'>温度</b><b class='flag-5'>传感器</b> - 模拟和数字输出

    DS1631Z DS1631Z - (Maxim Integrated) - 温度传感器 - 模拟和数字输出

    电子发烧友网为你提供()DS1631Z相关产品参数、数据手册,更有DS1631Z的引脚图、接线图、封装手册、中文资料、英文资料,DS1631Z真值表,DS1631Z管脚等资料,希望可以
    发表于 11-02 08:23
    <b class='flag-5'>DS1631</b>Z <b class='flag-5'>DS1631</b>Z - (Maxim Integrated) - <b class='flag-5'>温度</b><b class='flag-5'>传感器</b> - 模拟和数字输出

    温度传感器ICDS1631

    本应用笔记向用户介绍DS5000(兼容8051)微控制DS1631温度传感器的接口软件。DS1631
    的头像 发表于 05-17 11:37 730次阅读
    <b class='flag-5'>温度</b><b class='flag-5'>传感器</b><b class='flag-5'>IC</b>:<b class='flag-5'>DS1631</b>