Winkler Thomas
17.05.2008, 16:33 |
BCD to 7-Segment Decoder (Elektronik) |
Hallo zusammen!
Ich bräuchte einen BCD to 7 Segment Decoder, welcher auch die Werte 10 - 15 übersetzt.
Also welcher wenn 10 kommt dann a ausgibt und wenns weitergeht b, c, d, e, f. Also welcher nicht "blank" in den letzten 6 Stellen im Datenblatt hat.
Gibt es so einen?? Hab schon viele Datenblätter durchgesehen aber jeder zeigt von 10 - 15 "blank" an.
Vielen Dank!
mfg Tommi |
heinlöt
17.05.2008, 17:05
@ Winkler Thomas
|
BCD to 7-Segment Decoder |
» Hallo zusammen!
»
»
» Ich bräuchte einen BCD to 7 Segment Decoder, welcher auch die Werte 10 -
» 15 übersetzt.
» Also welcher wenn 10 kommt dann a ausgibt und wenns weitergeht b, c, d, e,
» f. Also welcher nicht "blank" in den letzten 6 Stellen im Datenblatt hat.
» Gibt es so einen?? Hab schon viele Datenblätter durchgesehen aber jeder
» zeigt von 10 - 15 "blank" an.
»
» Vielen Dank!
»
»
» mfg Tommi
Ich kenne zwar nur den 4511, der auch nur bis 9 geht, aber falls du keinen findest, könntest du auch selber einen Decoder aus Logikgattern bauen, bzw. in einem µC in Software realisieren. |
x y
17.05.2008, 17:06
@ Winkler Thomas
|
BCD to 7-Segment Decoder |
» Ich bräuchte einen BCD to 7 Segment Decoder, welcher auch die Werte 10 -
» 15 übersetzt.
» Also welcher wenn 10 kommt dann a ausgibt und wenns weitergeht b, c, d, e,
» f.
DM9368, DM9370, V40511. Wird aber alles schon lange nicht mehr hergestellt. Schau mal ob Strixner&Holzinger sowas noch hat. |
Björn

Dortmund, 17.05.2008, 19:02
@ Winkler Thomas
|
BCD to 7-Segment Decoder |
» Hallo zusammen!
»
»
» Ich bräuchte einen BCD to 7 Segment Decoder, welcher auch die Werte 10 -
» 15 übersetzt.
» Also welcher wenn 10 kommt dann a ausgibt und wenns weitergeht b, c, d, e,
» f. Also welcher nicht "blank" in den letzten 6 Stellen im Datenblatt hat.
» Gibt es so einen?? Hab schon viele Datenblätter durchgesehen aber jeder
» zeigt von 10 - 15 "blank" an.
»
» Vielen Dank!
»
»
» mfg Tommi
Hallo Thomas,
wie viele brauchst Du? Ich habe vor ein paar Jahren noch einige V40511 (DDR-Äquivalent) bei eBay ergattert, davon müssten noch wenige übrig sein. Wenn Interesse besteht, melde dich per PM. Wenn Du eine größere Zahl brauchst, schau mal bei eBay unter 190221579756, läuft morgen ab.
Schöne Grüße,
Björn |
cterm
18.05.2008, 14:30
@ Winkler Thomas
|
BCD to 7-Segment Decoder |
Also von Maxim gibt es da noch ein etwas eher unbekanntes IC, dass das kann, (auch gleich für mehrere in Reihe geschaltete 7-Segment-Anzeigen).
http://datasheets.maxim-ic.com/en/ds/ICM7218-ICM7228.pdf
Du könntest natürlich auch einen der verfügbaren normalen BCD-Dekoder nehmen und parallel zu dessen Eingängen noch ein paar selbst verschaltete NAND und evt. XOR Gatter anschließen, die die Zahlen 10-15 zu den Ziffern A-F dekodieren, da ist dann halt das KV-Diagramm angesagt! Aber so bleibt der Chipcount immer noch etwas geringer als wenn du den ganzen Dekoder aus diskreten Gattern aufbaust.
Ansonsten würde ich sagen, ist das wie geschaffen für ein kleines AVR-ATTINY oder ATMEGA - Projekt, dafür reichen auch schon die kleinsten 20-poligen Typen für knapp über 1 EUR aus.
AVRStudio gibts kostenlos, Ponyprog zum Brennen, (und mehrere Baupläne für einfachste Programmierschaltungen mit wenigen Bauteilen ebenfalls).
Früher hat man das auch gerne mal mit einem EPROM gemacht, aber hat ja nun nicht gerade jeder einen EPROM-Brenner zuhause rumstehen. |
geralds

