Forum: Mikrocontroller und Digitale Elektronik 7-Segment multiplexen und im Hintergrund arbeiten ??


von Danny Paulsen (Gast)


Lesenswert?

Hi Zusammen !!

Ich möchte sieben 7-Segment-Anzeigen mittels Atmel ansteuern.
Dazu werde ich auf das Multiplex-Verfahren zurückgreifen, bis dahin auch 
völlig problemlos.
Nur muß der Controller im Hintergrund auch noch arbeiten ( z.B. läuft 
eine Uhr, ein weiterer Minutenzähler und ich möchte zwischen 
verschiedenen Anzeigen wechseln... ).

Wie würdet ihr das von der Struktur her lösen?

von crazy horse (Gast)


Lesenswert?

programmiere einen Timer so, daß der die Uhr sinnvoll ansteuern kann, 
also irgendwelche "geraden" Timer-Ints. Sagen wir einfach mal jede 1ms.
In der ISR kannst du nun alles erledigen, Uhr weiterzählen und auch die 
Siebensegmentanzeige ansteuern.

von Siegfried (Gast)


Lesenswert?

Ich würde das anders herum machen:

Die Anzeigesteuerung mit Multiplex Timergesteuert im Hintergrund und den 
Rest im Vordergrundprozess. Allerdings darf der Interrupt zu keiner Zeit 
gesperrt sein.

Siegfried

von crazy horse (Gast)


Lesenswert?

Hm, und was ist daran andersherum??

von mikki merten (Gast)


Lesenswert?

Interrupts können sehr wehl zeitweise gesperrt sein. Es muss nur 
innerhalb des Programms sichergestellt werden, dass keine 
Interrupt-Anforderung "verloren geht".

von Thomas Zepf (Gast)


Lesenswert?

Also ich mach das immer so:

In der Software wird ein Puffer definiert (zb 8 Bytes für 8 Stellen) Der 
Puffer wird dann initialisiert und anschliesend wird im ms Takt immer 
genau eine Stelle ausgegeben (Timer Irq)

Danach wird nur noch dieser Buffer mit den notwendigen Anzeige Daten 
gefüllt und fertig.

Die Interupts können sehr wohl gesperrt werden. Auch wenn mal ein 
Interupt verloren geht ist das kein Problem nur daerhaft ausschalten 
sollte man den Timer nicht. Der Timer kann mit der niedrigsten Priorität 
laufen.

Ich habe dieses Verfahren u.A.bei Frontplatten  Controllern mit 23 7-Seg 
Anzeigen auf einem 89C52 realsiert

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.