PIC18F25K22 & XC8: Interrupción del TIMER0 - Uso de la herramienta MCC (MPLAB Code Configurator)


Anteriormente ya se había realizado esta practica o ejemplo, lo diferente es esta ocasión es que utilizaremos el MCC (MPLAB Code Configurator) para configurar el TIMER0, así que lo primero que veremos es como habilitar esta herramienta.

Instalación de MPLAB Code Configurator.
Este se puede instalar desde el menú Tools / Plugins en el MPLAB X IDE.
  • Seleccione el menú "Tools", luego clic en "Plugins".
  • En la ventana de complementos, haga clic en la pestaña "Avaliable Plugins".
  • Seleccione "MPLAB Code Configurator" y haga clic en Install.
  • En la ventana que sale dar "Next" y esperar a que termine.

Al finalizar la instalación te pregunta si deseas reiniciar el IDE, lo haces y listo ya puedes crear un proyecto para poder iniciar con el uso de MCC.

Comenzando a usar el MCC:
El primer paso es crear un proyecto, para esto el asistente lo guiará seleccionando el microcontrolador, el programador / depurador de desarrollo y el compilador a usar, nombre del proyecto etc. Bueno lo que sigue es usar el MCC, para ello puede ser desde Tools >> Embedded >> MPLAB Code Configurator o la mas fácil hacer clic en el icono en nuestra barra.


Si te abre una ventana preguntando en donde deseas guardar la configuración del MCC simplemente dar en guardar y lo almacena en la misma carpeta de tu proyecto.


Luego tenemos la ventana general del MCC, donde tenemos diferentes vistas, como la Project Resourses o Device Resourses, vemos también el empaquetado o los pines con los que cuenta el microcontrolador.

Configurando nuestro proyecto en el MCC.
El primer paso seria darse cuenta que en Device Resources estan todos los recursos de nuestro microcontrolador y que una vez seleccionado, se agregara a Project Resourses en donde haciendo clic sobre el recurso nos permite modificar sus características. Bueno comenzamos por seleccionar System Modulo de la ventana Project Resourses y podremos configurar la frecuencia de nuestro oscilador.


Lo siguiente seria agregar el TMR0 desde Device Resources, ya sea que des clic en el cuadro verde o le des doble clic. Luego la seleccionamos en Project Resourses y lo configuramos para que trabaje a 500ms.


Lo siguiente seria configurar los pines a utilizar, para ello nos vamos a la ventana Pin Manager y cerramos los candados correspondientes a los pines de salida de RC6 y RC7, después seleccionamos Pin Module y agregamos las etiquetas de los pines. 


Una vez hecho esto solo queda darle en generar y esperar a que el MCC nos genere nuestro código.


Ahora solo volvemos a dar clic en el icono de MCC para que se salga y nos deje empezar con el código del proyecto, si desplegamos los headers y sources files vemos los archivos que nos genera el MCC.


Como una nota puedo decir que esta herramienta es de mucha utilidad cuando ya conoces bien los periféricos a usar y te ayuda a configurarlos de una forma muy rapida.

Circuito:
El circuito utilizado es demasiado básico, simplemente son dos LEDs conectador en los pines RC6 y RC7, he corrido este pequeño test en nuestro modulo del PIC18F25K22.

Código:
Con respecto al código se realizo muy poco ya que la mayoría se genero con el MCC. Lo primero que se hizo fue habilitar las interrupciones en nuestro archivo main.c
INTERRUPT_GlobalInterruptEnable();

Además de agregar las líneas para cambiar el estado de RC7 en nuestro bucle principal.
LED_Status_RC7_Toggle();
__delay_ms(250);

Luego de esto nos vamos al archivo tmr0.c y en la función void TMR0_ISR(void) agregamos la instrucción para cambiar el estado del pin RC6.
LED_Status_RC6_Toggle();

Por cierto para usar estas etiquetas que esta dentro del archivo pin_manager.h por lo que es necesario agregarlo a la cabecera de tmr0.c
#include "pin_manager.h".

Listo una vez hecho estas modificaciones, solo falta compilar y cargar el proyecto a nuestro microcontrolador (mas abajo en el área de descargas puedes encontrar el código de este ejemplo).

Vídeo:
Aquí un pequeño vídeo del circuito en funcionamiento:

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