Hallo Mikrocontroller Freunde ich programmierer zur Zeit einen DS1620, soweit kein Problem die Kommunikation mit meinem AT89S252 ist gewährleistet. Frage: Wie bekomme ich nun die Temperatur auf mein LCD-Display Ich habe die 1.Variable mit dem Inhalt READ-TEMPERATUR 2.Variable mit dem Inhalt READ-COUNTER 3.VARIABLE mit dem Inhalt READ-SLOP Diese drei Variablen setze ich jetzt in die Formel aus dem Datenblatt und erhalte doch die TEMPERATUR. Ist doch noch so weit in Ordnung, oder ?? Jetzt benötige ich doch eigentlich nur noch eine Funktion die mir diesen Wert in seine Bestandteile auflöst z.B 25.5 -> 2 5 5 diese 3 Zahlen kann ich doch dann problemlos auf dem Display darstellen. Ich würde mich freuen wenn mir jemand seinen Quellcode mailen könnte. Mit freundlichen Grüßen Christian Hölscher
Vieleicht kann mir jemand auch den genauen Vorgang der Temperaturmessung erläutern, aus dem Datenblatt werde ich nicht ganz schlau.. Christian
Hallo Mikrocontroller Freunde Die Darstellung des Messwertes ist jetzt kein Problem mehr. Nur bei dem Vorzeichen ist etwas komisch. Im Datenblatt steht, wenn das 2-byte 0000|0000 dann ist der Wert positiv bei mir ist aber das 2-byte 1111|1111 dann ist der Wert doch eigentlich negativ. Woran kann das denn wohl liegen. Christian
Hallo Hölscher Wie sehe, bist du ja wieder fleissig dabei, weiter zu lernen. Setzt doch mal deinen Code mit hier rein, sonst fällt es einem schwer, dir zu helfen. MFG Dieter
Hallo! Ich verwende die DS1820 und um aus dem READ-TEMP-Wert eine Temperatur zu machen, habe ich folgenden C-Code geschrieben: val = Read-Temp vom Sensor double retval=0; char tmp; // Ist das 0,5-Flag gesetzt? if ((val & 0x0001) != 0) retval = 0.5; tmp = val & 0x00FE; tmp = tmp >> 1; // Wenn Negativ, dann Invertieren und 1 dazu if ((val & 0x8000) != 0) tmp = (tmp^0x7F) + 1; retval += tmp; // Wenn Negativ.... if ((val & 0x8000) != 0) retval = retval * -1; return retval;
Hallo Sascha vielen Dank für deine Hilfe. Ich kann deinen Auszug aus dem Quellcode sehr gut gebrauchen. Mit freundlichen Grüßen Christian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.