Wien, AT, 18.05.2008, 14:36
@ cterm
|
BCD to 7-Segment Decoder |
» Also von Maxim gibt es da noch ein etwas eher unbekanntes IC, dass das
» kann, (auch gleich für mehrere in Reihe geschaltete 7-Segment-Anzeigen).
»
» http://datasheets.maxim-ic.com/en/ds/ICM7218-ICM7228.pdf
»
» Du könntest natürlich auch einen der verfügbaren normalen BCD-Dekoder
» nehmen und parallel zu dessen Eingängen noch ein paar selbst verschaltete
» NAND und evt. XOR Gatter anschließen, die die Zahlen 10-15 zu den Ziffern
» A-F dekodieren, da ist dann halt das KV-Diagramm angesagt! Aber so bleibt
» der Chipcount immer noch etwas geringer als wenn du den ganzen Dekoder aus
» diskreten Gattern aufbaust.
»
» Ansonsten würde ich sagen, ist das wie geschaffen für ein kleines
» AVR-ATTINY oder ATMEGA - Projekt, dafür reichen auch schon die kleinsten
» 20-poligen Typen für knapp über 1 EUR aus.
»
» AVRStudio gibts kostenlos, Ponyprog zum Brennen, (und mehrere Baupläne für
» einfachste Programmierschaltungen mit wenigen Bauteilen ebenfalls).
»
» Früher hat man das auch gerne mal mit einem EPROM gemacht, aber hat ja nun
» nicht gerade jeder einen EPROM-Brenner zuhause rumstehen.
---
hallo
weiter gibt es auch fertige downloadbare Lösungen, mit PALs, GALs, PLDs....
zB: Elektor und ELV hatten einige solche Schaltungsvorschläge.
gruss
Gerald -- ...und täglich grüßt der PC:
"Drück' ENTER! Feigling!" |
cterm
18.05.2008, 15:16
@ geralds
|
BCD to 7-Segment Decoder |
» ---
» hallo
»
» weiter gibt es auch fertige downloadbare Lösungen, mit PALs, GALs,
» PLDs....
» zB: Elektor und ELV hatten einige solche Schaltungsvorschläge.
»
» gruss
» Gerald
Ja auch nicht schlecht! Aber so einen AVR kann man halt, mit sehr geringem externen Bauteileaufwand, am ehesten noch selbst programmieren. (Mit den meisten selbstgebauten Adaptern kommt zwar das Atmel-AVRStudio nicht zurecht aber dafür gibts dann ja Ponyprog).
Selbstverständlich muß es kein Atmel Produkt sein, (gibt ja auch noch PIC, 8051 und die von dir erwähnten PALs und GALs), aber um die AVRs gibt es halt gerade so eine Art Hype deswegen sind sie fast überall und auch recht günstig erhältlich.
Hmm, gerade mal geschaut: Preislich schenken sich GAL und AVR nichts, (AVR ist eher noch etwas günstiger). Aber zugegeben so ein GAL ist natürlich eleganter, erstens macht es echt "Echtzeit" und zweitens braucht es keinen Takt, (wobei die AVRs auch einen, eingebauten, für die meisten Anwendungsfälle ausreichenden, Taktgeber besitzen).
Und dann muss man das Ding halt auch noch programmieren können und was das angeht ist das Netz mit Informationen zu den AVRs momentan geradezu überschwemmt.
Gruss
cterm |
geralds

