# Sistema de Control contador sincrono bidireccional



## leopaez21 (May 29, 2013)

Cordial saludo. Tengo este contador sincrono de 4 bits ascendente/descendente (bidireccional), el cual se encuentra funcionando, si la entrada de control se encuentra en 1 el contador realiza un conteo ascendente, si se encuentra en 0 el contador realiza un conteo descendente, el cambio de conteo se produce  a traves de la entrada de los relojes. Ahora bien deseo implementar en base a lo anterior un contador manipulado manualmente que ascienda y descienda, es decir que tenga un pulsador para ascender y otro para descender. Por ejemplo para controlar el numero de personas que entran y salen de una habitacion.
Ejemplo: arranca en 0 entra una persona, activo el pulsador de entrada, entra otra persona, activo nuevamente el pulsador, el contador de me registra 2 entradas, sale una persona activo el pulsador de salida y queda una persona. 
Espero haber sido claro.


Muchisimas gracias de antemano


----------



## MrCarlos (May 29, 2013)

Hola leopaez21

Agrega el circuito que se mira en la imagen adjunta.

saludos
a sus ordenes


----------



## leopaez21 (May 29, 2013)

Cordial saludo MrCarlos ya agregue el circuito y me funciona en forma descendente, manipulando el interruptor normalmente cerrado, pero no se como hacer para que el contador me funcione ascendente.
Tal vez no me he explicado bien, lo que se requiere es que por medio de un pulsador el contador  trabaje de forma descendete, y por medio de otro trabaje de forma ascendente, como quien dice 2 pulsadores uno para subir el conteo y otro para disminuir el conteo.


Muchas gracias por tu colaboración y atento a cuaquier ayuda....


----------



## MrCarlos (May 30, 2013)

Hola leopaez21

Dices: *lo que se requiere es que por medio de un pulsador el contador trabaje de forma descendete, y por medio de otro trabaje de forma ascendente,*

Si es así entonces el circuito que adjuntaste no te serviría. Ese es para contar con el botón de arriba y para cambiar de dirección de conteo es el botón de abajo.
Si presionas el botón de abajo cuenta en un sentido presionando el botón de arriba. I solo presionas el botón de arriba cuenta en el otro sentido.

saludos
a sus ordenes


----------



## leopaez21 (May 30, 2013)

Exacto, ya lo probe y funciona como tu lo dijiste, pero realmente quisiera que trabajara con los dos pulsadores, si tienes cualquiera ayuda me serviria, Muchas gracias por tu colaboracion.


----------



## MrCarlos (May 30, 2013)

Hola leopaez21

Podría ser como el que se mira en la imagen adjunta si no es una exigencia el hacerlo con Flip-Flop’s.
Ahora bien: para visualizar el número tendrás que hacer un decodificador de binario natural de 4 BIT’s a BCD de 2 Dígitos. En ambos casos: con Flip-Flop’s o con el 74LS193 que te adjunto.

saludos
a sus ordenes


----------



## leopaez21 (May 31, 2013)

Si la limitacion es que se debe hacer con flip flops, el segundo archivo no lo puedo abrir; el .dsn la verdad no se con que se abre. Gracias


----------



## MrCarlos (May 31, 2013)

Hola leopaez21

El archivo que te adjunte en mi mensaje #6 se abre primero con WinZip. Luego su contenido se abre con ISIS de Proteus.

Si la limitación es utilizar Flip-Flip’s entonces hay que desarrollar el contador con ellos.
Además, como te mencioné hay que desarrollar tambien un decodificador de binario natural de 4 BIT’s a BCD de 2 Dígitos.

saludos
a sus ordene


----------



## leopaez21 (Jun 1, 2013)

Gracias, ya lo pude abrir. Realmente debo hacerlo con flip flops, y la parte de la decodificacion de  binario de 4 bits a display 7 segmentos ya la tengo casi montada con un 74LS47. 


Gracias


----------



## leopaez21 (Jun 5, 2013)

Alguna otra forma de implementar el sistema de control para hacer descender o ascender el contador ?????
Le agradeceria a quien me pudiera colaborar 
Muchas gracias !!!!!


----------



## MrCarlos (Jun 5, 2013)

Hola leopaez21

Probablemente ya encontraste otra forma de hacer ese contador.
Analiza las hojas de datos del 74LS193. encontrarás su circuito a nivel compuertas y Flip-Flip’s.
Eso te dará una idea de cómo desarrollar tu contador.

saludos
a sus ordenes


----------



## leopaez21 (Jun 6, 2013)

Cordial saludo lo voy a estudiar y te comento


Gracias !!!!!!!


----------



## MrCarlos (Jun 7, 2013)

Hola leopaez21

Supongo que después de 1 Día (Hoy 07/Jun/2013) ya tienes desarrollado tu circuito.
Fíjate en el circuito contenido en la imagen adjunta. Lo desarrollé basado en la hojas de datos del 74LS193.
Quité todo lo que no se utiliza para tu caso.

Probablemente no se distinga bien el circuito es esa imagen pero en el archivo .ZIP que te adjunto está la simulación para el ISIS de proteus.

Espero te sirva.

saludos 
a sus ordenes


----------



## leopaez21 (Jun 10, 2013)

Muchisisisimas gracias MRCarlos, gracias por toda su colaboración, todo esta perfecto. Estoy que me parto la cabeza con un problema, que me recomienda para un circuito de 0 - 10 Ascendente/descendete con el mismo sistema de activacion que usted me ayudo a desarrollar: 1 pulsador para ascender y uno para descender, para esto estaba pensando en el 74190 o el 74193. El primero es sencillo ya que cuenta de 0 - 9 seria agregar el 10, pero tiene una sola entrada para UP/DOWN, el segundo tiene dos entradas una para UP y otra para DOWN, pero es un contador de 0 - 15 y necesito nada mas de 0 - 10. Que dilema
Gracias por toda la colaboracion.


