手机网站禁止缩放,电子商务具体是干什么的,门户网站建设探究,计算机应用技术毕业设计文章目录 引言特点工作原理引脚说明配置寄存器温度寄存器时序初始化时序写时序读时序 引言
DS18B20 是一种广泛使用的数字温度传感器#xff0c;具有高精度和易用性。是Dallas Semiconductor公司#xff08;现为Maxim Integrated公司#xff09;生产的单总线数字温度传感器… 文章目录 引言特点工作原理引脚说明配置寄存器温度寄存器时序初始化时序写时序读时序 引言
DS18B20 是一种广泛使用的数字温度传感器具有高精度和易用性。是Dallas Semiconductor公司现为Maxim Integrated公司生产的单总线数字温度传感器。
特点
高精度温度测量精度为±0.5°C。分辨率可配置为9到12位默认情况下为12位。宽测温范围温度测量范围为-55°C到125°C。单总线接口使用1-Wire通信协议仅需一根数据线进行通信极大地简化了布线。支持多个传感器连接到同一总线通过唯一的64位序列号进行识别。电源选项支持寄生电源模式只需两根引脚数据和地即可工作通过数据线提供电源。 工作电压范围为3.0V到5.5V适用于各种微控制器和电源环境。低功耗在非活动状态下功耗极低适合电池供电的应用。内置存储具有温度上限和下限的报警功能用户可以设置温度阈值。 内置非易失性存储器可存储用户配置。
工作原理
DS18B20 通过1-Wire协议进行通信只需要一根数据线以及电源和地线。每个DS18B20传感器都有一个唯一的64位序列号使得多个传感器可以同时连接在一条总线上而不会发生地址冲突。
引脚说明
DS18B20 有三根引脚
VDD电源: 3.0V到5.5VGND地: 连接到系统地DQ数据: 与微控制器的GPIO引脚连接同时通过一个4.7kΩ的上拉电阻连接到VDD 配置寄存器
配置寄存器用于设置温度测量的分辨率以及控制其他功能。它是一个8位的寄存器。低五位全是1高三位的TM是测试模式位用来设置DS18B20在工作模式还是测试模式。出厂设置的是0用户无法进行更改。 配置寄存器中的R1和R0位用于设置温度测量的分辨率。不同的分辨率会影响测量的精度和转换时间。以下是R1和R0位的组合及其对应的分辨率和转换时间
R1R0精度最大转换时间009位bit93.75 ms0110位bit187.5 ms1011位bit375 ms1112位bit750 ms
R1 和 R0 位的组合决定了 DS18B20 传感器的温度测量精度分辨率精度越高最大转换时间越长。注意默认情况下是12位
温度寄存器
温度寄存器存储的是当前的温度测量值。它是一个16位的寄存器由两个字节组成
高字节Most Significant Byte, MSB前五位用于表示符号位。低字节Least Significant Byte, LSB 其中 S 表示符号位0 表示正温度1 表示负温度。 温度数据以补码形式存储具体转换公式如下 温度 ( ° C ) R a w T e m p e r a t u r e D a t a 16.0 温度(°C)\frac{Raw Temperature Data}{16.0} 温度(°C)16.0RawTemperatureData
例如读取的原始数据为 0x0191则温度值为 温度 ( ° C ) 0 x 0191 16.0 401 16.0 25.0625 温度(°C)\frac{0x0191}{16.0}\frac{401}{16.0}25.0625 温度(°C)16.00x019116.040125.0625 注意负温度需要对数据输出进行取反之后加1然后按照上面的公式进行计算。 时序
DS18B20 温度传感器通过单总线1-Wire协议进行通信。1-Wire 协议使用一根数据线DQ进行通信该协议包括复位、存在检测、命令和数据传输等操作。
初始化时序
在使用 DS18B20 温度传感器时初始化时序是至关重要的。初始化时序包括总线复位、存在脉冲以及设备初始化的详细步骤。 初始化时序步骤 总线复位主机通过总线复位将数据线拉低至少 480 微秒µs以重置总线上的所有设备。此时所有连接在总线上的 DS18B20 设备都会被复位。 存在脉冲DS18B20 响应主机的复位信号在复位脉冲后的 15-60 µs 内将数据线拉低 60-240 µs发送存在脉冲。 ROM 命令ROM 命令用于选择特定的 DS18B20 设备。在单个设备的情况下可以使用跳过 ROMSkip ROM命令。常见的 ROM 命令包括 功能命令功能命令用于控制 DS18B20 的操作如温度转换和数据读取。常见的功能命令包括 Convert T (0x44): 启动温度转换。Write Scratchpad (0x4E): 向 Scratchpad 写入数据。Read Scratchpad (0xBE): 读取 Scratchpad 数据。Copy Scratchpad (0x48): 将 Scratchpad 数据复制到 EEPROM。Recall E2 (0xB8): 从 EEPROM 读取数据到 Scratchpad。Read Power Supply (0xB4): 检查设备的电源模式。
写时序
写时段有两种情况“写1”时段和“写0”时段。主设备通过写1时段来向DS18B20中写入逻辑1以及通过写0时段来向DS18B20中写入逻辑0。每个写时段最小必须有60us的持续时间且独立的写时段间至少有1us的恢复时间。两次写时序均起始于主机拉低总线。
读时序
仅在读时段期间DS18B20才能向主设备传送数据。因此主设备在执行完读暂存寄存器BEh或读取供电模式[B4h]后必须及时地生成读时段这样DS18B20才能提供所需的数据。此外主设备可以在执行完转换温度44h或拷贝EEPROMB8h命令后生成读时段以便获得在“DS18B20功能命令”章节中提到的操作信息。 每个读时段最小必须有60us的持续时间且独立的写时段间至少有1us的恢复时间。读时段通过主设备将总线拉低超过1us再释放总线来实现初始化。当主设备初始化完读时段后DS18B20将会向总线发送0或者1。DS18B20通过将总线拉至高来发送逻辑1将总线拉至低来发送逻辑0。当发送完0后DS18B20将会释放总线则通过上拉电阻该总线将会恢复到高电平的闲置状态。从DS18B20中输出的数据在初始化读时序后仅有15us的有效时间。因此主设备在开始改读时段后的15us之内必须释放总线并且对总线进行采样。 DS18B20的典型温度读取过程为复位 → \rightarrow →发SKIP ROM命令0xCC → \rightarrow →发开始转换命令0x44 → \rightarrow →延时 → \rightarrow →复位 → \rightarrow →发送SKIP ROM命令0xCC → \rightarrow →发读存储器命令0xBE → \rightarrow →连续读出两个字节数据即温度 → \rightarrow →结束。
数据传输包括命令和数据的写入和读取。常见命令包括
Skip ROM0xCC跳过 ROM 操作直接与总线上唯一的 DS18B20 通信。Read Scratchpad0xBE读取 Scratchpad 的内容。Write Scratchpad0x4E向 Scratchpad 写入数据。Convert T0x44启动温度转换。Copy Scratchpad0x48将 Scratchpad 的内容复制到 EEPROM。Recall E20xB8将 EEPROM 的内容读取到 Scratchpad。Read Power Supply0xB4检查 DS18B20 是否使用寄生电源。