Pluto25 schrieb:
Jenseits von acht wird's dann schwierig mit dem Strom. Sollte das System stoppen bekommt ein Digit >100mA Ab 12 scheint es kein brauchbares Helligkeit /Flackerfrei - Verhältnis mehr zu geben.Mitch64 schrieb:
nach belieben um Stellen erweitern.
Bei 500 Hz ISR-Frequenz wird also die gesamte Anzeige (2 Stellen) mit 250 Hz refrescht. Also flimmerfrei.
Die Refreschrate ist entscheidend, ob man ein Flimmern wahrnimmt oder nicht.
Bei 4 Stellen ist die Refreshrate 500 Hz / 4 = 125 Hz, wenn immer nur ein Segment an ist.
Bei 6 Stellen sind es dann 500 Hz / 6 = 83 Hz, bei 8 Stellen sind es 62 Hz.
Da könnte man jetzt vielleicht ein Flimmern wahrnehmen.
Aber dann muss man eben die ISR-Frequenz etwas erhöhen, z.B. auf 800 Hz.
Also alles erst mal kein Problem.
Bei mehreren Stellen bietet es sich außerdem an, um wiederholenden Code zu vermeiden, die ISR-Routine etwas anders aufzubauen.
Also am Anfang der ISR alle Stellen aus, dann den Puls für das Schieberegister ausgeben (Daten wurden im letzten Interrupt übertragen) und dann die Stelle erhöhen und diese dann einschalten.
Danach per Lookup die Daten für den nächsten Interrupt (Stelle) laden und rausschieben. Aber noch kein Puls auf das Schieberegister geben. Das passiert dann erst im folgenden Interrupt.
Das macht die ISR schlanker und braucht weniger Code. Auf die Laufzeit wird es weniger Einfluss haben, da ja immer nur ein Teil der ISR abgearbeitet werden muss.