Wien, AT, 18.05.2008, 16:09
@ cterm
|
BCD to 7-Segment Decoder |
» » ---
» » hallo
» »
» » weiter gibt es auch fertige downloadbare Lösungen, mit PALs, GALs,
» » PLDs....
» » zB: Elektor und ELV hatten einige solche Schaltungsvorschläge.
» »
» » gruss
» » Gerald
»
» Ja auch nicht schlecht! Aber so einen AVR kann man halt, mit sehr geringem
» externen Bauteileaufwand, am ehesten noch selbst programmieren. (Mit den
» meisten selbstgebauten Adaptern kommt zwar das Atmel-AVRStudio nicht
» zurecht aber dafür gibts dann ja Ponyprog).
» Selbstverständlich muß es kein Atmel Produkt sein, (gibt ja auch noch PIC,
» 8051 und die von dir erwähnten PALs und GALs), aber um die AVRs gibt es
» halt gerade so eine Art Hype deswegen sind sie fast überall und auch recht
» günstig erhältlich.
»
» Hmm, gerade mal geschaut: Preislich schenken sich GAL und AVR nichts, (AVR
» ist eher noch etwas günstiger). Aber zugegeben so ein GAL ist natürlich
» eleganter, erstens macht es echt "Echtzeit" und zweitens braucht es keinen
» Takt, (wobei die AVRs auch einen, eingebauten, für die meisten
» Anwendungsfälle ausreichenden, Taktgeber besitzen).
» Und dann muss man das Ding halt auch noch programmieren können und was das
» angeht ist das Netz mit Informationen zu den AVRs momentan geradezu
» überschwemmt.
»
» Gruss
» cterm
----
hi,
da wäre ein Vorschlag mit einer Uhr, mit Atmel:
http://atmel.com/dyn/resources/prod_documents/doc1231.pdf
Die Tasten und Anzeige werden gemultiplexed.
Für eine Hex- A-F Anzeige musst die Routine entspechend ändern. Die LED-Anzeige wäre auch zu tauschen.
Im Prinzip wäre der Aufbau vielleicht mit deiner Anwendung ähnlich.
gruss
Gerald -- ...und täglich grüßt der PC:
"Drück' ENTER! Feigling!" |
cterm
19.05.2008, 11:20
@ geralds
|
BCD to 7-Segment Decoder |
»
» ----
» hi,
» da wäre ein Vorschlag mit einer Uhr, mit Atmel:
» http://atmel.com/dyn/resources/prod_documents/doc1231.pdf
»
» Die Tasten und Anzeige werden gemultiplexed.
» Für eine Hex- A-F Anzeige musst die Routine entspechend ändern. Die
» LED-Anzeige wäre auch zu tauschen.
» Im Prinzip wäre der Aufbau vielleicht mit deiner Anwendung ähnlich.
»
» gruss
» Gerald
Hmm, gemultiplextes Display und 4 x 4 Keyboard, trickreich die Portpins der 7-Segment-Anzeigen für das Keypad mitzubenutzen. Aber wenn er wirklich nur einen IC-Ersatz für einen BCD-zu-7-Segment(Hex)-Dekodierer sucht ist das Overkill, da würde ich wirklich nur den 7-Segment-"Zeichensatz" von 0-10 und A-F in eine Lookuptable (16 Bytes) schreiben und dann in einer Endlosschleife die Eingangsportpins abfragen und immer das zu einer BCD-Zahl zugehörige Segmentmuster aus der Tabelle auslesen und ausgeben.
Auf http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige, gibts dazu auch Beispiele.
Hier meine vereinfachte und auf 16 Ziffern erweiterte Version, für den ATMega16, (der war halt gerade im Board):
BCD-zu-7-Segment(Hex)-Dekoder:
;***************************************************
.cseg
.org 0x0000
L0000:
rjmp Start
reti
Start:
ldi r16,0x04
out 0x3E,r16
ldi r16,0x5F
out 0x3D,r16
ldi r16,0xFF
out 0x17,r16
ldi r16,0xFF
out 0x18,r16
clr r16
out 0x1A,r16
ldi r16,0x00
mov r1,r16
Loop1:
ldi r30,0x30
ldi r31,0x00
in r17,0x19
com r17
add r30,r17
adc r31,r1
lpm r19,Z
com r19
out 0x18,r19
rjmp Loop1
.db 0b00111111, 0b00000110
.db 0b01011011, 0b01001111
.db 0b01100110, 0b01101101
.db 0b01111101, 0b00000111
.db 0b01111111, 0b01101111
.db 0b01110111, 0b01111100
.db 0b00111001, 0b01011110
;***************************************************
;Und hier noch mal mit ausführlicher Dokumentation:
;***************************************************
.include "m16def.inc"
.ORG $000 ;RESET External Pin, Power-on Reset, Brown-out, Reset, Watchdog Reset, and JTAG AVR Reset
rjmp Start ;Springe nach einem Reset oder Stromausfall wieder zu Start:
reti
Start:
;Stack initialisieren
ldi r16,high(RAMEND)
out SPH,r16
ldi r16,low(RAMEND)
out SPL,r16
ser r16 ;setze alle Bits in r16
out DDRB,r16 ;PortB als Ausgang
ldi r16,0xff ;lade r16 mit 0xff = 255
out PORTB,r16 ;gebe den Inhalt von r16 über PortB aus->Alle Segmente aus
clr r16 ;lösche alle Bits in r16
out DDRA,r16 ;PortA als Eingang
ldi r16,0 ;lade r16 mit 0
;r1 ist ein "Billigregister" und kann nicht direkt geladen werden
mov r1,r16 ;kopiere die 0 aus r16 nach r1
InfiniteLoop:
;Pointer Z auf Led7SegLookuptable Startadresse Led7SegLookuptable setzen
;(*2 weil der Assembler die Startadresse von Led7SegLookuptable im Flashspeicher
;in WORDs angibt und Pointer Z eine Angabe in BYTES benötigt)
ldi ZL,LOW(Led7SegLookuptable*2)
ldi ZH,HIGH(Led7SegLookuptable*2)
in r17,PINA ;Eingang lesen (BCD)
com r17 ;Eingang invertieren (nötig für Stk500-Board Taster)
;Eingangswert zu Pointer Z (Lowbyte) addieren
add ZL,r17
;möglichen Übertrag der vorherigen Addition zu Z (Highbyte) addieren
;r1 ist 0, es wird also nur der Übertrag addiert
;(ja so sind sie halt die RISC-CPUs, da reichts nicht mal für ne extra Null)
adc ZH,r1
;In Pointer Z steht jetzt die Startadresse der Led7SegLookuptable + der BCD-Wert
;der vom Eingang gelesen wurde
lpm r19,z ;kopiere einen Eintrag aus der Lookuptable nach r19
;invertiere r19 (nötig für die Open-Kollektor Ausgänge, geschaltet wird mit Low)
com r19
out PORTB,r19 ;gebe den Inhalt von r16 über PortB aus
rjmp InfiniteLoop ;springe wieder zum Anfang der Endlosschleife
Led7SegLookuptable:
; 0:XXfedcba 1:XXXXXcbX
.db 0b00111111, 0b00000110
; 2:XgXedXba 3:XgXXdcba
.db 0b01011011, 0b01001111
; 4:XgfXXcbX, 5:XgfXdcXa
.db 0b01100110, 0b01101101
; 6:XgfedcXa 7:XXXXXcba
.db 0b01111101, 0b00000111
; 8:Xgfedcba 9:XgfXdcba
.db 0b01111111, 0b01101111
; A:XgfeXcba b:XgfedcXX
.db 0b01110111, 0b01111100
; C:XXfedXXa d:XgXedcbX
.db 0b00111001, 0b01011110
; E:XgfedXXa, F:XgfeXXXa
.db 0b01111001, 0b01110001
;*************************************************** |
erikl

