CONTADOR DE 0 A 9 CON PIC16F84A

Siguiendo con las prácticas en Pic Basic Pro y utilizando el MicroCode Studio para nuestros Microcontroladores PIC, en esta ocasión utilizaremos un Display de 7 Segmentos para visualizar los números del 0 al 9 de manera que haremos un contador, fácil de realizar. Además es una pequeña demostración de la gran cantidad de formas en las cuales podemos utilizar el ya conocido PIC16F84A.

Algo que tenemos que tener en cuenta es que el código cambia dependiendo si usamos un display de ánodo común o de cátodo común. En este caso lo veremos con un display de cátodo común, lo que nos dice que para que algún segmento encienda el pin tiene que recibir un 1 lógico. Por lo tanto para saber qué es lo que deseamos ver en el display necesitamos que el puerto B del PIC o salidas (RB0-RB7) tengan 1 lógicos ó 0 lógicos.

Como lo que queremos ver en el display con los números del 0 al 9 tenemos la siguiente tabla que nos mostrara mejor lo antes mencionado. También se muestra los números en decimal, hexadecimal y binario esto nos será útil al momento de realizar la programación, que son las tres formas de mandar datos al puerto B de nuestro PIC.

TABLA DE VERDAD DISPLAY DE 7 SEGMENTOS CON PIC

El circuito es sencillo  consta de un display de 7 segmentos de cátodo común conectado al puerto B del PIC16F84A con sus debidas resistencias y también su oscilador a 4MHz cons sus respectivos capacitores de 22pF, en este ejemplo no se utiliza el Master Clear por lo que nada mas tiene una resistencia a Vcc para que el PIC trabaje adecuadamente. Recordar que los pines de alimentación del PIC son: 5 para GND y 14 para Vcc=5 Volts.

El circuito se muestra a continuación:

 CONTADOR DE 0 A 9 CON PIC16F84A

El comando que se utilizara para mostrar el valor en el puerto B es LOOKUP el cual puede ser usado para obtener valores de una tabla de constantes de 8 bits en este caso utilizaremos la variable DIGITO. Los valores que irán dentro de LOOKUP en este ejemplo serán en forma hexadecimal para ello el compilador requiere que se utilice el símbolo “$”, si se quisiera utilizar los números en binario se debe de agregar el “%” y para los decimales solo basta escribir el numero tal y como es, estas tres posibilidades deben de ir separadas por comas.

El código en Basic para este circuito es el siguiente:

TRISB = 0
DIGITO VAR byte
PORTB = 0

INICIO:
    DIGITO = 0
CONTADOR_MAIN:
    lookup DIGITO, [$3F, $06, $5B, $4F, $66, $6D, $7D, $07, $7F, $6F, $3F], PORTB
    DIGITO = DIGITO + 1
    pause 1000
    if DIGITO = 10 then INICIO
goto CONTADOR_MAIN
END

Se declara el puerto B como salida, se declara la variable DIGITO, se inicializa el puerto un cero, etiqueta de inicio y luego inicializa la variable, etiqueta de CONTADOR_MAIN que es la principal y es la encargada de hacer el conteo e ir incrementando.

 La instrucción LOOKUP va mostrar una variable DIGITO en el puerto B y se tiene la siguiente sintaxis:

LOOKUP DIGITO, [$3F, $06, $5B, $4F, $66, $6D, $7D, $07, $7F, $6F, $3F], PORTB

Se utiliza la variable DIGITO para saber que dato es que se va a mostrar recordar que esta variable, después de mostrar se incrementa en uno, después de le coloca un retardo de 1 segundo para visualizar el display, si el valor se pasa de 10 la variable DIGITO vuelve a ser cero y empieza el conteo otra vez.

Dejo la lista de material para poder realizar este ejemplo y seguir aprendiendo de la programación.

MATERIAL:

  • 1 PIC16F84A
  • 1 Display de 7 segmentos de cátodo común
  • 1 Cristal de cuarzo de 4MHz
  • 2 Condensadores de 22pF
  • 8 Resistores de 330Ω

Dejo el video del circuito en funcionamiento

Dejo el enlace para la descarga de toda la informacion en formato PDF, así como el código fuente y el archivo.HEX

Download_Button

About these ads
Etiquetado , , , , , , , , , , , , , , , , , , , ,

Deja aqui tus comentarios, dudas, sugerencias, traumas o inquietudes y lo mas pronto posible tendrás una respuesta.

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

%d personas les gusta esto: