mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Decoderschaltkreis für 7-Segment Kaskade


Autor: Fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute, ich such nen Schaltkreis, mit dem ich drei oder vier
7-Segmentanzeigen ansteuern kann. Sprich, die Dinger sollen in Kaskade
geschaltet werden und durch einen entsprechend angelegtes BIT soll die
entsprechende Anzeige leuchten, die den Wert über den gemeinsamen
BCD-BUS zugeschaufelt bekommt.

Ziel des ganzen soll (wie solls auch anders sein) ein Drehzahlmesser
werden. Da ich in meiner Grabbelkiste nur nen 80C49 gefunden hab, ist
die Portanzahl natürlich arg begrenzt, nachdem nämlich das Eprom dran
hängt sind noch satte 12 BIT übrig womit ich was steuern kann. Das
würde theoretisch ausreichen für die 7-Segment decodierung und
Kaskadierung, allerdings brauch ich noch ein paar BITs für andere
Aufgaben. Daher die BCD-Codierung für die Anzeige. Dann sind nämlich
noch 4 oder 5 BIT, je nach Anzahl der 7-Segmentanzeigen, übrig.

Danke schonmal im Voraus!

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klarer Fall: MAX7219 bzw. MAX7221

Autor: Fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee, bitte nix serielles. Die vier BIT möchte ich direkt ans IC anlegen.


Mit den beiden MAX kann ich ja nen DZM bauen der auf Acht stellen genau
anzeigt :) da wird mein 80C49 wohl nicht ausreichen :) .

THANX

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn Du im Multiplexbetrieb dran gehst, brauchst Du für eine 4-stellige
Anzeige 11 Ausgänge am Professor. 7 für die Segmente und 4, um die
Kathoden oder Anoden der Anzeigen zu schalten. Oder Du gibst
die Drehzahlwerte nacheinander im BCD-Code auf 4 Ausgänge und setzt
einen Dekoder (40511 oder D147) da dran. Dann brauchst Du 8 Leitungen.

MfG Paul

Autor: Fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Paul Baumann

genau das wollte ich mit meinem ersten Post ausdrücken. Der 80C49 hat
nur 12 Aus/Eingänge, wenn ich davon schon elf verbrate hats mir wenig
gebracht, da ich noch einige brauche für andere Sachen. Daher soll das
ganze auch mit nem Decoderschaltkreis von Statten gehen um
Datenleitungen zu sparen.

Die beiden Schaltkreise die du nennst sind schwer aufzutreiben, evtl.
mal bei Ebay.  Da kann ich auch gleich den 74LS47 nehmen. Leider können
die alle nur eine 7-Segment Anzeige ansteuern, ich möchte aber min. vier
mit einem Schaltkreis ansteuern, der nicht seriell mit Daten versorgt
werden soll. Ansonsten bliebe nur die Möglichkeit vier 74LS47 zu nehmen
und die entsprechend zu kaskadieren, soll aber nicht sein.

Danke, Fury

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sag mal einen vernünftigen Grund, warum du kein serielles Interface
nehmen willst? Einerseits jammerst du, zuwenig Ports zu haben, dann
bekommst du eine ziemlich gute Lösung, die nur 3 Leitungen braucht, und
du bist wieder nicht zufrieden...
Dann nimm halt 2 Dekoder, einmal Siebensegment, einmal 4aus2. Dazu noch
Stellentreiber. Macht dann 6 Leitungen + 3 ICs.
Oder ohne Stellendekoder 8 Leitungen +  2ICs.
Kannst aber auch einen Siebensegmentdekoder mit Speicher nehmen, dann
gehts auch mit 5 Leitungen, indem du 4 I/O doppelt verwendest.
Datenwort anlegen, mit einer weiteren Leitung in den Dekoder
übernehmen, dann steuern die Datenleitungen die Stellen. 4511 wäre der
passende Dekoder dafür.

Autor: Fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@crazy horse

Namen, ich brauch Namen, da ich leider kein Datenbuch hier hab und die
Suche per Google oder direkt auf den Elektronikversandseiten wenig
bringt.

Wie ich das ganze gestalten will hab ihr ja sicherlich schon
mitbekommen. Vier leitungen für die BCD-Codierung, vier für die Auswahl
der Anzeige. Damit bin ich an sich zufrieden. Bleiben noch vier
Datenleitungen zu meiner freien verfügung, das reicht vollkommen aus.


Außerdem, wer jammert hier ???

