mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zum 7-Segment Decoder.4511..


Autor: Markus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich bin gerade dabei mir beizubringen wie man einen MSP430149F (VDD 
3,3V) Programmiert. Und dabei bin ich jetzt dabei eine Zählerfunktion 
zur schreiben die eine 7-Segmentanzeige ansteuert weil ich das für meine 
spätere Funktion benötige. Ich möchte später sehr viele 
7-Segmentanzeigen multplexen. Ich habe dafür einen ...4511.. Decoder 
gefunden mit dem es auch ganz gut funktioniert. Leider muss bei diesem 
Decoder der LE (Latch Enable) Eingang immer auf high bleiben und zum 
abspeichern des neuen Wertes kurz auf low gesetzt werden.
Jetzt meine Frage: gibt es einen 7-Segment Decoder bei dem der LE 
dauernd auf low stehen muß und nur zum Speichern des neuen Wertes kurz 
auf high gesetzt werden muß?
Es vereinfacht das Programmieren eine bisschen.
Vielen Dank schon mal.

Markus

Autor: MeinerEiner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Öhm... also diese 4511, die ich hab, brauchen das nicht, LE ist da immer 
fest auf GND. Da wird der Wert an den Eingängen ohne irgend ne "Clock" 
sofort an die Ausgänge gelegt.

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Jetzt meine Frage: gibt es einen 7-Segment Decoder bei dem der LE
> dauernd auf low stehen muß und nur zum Speichern des neuen Wertes kurz
> auf high gesetzt werden muß?
> Es vereinfacht das Programmieren eine bisschen.

Du Armer.

Lass LE auf low und du hast keine Probleme.

Du könntest allerdinga den externen CD4511 ganz weglassen, wenn du 
stattdessen an 7 Ausgänge (ein Port) bereits einen dekodierten Wert aus 
einer internen 7-Segment-Decoder-Tabelle mit 10 oder 16 Positionen 
ausgibst.

Das verkompliziert aber das Programmieren ein bischen :-(

Wenn du viele 7-Segment-Anzeigen leuchten lassen willst, lohnt es sich, 
sich über Multiplexing Gedanken zu machen, dazu brauchst du aber Strom, 
viel mehr Strom also so ein CD4511-Ausgang liefern kann. Siehe
http://dse-faq.elektronik-kompendium.de/dse-faq.htm#F.8.1

Autor: Markus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
 Danke schon mal für Eure Antworten.

@MeinEiner,

> Öhm... also diese 4511, die ich hab, brauchen das nicht, LE ist da immer
> fest auf GND. Da wird der Wert an den Eingängen ohne irgend ne "Clock"
> sofort an die Ausgänge gelegt.

das stimmt schon was du sagst, aber ich will ja mehrer 7-Segment Decoder 
parallel ansteuern und sie sollen ja nicht alle das Gleiche anzeigen, 
deshalb muß ich sie nacheinander ansteuern.

@MaWin,

> Du könntest allerdinga den externen CD4511 ganz weglassen, wenn du
> stattdessen an 7 Ausgänge (ein Port) bereits einen dekodierten Wert aus
> einer internen 7-Segment-Decoder-Tabelle mit 10 oder 16 Positionen
> ausgibst.

könnte ich machen, aber dann brauchen ich für eine Anzeige 7 Pins,
mit dem Decoder nur 4 plus den LE Ausgang für jeden weiteren Decoder

> Wenn du viele 7-Segment-Anzeigen leuchten lassen willst, lohnt es sich,
> sich über Multiplexing Gedanken zu machen, dazu brauchst du aber Strom,
> viel mehr Strom also so ein CD4511-Ausgang liefern kann.

ja das stimmt, aber der MSP430 liefert auch nicht so viel Strom als das 
ich da so viele Anzeigen anschließen könnte.
Ich wollte ja auch für jede Anzeige einen eigenen Decoder vorsehen den 
ich spreche nicht von 3 oder 4 7-Segment Anzeigen sonder von ca. 24 
Stück

Sorry hätte ich vielleicht vorher sagen sollen. :0)

Gruß
Markus

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ja das stimmt, aber der MSP430 liefert auch nicht so viel Strom als das
>ich da so viele Anzeigen anschließen könnte.
>Ich wollte ja auch für jede Anzeige einen eigenen Decoder vorsehen den
>ich spreche nicht von 3 oder 4 7-Segment Anzeigen sonder von ca. 24
>Stück

Transistorarrays wie der ULN2803 und der UDN2982A und das 
Zeitmultiplex-Verfahren würden Dir die Arbeit wesentlich erleichtern und 
das Platinenentflechten wäre ein Klacks. Die 7-Segment-Dekodierung würde 
ich auch im Controller machen, dann kannst Du nämlich auch Sonderzeichen 
ausgeben, die der 4511 nicht kann...

Autor: Markus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Trevel Rec,

