∥DS18B20写命令函数,向1-WIRE总线上写一字节 void write byte(uchar val) { 单片机写“0”时原 单片机写“1”时限 uchar i; 60s<Tx“0"<120 >15 Vpu for(i=8;i>0;i-) { GND DQ=1; DS18B20采样 DS18B20采样 MIN TYP MAX MIN TYD MAX _nop_();_nop_(); 15us→+1545→←—30s→ ←155++155+←一305→ DQ=0; 写时序 nop();nop_();nop_();nop_();nop_(); ∥5us DO=va l&0x01; ∥最低位移出 delay(6); ∥66us val >>=1; ∥右移1位 DQ=1; delay(1);
写时序 // DS18B20写命令函数,向1-WIRE总线上写一字节 void write_byte(uchar val) { uchar i; for(i=8;i>0;i-) { DQ = 1; _nop_(); _nop_(); DQ = 0; _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); // 5us DQ = va l& 0x01; // 最低位移出 delay(6); // 66us val >>=1; // 右移1位 } DQ = 1; delay(1); }
·读时序 单片机读“0”时隙 TREC 单片机读“1”时隙 >1μs4 GND 单片机栗样 >1μs >1us 单片机采样 15μs 45μs 15μs◆ DS18B20器件的读时序由读0时隙和读1时隙组成
读时序 DS18B20器件的读时序由读0时隙和读1时隙组成