74hc595

Publicado el 28 diciembre 2013 por Practicandoarduino @PracticaArduino

Vamos a ver como funciona este registros de desplazamiento y para que sirve.

Por ahora hemos hecho tutoriales básicos, en los que necesitamos pocos pins de nuestra placa Arduino, con la cual podemos usar 14 salidas digitales (pins del 0 al 13) y y 6 analógicas (pins del A0 al A5), pero y si necesitamos más, no podríamos hacer nuestro proyecto salvo que usemos un registro de desplazamiento, por ejemplo el 74HC595, que es un registro de desplazamiento de 8 bits, lo que quiere decir que nos da 8 salidas. Este chip se controla con tan solo 3 pins de nuestra placa, por lo que ganamos 5 pins adicionales, con la ventaja que podemos unuir varios 74HC595, lo que aumenta considerablemente el número de salidas que podemos controlar, a costa de 3 pins podemos usar 8·X pins.
Aque teneis el esquema del circuito:

Veamos como estan distribuidas las patillas:

Como vemos tiene 16 patillas, de las cuales 8 son las salidas, que van desde Q0 a Q7 (patillas 15 y de la 1 a la 7). La patilla 8 es GND, seguro que sabeis donde va conectada. La patilla 9 es Q7′, en ella conectaremos otro chip si queremos controlar más salidas, de forma que el primer byte pasaría por ahí al segundo chip (al segundo le podemos hacer lo mismo con otro en esta patilla y así sucesivamente). La patilla 10 es MR, la cual conectaremos a +Vcc. La patilla 11 es SH_CP, el reloj, se encarga de controlar frecuencia del registro. La patilla 12 es latch, ST_CP, es la primera y la útima en activarse, su función es permitir la recepción de datos y una vez recibidos, enviarle la orden a las 8 salidas para que respondan a la información enviada. La patilla 13 es OE, Output Enable negado, va conectada a tierra. La patilla 14 es DS, los datos, son los datos en serie que enviaremos desde nuestra placa para que se repartan por las salidas. Y por último Vcc que va conectado a 5V.

Veamos ahora como funciona, los pins encargados de gestionar los datos son latch (12), clocl (11) y data (14). Primeramente nuestro registro está a la espera de que llegen los bits, es decir latch=0 y clock=0; cuando empiezan a llegar bits, le pasamos el bit (0 ó 1 a data) y a clock le pasamos un 1 y un 0, con todo esto hemos grabado en la posición actual (pongamos que estamos en la 0) un 0 o un 1 dependiendo de lo que reciba data y a clock le hemos dicho que avance una posición, por ejemplo:
Si estamos en la posición 0, y a data le pasamos un 1 y a clock un 1 y un 0, es como decir grábame en la posición 0 un 1 y pasa a la siguiente posición.
Esta operación la hacemos 8 veces (74HC595 es de 8 bits) y pasamos 1 a latch, lo que produce la salida del byte almacenado en el registro.



style="display:inline-block;width:728px;height:15px"
data-ad-client="ca-pub-3868159888315364"
data-ad-slot="7639712738">

PracticandoArduino