So gehts nicht !
Du must nach dem Start der Messung min 0,5s warten (0,75s beim DS18B20).
Mann kann auch das Busy-Bit testen, d.h. immer Reset und ein Bit lesen
usw. bis Bit = 1, aber nur, wenn man kein parasite power benutzt.
Um den Code portabel zu halten, sollte der 1W-Pin mit einem Namen und
nicht direkt angesprochen werden.
Auch die ganzen Delays sollte man den Assembler aus der Quarzfrequenz
selber berechnen lassen, damit man auch andere Quarze verwenden kann,
wie z.B. hier:
http://www.mikrocontroller.net/forum/read-4-27035.html
Auch ist es einfacher, gleich einen DS18B20 zu nehmen, da muß man nicht
erst viel rechnen, um das Ergebnis in 0,0625°C-Schritten zu erhalten.
Ob das delay 500µs ist weiß ich nicht, aber es ist keine Endlosschleife,
d.h. es hängt nicht fest.
Peter