Danke, Fury!!

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tja, dann nimm doch den 4511, gibts unter mehreren Bezeichnungen,
CD..,HEF..,MC1...
Für den Dekoder brauchst du Anzeigen mit gemeinsamer Katode.
Bleiben die Stellentreiber:
-einfache Transistoren (BC337 z.B.) oder Fets
-integrierte Sink-Treiber wie ULN2007 oder 2803

Autor: Fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@crazy horse

Also gibts keinen Schaltkreis das das kann? Warum sagt du das nicht
einfach :D . Über eine Alternativlösung mach ich mir dann schon
gedanken :)

THANKS Fury

Autor: Oberlehrer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
charlyplexing !!!!!!!!!!!!!!!!!!!

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Häng nen Mega8 per SPI an deinen Controller. SPI lässt sich wunderbar in
software realisieren, Mega8 kann fast alles geforderte ohne Probleme...

Autor: Fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Oberlehrer

Hä???

@Rahul

Ein Mega8 lag leider nicht in meiner Grabbelkiste. Hab doch sonst alles
hier, nur so ein verranzter Schaltkreis der mir aus nem simplen BCD Code
ein 7-Segment codiert und das gleich für vier Anzeigen, muß noch her.

Fury

PS: Ich habe meine Meinung, also verwirrt mich hier nicht mit Fakten!!!

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Fury,

oder Du nimmst für jede Ziffer einen I²C-I/O-Port-Expander. Z.B. mit
dem PCF8574 kann man direkt 8 LEDs ansteuern. Damit brauchst Du nur 2
Ports unabhängig von der Anzahl der Ziffern. Eventuell könnte man auch
nur die halbe Zahl I/O-Expander nehmen und an diese je 2
BCD-7-Segment-Decoder hängen, die jeweils über 4 Bit angesprochen
werden. Aber ok, fällt auch unter serielle Lösung...

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich kapier langsam nicht mehr, was du eigentlich willst...
Soll alles in einem Chip (also Segmentdekoder und Stellentreiber) sein?
Und der soll dann ganz genau so sein, wie nur du ihn brauchst?
Der Oberlehrer hat übrigens durchaus Recht.
Wenn du deine Meinung hast und dich nicht durch Fakten verwirren lassen
willst - warum fragst du eigentlich hier?
Und die Antwort, was du eigentlich gegen serielle Ansteuerung hast,
fehlt auch noch.

Autor: Fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@crazy horse

Ih hatte doch ganz genau definiert was der Schaltkreis können soll. Wo
ist also das Problem. Entweder es gibt so einen Schaltkreis oder nicht.
Wenns ihn nicht gibt suche ich nach Alternativlösungen. Bisher hab ich
hier aber nur Alternativlösungen angeboten bekommen.

Ich will keinen riesen Aufwand betreiben. Das Ding soll aus der
Restekiste zusammengebastelt werden. Es fehlt nur noch so ein
Schaltkreis, wenns ihn denn gibt.

Gegen die Serielle variante hab ich was, weil ich dann wieder einen
Haufen Ports frei habe, für die ich mir was überlegen muß (soll ja
keiner benachteiligt werden :), außerdem war ich schon immer ein
Paralleler Typ. Und zum dritten ist der Programmieraufwand etwas höher
dadurch. Achja und so ganz nebenbei kosten die MAX mal so locker
zwischen 7 und 9 Euro.

Was wollte mir der Oberlehrer eigentlich sagen wenn er doch recht hat?

Fury

Autor: Der inoffizielle WM-Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich komme bei solchen Problemen meist mit folgender Seite zurecht:

http://www.semiconductors.philips.com/products/log...

Autor: Fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tip, ist leider nix passendes dabei.

THANX Fury

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ICM7211 für LCD, EUR2,30 bei Reichelt.
ICM7218 für LED, EUR4,55 dito.
Ansonsten der gute alte SN7447, ein paar Transistoren und einige
zusätzliche Bytes Programmcode.
Bei mir rennt gerade ein 8748 als Uhr mit einer LED-Anzeige, die auf
diese Weise angesteuert wird. Die Anzeigeroutine ist im Timerinterrupt
und ist gerade 15 Befehle lang.

Gruss
Jadeclaw.

Autor: Meiserl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wiedermal ein lustiger Beitrag.

Ich würde ebenso MAx7221 oder den SAA1064 verwenden.
Das coole dran ist, dass man die Helligkeit auch einstellen kann.

Scheinbar ist es dein Ziel deine Mistkiste zu verarbeiten.
Wie wärs wenn du die Inventarliste postest und einige hier sind sicher
gewillt dir eine Schaltung zu zeichnen die deinen Grundsätzen
entspricht.
- die I/Os des Controllers auszuschöpfen
- das deinem parallelen Typus entspricht
usw.

