Verständnis 74HCT164 und 7-Segment

OP (Firma: Angestellter/Freelancer) #2444810
Lesenswert?

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.
#2444825
Lesenswert?

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.
OP (Firma: Angestellter/Freelancer) #2444833
Lesenswert?

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?
#2444837
Lesenswert?

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'.
Gast #2445142
Lesenswert?

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.
#2445209
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren