Wenn ich meinen AVR direkt an den BCD/7Seg. Decoder anschliessen würde dann bräuchte ich ja für jedes Segment 4 Ports. Wäre es möglich die Daten einfach seriell aus einem Port an einen Seriell/parallel decoder und erst dann an BCD/7Seg. Decoder zu schicken? Einige Unklarheiten im Bezug auf Multiplexen hab ich noch: Beim obigen Beispiel würde ja auch ein multiplexer keine Port einsparung bringen, da die Daten immer noch von 4 Port an den Multiplexer gehen und erst dann werden Leitungen eingespart, stimmt das? Also was bring dann ein Multiplexer? Fritz 7
Bei einer vierstelligen Anzeige mit Dezimalpunkt in jeder Stelle sind zur Ansteuerung ohne zusätzliche Hardware (ausgenommen 8 Widerstände zur Strombegrenzung) 12 Portleitungen (8 Segmente, 4 Stellen notwendig). Wenn du Portleitungen sparen willst, kannst du aber für die Segmentansteuerung ein Schieberegister 74HCT595 einsetzen. Dann reichen zur Segmentansteuerung 3 Portleitungen.
Bei 4 bis 6 Euro in kleinen Stückzeilen, sind mir die für den Einsatz mit einem Mikrocontroller zu teuer und widersprechen ja auch dem Konzept möchlichst wenig Chips auf einem Board. Ein AVR bei Bedarf eine Nummer grösser gewählt ist allemal billiger.
Hallo Fritz. Wenn du serielle Daten vom AVR in parallele Daten zu den 7Segement Anzeigen umwandeln willst hilft ein Multiplexer nicht weiter, weil der ja eben parallele Daten in Serielle umwandelt. Nun könnte man entsprechend einen DEmultiplexer verwenden, aber das macht wenig sinn, weil du für den noch die Adress-Eingänge brauchst. Viel einfacher, wie schon erwähnt: ein Schieberegister. Seriellen Eingang mit 8 Takten = 8 bit füttern, dann nach 8 Takten den parallelen Ausgang des Registers auslesen. Der Ausgang darf natürlich nur einmal jeweils nach dem 8ten Takt gelesen werden. Mein Vorschlag: 74HC164, Datenblatt dazu gibts bei Google. Und wenn du mehr als 8 Ausgänge brauchst, einfach beliebig viele Register in Serie schalten. So kannst du auch 1 Port des uCs verwenden um z.B. 64 Datenausgänge zu schaffen, in dem du 8x 8bit Schieberegister verwendest... Moritz
@moritz Dann nimmer doch besser einen 595 der besitzt neben dem Schieberegister noch ein Latch und etwa zum gleichen Preis erhältlich.
Das sind noch elementarer ausgedrückt 8 D-FlipFlop. Die Eingänge dieser sind beim 595 mit den Ausgängen des Schieberegister verknüpft. Dessen Zustand wird bei positiver Taktflanke übernommen. Dieses hat den Vorteil, die Daten können seriell ausgegeben werden und erst nach vollständiger Ausgabe werden die Daten auf die Ausgänge geschaltet.
Das ist eine Anzeige, wo alle Segmente A..G, DP von jedem Digit schon intern parallel geschaltet sind. Man kann natürlich auch 5 (oder wieviel auch immer) einzelne Anzeigen nehmen und die dann entsprechend verdrahten. Im Beispiel nehme ich einen Multiplextakt von 1,2kHz (10MHz / 8192), damit ist kein Flackern mehr warnehmbar. Peter
Mein Vorschlag: 4 x 7 Segment common Anode ( + Segmentwiderstände ) 4 x 74HC4094 kaskadieren(gemeinsame Clockleitung, Data-leitung von einem Ausgang zum nächsten Eingang führen,Strobe Leitungen gemeinsam)EO auf Vcc. 3 Portleitungen riskieren (data,clock,strobe) Programm: STR auf low. Data auf low,bzw high (wird bei positiver Clock Flanke ins Register übernommen) 32 Clocks (4*8) senden STR Leitung kurz auf high setzen und schon sind die Segmente an oder aus. - Man kann mit maximalem AVR speed arbeiten. - Anzeige ist statisch ( kein flackern) - Ein HC4094 Ausgang kann fast 40mA treiben - Applikationsschaltung bei Philips vorhanden (HEF4094 Datenblatt) - 7 Segmentcodetabelle im AVR (andere Codes möglich) - 1 74HC4094 kostet weit unter 1 EUR mfg wolli_r ( http://www.tec-shop.de )
Eigentlich lautete die Frage Port sparen bei Siebsegment-Ansteuerung und jetzt werden wahre Bauteilegräber mit 4 diskreten ICs und bis zu 32 zusätzlichen Segmentwiderständer konstruiert. Was hat das mit Mikrocontrollern zu tun.
Hi mikki, wenn 3 Leitungen zuviel sind, nimmt man am besten die neuen 4 stelligen 7-Segmentanzeigen CAQX104 mit nur 2 Leitungen Vcc/data und GND. Diese Anzeigen haben eine 1 Drahtschnittstelle (DALLAS kompatibel) über die man außerdem noch Segmenthöhe und -Farbe frei programmieren kann. Im Push-Pull Mode betrieben, kann der AVR direkt den Versorgungsstrom liefern, da die neuen Anzeigen im 4-stelligen Modus nur 0,23µA Versorgungsstrom ziehen. Im read-back Modus kann man die Umgebungshelligkeit ermitteln und mit dem AVR dann die Segmenthelligkeit einstellen. Bei Google hatte ich die Teile kürzlich gefunden. Eine Nachfrage beim Hersteller ergab daß das kpl. Teil nur 1,85 EUR kosten soll. Kostenlose Muster können auf Anfrage geliefert werden (max 10 Stück). Da ich aus versehen meine Bookmarks gelöscht habe, kann ich den Hersteller nicht mehr finden. Bei Google kann ich auch nichts mehr finden. Merkwürdig... mfg wolli_r ;-)
In derartige Anzeige zu dem Preis hört sich an wie ein Märchen. Ich hatte mich auch schon mal im Bereich 7 Segmentanzeigen mit serieller Ansteuerung umgeschaut, die Hersteller die ich damals ausfindig mach konnte, wollte aber so 8 bis 12 Euro für 4 stellig bei 10 mm Höhe und 50 bis 100 Stck Abnahme haben, daher bevorzuge ich nach wie vor die Simpellösung 8 Portleitungen für die Segmente und 4 für die Stellen. Ist platzsparend und preiswert.
Hallo Mikki, bin voll Deiner Meinung. Ich hatte Fritz so verstanden, daß er erstmal nur wissen wollte, wie eine Multiplexanzeige prinzipiell verschaltet wird. Wieviel Pins er verwenden will geht nirgends draus hervor, nur daß es weniger als 16 sein sollten. Hallo wolli_r, da ist Dir wohl das Komma verrutscht: Der garantierte Betriebsstrom bei allen 74HCxx ist nur max 4mA. Der Grenzstrom ist 25mA, aber mit der Bemerkung: "IC wird noch nicht zerstört aber Funktion wird nicht garantiert." The RATINGS table (Limiting values in accordance with the Absolute Maximum System - IEC134) lists the maximum limits to which the device can be subjected without damage. This doesnt imply that the device will function at these extreme conditions, only that, when these conditions are removed and the device operated within the Recommended Operating Conditions, it will still be functional and its useful life wont have been shortened. Für mehr Strom muß man die 74ACxx nehmen (max 24mA). Peter
@peter ein 74hcxxx mit 40 mA spezifiziert habe ich auch noch nicht gesehen. Mit den garantierten Strömen wagen sich die unterschiedlichen Hersteller allerdings unter- schiedlich weit vor so spezifiziert Philips noch garantierte Werte bei 7,8 mA.
Im Grunde hab ich alle Ports des 8515 frei. Ich möchte aber so wenig wie möglich verwenden. Ich habe vor 6 Anzeigen anzusteuern. Für sekunden und stunden will ich je zwei Anzeigen nehmen. Mir ist immer noch nicht klar wie das Multiplexen funktioniert! Was für IC gibts dafür? (Nur für Multiplexen!!!) Die daten für die 7 Seg. anzeigen müssen ja eh parallel also 4 Ports pro Anzeige an den Multiplexer gegeven werden, ist das richtig? Danke für das rege Feedback, ich hätte aber gern Antworten auf die Fragen die ICH gestellt habe! Wäre nett. Fritz 7
Also mal zu deiner Frage Anzeigen multiplexen. Du nimmst z.B.: 6Stück 7 Segmentanzeigen. Am besten gemeinsame Anode. Du verbindest alle Segment der verschiedenen Stellen. z.B.: Segment_a von Digit_0 mit Segment_a von Digit_1 usw. Über einen Begrenzungswiderstand auf den AVR. Die gemeinsame Anode Schaltest du über einen Transistor. Per Software legst du die Zifferninformation für Digit_0 an und schaltest den dazugehörigen Transistor durch. Wartest eine kurze Zeit und schaltest wieder ab. Du legst die Zifferniformation für Digit_1 an und schaltest wieder den anderen Transitor ..... Naja das ganze Spiel für jede Stelle. Also im Prinzip leuchtet nur immer eine Stelle (Digit) ... das Auge ist zu träge dafür es zu erkennen. Das Problem dabei ist das du dich immer kümmern mußt das die Anzeige nicht zu flimmern beginnt. Also nochmals ein Tip von mir .... ein MAX7221 oder SAA1064 ist sein Geld schon Wert denn der macht das multiplesen von selbst. Mal am Wochenende 3 Bier weniger trinken und schon hast du Ihn in deiner Bastelkiste liegen ;-). Ich nehme an deine wirkliche Anwendung besteht nicht aus "Zahlen anzeigen" sondern diese Anzeigen sollen sozusagen "NUR" etwas anzeigen.
Hallo Fritz, bei einem 8515 würde ich keine weiteren ICs verwenden. Du brauchst nur 8 Pins für die Segmente und 6 Pins für die Digits. In die Segmentleitungen kommen die Vorwiderstände zur Strombegrenzung und die Digitleitungen werden über 6 Transistoren verstärkt. Meine Schaltung zeigt das Prinzip für 5 Digits. Das Ansteuern macht der 8515 z.B. im T0 oder T1 Interrupt. Softwarebeispiele gibt es zuhauf dafür. Bei Interesse kann ich auch meinen Kode veröffentlichen. Peter
Die Schaltung von Holger Müller Blech ist quasi das gleiche. Nur R13..R16 sind überflüssig. In Kollektorschaltung brauchen die Transistoren keine Basisvorwiderstände. Peter
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.