sábado, 31 de marzo de 2012

CONTADOR BINARIO DE 4 BITS (PRACTICA 4)


Para esta ocasión PSoC En español propone la realización de un contador binario de cuatro bits, la idea es que a la salida de uno de los puertos del microcontrolador se pueda visualizar por medio de cuatro LED un conteo de 0 a 15 en el sistema binario.

En esta práctica se pretende que ustedes los lectores propongan sus propias soluciones para llevar a cabo el contador, ya que como en cualquier reto no existe una solución única e irrefutable sino que por el contrario se pueden llegar a encontrar una innumerable cantidad de soluciones cada una dependiente de la persona que se encuentre frente al reto.

Sin embargo acá se propone una solución sencilla basada en un ciclo for, una variable acumuladora y la posterior salida del valor de esta variable en un puerto configurado como salida, el código de este sencillo contador se muestra a continuación:

#include <m8c.h>       
#include "PSoCAPI.h"   
#include <delay.h>

void main(void)
{
int i;              // Variable acumuladora.
while (1)
{
for(i=0;i<=15;i++)  // Ciclo que cuenta entre 0 y 15 para el contador de 4 bits.
{
PRT2DR = i;         // Se escribe en el puerto 2 el valor de a variable i.
Delay10msTimes(100);       // Retardo de 1 segundo.
}
}
}


De esta manera se puede conseguir a la salida del puerto 2 un contador binario de 4 bits, sin embargo se insiste en la importancia de que los lectores propongan sus propias soluciones y de esta manera poder visualizar un espectro más amplio de posibilidades.

En el siguiente vídeo se muestra el funcionamiento que se espera obtener de la práctica propuesta para esta ocasión.


4 comentarios:

  1. La rutina delay10msTimes() ya esta incorporada en el compilador o es tuya?¡

    ResponderEliminar
    Respuestas
    1. Hola.
      Primero que todo gracias por visitar el Blog, en cuanto a la pregunta que me hace, la función delay10msTimes(), hace parte de una librería llamada delay.h que se puede descargar directamente de la página de Cypress, en el link que voy a dejar a continuación se encuentra una publicación anterior en la que se explica como usar la función y ademas se entrega el link desde donde se puede descargar:

      http://psocenespanol.blogspot.com/2012/03/uso-de-las-funciones-de-retardo.html

      Eliminar
  2. Disuculpe, ¿la cuenta se reinicia por si sola?

    ResponderEliminar
    Respuestas
    1. Hola buen día, si la cuenta se reinicia automáticamente, ya que quien entrega el valor que debe salir es la variable " i " que funciona como contadora del ciclo for, entonces una vez la variable alcance el valor máximo determinado en el ciclo se sale del mismo y cuando vuelva a ingresar al for la variable se vuelve a inicializar en cero.

      Eliminar