<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Výpočet CRC u Dallas teploměru DS18S20</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-2">
<META content="MSHTML 6.00.2800.1642" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Pokud by Vam stacil program pro x51 je 
zde:</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Crcv:<BR>&nbsp;push&nbsp;Acc&nbsp;&nbsp;;save bits 
to be shifted<BR>&nbsp;mov&nbsp;b,#8&nbsp;&nbsp;;set shift = 8 bits 
;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>crc2:&nbsp;xrl&nbsp;a,CRC&nbsp;&nbsp;;calculate 
CRC<BR>&nbsp;rrc&nbsp;a&nbsp;&nbsp;;move it to the 
carry<BR>&nbsp;mov&nbsp;a,CRC&nbsp;&nbsp;;get the last CRC 
value<BR>&nbsp;jnc&nbsp;nuldat&nbsp;&nbsp;;skip if bit = 
0<BR>&nbsp;xrl&nbsp;a,#18H&nbsp;&nbsp;;update the CRC value</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>nuldat:&nbsp;rrc&nbsp;a&nbsp;&nbsp;;position the 
new CRC<BR>&nbsp;mov&nbsp;CRC,a&nbsp;&nbsp;;store the new 
CRC<BR>&nbsp;pop&nbsp;Acc&nbsp;&nbsp;;get the remaining 
bits<BR>&nbsp;rr&nbsp;a&nbsp;&nbsp;;position the next 
bit<BR>&nbsp;push&nbsp;Acc&nbsp;&nbsp;;save the remaining 
bits<BR>&nbsp;djnz&nbsp;b,crc2&nbsp;&nbsp;;repeat for eight 
bits<BR>&nbsp;pop&nbsp;Acc&nbsp;&nbsp;;clean up the 
stack<BR>&nbsp;ret</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Martin Zaruba</FONT></DIV>
<BLOCKQUOTE 
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A title=ladislav.krucinsky@linde-mh.cz 
  href="mailto:ladislav.krucinsky@linde-mh.cz">Kručinský Ladislav</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A title=hw-list@list.hw.cz 
  href="mailto:hw-list@list.hw.cz">HW-news</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Tuesday, January 12, 2010 11:01 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> Výpočet CRC u Dallas teploměru 
  DS18S20</DIV>
  <DIV><BR></DIV><!-- Converted from text/rtf format -->
  <P><FONT face="Arial CE" size=2>Zdravíčko kolegové.</FONT> <BR><FONT 
  face="Arial CE" size=2>Trápím se tady s výpočtem CRC v procesoru PIC - ačkoliv 
  jsem si stáhl Aplikační listy jak od Dallasu tak i od Microchipu, nejsem nějak 
  100 pochopit algoritmus výpočtu pomocí posouvání registru. Nemám kapacitu 
  abych to řešil tabulkou (je potřeba 256 registrů) a tak tady čmárám po 
  čtverečkovaných papírech jedničky a nuly a nevychází mi to. Respektive - ze 
  čtyř Dallas čipů jsem si vyčetl ROM se sériovým číslem, číslem rodiny a CRC. U 
  dvou mi výpočet funguje, u dvou nikoliv.</FONT></P>
  <P><FONT face="Arial CE" size=2>Nechci prudit celou konferu ukázkami 
  algoritmu, nedělali jste to někdo v PIC assembleru ideálně pro PIC16F676 a pod 
  ? Nechci celý program, jenom bych rád věděl kde to vorám...</FONT></P>
  <P><FONT face=LindeDaxOffice size=2>Zdravím</FONT> </P>
  <P><FONT face=LindeDaxOffice size=2>Ing. Ladislav Kručinský</FONT> </P><BR>
  <P>
  <HR>

  <P></P>_______________________________________________<BR>HW-list mailing 
  list&nbsp; -&nbsp; sponsored by 
  www.HW.cz<BR>Hw-list@list.hw.cz<BR>http://list.hw.cz/mailman/listinfo/hw-list<BR></BLOCKQUOTE></BODY></HTML>