PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anzeigeroutine von ADC wert nach komma



magic33
08.11.2009, 15:58
Guten Tag
ich hab folgendes
alle ADC werte von 0-1024 am Mega8 sollen nun in ein einfache anzeige
0,0-10,0 einfließen und am LCD ausgeben werden.
sichergestellt ist durch if then das der wert min 110 ist und der oberste 10000

Bevor ich hier einen if..Then wahnsinn mache gibst dafür sicherlich auch eine einfachere Lösung da ja nur 10erstaffelung.
zumal ich das dann auch noch rückwärts als zeitwert
wieder anzeigen möchte COUNT down.


die warte schleife kann ich ja mit ADCwert x100 als ms
in eine whileschleife runterzahlen --- waitms 100 warten=warten-100 neu anzeigen while warten > 100

bitte um Hilfe in Sachen mit der Fließkommazahl

for_ro
08.11.2009, 17:47
sichergestellt ist durch if then das der wert min 110 ist und der oberste 10000

Was meinst du damit? Dein ADC Wert geht nur bis 1023, deine Anzeige soll nur bis 10,0 gehen.
Wenn es dir nur darum geht, aus einem Integer Wert eine Kommazahl zu machen, dann kannst du neben vielen anderen Wegen auch die Format()-Funktion benutzen.

Adc_word=Getadc(0)
ADC_str=Str(Adc_word)
LCD Format(Adc_str, "00,00")

magic33
08.11.2009, 18:20
und woher weis dieser Befehl wo das Komma hinkommt ? bei einem integer

Neutro
08.11.2009, 18:38
Hallo Magic33,

wenn du eine einfache Spannung messen willst, so solltest du als Variable dafür Single verwenden.

Wenn du dann eine Anzeige mit z.B 2 Nachkommastellen hanem möchtest kannst du das mit Fusing var ##.## ganz einfach hinbekommen.
Hier ist noch ein Link mit Beispiel:
http://www.mikrocontroller.net/topic/88128

Gruß

Neutro