¿Qué es un registro de desplazamiento en serie? ¿Qué es un registro? DS - entrada de datos

en una señal de reloj, el contenido de cada flip-flop anterior se reescribe en el siguiente flip-flop en orden en la cadena. El código almacenado en el registro se desplaza un bit hacia los bits superiores o hacia los bits inferiores con cada ciclo, lo que dio nombre a este tipo de registros.

En relación con el nombre de la dirección de cambio en registros de desplazamiento a menudo surge la confusión. Hay dos tipos de desplazamiento: a la derecha (el modo principal que todos tienen registros de desplazamiento) y hacia la izquierda (este modo está disponible solo para algunos, invierte registros de desplazamiento). Estos nombres reflejan la estructura interna registros de desplazamiento(Fig. 8.14) y reescribiendo las señales secuencialmente a lo largo de la cadena de disparadores. En este caso, los flip-flops, naturalmente, se numeran de izquierda a derecha, por ejemplo, del 0 al 7 (o del 1 al 8) para registros de 8 bits. Como resultado, desplazar la información del registro hacia la derecha es un desplazamiento hacia los bits que tienen números más altos, y desplazar la información del registro hacia la izquierda es un desplazamiento hacia los bits que tienen números más bajos.

Sin embargo, como sabes, en cualquier número binario, los dígitos más significativos están a la izquierda y los dígitos menos significativos están a la derecha. Por lo tanto, un desplazamiento de un número binario hacia la derecha será un desplazamiento hacia los dígitos inferiores, y un desplazamiento hacia la izquierda será un desplazamiento hacia los dígitos superiores. Esta contradicción no es la intención maliciosa de alguien, simplemente sucedió históricamente, y el desarrollador de equipos digitales debe recordar esto.


Arroz. 8.14.

La serie estándar de circuitos digitales incluye varios tipos registros de desplazamiento, que difieren en los posibles modos de operación, modos de escritura, lectura y cambio, así como el tipo de etapas de salida (2C o 3C). Mayoria registros de desplazamiento tiene ocho dígitos. En la fig. 8.15 muestra cuatro tipos de microcircuitos como ejemplo registros de desplazamiento.

Registrar IR8 - el más simple de registros de desplazamiento. Es una línea de retardo de 8 bits, es decir, tiene una sola entrada de información, a la que se le suministra información serial desplazada (más precisamente, dos entradas combinadas según la función 2I), y ocho salidas paralelas. El cambio hacia salidas con números más altos se lleva a cabo a lo largo del borde de ataque señal de reloj C. También hay una entrada de reinicio -R, en una señal cero en la que todas las salidas de registro se reinician a cero. mesa de la verdad el registro IR8 se da en la tabla. 8.5.


Arroz. 8.15.Tabla 8.5. mesa de la verdad registro de desplazamiento IR8
Entradas salidas
-R C D1 D2 Q0 Q1 P7
0 X X X 0 0 0
1 0 X X No cambies
1 1 X X No cambies
1 0 1 1 1 1 Q0 P6
1 0 1 0 X 0 Q0 P6
1 0 1 X 0 0 Q0 P6

El registro IR9 realiza la función opuesta al registro IR8. Si IR8 convierte la información serial de entrada en información paralela de salida, entonces el registro IR9 convierte la información paralela de entrada en información serial de salida. Sin embargo, la esencia del cambio no cambia, es solo que en IR9 todos los disparadores internos tienen entradas paralelas de salida, y solo uno, el último disparador, tiene una salida (tanto directa como inversa). El código de entrada se escribe en el registro mediante una señal cero en la entrada -WR. El cambio se realiza en un flanco positivo en una de las dos entradas de reloj C1 y C2, combinadas

Esta revisión está dedicada, de hecho, a los usuarios principiantes de Arduino o aquellos que quieran unirse a este negocio. Hablaremos de aumentar el número de salidas del microcontrolador mediante un registro de desplazamiento, y que esto no requiera grandes gastos (frente a comprar un Arduino Mega, por ejemplo). La aplicación más simple es hacer parpadear los LED, así que intentémoslo en la práctica.

