7-Segment multiplexen und im Hintergrund arbeiten ??

Gast #20208
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?
Gast #20209
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.
Gast #20210
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
Gast #20213
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren