mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ports sparen 7 Segment


Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich meinen AVR direkt an den BCD/7Seg. Decoder anschliessen würde 
dann bräuchte ich ja für jedes Segment 4 Ports. Wäre es möglich die 
Daten einfach seriell aus einem Port an einen Seriell/parallel decoder 
und erst dann an BCD/7Seg. Decoder zu schicken?

Einige Unklarheiten im Bezug auf Multiplexen hab ich noch:
Beim obigen Beispiel würde ja auch ein multiplexer keine Port einsparung 
bringen, da die Daten immer noch von 4 Port an den Multiplexer gehen und 
erst dann werden Leitungen eingespart, stimmt das? Also was bring dann 
ein Multiplexer?

Fritz 7

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei einer vierstelligen Anzeige mit Dezimalpunkt in jeder Stelle sind 
zur Ansteuerung ohne zusätzliche Hardware (ausgenommen 8 Widerstände zur 
Strombegrenzung) 12 Portleitungen (8 Segmente, 4 Stellen notwendig). 
Wenn du Portleitungen sparen willst, kannst du aber für die 
Segmentansteuerung ein Schieberegister 74HCT595 einsetzen. Dann reichen 
zur Segmentansteuerung 3 Portleitungen.

Autor: Meiserl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieh dir mal die an...
MAX7221
SAA1064

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei 4 bis 6 Euro in kleinen Stückzeilen, sind mir die für den Einsatz 
mit einem Mikrocontroller zu teuer und  widersprechen ja auch dem 
Konzept möchlichst wenig Chips auf einem Board. Ein AVR bei Bedarf eine 
Nummer grösser gewählt ist allemal billiger.

Autor: Korbinian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eh? billiger?
max = umsonst! (samples bestellen!)