Cuando comencé a familiarizarme con los microcontroladores (de hecho, todavía sigo "comenzando a familiarizarme"), una de las primeras preguntas fue: ¿cómo, teniendo solo una docena de salidas en el controlador, controlar los mismos cien mil LED? Sí, puede usar la multiplexación de señales, la conmutación consecutiva y muchos otros trucos, pero aún así la cantidad máxima de LED conectados es limitada y debe buscar otra solución. Y me sugirieron una de las opciones: "tome uno, dos, una docena de microcircuitos de registro de desplazamiento y diviértase". Se decidió ordenarlos de inmediato y, en el futuro, incluso ensamblar un cubo LED con ellos. Este último realmente tuvo que ser abandonado, encontré una opción más simple, pero este es el tema de otra revisión.
Inmediatamente ordené 20 piezas de 74HC595N, ya que solo cuestan unos centavos. La letra N al final de la marca significa que el microcircuito está en un paquete DIP-16, muy conveniente para experimentos en una placa de prueba, ni siquiera necesita soldar nada. Se parece a esto:




¿Qué es este microchip? Es un registro de desplazamiento de ocho bits con entrada en serie, salida en serie o paralela, pestillo y salida de tres estados.
En pocas palabras, utilizando solo 3 salidas de controlador, puede controlar 8 salidas de registro de desplazamiento. Y si los microcircuitos se conectan en serie uno tras otro, entonces el número de salidas controladas se puede aumentar hasta cualquier límite razonable (no encontré el número límite, pero cientos parecen combinarse sin problemas; si alguien sabe cuál es el número límite de microcircuitos incluidos en la cascada depende, sería interesante averiguarlo en los comentarios).
Los datos al chip se transmiten secuencialmente. Los bits 0 y 1 se transfieren al registro uno tras otro, los bits se leen cuando llega un pulso de reloj. 8 bits transmitidos: 8 estados de salida recibidos en las salidas del registro. Cuando el 74HC595 está conectado en cascada (cuando se requieren 16, 24, etc. salidas), los datos del primer registro se transfieren al siguiente.
La salida del registro puede estar no solo en el estado lógico 0 o 1, sino también en un estado de alta impedancia cuando la salida está desconectada del circuito. Solo todas las salidas pueden transferirse a este estado a la vez. Esto rara vez se usa, pero puede ser útil al cambiar el control a otro controlador, por ejemplo.

Asignación de pines de E/S

Q0…Q7 – salidas de registro, puede estar en estado 0, 1 o alta impedancia
GND - tierra
Q7′ – salida para conexión serial de registros.
MR - restablecer valores de registro
SH_CP - entrada de reloj
ST_CP - datos de "enganche" de entrada
OE: entrada que transfiere salidas de alta impedancia al estado de trabajo
DS - entrada de datos
VCC - Suministro de 2-6 voltios

Queda por verificar el trabajo, para esto armaremos un esquema popular entre los principiantes. GND (pin 8) a tierra, Vcc (pin 16) a 5V, OE (pin 13) a tierra, MR (pin 10) a 5V. El registro de desplazamiento ahora está encendido y todas las salidas están activas. Ahora es el momento de conectar el chip al Arduino: conecte la entrada de datos DS (pin 14) a la novena salida digital del arduino, la entrada de reloj SH_CP (pin 11) a la décima salida digital, la entrada de pestillo ST_CP (pin 12 ) al octavo pin arduino. Se recomienda colocar un capacitor de 0.1uF entre tierra y pestillo para minimizar el ruido.
Queda por conectar los LED: a través de resistencias de 150-300 ohmios, los conectamos desde las salidas del registro a tierra. En realidad, eso es todo. Aquí encontré un diagrama, a quien le encantan los materiales visuales (¡tenga en cuenta que el pinout de un microcircuito real y una representación esquemática en este diagrama son diferentes!)