----------



## MrCarlos (Jun 11, 2013)

Hola leopaez21

Se requiere plantear todos los requerimientos del circuito que queremos en forma muy entendible.
Contador ascendente descendente de 00 a 10 con un botón para cada función ascendente, descendente.
Que muestre la cuenta en 2 Display’s de 7 segmentos en formato decimal.
Un circuito como lo descrito con el contador 74LS190 y otro con el contador 74LS193.
Creo que sería todo lo descriptivo posible.

Necesitamos saber perfectamente qué tipo de contadores son y cómo funcionan.
Para ello necesitamos estudiar sus hojas de datos las cuales las podemos conseguir en este enlace: [/COLOR]http://www.alldatasheet.com/
O de cualquier otra página de nuestra preferencia.

Suponiendo que ya estudiamos las hojas de datos:
Para hacer ese contador con el 74LS190 requerimos 2 de ellos, uno para las unidades otro para las decenas.
Se conectarían en cascada: la salida RCO(13) del contador de las unidades, a la entrada CLK(14) del contador de las decenas.

La entrada E(4) de ambos contadores se conectarían a GND(Tierra, Masa) para que los contadores siempre estén habilitados = listos para hace su trabajo. 

Puesto que este contador tiene una entrada U/D(5) necesitamos “Memorizar” qué Botón se presionó.
Para hacer esta función de memorizar podemos utilizar un Flip-Flop que tenga entradas R(4) y S( 6) como por ejemplo el 4013.
Utilizaremos su salida Q para “decirle” a los contadores que queremos que cuenten en forma ascendente o descendente.

Este contador solo tiene una entrada CLK(14) así que cualquier botón que se presione debe llegar un pulso de transición positiva. 
En reposo, esta entrada CLK(14) debe estar a nivel bajo.
Quiere decir que: botón UP OR botón DN --à pulso positivo a CLK(14).
Entendible. . . cierto ??
Con una compuerta OR de 2 entradas podemos lograr este objetivo ya que 1 OR 1 da 1 a su salida.
Pero. . .  hay un detalle: primero debe llegar la señal U/D(5) y luego la del CLK(14) así que con un pequeño capacitor de la salida de la OR a tierra y una resistencia hacia el positivo podemos “Retardar” un poco esa transición positiva del pulso a contar.

Ahora viene lo que pudiera ser más complicado:
Contando ascendentemente:
00 01 02 03 04 05 06 07 08 09 10 11, en este preciso instante hay que restablecer los contadores a 00.
Contando descendentemente:
10 09 08 07 06 05 04 03 02 01 00 99, en este preciso instante hay que restablecer los contadores a 10.
Quiere decir que:
Contando hacia arriba hay que restablecer a 00 cuando llegue a 11.
Contando hacia abajo hay que restablecer a 10 cuando llegue a 99.
Sabemos porque estudiamos que estos contadores tienen 4 entradas D por donde se programa algún número BCD entre el 0 y el 9 y que esos D(atos) pasarán a sus Q’s después de aplicar un pulso de transición negativa a su entrada PL(11).
Así que cuando está contando hacia arriba hay que programar 0000 0000 en sus entradas D.
...........Cuando esté contando hacia abajo hay que programar 1000 0000 en sus entradas D.
Esto lo logramos conectando D0(15) del contador de las decenas a la entrada U/D(5), ya que entrada, cuando está contando hacia abajo, es nivel alto 1. todas las demás D’s se conectan a GND(Tierra, Masa).

Creo que ya puedes continuar con este contador; prácticamente solo le falta los decodificadores BCD a 7 segmentos, las resistencias limitadoras para cada segmento y los propios Display’s.
Estos dispositivos los puedes encontrar en la columna nombrada *DEVICES*
74LS47, RES16DIPIS, 7SEG-COM-CAT-GRN.
Edita las propiedades de RES16DIPIS para darles un valor de 350R ya que los Display’s del ISIS de Proteus tienen las siguientes características: VF = 1.5 Volts, IF = 10mAmp. Y como estamos polarizándolos con 5 Volts entonces la formula seria: (Vcc – VF) / IF = R.

saludos
a sus ordenes
PD: otro día haremos el contador ascendente descendente de 00 a 10 con el contador 74LS193. Tú dices cuando.


----------



## RAFAMCY (Nov 20, 2014)

Buenas tardes, me fue asignado un proyecto parecido a los que se mencionan en este Post, especificamente al del mensaje #13, ya que una de las especificaciones es implementar FLIP FLOP, no puedo utilizar ningun contador integrado como el 192, solo Flip flop JK tipo D o tipo T

Las especificaciones son:
-Realizar un contador Ascendente/Descendente con Flip Flop de (2 a 13) / (13 a 2)
-Adaptar dicho circuito a un sistema de estacionamiento. (Osea el contador va a Ascender a la entrada de un vehiculo y descender cuando salga un vehiculo)
-Mostrar el conteo en 2 display 7 segmentos


Yo estuve realizando las tablas de verdad implementado FLIP FLOP JK, (las cuales adjunto al post) y la tabla de detector de Maximos y Minimos.

Seria de gran ayuda si me pueden dar ideas de como realizar dicho circuito, y como cumplir con todas las especificaciones


----------

