Vous êtes sur la page 1sur 9

Facultad de Ingeniera

Departamento de Ingeniera Elctrica

Informe Tarea 6: Registros de desplazamiento


Microcomputadores

Grupo: 1

Registro serie paralelo


Este tipo de registro convierte datos binarios en serie a un formato tipo
paralelo, cuyos datos estn sincronizados a una seal de reloj. En este registro

se dispone de la salida de cada biestable, esto permite representar los bits


almacenados al mismo tiempo, cada uno en su respectiva salida.

El registro serie paralelo utiliza una cadena de biestables tipo D, en la que la


cadena de bits se hace entrar por el primer flip flop y se va desplazando a la
derecha, por lo que dependiendo de la secuencia de pulsos regulares (ciclos del
reloj) se tendr en cada salida el dato ya transformado a paralelo.

Registro 74HC595
Descripcin
Este integrado se define como un "registro de desplazamiento de 8 bits con
entrada serie, salida serie o paralelo con latch ("Registro guardado") de 3
estados.. Entonces puede usarse para controlar 8 salidas simultneas usando
unos pocos pines del microcontrolador (SERIAL). Se pueden colocar varios
integrados de manera que ampliamos el nmero de salidas hasta las
necesitadas.

Terminales
Pines 1-7, 15
Pin 8
Pin 9
Pin 10
Pin 11
Pin 12
Pin 13
Pin 14
Pin 16

Salidas
-V, VSS, 0 [v],tierra
Salida serial
Reset maestro, activo en 0
lgico
Shift register Clock pin
(reloj)
Storage register clock pin
(Lacht)
Output enable, activo en 0
lgico
Entrada serial de datos
Voltaje positivo, 5 [v]

Funcin ShiftOut
La funcin shiftOut lo que hace es pasar un valor entero que queramos a
codificacin binaria, de forma tal que a cada salida se le asigna un 1 o un 0. Por
ejemplo, si pasamos el nmero 3 que en binario 1 byte sera el 00000011
entonces tendramos las salidas S0 y S1 activadas y las salidas S2 S7
desactivadas. Tambin debemos indicar en la funcin shitOut si la informacin
que pasamos es Little endian o Big endian. Esto significa que el primer bit
que pasamos es el de la cifra menor o es el de la cifra mayor.
Sintaxis
shiftOut(pinDatos, pinReloj, ordenBits, valor)
Parmetros:
valor: los datos que rotar. (byte)
pinDatos: el pin en el cual extraer cada bit (int)
pinReloj: el pin que hay que conmutar cada vez que a un pinDatos le ha sido
enviado el valor correcto (int)
ordenBits: en qu orden desplazar los bits; si hacia el MSBFIRST (bit ms
significante primero) o hacia el LSBFIRST (bit menos significante primero).

Problema de leds desplazndose


Para el circuito siguiente:

Se planea hacer que los leds del vayan brillando desplazndose de derecha a
izquierda primero, y luego de izquierda a derecha para repetir el ciclo
nuevamente, siempre y cuando el switch se encuentre cerrado.
Como el registro entrega en su salida el nmero registrado en formato binario,
el nmero que encender solo el led conectado a Q7 es 128 (10000000 en
binario), el nmero que encender solo el led conectado a Q6 es 64 (01000000
en binario), y as sucesivamente, hasta encender el led conectado a Q0
guardando un 1 en el registro (00000001 en binario).
Para la solucin de este problema, se decide usar dos ciclos for, uno para ir
bajando el nmero enviado al registro (128, 64, 32), y otro para irlo subiendo
(1, 2, 8), adems de la instruccin shiftOut(), casi esencial para el manejo del
registro (hacer uso del registro sin esta instruccin requiere mucho ms cdigo
para generar la seal de reloj y enviar los datos en formato binario). Tambin
en el cdigo se maneja el pin latch del registro, para indicarle al registro
cundo se le mandan y se le dejan de mandar datos. Primero se dar a conocer
el diagrama de flujo:

Aqu se pueden apreciar los ciclos for de bajada y de subida del nmero
enviado al registro, pero se obvia el uso del pin latch del registro (se asume en
enva num al registro). Con esto, el cdigo se comprende mejor, notando que
no hace que el registro prenda dos veces el mismo led con las condiciones de
los ciclos for (num vale 128 una sola vez, al inicio del loop, y vale 1 una sola
vez al inicio del segundo ciclo for).

El cdigo se muestra a continuacin:

Como se ve en el cdigo, los leds comienzan a desplazarse de derecha a


izquierda cuando el pin 8 se encuentra conectado a 5v (switch cerrado),
mediante la divisin sucesiva por dos, desde 128 hasta 1 para obtener los
nmeros binarios que encienden slo un led del circuito, y luego se multiplica
sucesivamente por dos desde 1 a 128 para ir de izquierda a derecha
encendiendo un solo led.
Los bits que van llegando quedan almacenados en orden en Q0 a Q7, siendo el
primer bit que llega el que queda almacenado en Q7, y el ltimo el que queda
almacenado en Q0. Por sta razn, se utiliza el comando MSBFIRST para
encender primero el led de la derecha, envindole el bit ms significativo de la
secuencia 10000000 en primer lugar al Shift Register.

Conclusin
Luego del trabajo realizado en este informe se puede decir que se cumplieron
con los objetivos, ya que se realiz un programa donde se desplaz el led,
partiendo por su diagrama de flujo que, si bien es lo primero que se debe
realizar en el planteamiento de un problema, es importante ya que es la
explicacin de lo que se realizara en la parte de programacin del arduino en
este caso. Se puede decir adems que el Shift Register es muy til en el
desarrollo de proyectos cuando se requieren mltiples pines, como por
ejemplo para leds, ya que en el caso de arduino, se dispone de pocos pines
para conectar dichos leds.

Vous aimerez peut-être aussi