Prien, 19.05.2008, 19:17
@ Winkler Thomas
|
BCD to 7-Segment Decoder |
» Hallo zusammen!
»
»
» Ich bräuchte einen BCD to 7 Segment Decoder, welcher auch die Werte 10 -
» 15 übersetzt.
» Also welcher wenn 10 kommt dann a ausgibt und wenns weitergeht b, c, d, e,
» f. Also welcher nicht "blank" in den letzten 6 Stellen im Datenblatt hat.
» Gibt es so einen?? Hab schon viele Datenblätter durchgesehen aber jeder
» zeigt von 10 - 15 "blank" an.
»
» Vielen Dank!
»
»
» mfg Tommi
Motorola MC14495 und MC14495-1 (falls noch erhältlich). -- Gruß, erikl |
geralds

Wien, AT, 19.05.2008, 21:39
@ cterm
|
BCD to 7-Segment Decoder |
» »
» » ----
» » hi,
» » da wäre ein Vorschlag mit einer Uhr, mit Atmel:
» » http://atmel.com/dyn/resources/prod_documents/doc1231.pdf
» »
» » Die Tasten und Anzeige werden gemultiplexed.
» » Für eine Hex- A-F Anzeige musst die Routine entspechend ändern. Die
» » LED-Anzeige wäre auch zu tauschen.
» » Im Prinzip wäre der Aufbau vielleicht mit deiner Anwendung ähnlich.
» »
» » gruss
» » Gerald
»
» Hmm, gemultiplextes Display und 4 x 4 Keyboard, trickreich die Portpins
» der 7-Segment-Anzeigen für das Keypad mitzubenutzen. Aber wenn er wirklich
» nur einen IC-Ersatz für einen BCD-zu-7-Segment(Hex)-Dekodierer sucht ist
» das Overkill,
hihi, overkill mit dem von mir vorgeschlagenen µP? und der mega16 von dir? war, nur spass
aber, gut dass du den weblink angegeben hast, wollte ich auch vorschlagen, aber leider im favor.-ordner nicht gefunden.
der vorschlag ist gut. am schnellsten geht es sicher mit externem BCD-7Segment. jedoch mit der Einschränkung, wenn die std.-logik verwendet wird, verlierst an flexiblität.
daher schlage ich alpha-num displays vor- gibts auch in led, kaltkathodenröhren, lcd, und haben den eigenen controller drinnen, brauchst nur mehr reine daten schicken. da geht auch ein kleiner avr-tiny in seriell.
gruss
gerald
da würde ich wirklich nur den 7-Segment-"Zeichensatz" von
» 0-10 und A-F in eine Lookuptable (16 Bytes) schreiben und dann in einer
» Endlosschleife die Eingangsportpins abfragen und immer das zu einer
» BCD-Zahl zugehörige Segmentmuster aus der Tabelle auslesen und ausgeben.
» Auf
» http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige,
» gibts dazu auch Beispiele.
»
» Hier meine vereinfachte und auf 16 Ziffern erweiterte Version, für den
» ATMega16, (der war halt gerade im Board):
»
» -- ...und täglich grüßt der PC:
"Drück' ENTER! Feigling!" |
cterm
20.05.2008, 15:53
@ geralds
|
BCD to 7-Segment Decoder |
»
»
» hihi, overkill mit dem von mir vorgeschlagenen µP? und der mega16 von dir?
» war, nur spass
»
Klar, wenn man sowas stattdessen mit einem schicken, stilechten GAL macht beschwert sich natürlich keiner von den Profis über die "Verschwendungssucht", obwohl der u.U. sogar noch teurer kommt
GALs, Schmitttriger zur Tastaturentprellung und ähnliches sind übrigens verpönt im mikrocontroller.net, das ist Verrat am Controller.
» aber, gut dass du den weblink angegeben hast, wollte ich auch vorschlagen,
» aber leider im favor.-ordner nicht gefunden.
»
Na ja, bevor mich jemand des Plagiarismus bezichtigt, nenn ich doch lieber gleich die Quelle. Wobei ich die invertierte Segmenttabelle aus dem Originalbeispiel so wirklich nicht stehen lassen konnte, da wird man ja wirr im Kopf, wenn man versucht neue Zeichen hinzuzufügen und jedesmal die Bits invertieren muss, ich meine, wozu hat man denn den Controller.
» der vorschlag ist gut. am schnellsten geht es sicher mit externem
» BCD-7Segment. jedoch mit der Einschränkung, wenn die std.-logik verwendet
» wird, verlierst an flexiblität.
» daher schlage ich alpha-num displays vor- gibts auch in led,
» kaltkathodenröhren, lcd, und haben den eigenen controller drinnen,
» brauchst nur mehr reine daten schicken.
Ja die verwende ich normalerweise auch, Pollin hat ja meist ne größere Auswahl davon. Trotzdem kommt die Frage nach diskreten BCD-zu-7Segment-Hex Dekodern immer noch öfter als man denkt, z.B. im Lehrmittelbereich, (dauert da ja meist Jahre bis etwas Neues angeschafft wird), und wenn man dann für weniger als 2 Euro einen Ersatz für ein nicht mehr lieferbares IC bekommt, ist das doch in Ordnung.
» da geht auch ein kleiner avr-tiny
» in seriell.
»
» gruss
» gerald
Gruss
cterm |
Winkler Thomas
21.05.2008, 20:15
@ erikl
|
BCD to 7-Segment Decoder |
Hallo Zusammen!
Vielen Dank für eure Hilfe!
Dadurch, dass diese Bauteile derart rar und abgelaufen sind - hab ich einfach eine weitere Stelle bei meinem Display dazugefügt, welche jetzt die Ziffern 1 - 9 weiter anzeigen kann. Dann bleibt die Anlage auch am Puls der Zeit!
mfg Tommi |
geralds

Wien, AT, 21.05.2008, 20:32
@ Winkler Thomas
|
BCD to 7-Segment Decoder |
» Hallo Zusammen!
»
»
» Vielen Dank für eure Hilfe!
»
» Dadurch, dass diese Bauteile derart rar und abgelaufen sind - hab ich
» einfach eine weitere Stelle bei meinem Display dazugefügt, welche jetzt
» die Ziffern 1 - 9 weiter anzeigen kann. Dann bleibt die Anlage auch am
» Puls der Zeit!
»
» mfg Tommi
---
hallo Thomas
Super, gern geschehen!
Not macht oft erfinderisch, -->> das Vorhandene noch besser ausnutzen!
Viel Spass beim Basteln!
Gruss
Gerald -- ...und täglich grüßt der PC:
"Drück' ENTER! Feigling!" |