DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: (1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。由于本节技术复杂性,对一般读者DS18B20内容只作阅读。 (2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 (3)连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 温度传感器DS18B20指令(命令)说明 命令功能 | 指令代码 | 功能说明 | 读ROM | 33H | 读DS18B20中的64位光刻ROM序列号 | 启动转换 | 44H | 启动温度转换,结果存入内部高速暂存器RAM中 | 写温限值 | 4EH | 向内部字节地址2和3 中写入上下限温度值 | 匹配ROM | 55H | 发出命令后,还发送64位ROM序列号寻找对应号码的18B20 | 读供电 | B4H | 读电源供给方式: 18B20发0为寄生供电,1为外接供电 | 读取温度 | BEH | 读取温度寄存器等9字节的内容 | 跳过ROM | CCH | 单片18B20时,跳过读序列号操作,直接发温度转换 | 报警搜索 | ECH | 执行后,当温度超过上下限值时18B20才作响应 | 搜索ROM | F0H | 搜索同一条线上挂接有几个18B20,识别ROM |
-
标签:
|