TODOPIC

Otros Microcontroladores / Dispositivos programables => Microcontroladores 8 bits => Mensaje iniciado por: sfsolitario en 24 de Febrero de 2018, 07:37:21

Título: ayuda con 74hc164
Publicado por: sfsolitario en 24 de Febrero de 2018, 07:37:21
hola gente del foro, me cambie de picbasic a avr bascom y estoy aprendiendo a golpes, mi pregunta es: quiero ampliar las salidas de un atmega 328  y para eso estoy usando un 74hc164 , el problema que tengo es que cambio un determinado bit de una variable por ejemplo la variable Z, y la envio  con el comando :Shiftout Dato_74164 , Clock_74164 , Z  para que se encienda un led conectado al integrado 74hc164, el problema que tengo es que si cambio por ejemplo el bit 3 de la variable Z en la salida se encienden los bit del 0 al 3 y no solo el que yo cambie el valor, y asi con cada bit que cambio, se me encienden tambien los anteriores al bit  elegido, en donde me estoy equivocando? desde ya muchas gracias y saludos a todos, gracias a sus ejemplos pude aprender muchas  cosas
Título: Re:ayuda con 74hc164
Publicado por: KILLERJC en 24 de Febrero de 2018, 08:36:23
No utilizo bascom o picbasic, pero el problema esta en el 74hc164, deberias tener un shift register que permita mantener las entradas iguales mientras pasan los bits.

El 74hc164 lo que entra pasa es decir si vos envias 1000 0000 siendo Q7 el 1, entonces va a encender desde Q0 hasta Q7, si vos tenias en el shift register 0000 0001 y le enviaste 0000 0010
tienen que pasar los 8 bits, por lo tanto se van a encender todos y luego Q0 para quedar finalmente en Q1.

Si tuviera una salida de alta impedancia, podrias ponerlo de esta forma mientras ocurre el desplazamiento, lo malo es que estarias apagando todos los leds solo para ese momento.
Sino lo mejor es tener un "latch" entonces son circuitos separados, los datos de salida se toman del latch, y mantienen su valor hasta que le des un pulso, el latch toma el dato del shift register. Entonces mientras vos no des pulso de latch podes enviar todo lo que quieras que no se va a mover los valores.

El 74HC594 posee "latch" o registro de salida
El 74HC595 posee "latch" y ademas permite poner las salidas en alta impedancia.