下载后可任意编辑分布式测温中传感器时序与温度读取讨论时间: -02-2410:27:56 来源: 微计算机信息作者: 在分布式测温系统中应用了大量的新型传感器 DS18B20, DS18B20 是单总线数字温度传感器其硬件接线简单, 但时序非常复杂。要实现温度的正确读取, 既要有对 DS18B20 的 ROM 操作命令, 又有一些功能命令。这些命令的执行, 既有一定顺序, 又有特定含义。都需要基于数字温度传感器初始化时序、 写时序和读时序, 根据严格的时序配合才能完成温度正确采集与读取。因此要想正确使用单总线数字温度传感器, 必须分析其时序关系, 而且基于时序编制正确程序。单总线数字温度传感器时序分析与应用讨论具有及其重要意义。2.数字温度传感器时序DS18B20 与单片机只经过一条数据线连接, 因此其数据的传输方式为串行方式。为了正确读取温度值, 必须严格根据时序配合关系, 进行程序编制。DS18B20 有严格的通信协议来保证数据传输的正确性和完整性。通信协议规定了总线上的多种信号的时序。如: 复位脉冲、 响应脉冲、 写 0、 写 1、 读 0 和读 1 等信号的时序。DS18B20 是在严格的时序控制下进行正常操作的。换句话讲, 就是用较为复杂的软件来换取简单的硬件接口。因此要正确使用 DS18B20, 就必须了解其初始化时序、 写时序和读时序。2.1 数字温度传感器初始化时序初始化时序有时也称复位时序, 它是数据线上所有传输过程的开始。整个初始化过程由主设备发出的复位脉冲和 DS18B20 的响应脉冲组成。在主设备初始化的过程中, 主设备经过拉低数据线至下载后可任意编辑少 480μS, DS18B20 即认为是接收到一个初始化脉冲, 接着主设备释放数据线, 在数据线上上拉电阻的作用下, 数据线电平被拉高, 而且主设备进入接收模式。在 DS18B20 检测到上升沿后, 延时 15~60μS, 接着经过拉低总线 60~240μS 以产生应答脉冲。初始化时序如图 2 所示。图 1 是图 2、 图 3 和图 4 的线型示意图。图 1 线型示意图图 2 初始化时序在分布式测温系统中 CPU 采纳 AT89S52, 温度读取的初始化程序如下所示: DATBITP1.0INI10:SETBDATMOVR2,#185INI11:CLRDATDJNZR2,INI11;复位脉冲时间 600usSETBDAT;释放数据线MOVR2,#28下载后可任意编辑INI12:DJNZR2,INI12;等待 60usCLRCORLC,DAT;有无应答低电平JCINI10;若无应答, 初始化失败MOVR6,#40INI13:ORLC,DATJCINI14;数据线变高。初始化成功DJNZR6,INI13;低电平最...