Monté el circuito en una protoboard, lo conseguí así.

circuito ensamblado








En Arduino, es conveniente utilizar la función shiftOut(), que envía un byte de información al puerto de entrada/salida de forma secuencial (bit a bit). . Cargamos el código de prueba en Arduino y obtenemos un contador de 0 a 255 en forma binaria:
int latchPin = 8; //ST_CP int relojPin = 10; //SH_CP int pin de datos = 9; //DS void setup() ( pinMode(latchPin, OUTPUT); pinMode(clockPin, OUTPUT); pinMode(dataPin, OUTPUT); ) void loop() ( for (int numberToDisplay = 0; numberToDisplay< 256; numberToDisplay++) { // установка синхронизации "защелки" на LOW digitalWrite(latchPin, LOW); // передаем последовательно на вход данных shiftOut(dataPin, clockPin, MSBFIRST, numberToDisplay); //"защелкиваем" регистр, устанавливаем значения на выходах digitalWrite(latchPin, HIGH); delay(500); } }
Así es como resultó para mí, todo funciona como se esperaba:


Por lo tanto, con un uso mínimo de los pines del controlador, puede controlar una gran cantidad de LED (o algo más). Todo estaría bien, pero también hablaré de las deficiencias. Como puede ver, la corriente para cada LED debe estar limitada por una resistencia, y cuando se construyen grandes matrices de LED, esto consume bastante tiempo. Existe una solución más interesante para controlar los LED: el controlador DM13A, que es un registro de desplazamiento, al mismo tiempo que limita la corriente en cada salida. Te lo contaré la próxima vez, y como beneficio adicional: mi primer cubo LED, 5x5x5, ensamblado en una base de elementos simplificada, ya sin usar 74HC595.

planeo comprar +37 Agregar a los favoritos Me gustó la reseña +35 +61

La última vez, consideramos la opción de aumentar las salidas del microcontrolador usando un chip decodificador, hoy consideraremos una versión más avanzada en el registro de desplazamiento 74HC595. Usando solo un microcircuito, puede tener a su disposición 8 salidas adicionales, usando solo 3 patas del microcontrolador. Y gracias a la posibilidad de expansión, al agregar un segundo microcircuito, el número de salidas se puede aumentar a 16. Si no es suficiente, puede agregar un tercero y obtener 24 salidas para usar, y este truco se puede repetir tantas veces como sea posible. te gusta. Al mismo tiempo, la cantidad de patas ocupadas del microcontrolador seguirá siendo 3, ¡hermosa!

Entonces, echemos un vistazo más de cerca a la asignación de pines del microcircuito y aprendamos cómo controlar el registro de desplazamiento 74hc595 en el Bascom-AVR.

Para empezar, familiaricémonos con las conclusiones del microcircuito, o más bien, con su funcionalidad. A continuación se muestra un recorte de la hoja de datos de 74hc595 con la designación de los pines del microcircuito:


  • Q0…Q7– salidas que serán controladas. Pueden estar en tres estados: uno lógico, cero lógico y estado Hi-Z de alta resistencia
  • TIERRA- Tierra
  • Q7′– salida destinada a la conexión en serie de registros.
  • SEÑOR- restablecimiento de registro.
  • SH_CP– entrada para pulsos de reloj
  • ST_CP- datos de entrada de "bloqueo"
  • Equipo original– entrada que transfiere las salidas de HI-Z al estado de trabajo
  • D.S.- Entrada de datos
  • CCV- Suministro de 5 voltios

Lógica de registro

