' $regfile = "4433def.dat" '$crystal = 4000000 'Definition der Konstanten Const Read_rom = &H33 ' DS1820 Commands Const Skip_rom = &HCC Const Convertt = &H44 Const Read_ram = &HBE Const Write_ram = &H4E Const Copy_ram = &H48 Const Recall_ee = &HB8 Const Read_power = &HB4 Config 1wire = Portd.2 'use this pin Dim Ar(2) As Byte , A As Byte , I As Byte , Temperatur As Integer Dim Halb As Byte Dim Busy As Byte 'Hinzugefügt Do Wait 1 Disable Interrupts 'soltte man machen, falls man mal Interrupts benutzt .Können aber beim auslesen stören 1wreset ' 1wire Reset 1wwrite Skip_rom ' Read ROM command 1wwrite Convertt ' Measure Temperature Do 'warten bis fertig mit der Umwandlung Busy = 1wread() Loop Until Busy = &HFF ' Wait for end of conversion 1wreset ' 1wire Reset 1wwrite Skip_rom ' Skip ROM command 1wwrite Read_ram ' Read Scratch command Ar(1) = 1wread() 'und auslesen Ar(2) = 1wread() 'und auslesen 1wreset ' 1wire Reset, fertig mit auslesen Enable Interrupts 'und wieder einschalten 'So bis hier geht das jetzt mit dem auslesen bei mir. Getestet über den UART und Ausgabe auf den PC 'Was du hier so machen willst, leuchtet mir nicht so ganz ein auf die schnelle If Ar(2) > 0 Then Temperatur = 0 Else Shift Temperatur , Right Lcd Temperatur ; "."; Halb = Ar(1) And 1 If Halb = 1 Then Lcd "5" Else Lcd "0" Lcd " C" 'Loop End