PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 7 Segment-Anzeige mit BCD-Code



RobotMichi
28.11.2009, 11:53
Hallo, RN

ich habe vor, an meine EXP eine /-Segmentanzeige anzuschließen, die ich dann über den BCD-Code ansteuern möchte. Allerdings finde ich nirgendwo einen BCD-Decoder, der für diese Verwendung meiner Ansicht nach geeignet wäre.
Ich wäre froh, wenn mir jemand einen geeigneten Decoder nennen könnte.
Hat denn einer von euch schon so eine Anzeige angeschlossen? Wäre es sinnvoller, jedes Segment einzeln anzusteuern? (dann benötige ich halt so viele I/O Ports)

lg
Michi

shedepe
28.11.2009, 11:56
Nimm ein schieberegister, dann brauchst du nur 3 IO Ports

RobotMichi
28.11.2009, 12:01
Hi,

ich wollte eigentlich lieber BCD verwenden, weil ich dann auch die Buchstaben von a bis f darstellen kann.

MfG
Michi

PS: Ich hab bis eben nicht gewusst das es das Schiberegister überhaupt gibt, werde mich mal darüber informieren

shedepe
28.11.2009, 12:14
du kannst auch mit einem schieberegister die buchstaben darstellen, musst du halt nur entsprechend im code hinterlegen