Cuando en la entrada del reloj SH_CP aparece uno lógico, un bit ubicado en la entrada de datos D.S. leer y escribir en el registro de desplazamiento. Este bit se escribe en el bit menos significativo. Cuando el siguiente pulso de alto nivel llega a la entrada del reloj, el siguiente bit de la entrada de datos se escribe en el registro de desplazamiento. Y el bit que se grabó anteriormente se desplaza un bit a la izquierda, y el bit recién llegado ocupa su lugar. El siguiente pulso de reloj escribirá el tercer bit, y los dos anteriores avanzarán más. Cuando se llenan los ocho bits y llega el noveno pulso de reloj, el registro comienza a llenarse nuevamente desde el bit menos significativo y todo se repite nuevamente. ¿Qué datos aparecerían en las salidas? Q0…Q7 necesitas "fijarlos". Para hacer esto, necesita aplicar una unidad lógica a la entrada ST_CP.

- SEÑOR reinicia el registro, configurando todas las salidas Q0…Q7 a un estado cero lógico. Para restablecer, debe aplicar un cero lógico a esta entrada y aplicar un pulso positivo a la entrada ST_CP. Una característica muy útil, ya que cuando se aplica energía al microcircuito, aparece un cierto valor arbitrario en la salida. Cuando se trabaja con un registro, este pin debe ser una unidad lógica.

- Equipo original(habilitación de salida) si aplica un 1 lógico aquí, entonces las salidas estarán en un estado HI-Z de alta resistencia. Cuando aplicamos un 0 lógico a esta entrada, las salidas estarán en condiciones de trabajo.

- Q7' diseñado para la conexión en serie de registros de desplazamiento.

Pero es mejor ver una vez que leer dos veces =) así que veamos la animación:


Trabajando con el registro en la frente

Cuando se domina el trabajo con un microcircuito desconocido, a menudo es útil trabajar en la frente, es decir, sacudir directamente las patas de control, lo que le permite comprender mejor los principios del trabajo con el sujeto. Entonces, siguiendo la lógica del trabajo, escribí un programa que tendrá que generar el número binario 10010010 en la salida del registro

$archivo de registro = "attiny2313.dat"
$cristal = 1000000

configuración puertob= Producción

Sh_cpAlias puertob. 3 "pie para pulsos de reloj
DsAlias puertob. 2 "pierna para salida de datos
St_cpAlias puertob. 0 "pierna para" enclavar "datos en un registro de retención


"salida a través del registro del número 146 (en representación binaria 10010010)

St_cp= 0 "poner el pie en modo de grabación de datos

Ds= 1 "establecer el primer bit
Sh_cp= 0 "dar un pulso a la salida del reloj
Sh_cp= 1

Ds= 0 "establecer el segundo bit
Sh_cp= 0
Sh_cp= 1

Ds= 0 "establecer el tercer bit
Sh_cp= 0
Sh_cp= 1

Ds= 1 "establecer cuarto bit
Sh_cp= 0
Sh_cp= 1

Ds= 0 "establecer el quinto bit
Sh_cp= 0
Sh_cp= 1

Ds= 0 "establecer el sexto bit
Sh_cp= 0
Sh_cp= 1

Ds= 1 "establecer el séptimo bit
Sh_cp= 0
Sh_cp= 1

Ds= 0 "establecer el octavo bit
Sh_cp= 0
Sh_cp= 1

St_cp= 1 "Bloquear los datos ingresados

Fin


compilamos, cosemos en el microcontrolador o miramos en el simulador y vemos nuestra combinación en la salida.


¡Funciona, el número enviado apareció en la salida del registro!

Trabajar con el registro de esta manera, aunque es posible, es demasiado engorroso y ocupa mucha memoria de programa. Pero por otro lado, demuestra claramente toda la metodología para trabajar con este microcircuito. Consideremos un método más adecuado.

Control del registro 74HC595 en Bascom a través del comando ShiftOut

Bascom-AVR tiene un comando maravilloso para trabajar con todo tipo de interfaces seriales DESPLAZAR FUERA
Este comando en sí mismo descompondrá el número en componentes de bits y los enviará secuencialmente a cualquier pin del microcontrolador, al mismo tiempo que puede emitir pulsos de reloj. Para trabajar con registros de desplazamiento, ¡eso es todo! Sintaxis del comando:

SHIFTOUT Datapin, Clockpin, var, opción


