Contador Programable

Se desea establecer un contador programable con limites
El Funcionamiento debe funcionar de la siguiente manera:
Al oprimir el botón A de un teclado matricial de 4x4 , se debe establecer el Limite Inferior , posterior a oprimir el botón A, se debe oprimir un numero del 0 al 9 . para establecer el limite anteriormente mencionado.
Luego de esto, se debe oprimir el botón B, que indicara el Limite Superior, A<B por ende este debe ser si o si mayor al otro, este limite generara el tope de una secuencia.
Después de esto se debe escoger la orientación de la secuencia, si esta va de menor a mayor, o viceversa .




Figura 1. Habilitadores de Banco A, Banco B , Ascendente, Descendente.


El habilitador de nuestro banco de memoria A consiste en una compuerta lógica NAND , que habilitara el Acceso mediante el código 1010,  El habilitador de nuestro banco de memoria B consiste en una compuerta lógica NAND , que habilitara el Acceso mediante el codigo 1011,  El habilitador de nuestro proceso Ascendente consisten en una compuerta logica NAND , que habilitara el Acceso mediante el codigo 1111 y  el habilitador de nuestro proceso Descendente consisten en una compuerta logica NAND , que habilitara el Acceso mediante el código 1110.

Figura 2. Bancos de memoria A y B


Los datos ingresados se almacenaran en un banco de memoria en paralelo de 4 bits , cuyo reloj se enfatizara netamente en la salida de los ENABLE A y B dependiendo del tipo de memoria, como se pudo visualizar claramente , cuando el código del enable es el buscado este enviara un 1 lógico, lo cual permitirá un flanco de subida , lo cual habilitara nuestros Flip Flop.


Figura 3. Habilitador de 3 segundos


Para realizar el proceso de desplazamiento, se tiene que oprimir de manera continua el botón deseado para realizar el conteo deseado, por este motivo en caso de que se oprima durante 3 segundos el botón de desplazamiento, este generara de manera automática el desplazamiento seleccionado.


Figura 4. Proceso de Ascendente o Descendente

Después de que se establecieran los limites y la dirección deseada, a partir de Sumadores Completos de 4 bits , Restadores de 4 bits y Comparadores de 4 Bits se realiza el proceso de ascendente y descendente , tras haber habilitado el proceso ascenderte , se realizara una suma entre A y un contador completo cuyo reset se habilitara cuando A=B, por ende nuestros limites estarán establecidos y no se alteraran, con un proceso similar en el proceso descendente con un contador básico de 4 bits ,se sustraerá al numero B  hasta que se cumpla la condición de B=A.





Vídeo explicativo: