Hallo, wollte mal fragen wie das mit den BCD Umwandlern funktioniert. Habe in einer ELV-Journal-Zeitschrift eine Schaltung mit so einem Wandler gefunden allerdings verstehe ichs nicht ganz. Dieser Baustein hat nur 16 Pins. Man braucht doch um die Zahl 255 darzustellen mind. 8Eingänge und dann mind. 15 Ausgänge um die Ziffern 2, 5 u. 5 leuchten zu lassen. Kann mir das jemand erklären? Gibt es solche Bausteine auch als 10bit Version? Hat jemand eine Bezeichnung?
Hallo, glaube das war ein 74LS145 oder haben die immer nur eine 7Segment Anzeige angesteuert und dan die nächste. Ich suche auf jedenfall einen Wandler wo ich eine alle 8 Bits dranhänge und auf der anderen Seite 3x7Segmente also um 255 darstellen zu können. 9 o. 10 Bit wäre noch besser.
Hi Thomas, so direkt mit 8 oder mehr bit wüsste ich im Moment nichts, aber wenns denn auch seriell über das SPI geht ist der MAX7219 eine gute Wahl. Da kannst du bis 8 7Segmentanzeigen dranhängen. Gruß, Günter
Hallo, ich möchte das aus Geschwindigkeitsgründen auf gar keinen fall Seriel machen. Da ich in meinen Programm fast alles im Polling mache und es auf jeden Takt ankommt.
Falls du einen AVR verwendest, die meisten haben Hardware-SPI. Das heißt du musst nur ein Byte in ein Register kopieren, und die serielle Übertragung findet im Hintergrund statt während das Programm weiterläuft.
Wie währe es mit programmierbarer Logik? Nen GAL oder so... damit kannste dir deine Zahlen ganz schnell selbst entschlüssen.
Hallo, also das mit der Hardware-Verarbeitung der Seriellen Übertragung wäre auch o.k. Was müsste ich aber für einen Binär Dezimal Converter benutzten wenns ich doch parallel machen will.
Hi Andreas, dachte, er verwechselt den UART mit dem SPI. Der UART ist ja nun wirklich langsamer als das SPI. Schönen Sonntag noch, Günter
Hi, habe vor einiger Zeit mit dem 2313 zwei MAX7219 (die sind ziemlich teuer) emuliert: 12 stellige 7 Segment Anzeige gemultiplext. Das Ganze braucht 12 Leitungen, 4 Transistoren, 3 574'er und ein paar Widerstandsnetzwerke. Hab gerade noch mal meine Aufzeichnungen angesehen und man könnte für eine 3 stellige Anzeige das Ganze auf 9 Portleitungen, 1 574'er, 4 Transistoren und 8 Widerstände reduzieren. Von den 9 Portleitungen müssen 5 für die Anzeige exclusiv zur Verfügung stehen. Die anderen 4 sind für andere Zwecke nutzbar. Ca jede 500µs wird ein Interrupt ausgelöst und entsprechend gemultiplext. Die IRQ Latenzzeit ist sehr kurz, da man 1. nur den 574'er latchen muß. 2. nur den Port schalten muß. Das Timing hierfür liegt im ns Bereich. Besteht Interesse? mfg wolli_r
Hallo Thomas, Der 74HC574 ist ein 8 fach Speicherregister. An die Eingänge der Register legst Du kurz die Daten an und speicherst diese im Register mit einer "clock Flanke". Die Ausgänge werden über Widerstände ca 68..100Ohm an die Segmente gelegt. Infos ergeben sich aus den Datenblättern-->suchen mit google.de. Deine Binärzahl kannst Du ganz einfach nach Dezimal aufsplitten: Als erstes brauchst Du 3 leere Bytes für die Dezimalstellen. Fortgeschrittene arbeiten mit "packed BCD" in Nibbles. das kostet nur 1 1/2 Bytes. 1. Prüfe Deine Binärzahl ob Sie größer als 99 ist. 2. Wenn ja -> incrementiere die 100er Stelle. 3. Dann Subtrahiere 100 und springe wieder zu 1 4. Wenn nein-> bei "0"->11, ansonsten weiter mit 5 5. Prüfe Deine Binärzahl ob Sie größer als 9 ist. 6. Wenn ja -> incrementiere die 10er Stelle 7. Subtrahiere 10 und springe wieder zu 5. 8. Wenn nein->weiter zu 9 9. bei "0" -> 11 ansonsten weiter mit 10 10. Subtrahiere 1 und incrementiere die 1er Stelle. 10. Springe zu 9 11. beenden Die Dezimalstellen mußt Du jetzt in Segmentcode umwandeln. Dies geht am einfachsten mit einer Tabelle, auf die ein Zeiger gesetzt wird. Der Zeiger erhält einen Offset mit dem jeweiligen Dezimal-Wert. Nach der Umwandlung gibst Du den 7-Segmentcode auf den Port und Latchst das Ganze ins 574er Register. Nachdem die Daten vom Latch übernommen wurden, schaltest Du den Transistor ein, der für die gerade ausgegebene Stelle die gemeinsame Kathode der entsprechenden Anzeige auf GND zieht. Das ist im wesentlichen schon alles gewesen. mfg wolli_r
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.