Datapin - puerto de microcontrolador para salida de datos

Clockpin - puerto de microcontrolador para salida de reloj

Var - los datos que queremos enviar al registro

Opción: un número de 0 a 3, este parámetro selecciona el orden en que se ingresarán los datos en el registro y el nivel activo en la línea del reloj en el que se escribe el bit:
option=0 - el bit más significativo va primero, reloj activa baja
opción=1 -
bit alto va primero, Reloj nivel activo alto
opción=2 -
el bit bajo va primero, Reloj activa baja
opción=3 -
el bit bajo va primero, Reloj nivel activo alto

En nuestro caso, para trabajar con el registro 74HC595, el parámetro de opción debe configurarse en 1 o 3.

Para bloquear datos en un registro, use el comando Pulso de salida. Este comando envía un pulso a la pata del microcontrolador con una duración determinada. La configuración del comando se ve así:

Ahora emitamos el número 10010001 (145 en decimal) a la salida del registro conectado al microcontrolador de acuerdo con el esquema anterior:

$archivo de registro = "attiny2313.dat"
$cristal = 1000000

Oscuro UN Comobytes
configuración puertob= Producción

UN= 145

gosub Hc595 "Vamos a la subrutina de envío de datos

Fin

Hc595: "subrutina para enviar datos

Desplazar fuera puertob. 2, puerto b. 3 , A , 1 "enviando datos para registrarse
Pulso de salida puerto b, 0, 5 "datos de bloqueo
devolver

Después de flashear el microcontrolador, puede ver una imagen similar, la combinación de bits enviada se establece en la salida del registro de desplazamiento.


Como puede ver, el control del registro de desplazamiento 74HC595 en Bascom consta de solo dos líneas de código y no presenta ninguna dificultad.

Aumento de la profundidad de bits

Uno de los problemas que suelen surgir en el desarrollo de dispositivos microcontroladores es la necesidad de ahorrar líneas de puertos de E/S. Muchos dispositivos periféricos que pueden funcionar junto con el procesador requieren una gran cantidad de conductores de conexión para transferir información. La urgencia de esta tarea no ha disminuido incluso con la llegada de procesadores con una gran cantidad de salidas, ya que los dispositivos periféricos también se han vuelto más complejos. Para los dispositivos de visualización, una opción para reducir el número de líneas requeridas puede ser el uso de registros de desplazamiento.

El registro de desplazamiento es una cadena de varios flip-flops D conectados en serie. La salida de información del microcontrolador está conectada al primer disparador. Con cada pulso de la señal del reloj transmitido en una línea separada, el nivel en la entrada de cada uno de los biestables se escribe en la salida. Como resultado, la señal se desplaza desde el principio hasta el final de la cadena. Si usa para conectar las líneas de salida después de cada uno de los flip-flops, entonces el registro de desplazamiento será un convertidor de serie a paralelo. Esto significa que para la organización de cualquier indicador, será mínimamente necesario utilizar solo dos salidas del microcontrolador.

Actualmente, los fabricantes ofrecen una gran cantidad de modelos de registros de desplazamiento, con diferentes características funcionales. A continuación, solo se considerarán los microcircuitos con entrada en serie y salida en paralelo. Además, para los fines descritos, puede utilizar algunos modelos universales de registros.

Usando el registro 74164

registro de turnos

Uno de los microcircuitos más simples y comunes que implementan la función de registro de desplazamiento es el modelo 74164 (555IR8) y sus variantes tecnológicas. Este microcircuito es un registro de 8 bits con carga en serie y salida en paralelo. Con el 74164, puede obtener con relativa facilidad un indicador lineal de 8 LED o un indicador de siete segmentos de un solo carácter. Si es necesario, se permite la conexión en serie de varios microcircuitos, lo que aumentará la cantidad de líneas de salida e indicadores conectados a ellos.

