×
嵌入式 > 技术百科 > 详情

关于DS18B20系列号

发布时间:2020-10-21 发布时间:
|
    DS18B20中有一个64位光刻ROM,按说明书说法,开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。
    读取ROM方法:先复位DS18B20,成功后执行读取ROM命令(33H),然后将这64位以8个字节的方式存入数组,最后用LCD或LED逐个字节显示出来。下面是读取ROM的主程序:
void main()
{
 uchar i;
 uint j=200;
 rest_ds18b20();//复位
 write_ds18b20(0x33); //读序列号
 for(i=0;i<8;i++)
  Rom_18B20[i]=read_ds18b20();
    while(1)
    {
  for(i=0;i<8;i++)
  { 
   while(j--)
    dis(i,16,Rom_18B20[i]/16,Rom_18B20[i]%16,16,16);//数码管显示
   j=200;
  }
    }
}
    在读取ROM实验中发现:仿真或实际电路实验第0字节均为28,这情有可原,因为这是DS的产品类型标号。但第5、6字节均为00,无论仿真或实际电路实验都是如此。如果真的这样,那第5、6字节就失去意义了,64位ROM其实就只有48位了。真的吗?
 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ADI 高精度低功耗精密放大器