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
Gast
#2495015
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.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
MfG Spess
Vielen Dank ... das werde ich gleich heute Abend testen. Gruss Uwe
Gast
#2496936
Hi Ich habe das Ganze noch mal etwas überarbeitet
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
MfG Spess
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
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.