Las variantes actuales 74ACT164 y 74HCT164 tienen una corriente de salida de 25 mA por línea, lo que permite la conexión directa de LED individuales de bajo consumo o pantallas de siete segmentos. El tiempo de ciclo de estos microcircuitos puede estar en el nivel de 15 ns, lo que corresponde a la posibilidad de operar a una frecuencia de 66 MHz. Teniendo en cuenta que tal o mayor frecuencia de operación del procesador es rara, para generar pulsos de reloj, basta con encender y apagar la salida del controlador, sin ningún retraso.Dos líneas son suficientes para cargar este registro de desplazamiento: DATA y CLK. Esto le permite usar solo dos líneas del microcontrolador para controlar el dispositivo de visualización. En este caso, en muchos casos puede no importar cuántos microcircuitos se conectarán en serie y, en consecuencia, cuántos indicadores controla el controlador.

Hay muchos usos para 74164. Se pueden distinguir varios de ellos. El primer indicador mencionado anteriormente basado en varios LED. El segundo es un solo indicador de siete segmentos o una línea de ellos. En el artículo se muestra un ejemplo de una línea de indicadores: Termómetro en el microcontrolador PIC12F629.

La programación de la indicación usando el registro de desplazamiento tampoco es muy difícil. Especialmente si el microcontrolador implementa una operación como un cambio de byte a través del bit de acarreo. Al marcar este bit, puede determinar el nivel que desea establecer en la línea de datos. Mediante la repetición cíclica de dicho desplazamiento y la generación de pulsos de reloj, puede cargar completamente el registro de desplazamiento. El siguiente caso de uso puede ser un circuito de indicación dinámica, cuando, para reducir el número de líneas de microprocesador utilizadas, la salida paralela a segmentos individuales es reemplazado por uno serial usando un convertidor serial a paralelo. El mismo convertidor se puede utilizar en el circuito de encendido de LCD basado en HD44780.

Usando los registros 74595 y 4094

El uso de registros de desplazamiento le permite construir grandes circuitos utilizando indicadores LED. Pero en caso de que los indicadores consuman mucha corriente (constan de muchos LED individuales), la salida del registro se vuelve insuficiente. Para amplificar la señal, se pueden usar varios circuitos, que consisten en transistores individuales o ensamblajes. En este caso, es más simple y ventajoso usar el microcircuito ULN2803, que contiene 8 interruptores de transistor. Cada tecla es capaz de conmutar corriente de hasta 500 mA a un voltaje de hasta 50 V, lo que le permite conectar varias docenas de LED individuales, lámparas incandescentes de bajo consumo o segmentos de indicadores de matriz de gran tamaño. La única diferencia con los circuitos anteriores será el uso de indicadores LED con un ánodo común, ya que el ULN2803, de hecho, es un interruptor de lado bajo. A pesar de todas sus ventajas, el chip 74164 tiene algunas desventajas. En primer lugar, deben incluir la conexión directa de las salidas del circuito a las líneas de salida de los disparadores. En los sistemas de indicación LED lentos, cuando se carga el registro, puede observar el movimiento de la información desde la entrada hasta la salida en forma de iluminación extraña de los segmentos. En el caso de actualizaciones frecuentes de información, dicha iluminación provoca cierta incomodidad. Para eliminarlo, se deben utilizar registros equipados con un latch de salida. Ejemplos de tales elementos son los chips 74595 y 4094. Cada uno de ellos tiene una entrada SCLK de puerta adicional. Con el mismo principio de carga, la información en la salida de estos dispositivos solo puede aparecer después del paso de un pulso a través de esta entrada. Esta solución requiere el uso de una salida adicional del microcontrolador, pero le permite construir indicadores con una gran cantidad de segmentos, sin la aparición de varios efectos desagradables. Especialmente útil es el uso de registros equipados con latches junto con microcontroladores que operan a bajas frecuencias o desde generadores internos.

El uso de registros de desplazamiento complica un poco el circuito del dispositivo terminado, pero le permite usar un mínimo de salidas de microcontrolador y tiene muchas otras ventajas. Entre otras cosas, el uso de las soluciones anteriores permite simplificar la programación y crear indicadores de varios dígitos sin un gran costo.

