Hallo, ich habe ein Verständnisproblem zur 7-Segmentansteuerung mittels eines 74NCT164. [[http://what-when-how.com/wp-content/uploads/2011/06/tmp9169_thumb.png]] A und B sind mit einem &-Gatter verknüpft und der serielle Eingang. Qa-Qh sind die parallelen Ausgänge. CLK der Takt. CLR(inverted) clear bei low. Wenn ich z.B. 0b11110000 auf den seriellen Eingang schreibe, dauert es 7 Takte bis 0b11110000 (Qh-MSB---Qa-LSB) am parellelen Ausgang anliegen. Beim 74HCT595 kann ich die Ausgänge für 7 Takte ja unterdrücken. (bitte korrigieren, wenn falsch) Nur wie mache ich das beim 74HCT164, die LED's würden bis zum 7.Takt alle kurz aufflackern, oder nicht??? Wie funktioniert das grundsätzlich mit einem 74HCT164??? Vielen Dank für eure Bemühungen.
> die LED's würden bis zum 7.Takt alle kurz aufflackern
Ja.
Takte einfach schnell genug, dann sieht's keiner,
der IC schafft ja problemlos 20MHz.
Wie halte ich den Augang nach dem 7.Takt für längere Zeit? Mit CLK stoppen oder ?
Marvin B. schrieb: > Wie halte ich den Augang nach dem 7.Takt für längere Zeit? > Mit CLK stoppen oder ? Wozu? Hör einfach auf zu takten und fertig. Wenn du die nächste Ausgabe machst taktet sich alles wieder neu rein. (Steuerst du die ANzeige von einem µC aus an? Wenn ja, dann solltest du ganz einfach die Ausgabe nur dann machen, wenn sich die Anzeige auch tatsächlich verändert. Das reicht dann schon) Und wieso "nach dem 7.". Du brauchst 3*8 = 24 Takte um die Anzeige komplett zu aktualisieren. Vergiss ganz schnell, dass deine Anzeige aus 3 Einheiten aufgebaut ist. Logsich gesehen hat deine Anzeige 24 Bit, die du reintakten musst wobei jedes Bit einem ganz bestimmten Segment deiner kompletten Anzeige entspricht. Und wenn sich die Anzeige verändern soll, dann taktest du wieder 24 Bit in sie hinein.
Karl Heinz Buchegger schrieb: > Und wieso "nach dem 7.". Du brauchst 3*8 = 24 Takte um die Anzeige > komplett zu aktualisieren. Kommt die drei von dem Bild im Link, das war nur ein Beispiel ich möchte nur eins nutzen. Um eine acht anzuzeigen sende ich 0b1111 1111, nach 7 Takten liegt das am Ausgang an, dann müsste ich das kurzzeitig halten durch den Takt stoppen und wiederholen ... oder nicht?
Marvin B. schrieb: > Karl Heinz Buchegger schrieb: >> Und wieso "nach dem 7.". Du brauchst 3*8 = 24 Takte um die Anzeige >> komplett zu aktualisieren. > > Kommt die drei von dem Bild im Link, das war nur ein Beispiel ich möchte > nur eins nutzen. Was wieder mal deutlich zeigt, dass du IMMER deine tatsächliche Schaltung zeigen sollst und nicht irgendwas was so ähnlich aussieht. > Um eine acht anzuzeigen sende ich 0b1111 1111, nach 7 Takten liegt das > am Ausgang an, dann müsste ich das kurzzeitig halten durch den Takt > stoppen und wiederholen ... oder nicht? Nochmal: Wer steuert die Anzeige an? Die Anzeige zeigt solange 8 an, bis du etwas anderes hineintaktest. Wenn sich an der anzuzeigenden Zahl nichts ändert, brauchst du auch nichts hineintakten. Was den Vorteil hat, dass die minimal kurzzeitig sichtbaren falschen Segmente nur dann aufblitzen, wenn sich die angezeigte Zahl tatsächlich ändert. Dazwischen ist deine Anzeige stabil ohne irgendwelche vor sich hinglimmenden Geisteranzeigen. Das Auge ist sehr sensibel auch für kleinste Lichtmengen. Es ist faszinierend zu sehen, welche kurze Lichtblitze wir noch wahrnehmen können. Aber um konkret auf die Frage einzugehen: Ja, genau so funktioniert das. Du hältst den Takt einfach kurz an, sodass die 'fertige' Zahl einfach länger leuchtet als die 'Zwischenergebnisse'.
Da das Auge einen großen Dynamikbereich hat, wird man immer ein Flackern sehen beim Updaten. Besser, man nimmt den 74HC595. Da kann man unsichtbar schieben und danach gleichzeitig übernehmen. Peter
> Da das Auge einen großen Dynamikbereich hat, wird man immer > ein Flackern sehen beim Updaten. Ja klar, nee, erst denken, dann Fernseh-Gucken, dann schreiben.
Eben. Der Dynamikbereich des Auges geht zwar von 150000 lux bis 0.00005 lux, aber so ein LED-Display liefert ja nur 1 mcd, also aus 1 Meter 0.001 lux zudem steigt die Reaktionszeit das Auges in Dunkeladaption extrem an. Wenn man das Segment beim Durchtakten also noch 1/100000 Sekunde an hat, kommen 0.00000001 lux zusammen und die sieht man nicht mehr, schon gar nicht wenn das Auge nicht vollkommen dunkeladaptiert ist.
MaWin schrieb: > Ja klar, nee, erst denken, dann Fernseh-Gucken, dann schreiben. Daran sieht man nur, daß Du nicht denkst. Wenn ich was schreibe, dann habe ich es (fast) immer auch ausprobiert. Mach mal eine intelligente Zahlenanzeige, d.h. mit Vornullenunterdrückung. Und dann schau Dir mal am Abend das Display an, wenn nur eine einstellige Zahl angezeigt wird. Du wirst staunen, was das Auge so alles kann. Zu DDR-Zeiten gab es den 595 nicht und da hab ich auch den 164 genommen und mich geärgert. Ich hab dann den 299 genommen, der hat ein Output-Enable, damit konnte ich dann beim Schieben dunkel tasten und die Geisterdigits waren weg. Oder nimm das STK500 und setze erst das Direction-Bit und dann den LED-Port auf 0xFF. Du siehst im dunklen Raum deutlich ein Flackern bei jedem Reset. Die LED leuchtet bei 8MHz für nur 125ns, das reicht aus. Vertauscht man beide Instruktionen, bleibt die LED natürlich aus. 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.