Forum: Mikrocontroller und Digitale Elektronik Schieberegister tpic6b595


von andy (Gast)


Lesenswert?

Hallo,ich habe 8 Schieberegister Tpic6b595 hintereinandergeschaltet.
Ansteuerung klappt soweit.Ich möchte nun während des Programmablaufs den 
Inhalt der Bausteine auf Null setzen.Ich habe alle SRCLR eingänge der 
Bausteine mit einem Pin des mega644 verbunden und auf high 
gesetzt.Schiebe ich nun 8 mal eine 255 in die Bausteine,leuchten alle 
angeschlossenen leds.
Schalte ich SRCLR nun auf Low sollten die Bausteine doch gelöscht 
werden.
Wenn ich SRCLR auf low setzte und ein delay von 1 Sekunde mache,gehen 
die leds für eine Sekunde aus.Setzte ich SRCLR dann wieder auf high 
gehen alle leds wieder an,Baustein wurde also nicht gelöscht.
Ich habe schon einiges versucht (während SRCLR auf low ist RCK auf 
high/low,nachdem SRCLR wieder auf high ist RCK auf high/low) immer mit 
dem selben ergebnis.Im Studio wird auch alles korrekt angezeigt.
Könnte mir jemand erklären,wie der richtige ablauf des löschens ist.
Datenblatt gelesen aber nicht dahintergekommen.

gruss

andy

von Μαtthias W. (matthias) Benutzerseite


Lesenswert?

Hi

SRCLR setzt nur den Inhalt der Schiebe-FFs auf 0. Die Latch-FFs bleiben 
unverändert. Deine LEDs dürften also gar nicht ausgehen. Ziehst du G 
gleichzeitig?

Matthias

von Karl H. (kbuchegg)


Lesenswert?

SPCLR mit nachfolgendem RCK Puls müsste richtig sein.
SPCLR löscht nicht die Ausgänge, sondern nur die interne Schiebekette. 
Ohne RCK Puls wird die gelöschte interne Kette daher nicht auf die 
Ausgänge durchgeschaltet.

Aber warum so kompliziert?
Bei einem µC braucht man das doch meistens gar nicht. So wie du 255 in 
die Schieberegister reintaktest, kannst du auch 0 rein takten. Das 
Ergebnis ist dasselbe. (OK, SPCLR geht ein bissi schneller. Aber das 
amcht das Kraut dann auch nicht fett)

von andy (Gast)


Lesenswert?

Hallo,danke für die antworten.Mit den Nullen reinschieben geht 
natürlich.
Da es sich um einen 8x8x8 Cube handelt wäre es zeitlich schon besser 
wenn ich sie mit einem Impuls löschen könnte anstatt 64 mal zu 
schieben.Also SRCLR low/high reicht zum löschen.Dann muss ich nochmal 
rumpfriemeln.

gruss

andy

von Matthias L. (Gast)


Lesenswert?

>Da es sich um einen 8x8x8 Cube handelt wäre es zeitlich schon besser
>wenn ich sie mit einem Impuls löschen könnte anstatt 64 mal zu
>schieben.

Das stimmt schon, aber "normale" Ausgaben dauern doch auch "lange". Wo 
ist da das Problem beim Abschalten von allen LEDs?

von Karl H. (kbuchegg)


Lesenswert?

Matthias Lipinsky schrieb:
>>Da es sich um einen 8x8x8 Cube handelt wäre es zeitlich schon besser
>>wenn ich sie mit einem Impuls löschen könnte anstatt 64 mal zu
>>schieben.
>
> Das stimmt schon, aber "normale" Ausgaben dauern doch auch "lange". Wo
> ist da das Problem beim Abschalten von allen LEDs?

Bzw. wozu eigentlich löschen?
Da wird ja sowieso beim Multiplexing dann ein neues Muster 
reingeschoben. Dazu muss man doch die Schieberegister vorher nicht 
löschen.

von Peter D. (peda)


Lesenswert?

andy schrieb:
> Wenn ich SRCLR auf low setzte und ein delay von 1 Sekunde mache,gehen
> die leds für eine Sekunde aus.Setzte ich SRCLR dann wieder auf high
> gehen alle leds wieder an,Baustein wurde also nicht gelöscht.

Du hast Dich verzählt und nicht /SRCLR angesteuert, sondern /G.

Aber wie schon gesagt wurde, beim Multiplexen löscht niemand, es wird 
immer nur das nächste Bitmuster eingeschoben.


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
Noch kein Account? Hier anmelden.