Como Hacer Un Contador

#1
En esta ocasión, se verá como hacer un contador a base de Flip Flops (FF), y este proporcionará la salida que deseemos.

Es por muchos ya sabido que conectando las salidas Q de cada FF a la entrada de Reloj del siguiente FF se puede construir un Contador Binario.

El problema es cuando queremos que esa cuenta tenga valores específicos.

Para ejemplificar, haremos un contador de código Gray de 3 bits

Primero, si es de 3 bits solo se ocupan 3 FF.

1.- Hacemos la tabla de estados para las entradas JK que proporcionarán la salida deseada al siguiente pulso de reloj.



La tabla anterior, puede comprobarse en la siguiente animación, en la cuál las entradas marcadas en la tabla producen la salida deseada.



2.- Ahora hacemos la lista de las salidas que deseamos (toda la cuenta del código) y también agregamos en que estado deben de estar JK de cada FF para producir la siguiente salida. (Ojo que no es poner las entradas para el estado actual sino poner las entradas que producirán el estado siguiente o de abajo).



3.- Ahora hacemos reducción de Mapas de Karnaugth para cada entrada tanto J como K de cada FF, determinadas por las salidas anteriores de la cuenta.



En base a la ecuación booleana obtenida de cada reducción, se hace ese circuito lógico en la entrada correspondiente. Y Finalmente nos queda así.



Y eso sería todo, fácil no creen?

Saludos y cualquier duda aquí estamos


*****************************************************************
Agregaré Algunos Links De Otros Contadores Realizados En EL Foro

https://www.forosdeelectronica.com/f25/contador-creciente-decreciente-up-down-136/
https://www.forosdeelectronica.com/f25/contador-pulsos-466/
https://www.forosdeelectronica.com/f25/contador-0-99-74190-a-468/
https://www.forosdeelectronica.com/f25/contador-8-bits-570/
https://www.forosdeelectronica.com/f25/contador-cancha-basquet-585/
https://www.forosdeelectronica.com/f25/contador-programable-ascendente-descendente-439/
https://www.forosdeelectronica.com/f25/contador-vueltas-circuito-slot-1132/
https://www.forosdeelectronica.com/f25/contador-0-45-32-a-1205/
https://www.forosdeelectronica.com/f25/contador-pares-impares-1201/
 
#2
Mi duda es como hacer este contador ascendente y descendente mediante una señal de control UP/down. Pero de 4 bit en lugar de tres.

El problema viene cuando quiero simplificar por Karnaugh las 5 variables de entrada.
 
#3
Tika dijo:
Mi duda es como hacer este contador ascendente y descendente mediante una señal de control UP/down. Pero de 4 bit en lugar de tres.

El problema viene cuando quiero simplificar por Karnaugh las 5 variables de entrada.
Hola, cuando las entradas ya son muchas, se utiliza un método de simplificación que no recuerdo como se llama algo así como Macmilson o algo así.

De cualquier manera hay programas que simplifican los diagramas boleanos, busque en el foro un archivo llamado boole.zip

Saludos
 
#4
lo kieres hacer con cktos combiancionales , te recominedos q te incline spor usar cktos integrados como el 74Ls192 (un contador bcd) , en este foro hasy variso eskemas , muy buenso q podrias tomar como ejemplo , peor si lo kieres hacer con compuertas y F/Fs te recomiendo q buskes un soft q simplifike funciones logicas ,
+saludos
 
#5
Si lo necesito con basculas FF(JK), es para un trabajo ke tengo ke entregar para la faciltad.
La verdad que me estais sirviendo de mucho, gracias.
 
#7
Hola amigos del foro
bueno no soy un capo en digitales pero quiero hacer un contador .. mas bien un acumulador ...no es la definicion correcta creo pero la idea es esta....
tengo cuatro luces apagadas, y un pulsador.... cuando presiono el pulsador una vez, debe encender el primer foco, luego si presiono otra ves el pulsador debe encederse el primero y el segundo, y asi hasta que se enciendan los cuatro focos con cuatro pulsaciones del pulsador.... cuando presione por quinta ves el pulsador, debeera apagarse todas las luces. y cuandos presione otra ves el pulsador comensara de nuevo a encenderse los las luces...... algo asi como ir encendiendo las luces uno por uno pero con un solo pulsador.....

como lo puedo hacer
 
