Hallo...
ich habe ein Thermostat mit ATmega8 und 2x16 LCD gebaut. Die
Temperaturregelung ist fertig und der Probelauf war erfolgreich. Jetzt
habe ich nur noch das Problem den ADC-Wert in die Temperatur umrechnen
und dann auf dem LCD anzeigen. Der Sensor incl OPV misst 0,1°C, aber ich
möchte eine Anzeige in 0,5°C Schritten und für die Regelung verwende ich
nur ganze Grad.
Die Formel für die Berechnung wäre
100 - (1060 - ADC) * 0,126 = Temperatur
aber wie macht man das im Assembler und das Ganze dann noch mit Komma
??? Viele Fragen und keine Lösung in Sicht. Wäre nicht schlecht, wenn
mir mal jemand das erklären könnte.
Gruss Uwe
Hi
>Viele Fragen und keine Lösung in Sicht. Wäre nicht schlecht, wenn>mir mal jemand das erklären könnte.
Ich habe dir mal etwas für den Formelteil (1060 - ADC) * 0,126
zusammengestellt. Das Ergebnis ist in r19...r16. Dabei liegt der
Vorkommateil in r19:r18 (eigentlich ist r19 immer Null) und der
Nachkommateil in r17:r16. Der Rest sollte nicht mehr so schwierig sein.
Hallo...
das sieht ja schon ganz gut aus - mit runden und Vorzeichen. Aber meine
Formal "geht von hinten durch die Brust ins Auge", ist viel zu
kompliziert. Nach einiger Zeit bin ich drauf gekommen.
ADC / 8 - 34 ist genau das selbe.
ADC / 8 ist die Auflösung (0,125°C je ADC-Wert), und bei ADC = 0 müssten
es -34°C sein. Das kann man auch später noch korrigieren.
Dein Programm von Gestern hatte ich getestet, funzt.
Gruss Uwe
Eine eigene Frage?
Dieser Thread ist über 14 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.