> Transistorarrays wie der ULN2803 und der UDN2982A und das
> Zeitmultiplex-Verfahren würden Dir die Arbeit wesentlich erleichtern und
> das Platinenentflechten wäre ein Klacks. Die 7-Segment-Dekodierung würde
> ich auch im Controller machen, dann kannst Du nämlich auch Sonderzeichen
> ausgeben, die der 4511 nicht kann...


ich hätte vielleicht noch erwänen sollen, dass ich bezüglich der 
Elektronik noch ein bisschen in den Kinderschuhen stecke und auch im 
programmieren arbeite ich mich noch nach oben :o)
Was ich jetzt aber rausbekommen habe das die beiden Bausteine, die du 
genannt hast, mit 5V arbeiten und der MSP430 nur max 3,3 Volt abgeben 
kann. Das würden bedeuten, dass ich auch wieder zusätzliche Bauteile 
benötige.
Und da ich mit den 7-Segment Anzeigen nur Temperaturen anzeigen will, 
brauche ich auch keine Sonderzeichen.

Trozdem vielen Dank für deine Hilfe

Markus

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es übersichtlich seien soll, würde ich 74HC595 + die 4511er 
empfehlen. An jeden 74HC595 passen dann 2 7-Segment Treiber. Durch 
zusätzliche 74HC595 beliebig erweiterbar.
Die SPI ansteuerung der 595er ist auch in ein paar Zeilen erledigt.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jörg S. schrieb:
> Wenn es übersichtlich seien soll, würde ich 74HC595 + die 4511er
> empfehlen. An jeden 74HC595 passen dann 2 7-Segment Treiber. Durch
> zusätzliche 74HC595 beliebig erweiterbar.

Warum dann nicht gleich einen 74HC595 pro Digit?
Spart einen IC je 2 Digits ein.


Peter

Autor: Markus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg hallo Peter,
wenn ich die Funktion 74HC595 richtig verstanden habe setzt er bei jeden 
Impuls auf den Eingang am parallen Ausgang nacheinander jeden 
Ausgangspin kurz auf high. Das spart auf jeden Fall pins am MSP430. Aber 
um wieder auf meine Ursprungsfrage zurückzukommen habe ich einen Decoder 
der einen low Impuls braucht das heißt ich müsste den Ausgang am 74HC595 
noch negieren. Oder ihr kennt einen Decoder der ein kurzes high Signal 
als latch Signal braucht.

Vielen Dank
Markus

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>wenn ich die Funktion 74HC595 richtig verstanden habe setzt er bei jeden
>Impuls auf den Eingang am parallen Ausgang nacheinander jeden
>Ausgangspin kurz auf high.
Der 595er ist ein seriell parallel Wandler. Die schiebst z.B. 01101110 
seriell rein und am 595 steht dann an den 8 Ausgangspins ebenfalls 
01101110 an.

>Aber um wieder auf meine Ursprungsfrage zurückzukommen habe ich einen
>Decoder der einen low Impuls braucht ...
Wie schon weiter oben steht, brauchst du keinen low-Impuls. Den Pin 
kannst du GENERELL auf low lassen.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du sollst (wenn ich das richtig verstanden habe) die LED-Segmente direkt 
mit Vorwiderständenan die HC595 anschließen, je HC595 ein Digit. Die 
Bitmuster für die einzelnen Segmente schiebst Du der Reihe nach in die 
HC595 Schieberegister und wenn Du fertig mit schieben bist, gibst Du 
eine StoreClock und die Muster erscheinen an den Ausgängen und bleiben 
dort so lange, bis Du nach dem Neuladen der Register wieder eine 
StoreClock gibst. Die Dekodierung der Bitmuster machst Du im Controller 
über eine Tabelle. Das spart die 4511 Dekoder komplett. Du brauchst vom 
Controller 3 Leitungen zu den Schieberegistern: ShiftClock, ShiftData 
und StoreClock. Fertig.

Autor: Jörg S. (joerg-s)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Markus S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg und Travel Rec.
ok, ich habe verstanden wie der HC595 funktioniert. Das hört sich sehr 
interessant an aber ich bin beim Programmieren noch nicht so weit dass 
ich mit Tabellen arbeiten kann und das ich serielle Daten ausgeben kann 
usw. Aber ich werde mit Hochdruck drann arbeiten ;o).
Bis jetzt noch mal vielen Dank an alle die mir geholfen haben.
Gruß
Markus

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus S. schrieb:
> aber ich bin beim Programmieren noch nicht so weit dass
> ich mit Tabellen arbeiten kann

Eine Tabelle ist einfach nur ein (Byte-)Array mit Vorbelegung.
In C wirst Du ohne Arrays nicht weit kommen.


> und das ich serielle Daten ausgeben kann

Die meisten MCs haben dafür ein SPI.
Geht aber auch in Software. Mit dem Schiebebefehl (>> oder <<) kann man 
die Bits eines Bytes nacheinander auslesen.


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.