Pseudo code, wenn das hilft
if (V < 13) goto tschüss
6xBlinken
if (V >= 13,5) 1xBlinken
if (V > 14) 1xBlinken
tschüss:
Hallo @ all,
muss eine Grenzwertauswertung wie z.B. Spannungsüberwachung mit anschliessender Ausgabe durch LED Blinken realisieren.Spannung wird über RA0 eingelesen.
z.B. Spannungsbereich
>14V 8 x blinken
13,5 - 14V 7 x blinken
13 -13,5V 6 x blinken
usw.
Wie würdet Ihr sowas programmieren???? Bitte gebt mir mal einen Tip.
Gruß
Mike 22
Pseudo code, wenn das hilft
if (V < 13) goto tschüss
6xBlinken
if (V >= 13,5) 1xBlinken
if (V > 14) 1xBlinken
tschüss:
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Hallo Robert,
das ganze wird in Assembler programmiert ist aber letzendlich egal. Wie realisierst Du die Routine wenn z.B. die Spannung 6 V ist?? laut deiner Pseudo Routine ist Sie in der ersten Zeile erfüllt und geht zu Tschüss.
Wäre aber nicht korrekt, da es im jeweilige Fenster sein muß also z.B. 6 - 7 V 4 Blinks............oder habe ich das falsch verstanden???????
Gruß
Mike 22
Ah so, ich hab gedacht unter 13 V is nix. State-of-the-art wäre natürlich, aus einer Tabelle die Blinkanzahl zu holen und dann zu blinken.
Wenn blinken und Spannung linear abhängig sind, also z.B. je 0.5 V einmal blinken
Ich würd' aber eine simple Schleife machen, wo ich vom Spannungswert immer wieder 0.5 V abziehe. Bei negativ (Carry = 0 ! =PIC-Schweinerei) hör ich dann auf.
(0.5 müßt du natürlich auf eine ADC-Zahl umwandeln (511 / max volt), das kann aber schon der Compiler machen
Isses nicht linear, eigentlich die gleiche Schleife, aber nicht gleich blinken, sondern mitzählen. Mit diesem Wert dann in die berühmte PIC-RETLW-Tabelle
Hilft das ?Code:movlw nn ; in w steht die anzahl 0.5 V Werte call TAB w-mal blinken .... TAB: addwf PCL, f ; add to PC retlw blinkzahl_00_0 retlw blinkzahl_00_5 retlw blinkzahl_01_0 retlw blinkzahl_01_5 ........... retlw blinkzahl_14_0
EDIT: Beim PIC sind Schleifen zwar elegant, aber oft gar nicht effektiv.
Es kann sein, daß du mit Spaghetti-Code sogar besser dran bist
mfg robert
Wer glaubt zu wissen, muß wissen, er glaubt.
Lesezeichen