No tienes derecho a publicar comentarios

Para construir los registros se utiliza una conexión serial de estos elementos.

Un registro en serie (registro de desplazamiento o registro de desplazamiento) generalmente se usa para convertir el código en serie en paralelo y viceversa. El uso de un código serial está asociado con la necesidad de transferir una gran cantidad de información binaria a través de un número limitado de líneas de conexión. Con la transmisión paralela de descargas, se requiere una gran cantidad de conductores de conexión. Si los dígitos binarios se transmiten secuencialmente bit a bit a lo largo de un conductor, las dimensiones de las líneas de conexión en la placa (y las dimensiones de los paquetes de chips) pueden reducirse significativamente.

En la Figura 1 se muestra un diagrama esquemático de un registro en serie (desplazamiento), ensamblado sobre la base y que permite la conversión de un código en serie en uno paralelo. en el frente, solo son adecuados los flip-flops D que funcionan en el frente para implementar un registro serial (desplazamiento)!


Figura 1. Diagrama de un registro serial (desplazamiento)

Dentro del registro de desplazamiento, los flip-flops están conectados en serie, es decir, la salida del primero está conectada a la entrada del segundo, y así sucesivamente. El registro secuencial considerado se muestra en la Figura 2.


Figura 2. Designación gráfica convencional de un registro secuencial (desplazamiento)

Se combinan las entradas de reloj en los registros en serie (desplazamiento), así como en los registros en paralelo. Esto asegura el cambio simultáneo del estado de todos los flip-flops que forman parte del registro secuencial (desplazamiento).

La conversión de un código serial a uno paralelo en un registro serial (desplazamiento) se realiza de la siguiente manera. Los bits individuales de información binaria se alimentan secuencialmente a la entrada del registro de desplazamiento D0. Cada bit va acompañado de un pulso de reloj de reloj separado, que se aplica a la entrada de reloj del registro serial C.

Después de que llega el primer pulso de reloj, el nivel lógico presente en la entrada D0 se almacena en el primer disparador del registro serial (desplazamiento) y se alimenta a su salida, y dado que está conectado a la entrada del segundo disparador, también es enviado a su entrada. Si el registro en serie (desplazamiento) se ensamblara en flip-flops D que funcionan con el potencial, ¡entonces este bit se escribiría inmediatamente en el segundo flip-flop D! En nuestro caso, esto no sucede, ya que en este momento el borde en la entrada de sincronización C ya ha terminado.

Después de que llega el segundo pulso de reloj, el nivel lógico presente en la entrada del segundo disparador del registro en serie (desplazamiento) se almacena en él y se alimenta a su salida, y dado que está conectado a la entrada del tercer disparador, entonces a su entrada. Al mismo tiempo, el siguiente bit del código de serie de entrada se almacena en el primer disparador del registro de serie (desplazamiento).

Después de la llegada del cuarto pulso de reloj, los disparadores del registro serial (desplazamiento) registrarán los niveles lógicos de los bits que estaban secuencialmente presentes en su entrada D0. Ahora estos bits se pueden usar, por ejemplo, para mostrar en indicadores.

Deje que llegue una señal a la entrada del registro en serie (desplazamiento), cuyo diagrama de tiempo se muestra en la Figura 3, luego el estado de las salidas de este registro tomará secuencialmente los valores registrados en la Tabla 1.



Figura 3. Diagrama de tiempo del registro de desplazamiento

En la Figura 3, junto con los niveles lógicos, se registran los valores de los bits que se transmiten a través de la línea de conexión o están presentes en las salidas del registro de desplazamiento.

número de medida 1 2 3 1
Q0 1 0 1 1
Q1 X 1 0 1
Q2 X X 1 0
Q3 X X X 1

Como ejemplo de la implementación de un registro en serie (desplazamiento), se puede nombrar el microcircuito doméstico 1564IR1 o el extranjero 74NS164.