mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 7 Segment Anzeigen


Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kennt sich jemand mit 7 Segment anzeigen aus? Es werden ca. 11 7 Segment 
Anzeigen angesteuert!! Mein AT90S8515 hat also zu wenig Ausgänge um 
alles Direkt anzusteuern. Gibt es das Spezielle Controller für die 7 
Seg. anzeigen? Ich hab mal was von BCD gelesen, was ist das? Ein 
Tutorial wäre nett!

MFG: Fritz 7

Autor: Meiserl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Wie wärs mit einem MAX 7221

Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke hab mir mal das Datenblatt angesehen. So ganz verstehe ich das 
nicht. Hab ich das Richtig verstanden das ich mir einen 7221 eine 7 
Segment Anzeige also Ziffer anzeigen kann? Also dann lohnt sichs nicht. 
Ein 7219 kostet 17 Fr. Da könte ich mir ja jedesmal einen billigen AVR 
kaufen!! Andere Vorschläge?

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde die Anzeige multiplexen. (7 Segmentleitungen
+ 11 Digitleitungen). Allerdings bleibt wird bei dieser Methode jede 
Stelle nur mit 1/11 Tastverhältnis
angesteuert. Die Display sollten als schon über etwas
Helligkeit und Strombelastbarkeit verfügen.

Autor: Peter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
11x 74HC595, kosten bei Reichelt zusammen 3,63 Euro. Billiger geht es 
wohl kaum und wenn du SPI softwaremässig realisierst, was total simpel 
ist, dann benötigst du nur 3 Ports und kannst sogar einen kleineren AVR 
nehmen, z.B. einen AT90S2313. Das 7-Segment Encoding machst du dann 
softwaremässig, ist auch sehr einfach.

Andere Alternative wäre ein spezielles IC, wie z.B. der MAX6954, der 
kann maximal 16 7-Segment Anzeigen ansteuern.

Gruss,

Peter

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 11 Digitleitungen machst Du mit nem Dezimalzähler da brauchst du nur 
4 Bit (Portleitungen) und 8Bit für die Displays 7 + Komma, Multiplexen 
und fertig.

Gruß Mike

Autor: wolli_r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
habe kürzlich eine 12-stellige 7 Segmentanzeige entwickelt. Die Anzeige 
emuliert die MAX7219 Bausteine, da diese Bausteine selbst recht teuer 
sind. Mein Design arbeitet mit dem AT90S1200 und
3 x 74HC374 Bausteinen und 4 Transistoren. Interessenten setzen sich mit 
mir per email in Verbindung.
mfg  Wolli_r

Autor: Meiserl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Fritz 7

Mit einem 7221 kannst du bis zu 8 Digits ansteuern.
Und das über 3 Leitungen und relativ wenig Rechenzeit.
Um das Multiplexen selbst mußt du dich nicht drum kümmern. Macht alles 
der MAX 7221 (bzw 7219) für dich. Ich nehme an du willst ja auch noch 
etwas anders in dener Software machen als Anzeigemultiplexen. Bei 8 
Digits kannst du da schon ein wenig in Stress kommen mit der Software 
wenn du vom µC multiplext.

Klar kann man den 7221 emulieren ... aber ob das wirklich eine 
Einsparung ist (Preis, Platinenplatz)?

Ein kleines Zuckerl.... mit dem 7221 kann man auch die Helligkeit per 
SOftware verstellen.

Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke erstmals für die vielen Antworten.
Aber was ist Multiplexen? Und wie geht das denn genau mit anschliessen 
an den AVR? Es geht eigentlich darum erstmals ein DCF 77 Zeitzeichen 
anzuzeigen. Könnte mir vieleicht jemand mal eine Schaltung zeigen, wo 
eine 7 Seg. Anzeige angeschlossen ist?

Fritz 7

