Ein Schieberegister ist ein elektronisches Bauteil aus mehreren (meist 4, 8 oder 16) hintereinander geschalteten Flip-Flops. Wird am CLOCK oder SHIFT genannten Eingang des Schieberegisters ein kurzer Spannungswechsel angelegt (eine sogenannte Flanke), dann wird der Inhalt jedes Flip-Flops in das jeweils dahinterliegende Flip-Flop übergeben. Ein Schieberegister speichert somit mehrere Signalzustände in einer Kette von Flip-Flops.
In das erste Flip-Flop der Kette wird bei einer Flanke jeweils das aktuell am Dateneingang des Schieberegisters anliegende Signal (Spannung vorhanden oder nicht vorhanden) neu übernommen. Der Zustand des letzten Flip-Flops in der Kette wird überschrieben und verworfen. Ein 8-Bit-Schieberegister kann somit – nach acht eingehenden Flanken, also in acht einzelnen Schritten – seriell die acht zuletzt am Dateneingang anliegenden Signalzustände speichern. Jedes Flip-Flop im Schieberegister verfügt weiterhin über einen parallel gelegten Ausgang, so dass die aktuell im Schieberegister gespeicherten Bits jederzeit parallel abgefragt und ausgegeben werden können.
Meist werden Schieberegister noch um weitere Ein- und Ausgänge erweitert, beispielsweise ein RESET-Eingang, der den Zustand aller Flip-Flops zurücksetzt, ein zweiter CLOCK-Eingang, der die Ausgabe-Pins aktivieren und deaktivieren kann oder ein weiterer Datenausgang, der den überschriebenen Zustand des letzten Flip-Flops ausgeben und etwa an ein weiteres, seriell nachgeschaltetes, Schieberegister weitergeben könnte.
Einsatz / Anwendung
Ein Schieberegister wandelt einen seriellen Datenstrom in eine parallele Ausgabe und wird in der Datenübertragung entsprechend als Seriell-Parallel-Wandler eingesetzt. Durch die dauerhafte Speichermöglichkeit in den Flip-Flops kann ein Schieberegister auch als Datenpuffer eingesetzt werden.
Bei der Beschaltung einer LED-Matrix wird auch häufig über ein Schieberegister der jeweilige Schaltzustand der einzelnen LED der jeweils angesteuerten Matrix-Zeile angesteuert.