Mehrstellige 7 Segment Anzeige mit MS7

OP #7811940
Lesenswert?

Hallo,

ich probiere mich gerade an einer mehrstelligen 7-Segment Anzeige. Das Ansteuern einer einzigen ist an sich möglich und funktioniert soweit auch. Da ich kein Schieberegister nutze, wollte ich es einfach über den Controller selbst realisieren. Ich nutze Microchip Studio 7 und kann leider mit dem auf mikrocontroller.net geführten Tutorial nichts anfangen, da es in ASM ist. Gibt es hierzu vielleicht eine gute Quelle zum Nachschlagen oder eventuell eine Library die ich einfach einbinden kann?

Grüße

#7811953
Lesenswert?

Mirko schrieb:

Da ich kein Schieberegister nutze, wollte ich es einfach über den Controller selbst realisieren.

Um irgendeine Treiberschaltung wirst Du aber nicht umhin kommen. Es gibt fertige Schieberegister mit Stromquellenausgang, z.B.: https://www.digikey.de/de/products/detail/microchip-technology/MM5450YN/771810

Es gibt auch Multiplexer mit Stromquellenausgang, z.B. MAX7219.

Oder ganz klassisch multiplexen mit Timerinterrupt und Treibertransistoren.

Such Dir was aus. Erst wenn die Hardware feststeht, kannst Du mit dem Programmieren anfangen.

#7812261
Lesenswert?

Mirko schrieb:

Gibt es hierzu vielleicht eine gute Quelle zum Nachschlagen oder eventuell eine Library die ich einfach einbinden kann?

Da es viele verschiedene Möglichkeiten gibt, mehrere 7-Segment Anzeigen an einen uC anzuschliessen, und viele verschiedene uC, wird nur ein winzigkleiner Bruchteil aller Vorschläge bei dir passen.

Da du Microchip Studio 7 verwendest könntest du Assembler, bare C oder Arduino-style C++ verwenden für AVR und SAM uC. Assembler scheinst du nicht zu verstehen.

Da übliche uC nicht genug Anschlüsse haben um z.B. 6 7-Segment Anzeigen statisch anzusteuern und du keine Schieberegister als Porterweiterung nutzen mochtest, bleibt eigentlich nur Multiplexing als Ansteuermethode.

Da ein PortPin maximal 20mA liefert und Miltiplexing das auf alle Stellen verteilt, bei 4 also 5mA, bleibt die Frage wie viel Strom deine Displays brauchen um hell genug zu werden und ob du eventuell den Strom verstärken musst. Extra Transistoren sind ggf. mehr Aufwand als extra Schieberegister.

Der übliche Multiplex-Code nutzt einen Timer der z.B. 1000 Interrupt pro Sekunde auslöst, legt alle Segmente auf ein Port und nutzt Leitungen eines anderen Ports um die jeweils anzuzeigende Stelle zu selektieren.

Generischer code ist einfach:

1
#define STELLENANZAHL 4
2
char [STELLENANZAHL];
3
void timerinterrupt(void)
4
{
5
    PORTD=0; alle aus
6
    PORTB=segmente[stelle];
7
    PORTD=1<<stelle;
8
    stelle++;
9
    if(stelle>=STELLENANZAHL) stelle=0;
10
}

mehr ist nicht nötig.

#7812350
Lesenswert?

Michael B. schrieb:

Da ein PortPin maximal 20mA liefert und Miltiplexing das auf alle Stellen verteilt, bei 4 also 5mA, bleibt die Frage wie viel Strom deine Displays brauchen um hell genug zu werden

Wenn kein spezielles Low-Efficiency-Display verwendet wird, sollten auch 5 mA für eine LED für eine Raumbeleuchtung ausreichen.

Ich verstehe nach wie vor nicht, warum hier Leute gerne LEDs immer mit dem zulässigen Maximalstrom betreiben wollen, wenn es nur um Signalisierung etc. geht.

Das ist nur dann relevant, wenn man entweder Geräte für Außenanwendungen in praller Sonne oder eben Raumbeleuchtung baut.

#7812483
Lesenswert?

Harald K. schrieb:

Wenn kein spezielles Low-Efficiency-Display verwendet wird, sollten auch 5 mA für eine LED für eine Raumbeleuchtung ausreichen. Ich verstehe nach wie vor nicht, warum hier Leute gerne LEDs immer mit dem zulässigen Maximalstrom betreiben wollen, wenn es nur um Signalisierung etc. geht.

Weil die Leute die Erfahrung haben, dass auch moderne superhell beworbene, aber nicht speziell auf Effizienz ausgesuchte LED und 7-Segment nicht ausreichend hell sind.

Beitrag "Re: Zeitschalter mit AVR (ATtiny84A) zur Diskussion"

Die Helligkeitseinstellung hätte ich mir sparen können, auch im dunklen Keller hinter einem grünen Plexiglas steht die immer auf VOLL. Immerhin sind die LM5624-11 doppelt so hell wie eine DDR VQE23E .

Klar, passiert dir nicht, wenn du superhelle Displays kaufst sind die blendend hell auch ohne Strom. Nur hast du noch nie irgendwas gekauft oder gebaut wir man an deinen fehlenden Bastelbildern in diesem Forum sieht.

#7812560
Lesenswert?

Mirko schrieb:

ich probiere mich gerade an einer mehrstelligen 7-Segment Anzeige. Das Ansteuern einer einzigen ist an sich möglich und funktioniert soweit auch.

Ah, ja DIE! Gibt ja nur das eine Modell.

Magst du uns nicht den Typ nennen und so Feinheiten, ob gemeinsame Anode o. Kathode, verschaltet für Multiplex, wieviele LEDs pro Segment verbaut sind? Dann kann man wesentlich gezielter Tipps geben.

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