Autor: Moritz (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Fritz.
Wenn du serielle Daten vom AVR in parallele Daten zu den 7Segement 
Anzeigen umwandeln willst hilft ein Multiplexer nicht weiter, weil der 
ja eben parallele Daten in Serielle umwandelt. Nun könnte man 
entsprechend einen DEmultiplexer verwenden, aber das macht wenig sinn, 
weil du für den noch die Adress-Eingänge brauchst. Viel einfacher, wie 
schon erwähnt: ein Schieberegister. Seriellen Eingang mit 8 Takten = 8 
bit füttern, dann nach 8 Takten den parallelen Ausgang des Registers 
auslesen. Der Ausgang darf natürlich nur einmal jeweils nach dem 8ten 
Takt gelesen werden.
Mein Vorschlag: 74HC164, Datenblatt dazu gibts bei Google.
Und wenn du mehr als 8 Ausgänge brauchst, einfach beliebig viele 
Register in Serie schalten. So kannst du auch 1 Port des uCs verwenden 
um z.B. 64 Datenausgänge zu schaffen, in dem du 8x 8bit Schieberegister 
verwendest...

Moritz

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@moritz
Dann nimmer doch besser einen 595 der besitzt neben
dem Schieberegister noch ein Latch und etwa zum gleichen Preis 
erhältlich.

Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Frage: Was ist ein Latch?

Fritz 7

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das sind noch elementarer ausgedrückt 8 D-FlipFlop. Die Eingänge dieser 
sind beim 595 mit den Ausgängen des Schieberegister verknüpft. Dessen 
Zustand wird bei
positiver Taktflanke übernommen. Dieses hat den Vorteil, die Daten 
können seriell ausgegeben werden und erst nach vollständiger Ausgabe 
werden die Daten auf die Ausgänge geschaltet.

Autor: Peter Dannegger (peda)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier ist ein Beispiel für eine Multiplexanzeige.


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist eine Anzeige, wo alle Segmente A..G, DP von jedem Digit schon 
intern parallel geschaltet sind. Man kann natürlich auch 5 (oder wieviel 
auch immer) einzelne Anzeigen nehmen und die dann entsprechend 
verdrahten.

Im Beispiel nehme ich einen Multiplextakt von 1,2kHz (10MHz / 8192), 
damit ist kein Flackern mehr warnehmbar.


Peter

Autor: wolli_r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Vorschlag:
4 x 7 Segment common Anode ( + Segmentwiderstände )

4 x 74HC4094 kaskadieren(gemeinsame Clockleitung, Data-leitung von einem 
Ausgang zum nächsten Eingang
führen,Strobe Leitungen gemeinsam)EO auf Vcc.

3 Portleitungen riskieren (data,clock,strobe)

Programm:
STR auf low.
Data auf low,bzw high (wird bei positiver Clock Flanke ins Register 
übernommen)
32 Clocks (4*8) senden
STR Leitung kurz auf high setzen und schon sind die
Segmente an oder aus.

- Man kann mit maximalem AVR speed arbeiten.
- Anzeige ist statisch ( kein flackern)
- Ein HC4094 Ausgang kann fast 40mA treiben
- Applikationsschaltung bei Philips vorhanden (HEF4094 Datenblatt)
- 7 Segmentcodetabelle im AVR (andere Codes möglich)
- 1 74HC4094 kostet weit unter 1 EUR

mfg wolli_r ( http://www.tec-shop.de )

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich lautete die Frage Port sparen bei Siebsegment-Ansteuerung und 
jetzt werden wahre Bauteilegräber mit 4 diskreten ICs und bis zu 32 
zusätzlichen Segmentwiderständer konstruiert. Was hat das mit 
Mikrocontrollern zu tun.

Autor: wolli_r (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi mikki,
wenn 3 Leitungen zuviel sind, nimmt man am besten die neuen 4 stelligen 
7-Segmentanzeigen CAQX104
mit nur 2 Leitungen Vcc/data und GND.
Diese Anzeigen haben eine 1 Drahtschnittstelle (DALLAS kompatibel) über 
die man außerdem noch Segmenthöhe und -Farbe frei programmieren kann.
Im Push-Pull Mode betrieben, kann der AVR direkt den Versorgungsstrom 
liefern, da die neuen Anzeigen im 4-stelligen Modus nur 0,23µA 
Versorgungsstrom ziehen.
Im read-back Modus kann man die Umgebungshelligkeit ermitteln und mit 
dem AVR dann die Segmenthelligkeit einstellen.
Bei Google hatte ich die Teile kürzlich gefunden.
Eine Nachfrage beim Hersteller ergab daß das kpl. Teil nur 1,85 EUR 
kosten soll. Kostenlose Muster können auf Anfrage geliefert werden (max 
10 Stück). Da ich aus versehen meine Bookmarks gelöscht habe, kann ich 
den Hersteller nicht mehr finden. Bei Google kann ich auch nichts mehr 
finden. Merkwürdig...

mfg wolli_r ;-)

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In derartige Anzeige zu dem Preis hört sich an wie ein Märchen. Ich 
hatte mich auch schon mal im Bereich 7 Segmentanzeigen mit serieller 
Ansteuerung umgeschaut, die Hersteller die ich damals ausfindig mach 
konnte, wollte aber so 8 bis 12 Euro für 4 stellig bei 10 mm Höhe und 50 
bis 100 Stck Abnahme haben, daher bevorzuge ich nach wie vor die 
Simpellösung 8 Portleitungen für die Segmente und 4 für die Stellen.
Ist platzsparend und preiswert.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Mikki,

bin voll Deiner Meinung.

Ich hatte Fritz so verstanden, daß er erstmal nur wissen wollte, wie 
eine Multiplexanzeige prinzipiell verschaltet wird.

Wieviel Pins er verwenden will geht nirgends draus hervor, nur daß es 
weniger als 16 sein sollten.


Hallo wolli_r,

da ist Dir wohl das Komma verrutscht:
Der garantierte Betriebsstrom bei allen 74HCxx ist nur max 4mA.
Der Grenzstrom ist 25mA, aber mit der Bemerkung: "IC wird noch nicht 
zerstört aber Funktion wird nicht garantiert."

The “RATINGS” table (Limiting values in accordance with the Absolute 
Maximum System - IEC134) lists the
maximum limits to which the device can be subjected
without damage. This doesn’t imply that the device will function at 
these extreme conditions, only that, when these conditions are removed 
and the device operated within the Recommended Operating Conditions, it 
will still be functional and its useful life won’t have been shortened.


Für mehr Strom muß man die 74ACxx nehmen (max 24mA).


Peter

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@peter
ein 74hcxxx mit 40 mA spezifiziert habe ich auch noch nicht gesehen. Mit 
den garantierten Strömen wagen sich die unterschiedlichen Hersteller 
allerdings unter-
schiedlich weit vor so spezifiziert Philips noch garantierte Werte bei 
7,8 mA.

Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Grunde hab ich alle Ports des 8515 frei. Ich möchte aber so wenig wie 
möglich verwenden. Ich habe vor 6 Anzeigen anzusteuern. Für sekunden und 
stunden will ich je zwei Anzeigen nehmen.

Mir ist immer noch nicht klar wie das Multiplexen funktioniert!
Was für IC gibts dafür? (Nur für Multiplexen!!!)
Die daten für die 7 Seg. anzeigen müssen ja eh parallel also 4 Ports pro 
Anzeige an den Multiplexer gegeven werden, ist das richtig?

Danke für das rege Feedback, ich hätte aber gern Antworten auf die 
Fragen die ICH gestellt habe!
Wäre nett.

Fritz 7

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

Bewertung
0 lesenswert
nicht lesenswert
Also mal zu deiner Frage Anzeigen multiplexen.

Du nimmst z.B.: 6Stück 7 Segmentanzeigen.
Am besten gemeinsame Anode.

Du verbindest alle Segment der verschiedenen Stellen.
z.B.: Segment_a von Digit_0 mit Segment_a von Digit_1 usw.
Über einen Begrenzungswiderstand auf den AVR.

Die gemeinsame Anode Schaltest du über einen Transistor.

Per Software legst du die Zifferninformation für Digit_0 an und 
schaltest den dazugehörigen Transistor durch.
Wartest eine kurze Zeit und schaltest wieder ab.

Du legst die Zifferniformation für Digit_1 an und schaltest wieder den 
anderen Transitor .....

Naja das ganze Spiel für jede Stelle.

Also im Prinzip leuchtet nur immer eine Stelle (Digit) ... das Auge ist 
zu träge dafür es zu erkennen.

Das Problem dabei ist das du dich immer kümmern mußt das die Anzeige 
nicht zu flimmern beginnt.

Also nochmals ein Tip von mir ....
ein MAX7221 oder SAA1064 ist sein Geld schon Wert denn der macht das 
multiplesen von selbst.

Mal am Wochenende 3 Bier weniger trinken und schon hast du Ihn in deiner 
Bastelkiste liegen ;-).

Ich nehme an deine wirkliche Anwendung besteht nicht aus "Zahlen 
anzeigen" sondern diese Anzeigen sollen sozusagen "NUR" etwas anzeigen.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Fritz,

bei einem 8515 würde ich keine weiteren ICs verwenden.

Du brauchst nur 8 Pins für die Segmente und 6 Pins für die Digits.

In die Segmentleitungen kommen die Vorwiderstände zur Strombegrenzung 
und die Digitleitungen werden über 6 Transistoren verstärkt.

Meine Schaltung zeigt das Prinzip für 5 Digits.

Das Ansteuern macht der 8515 z.B. im T0 oder T1 Interrupt.

Softwarebeispiele gibt es zuhauf dafür.
Bei Interesse kann ich auch meinen Kode veröffentlichen.


Peter

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Schaltung von Holger Müller Blech ist quasi das gleiche.

Nur R13..R16 sind überflüssig. In Kollektorschaltung brauchen die 
Transistoren keine Basisvorwiderstände.

Peter

Autor: Fritz 7 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke ich glaub jetz hab ich's begriffen.



MFG: Fritz 7

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.