Autor: Michael T (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte man doch auch mit dem 74HC573 machen.
8 Bit datenbus für die 7 Segment Anzeige.
Je 1 Port zum ansteuern des 74HC573.
Einfach den 573 ein Daten senden und wieder aus.
Danach den nächsten usw.
Der 74HC573 kostet bei Reichelt 0,31 Euro.
Habe das ganze mal mit der C-Control gemacht.
Die Zahlen für die Anzeige in der Tabelle gespeichert und dann weren sie 
mit der Zeit ausgegeben.
Habe die Uhrzeit mit Sekunden (DCF) und auf Tasterdruck das Datum.
Wäre doch eine Idee.
Viele Grüße
   Michael T

Autor: Mike (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mir mal die Mühe gemacht und von einem ELV Frequenzzähler das 
Bild eingescannt. Das ist der Standart, die 7 Segmente und der Punkt 
kommen auf einen Treiber 8Bit und die Katoden oder Anoden je nach 
Anzeigetyp auf einen Transi der den Strom für die 8 Segmente treibt. Die 
Transis werden über einen Decoder binär zu dezimal angesteuert. Es 
leuchtet immer nur eine Anzeige, das geht so schnell das dein Auge das 
nicht wahr nehmen kann und es erscheinen alle Anzeigen auf einmal. Es 
heist eigentlich zeitmultiplex. Der Nachteil, um so mehr Anzeigen, um so 
weniger Zeit pro 100% ist ein Display an. Also helle verwenden. Den 7 
Segment Dekoder machst du mit Software. Die Multiplexerei mit einem 
Timer Interrupt. Wie im Film, mindestens alle 20 ms ein Bild.

Gruß Mike

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei mehr als 8 Anzeigen empfiehlt es sich die Segmente zu multiplexen 
und nicht die Stellen. Damit ist das Tastverhältnis nie größer als 1:8, 
d.h. die Spitzenströme werden klein gehalten.

Statt eines Decoders nehme ich immer den 74HC164, da die Stellen oder 
Segmente ja der Reihe nach angesteuert werden.
Der Vorteil, man benötigt nur 2 Leitungen zum Ansteuern.


Mit dem MAX7219 ist es natürlich am bequemsten, da die 
Strombegrenzungswiderstände schon integriert sind.

Ich hab aber auch schon Schaltungen mit normalen CMOS-ICs ohne 
Strombegrenzerwiderstände gesehen. Die laufen quasi im Überlastbetrieb, 
d.h. die Ausgangstransistoren gehen in die Knie.
Je nach Hersteller des ICs leuchten dann die Anzeigen unterschiedlich 
hell, bzw. eine "1" leuchtet heller als eine "8".
Sowas ist also die absolute Edelbastlerlösung, besser Finger weg davon. 
Das sind die eingesparten 8 Widerstände nicht wert.


Peter

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal hierzu,

ich habe gehört, dass der 7219 gemeinsame Kathode oder Anode steuern
können soll, aber lt. Datenblatt nur gem. Kath.

Was ist da dran, ich habe hier nämlich mehrere 3er-7-Segment Bausteine
mit gem. Anode.

Es soll laut Peter mit Software zu steuern gehen, aber die gem.
Kathoden werden doch gegen GND schaltet, und ich müsste 5V haben.

Bitte Antwort...

Gruss
A. Arndt

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du 8 Anzeigen zusammenschaltest, hast Du 8 Anoden- und 8
Kathodenanschlüsse, die zu 64 LEDs führen.

Ob Du nun die Anoden als Stellen und die Kathoden als Segmente
bezeichnest bzw. umgekehrt, ist dem MAX7219 völlig wurscht, das sind
doch nur Namen.

Du kannst in jedem Fall jede der 64 LEDs ansteuern.

Hier ist ein Beispielcode dazu:

http://www.specs.de/users/danni/appl/hard/max7219/index.htm


Der einzige Unterschied, wenn man die Anzeige ganz schnell bewegt,
sieht man, daß in einem Fall die Stellen und in dem anderen die
Segmente gemultiplext werden.


Peter

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ja die 3er-Anzeigen, es sind alle gleichen Segmente z.B. der
Punkt kathodenmässig paralell geschaltet und ich habe 3 gemeinsame
Anoden und alle gleichen Segmente sind paralell.

Wenn ich also die "Punkt(e-Reichen) gegen Masse ziehe, entscheidet die
Versorgung einer Anode mit z.B. 1,8V welcher Punkt leuchtet.

Die Anoden sind also pro drittel Segment (in der Spalte)zusammengeführt
und die einzelnen Segemente + Punkt sind "in der Zeile" verbunden.

Wie sieht es denn mit der Strombegrenzung im Chip aus, funktioniert
diese wie gewollt.




Aber ich glaube jetzt dämmerts, leider kann ich dann nur 2x 3er-Segment
ansteuern, also 6 Segment, sollte aber gehen...?

Bitte noch mal Antwort dazu.

Gruss
A. Arndt

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du schaltest alle gleichen Segmente parallel und legst diese an die
Anschlüsse DIG0 ... DIG7, da es ja Kathoden sind.
Die 3 Anodenanschlüsse kommen an SEGA..SEGC.

Nun must Du der Software nur noch sagen, daß sie ins 1.Byte alle
A-Segmente, ins 2. alle B-Segmente usw. schreiben soll.

In meinem Codebeispiel mache ich das mit Rotieren über Carry "RLC
A".


Peter

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.