DS1620-Temperatursensor

Gast #63434
Lesenswert?
• ▲
▼
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
Gast #63437
Lesenswert?
• ▲
▼
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
Gast #63439
Lesenswert?
• ▲
▼
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;

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.