Bereits aus dem Betreff geht hervor, dass es Digitaltechnik sein würde. Alles weitere braucht nie geschrieben zu sein. Du hast es einfach verpeilt. In einem solchen Fall zu versuchen, sich zu rechtfertigen, gar noch mit Schuldzuweisung an andere, steigert die Peinlichkeit noch weiter.
Nein, 7 Ausgänge für eine klassische Nixie - ich hatte den Schaltplan hier in diesem Thread schonmal gepostet (Seite 2):
formatting link
Man braucht ja keine beliebigen Bitkombinationen, sondern nur 11 bestimmte Zustände (0-9 und "aus"). Damit reicht ein 8-Bit-Schieberegister für eine Stelle incl. Dezimalpunkt. Das hat auch den Vorteil, daß der Code für eine beliebige Stellenanzahl gleich bleibt.
Datentypen mit mehr als 8 Bit existieren und sind selbst auf einem 8051 verwendbar.
Die dekodierten Bits musst Du eh irgendwie auf Deine GPIO oder Schieberegister-Bits mappen - das gilt für die Lösung mit 74141 genauso, in den meisten Fällen hat der uC keine 4-Bit-GPIO-Ports, wo man die Werte einfach 'reinschreiben könnte, auch dort musst Du also die Bits passend mit den Nachbarstellen zusammenführen.
Kann man tun, wenn man faul ist - die Bits nach dem Tabellenlookup zu schieben und zusammenzu-oder-n ist aber jetzt nicht wirklich der Aufwand. Oder man macht pro Digit eine Tabelle mit passend geschobenen Werten und verodert die nur noch - das dürfte sich an Codegrösse etwa die Waage halten, die Tabellen sind ja nicht groß.
Peinlich ist nur, dass Du das schlaue Ei gibst und es sogar schaffst, dass SN74141 zur Digitaltechnik gehört. Das wusste ich bisher laut Dir nicht und dachte SN heisst Seriennummer.
Noch peinlicher ist es, dass aus der Angabe 200V 5mA Du direkt auf Nixie kamst und ich Dummbaddel eben, den OP für bare Münze genommen habe.
Saludos (an alle Vernünftigen, Rest sh. sig) Wolfgang
Es ist aber wirklich egal, was dort als Last dranhängt. Es kam der Nixie-Verdacht. Den hatte ich bestätigt. Es könnten auch Glühbirnen oder Hubmagnete sein.
Die Ausgangsstufen meines Traum-IC haben Rdson von 50 Ohm. Macht sportliche 1250 Mikrowatt. Aber selbst wenn 200 V bei 5 mA verheizt würden, dann sollte das ein DIL16 verkraften. Denn beim SN74141 ist immer nur ein Ausgang aktiv.
Ah, 2 Ausgänge des Schieberegisters missbraucht um zwischen zwei 'Bänken' umzuschalten. Ergibt natürlich Mehraufwand durch die 10 diskreten Transistoren pro Nixie.
Ja, aber zwei 4Bit-Werte auf einen 8Bit-Port zusammenführen ist eher simpel weil es genau aufgeht. Wenn man dann noch einen µC mit BCD-Mode hat wird es noch einfacher weil man dann 3 Bytes im Speicher hat welche die 6 Stellen darstellen und einfach die Bytes auf die 3 Ports rausschreiben kann.
Die brauchst Du eh wegen der Spannungen - das war ja gerade der Start des Threads, 74141 sind schwer zu bekommen und haben zusätzlich das Problem, daß sie je nach Anodenspannung kein Blanking können. Und wenn man das wie angegeben macht, spielen die Transistoren noch Stromquelle und ermöglichen so eine niedrigere Anodenspannung = niedrigere Verluste als bei der Lösung mit relativ hochohmigem Anodenwiderstand.
Meine Uhr kommt mit 3.5W bei 12V aus - für 6 Stellen plus 4 Glimmlampen als Punkt, DC/DC auf ca. 160V, und ein ESP32 wegen NTP. Mit abgeschaltetem Display sind es noch 0.5W (das Teil macht nebenher noch Raumluftsensor per MQTT und bleibt daher auch bei abgeschaltetem Display aktiv und im WLAN eingebucht).
Das sind so oder so wenige Zeilen Code. Und in der Praxis hast Du eben keine vollen 8-Bit-Ports zur Verfügung, weil Du noch UART, I2C oder sonstwas hast, das auf festen Pins hängt, so daß Du die freien GPIOs doch irgendwie nicht-4-Bit-aligned benutzen musst. Das ist jetzt wirklich kein Fall, wo die Software so aufwändig wäre, daß man dafür zusätzlichen Hardwareaufwand spendieren wollte.
Dann hast Du den Aufwand an der Stelle, wo Du die Uhrzeit in die gepackte BCD-Darstellung umwandeln musst. Aber nochmal: das ist alles relativ trivialer Code, den man einmal 'runterschreibt und der nicht viel Platz im Flash kostet, da lohnt es nicht, gross 'drüber nachzudenken. Performancekritisch ist das bei 1 Update / s auch nicht.
Der Rest (NTP, RTC-Handling, Umrechnung UTC -> localtime, verschiedene Anzeigemodi, manuelles Stellen der Uhr etc.) ist ein vielfaches von dem bisschen Code, um das reine Display anzusteuern.
Bei ausreichend niedriger Anodenspannung. Ansonsten machen die Z/Lawinendurchbruch und es leuchtet, obwohl alle digits aus sein sollen. Bei dem umgebauten Philips-Zähler (der hat irgendwelche 74141-Clone) musste ich für's Blanking noch extra Transistoren nachrüsten.
Klar - Du kannst Dir jetzt aussuchen, was einfacher zu bekommen ist - MMBTA42 und 74HC594 waren noch in der Bastelkiste und kompatibles Zeug ist prolemlos beschaffbar, und die Stromquellenfunktion war gratis dabei.
Und es ist völlig unmöglich, die Ausgänge von Schieberegistern auch mal auf mehrere Anzeigen zu verteilen? Sonst könnte man womöglich sogar direkt mit 10-bit-Gruppen pro Anzeigeröhre hantieren ohne einen Verschnitt bis zum letzten:
6* 10 = 60, 8* 8 = 64 -> 8 Schieberegister, und das letzte nur halb genutzt. (Nach-) Schieben braucht man nur die angeschlossenen Bits.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.