#8
Johnnybravo dijo:
Hola amigos del foro
bueno no soy un capo en digitales pero quiero hacer un contador .. mas bien un acumulador ...no es la definicion correcta creo pero la idea es esta....
tengo cuatro luces apagadas, y un pulsador.... cuando presiono el pulsador una vez, debe encender el primer foco, luego si presiono otra ves el pulsador debe encederse el primero y el segundo, y asi hasta que se enciendan los cuatro focos con cuatro pulsaciones del pulsador.... cuando presione por quinta ves el pulsador, debeera apagarse todas las luces. y cuandos presione otra ves el pulsador comensara de nuevo a encenderse los las luces...... algo asi como ir encendiendo las luces uno por uno pero con un solo pulsador.....

como lo puedo hacer
La primera parte de su circuito, se logra con un registro de corrimiento, ya sea qu elo haga con FF tipo JK o tipo D, ahora, solo ocupa hacer un detector del número 4, y este se logra con compuertas que detecten cuando los 4 bits estén en alto. CUando esto ocurra se genra una salida en alto o bajo dependiendo del FF que utilice, pero esta salida servirá de reset y se apagarán todos los bits.

Saludos
 
#9
hola amigos

los felicito por este tipo de foros, cuando yo hice un ramo de digitales no estaba este foro.

El metodo por el cual se simplificar tablas de verdad que tengan muchas variables es el metodo de quine mccluskey. Es bueno hecharle una mirada para ver como funciona, pero la gracias de este es que funciona como un algoritmo y se encuentran varios programas en la red para manejarse con este.

saludos
 
#10
necesito ayuda para hacer un contador que inicie en cualquier número que se le dé (preset) y que sea ascendente y descendente cuando se requiera. el problema que tengo es que este circuito es del 0-15 por lo que cuando llega al número 10 el display marca digitos aleatorios me gustaría saber como hago para que por ejemplo cuando sea ascendente sea el número máximo el nueve se regrese a cero y asi, y por el otro lado que cuando sea descendete el número donde inicie y el máximo sea el 9, también si me pueden ayudar por favor con la salida ripple out clock según tengo entendido es la que conectará en paralelo los demás 74191 pero no estoy completamente seguro

gracias de antemano
 
#11
para lo primero que dijiste aqui mismo que lo ensenaron, tienes que hacer tu circuito noral de 0 a 9 y juntar las salidas para formar el numero 15, interconetarlas y mandarlas a PL.

de esta forma cada que el contador llegue a 0 y regrese a 15 saltara hasta el numero que programaste en la entrada.

si necesitas algo de información tal vez en cuentres en el tema de contador de 0 a 99. hay me ayudaron a mi y ls circitos son muy parecidos
 
#14
Yo este no lo he usado, pero no parece complicado, metes las vcc, masa, y ponesCE=0, S=1, SEL U/D=0 y ya esta contando como un campeón, para el load tienes que poner el S=0, mírate el datasheet, ya sabes la salida en binario. Si hablo chino avisa, no se si estas familiarizado con el patillaje.

Saludos
 
#15
first dijo:
Yo este no lo he usado, pero no parece complicado, metes las vcc, masa, y ponesCE=0, S=1, SEL U/D=0 y ya esta contando como un campeón, para el load tienes que poner el S=0, mírate el datasheet, ya sabes la salida en binario. Si hablo chino avisa, no se si estas familiarizado con el patillaje.

Saludos
Se me olvidaba lo mas importante tienes que meter el pulso por CLK o no hay na que hacer :D
 
#16
Bueno el 74ls191 es un contador modo 16 asi que normalmente cuenta de 0 a 15, pero tiene un pin que se llama PL(carga en paralelo), lo que este pin hace es cargar el numero que tu le indiques a traves de unos dip switches en los pines D0...D3, este PL es activo en nivel bajo.

Ya sabiendo esto haremos lo siguiente, cuando el contador llega a 10 en las salidas Qs que normalmente se conectan a un decodificador se generan una serie de bits que indican el numero 10 en binario, la idea es tomar los 4 bits y convertirlos en uno solo que sea un 0 para lo cual utilizamos las compuertas logicas y una vez extraido el 0 lo enviamos al PL. En las entradas D0...D3 escribiremos el numero que queremos cargar, en esta caso el 0(podria ser cualquiera) y ya esta, un contador de 0 a 9 con 74ls191. Te voy adjuntar el plano del circuito para que te quede mas claro.
 

Adjuntos

#19
aniebuhr dijo:
hola

Como puedo hacer un contador con un 74ls193 pero que al llegar al 9 no pase de ahi hasta que le resetees manualmente?

Gracias
Hola, puede utilizar un OR en la entrada de Reloj, una entrada se alimenta con el reloj, y la otra con una AND que detecte el estado 9.

Saludos
 

Temas similares

Arriba