Ich finds immer wieder komisch hier, wenn Leute Mikrokontrollerprojekte
machen aber Probleme mit den länglichen Dingern mit den komischen
Farbkreisen drauf haben.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Komisch, Du bist bereit an nen uralt-Chip noch umständlich Adreßlatch
und EPROM dranzupappen, aber für die Anzeige muß es genau ein Chip
sein.

Und wenn Dir Chips genannt werden, ists Dir auch wieder nicht recht,
weil die seriell sind.

Ich arbeite gern seriell mit dem MAX7219, spart Verdrahtung.
Oder ich mache selber Multiplex im Timerinterrupt.
Das 7-Segment Dekodieren überlasse ich aber immer der CPU, die 10 Bytes
Code sind ja kein Akt.


Ich hab auch noch nen Haufen 8031 rumliegen und weiß genau, daß ich sie
nie mehr einsetzen werde.
Die 89C51 mit Bootloader sind einfach viel zu bequem zu benutzen.


Peter

P.S.:
Hast Du überhaupt einen Assembler für den 8048, der auch unter Windows
läuft ?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Quote:""Hast Du überhaupt einen Assembler für den 8048, der auch unter
Windows läuft ?""
DOS reicht doch, WinXP hat doch 'nen DOS-Prompt.
Bastle gerade mit einem 6502 herum, geht mit einem EPROM-Emulator
genauso bequem, wie mit einem Flash-Controller.

Quote:""Und wenn Dir Chips genannt werden, ists Dir auch wieder nicht
recht, weil die seriell sind.""
Klar, parallel ist auch einfacher zu programmieren. ;-)

Gruss
Jadeclaw

Autor: Fury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jadeclaw

Endlich mal jemand mit was brauchbarem :) danke Jadeclaw, der ICM7218
ist genau das richtige. Im Datenblatt ist sogar schon ne
Ansteuerungsschaltung mit dem MCS48 drin.

@PeDa

Ich hab nen DOS Assembler und für Win hab ich einen für den MCS51, den
kann man auch nehmen worausgesetzt man beachtet dir Ressourcen des
MCS48 bei der Programmierung.

@alle anderen

Wie schon oben geschrieben, hier gehts nicht um Alternativlösungen. ich
wollte nur ne Schaltkreisbeszeichnung die die von mir gestellten
Anforderungen erfüllt. Nach den Alternativlösungen hätte ich gefragt
wenns so nicht möglich gewesen wäre, aber schon im Vorfeld zu sagen
"Mach das lieber so und anders" da steh ich überhaupt nicht drauf.

Danke, Fury

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Von der ICM7218 brauchst Du dann auch 2 Stück pro 4,55 Euro. Der 74LS47
kostet 47 Cent. Platz wirst Du auch nicht sparen, weil der Erste 28
Pins hat. Na, dann FF (Fiel Fergnügen) :-))

MfG paul

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso 2?
Einer macht doch schon 8 Digits. Und nur 4 waren verlangt.
Ausserdem reduziert das Teil den Lötaufwand doch beträchtlich.

Gruss
Jadeclaw.

Autor: mydani (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Machs seriell, kostet 2 Ports, Baustein: SAA1064, knapp €1.50, statisch
mit 2x7Segment, dynamisch (multiplex) 4x7Segment.

Und wenn du mir jetzt mit Programmieraufwand kommst schick ich dir ne
.c und ne .h -Datei zu und dann machste sowat:

setzeSegment(NUMMER1, WERT1);
setzeSegment(NUMMER2, WERT2);
...
...

Wenn das immer noch zu viel Arbeit ist - anderes Hobby suchen

Autor: MicroMann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Oberlehrer:
> charlyplexing !!!!!!!!!!!!!!!!!!!

Die Nähe zur elektor ist wirklich manchmal erschreckend.
Haben die ne Kristallkugel, oder stellt der Richtige die Frage ?

Das Verfahren heißt übrigens Charlieplexing.

Zitat aus der Beschreibung der aktuellen elektor :

Lässt sich ein achtstelliges Siebensegment-Display über nur neun
Leitungen steuern? Dass dies möglich ist, wird hier gezeigt.
Normalerweise sind in einem einstelligen Siebensegment-Display acht
LEDs integriert (einschließlich Dezimalpunkt), sie werden über acht
Eingänge und einen gemeinsamen Ausgang gesteuert. Für den
Multiplexbetrieb werden alle identischen Segmente der acht Displays
miteinander verbunden. Da jedes Display einen eigenen gemeinsamen
Anschluss für alle LED-Anoden (oder Kathoden) besitzt, kann jedes
Segment einzeln gesteuert werden.

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.