¿Sabías que podemos contar con electrónica digital? Pues sí, podemos crear circuitos que cuenten, es decir que almacenen un número y lo vayan incrementándolo. Eso sí, todo tienen un límite y es que si un circuito es diseñado para contar desde 0 hasta 7, nunca podrá contar más halla  por si solo. En esta publicación te invito a hablar sobre un pequeño truco para hacer un contador ascendente.


Contador binario ascendente

Y ¿Cómo diseño un contador?

Los circuitos contadores son básicamente  máquinas de estados cíclicas, las cuales pueden ser diseñadas usando las técnicas normales y estandarizadas para diseñar este tipo de máquinas. Sin embargo hoy día es extraño pararse a diseñar una máquina de estados usando papel y bolígrafo, ya que muchos lenguajes optimizan los sistemas tras definirlos y cuando se trata de circuitos sencillos hay muchas ocasiones que te los sabes de memoria.

Bajo mi punto de vista es necesario conocer como se diseñan para tener una mejor perspectiva de los circuitos digitales y es por eso que en futuras publicaciones de Rincón Ingenieril hablaremos sobre el diseño de máquinas de estados, qué son y para que sirven.

En este artículo nos centraremos en un truco muy chulo que nos permitirá crear un contador ascendente, sin precarga ni acarreo, pero que a cambio es muy fácil de escalar y cuando digo fácil me refiero a muy fácil.

¿Escalar? pero ¿qué significa escalar?

En este contexto escalar significa incrementar los bits de salida del contador y con ello incrementar el máximo número al cual puede llegar la cuenta. Y como es un contador binario, por cada bit que añadimos a la salida, multiplicamos el máximo por 2

  máximo \ = \ 2^n

Siendo n el número de salidas.

Y ¿Por qué es importante escalar?

Imagina que quieres contar de 0 a 7, eso son 8 números por tanto usando la ecuación anterior necesitaré 3 bits de salida.

  8 \ = 2\ ^n \ \ \ \ ->\ \ \ \  n \  = \ 3

Pero ahora imagina que necesito un contador que pueda contar desde 0 a 255, pues entonces usando la misma ecuación, necesitaré 8 bits de salida.

Circuito base

El siguiente circuito es un contador ascendente sin precarga ni acarreo que se puede diseñar realizando una máquina de estados cíclica con 8 estados y usando biestables tipo T. Si te fijas el circuito es muy sencillo:

Conecta las tres entradas de enable entre sí, las tres de reloj entre sí y las tres de reset entre sí para poder manipular todos biestables a la vez. Por otro lado conecta la entrada del primer biestable a un estado alto (5v o 3.3v en caso de que lo estés montando en una protoboard).

¡¡Atent@!!

Recuerda que para que un circuito síncrono funcione, todos los biestables deben compartir la señal de reloj. Además los Reset son negados es decir, para hacer el reset debemos conectar el pin a 0.

La entrada del segundo biestable a la salida del primero. Coloca una puerta and y conecta su salida a la entrada del tercer biestable, una de las entradas de la puerta conéctala a la salida del primer biestable y la otra entrada a la salida del segundo biestable.

El MEGA truco para crear un contador ascendente

Escalar este circuito es muy sencillo puesto que lo único que hay que hacer es añadir una puerta y un nuevo biestable tipo T por cada bit de salida extra que queramos. Por ejemplo el siguiente circuito es de 4 bits de salida.

Para pasar el circuito de 3 bits a el de 4 solo tenemos que conectar la salida de la puerta and a la entrada del biestable, la salida del biestable será el nuevo bit más significativo. Una de las entradas de la puerta será la salida del biestable anterior (es decir, el tercero) y la otra entrada será la salida de la puerta and del biestable anterior (es decir, la entrada del biestable anterior, en este caso el tercero).

Cada vez que quieras añadir un nuevo bit de salida solo tienes que añadir un nuevo biestable tipo T, una nueva puerta AND y conectarlo como he descrito en el párrafo anterior. Si sigues con este truco puedes por ejemplo montar uno de los míticos contadores de 8 bits ascendente sin precarga ni acarreo, como el siguiente.

Los archivos

Recuerda que tienes todos los archivos de Icestudio en Github para que los bajes y puedas jugar con ellos, si lo montas no olvides publicar alguna foto o vídeo y etiquetar a Rincón Ingenieril en redes sociales.

Enrique Gómez

Ingeniero Electrónico Industrial y Automático, amante de la comunicación audiovisual y de la divulgación ingenieril y científica. Friki de Star Wars, cuenta más de lo que parece. Puedes saber más sobre mi y sobre mis trabajos en www.enriquegomez.me