MicroCode Studio & PBP: Contador ascendente y descendente de un dígito 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 y pulsadores para visualizar los números del 0 al 9. Además es una pequeña demostración de la gran cantidad de formas en las cuales podemos utilizar el ya conocido PIC16F84A.

Circuito:
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.


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 con sus respectivos capacitores de 22pF, además se tienen 2 pulsadores conectados al puerto A del PIC, el primero conectado a RA0 y es el que se utiliza para incrementar el conteo, el segundo conectado a RA1 y se utiliza para decrementar, para el Reset se tiene conectado otro pulsador en el pin Master Clear con su 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:


Código:
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:
Se declara el puerto A como entrada y B como salida, se declara la variable DIGITO, se inicializa PORTB=63 para que en el display se visualice un cero, se inicializa la variable DIGITO=0. Se tienen dos condicionales, la primera revisa el estado de RA0 si este es pulsado aumenta el conteo, el segundo revisa a RA1 y si es pulsado decrementa el conteo. 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. Cada que se presiona un botón se tiene un retardo para evitar el antirrebote que pueda tener el botón.

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
  • 10 Resistores de 330Ω
  • 3 Pulsadores
Descargas:
      Aquí el enlace directo para DESCARGAR los archivos disponibles, también puedes revisar o descargar la información desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.


      Donaciones:
      Si te gusta el contenido o si los recursos te son de utilidad, comparte el enlace en tus redes sociales o sitios donde creas que puede ser de interés y la otra puedes ayudarme con una donación para seguir realizando publicaciones y mejorar el contenido del sitio. También puedes hacer donaciones en especie, ya sea con componentes, tarjetas de desarrollo o herramientas. Ponte en contacto para platicar, o puedes volverte uno de nuestros sponsors.


      Pido una retroalimentación avisando cada que un enlace no sirva o tenga errores al momento de abrirlo, así también si una imagen no se ve o no carga, para corregirlo en el menor tiempo posible.

      Publicar un comentario

      0 Comentarios