Hallo,
wünsche erst mal noch allen Lesern alles Gute und Erfolg für das neue Jahr
2006. Ich arbeite an einer Temperaturauswertung mit einem LM 76 von National, dieser kommuniziert über I2C mit einem PIC Controller, programmiert habe ich das mit einem Basic - Compiler (Pic Basic 2 von Ralf Pagel). Alles klappt gut nur bei der Auswertung der negativen Teperaturen bin ich ins Straucheln geraten, diese werden im sog. Zweierkomplement übertragen. Umwandlung durch Invertierung und Addition von 1. Soweit alles noch klar, bei der Ausführung bin jetzt jedoch auf das Problem gestossen, dass es entweder keinen Bereich von 0 bis - 1 Grad gibt oder mir 1 Minus Grad über den ganzen negativen Bereich fehlt. Ich habe die Funktion der Invertierung am Vorhandensein des negativen Vorzeichenbits festgemacht, nun beginnt der negative Bereich aber bereits bei 0,0625 Grad. Wenn ich jetzt sage "if Vorzeichenbit = 1 then Einerstelle = Einerstelle + 1" erhalte ich den Wert 1,0625 Grad was in diesem Fall definitiv 1 Grad zu kalt wäre. Lasse ich die Addition aber weg erhalte ich z.B. bei dem im Datenblatt genannten Punkt von - 25 Grad nur eine Anzeige von - 24. Wenn ich sage " if Einerstelle >1 then Einerstelle = Einerstelle +1 " verschiebe ich das Problem um ein Grad, löse es aber nicht. Wäre schön wenn mir jemand erklären könnte wie man das richtig macht. Beste Grüße Martin