Jaecko
28.11.2009, 12:21
Die 4511 können das. Werden mit 4 Bit gefüttert und spucken 0-9 aus (jeweils schon auf die einzelnen Segmente aufgeteilt. Ob die sogar noch a-f können, wüsst ich jetz garnicht.

"Nachteil" (Designtechnisch) bei denen ist aber, dass bei ner 6 bzw. 9 der obere bzw. untere Querstrich fehlt; d.h. ne 6 sieht aus wie ein b und ne 9 wie ein q.

RobotMichi
28.11.2009, 13:07
Hi,

aber wäre es nicht einfacher, BCD zu verwenden oder jedes Segment einzeln auzusteuern? Ich würde, wie oben schon erwähnt zu BCD tendieren, auf den einen Port Unterschied zwichen BCD und Schieberegister kommt es mir eigentlich nicht an.

Gruß,
Michi

Jaecko
28.11.2009, 13:09
Die 4511 nehmen ja BCD.
http://www.doctronics.co.uk/4511.htm

RobotMichi
28.11.2009, 13:21
Gibt es auch noch eine Lösung, bei der auch 9 und 6 richtig dargestellt werden? Ansonsten wäre das schon mal nicht schlecht.
Ideal wäre natürlich, wenn auch a-f dargestellt werden könnten.

MfG
Michi

Searcher
28.11.2009, 16:41
wie sieht es mit DM9368 aus?

http://www.datasheetcatalog.org/datasheet/nationalsemiconductor/DS009796.PDF

Gruß
Searcher

Besserwessi
28.11.2009, 16:58
Es gibt auch BCD Decoder die auch die Buchstaben a-f darstellen, allerdings sind die oft relativ teuer und schwer zu bekommen.
Wenn man ohnehin schon einen µC dabei hat, ist der Decoder eher unnötig.

Da sollte man lieber die 7 Segmente einzelen ansteuern. Wenn man eine Filterscheibe nutzt und es nicht zu hell ist, kann man bis etwa 5 Stellen gemultiplext auch noch direkt vom AVR teiben.

Bei den Schieberegistern bräuchte man dann wohl für jede Stelle ein IC, das dafür aber günstig ist. Wenn es nicht sehr hell ist reicht ein 74HC595 aus, um die Segmente direkt zu treiben.

RobotMichi
29.11.2009, 11:49
Hi,

wenn ich jetzt alle Segmente einzeln ansteuern würde, welche Ports kann ich denn da verwenden? (Ich würde nur ungern am Mainboard herumlöten)
Auf der EXP habe ich beim XBUS schon die Ports SDA, SCL und IT1 mit drei LEDs belegt.
Falls es sinvoll wäre, dafür die M32 zu verwenden, ich bin ohnehin am Überlegen, sie mir zu besorgen.

@Searcher: Konvertiert dieses Bauteil nicht HEX in 7-Segment?

lg,
Michi

SlyD
29.11.2009, 12:20
Mach die 3 LEDs runter, besorg Dir zwei PCF8574 (-->Forensuche benutzen) und häng die an den I2C Bus.
Dann hast Du 16 Ports an denen Du ebensoviele LEDs anschließen kannst.
(Aber vorsicht - der 8574 kann nur nach MASSE 25mA treiben, also die LEDs über je einen Widerstand mit VCC verbinden - Ansteuerung ist entsprechend invertiert).

MfG,
SlyD

PS:
Ansteuerung findest Du bei den I2C Beispielprogrammen!

Hubert.G
29.11.2009, 14:41
Du solltest wissen welche Anzeigen du verwenden willst.
Mit einem 74LS47 müssten sie Common-Anode sein.
Du brauchst vier Pin und für jede Stelle einen weiteren Pin.
www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige

Searcher
29.11.2009, 15:44
@Searcher: Konvertiert dieses Bauteil nicht HEX in 7-Segment?
Ja, der DM9368 macht das. So wie ich dich verstanden habe, ist das die Funktion, die Du haben möchtest. Vier Eingänge, auf die man binär die Zahlen von 0 bis 15 gibt und am Ausgang die 7-Segment Anzeige dran um dann die Hex Zahlen von 0 bis f auszugeben.

Leider gibt es diesen Chip, wie Besserwessi angedeutet hat, nicht mehr so einfach zu kaufen.

Hier findest Du auch noch Hinweise: https://www.roboternetz.de/phpBB2/zeigebeitrag.php?t=16571&highlight=dm9368

Gruß
Searcher

JonnyP
29.11.2009, 23:20
check mal 4543??

RobotMichi
01.12.2009, 15:36
Sorry, dass ich mich erst heute melde,

der 4543 klingt gut.
Jetzt muss ich noch eine 7-Segment-Anzeige suchen. Weiß jemand welche Anzeige(n) mit dem Decoder kompitabel sind? (hab per Google nichts gefunden)
Und an welchen Ports kann ich die dann anschließen (wenn man IT1, SCL und SDA unbedingt benötigt, könnte ich ja eine neue EXP kaufen (die LEDs krieg ich nicht mehr runter))

Gruß
Michi

SlyD
01.12.2009, 16:24
> die LEDs krieg ich nicht mehr runter

Dann lass sie eben drauf und trenn einfach nur die Verbindungen zu den I2C Bus Pins ;)
(ausserdem bekommt man jedes Bauteil entlötet)

Nachdem die 7 Segment Anzeige läuft, kommt Dir nämlich bestimmt schon eine andere Idee was man sonst noch so am Roboter anschließen könnte... nur dann sind ja schon alle Pins für die 7 Segment anzeige draufgegangen.


Die einzige gute, einfache und saubere Lösung ist der I2C Bus - da kannste bis zu 127 Slave Devices dran ankoppeln.
Das ist ja auch genau so vorgesehen und braucht nur zwei Leitungen.
Falls du später mal die RP6-M32 Erweiterung mit zweitem Mikrocontroller verwenden willst, brauchst Du den I2C Bus sowieso.

MfG,
SlyD

RobotMichi
01.12.2009, 19:17
Hi,
du hast recht, ich hab ohnehin vor, mir die M32 zuzulegen. Wie kann ich den die 7 Segmentanzeige und die LEDs über den I2C Bus anschließen? (ich versteh nicht wirkilch, wie das funktioniert, der Artikel im RN-Wissen ist so kompliziert :?). Schlimmstenfalls müsste ich mir halt eine neue EXP kaufen.
Es wäre toll, wenn mir jemand erklären könnte, wie man dieses System aufbauen und dann auch nutzen kann. Da war doch irgendwas mit PCF8574? :-k

lg
Michi