Autor: Mauro Montoya Arenas
CREACION DE LIBRERIAS EN MPAB PARA MICROCONTROLADORES PIC
En esta oportunidad, vamos a hacer el proceso de como crear una librería en microcontroladores PIC usando MPLAB. Desde ya te adelanto, que hay muchas formas de como crear librerías para un solo dispositivo, el nombre de las variables y funciones pueden cambiar de una librería a otra. Nosotros en esta oportunidad, veremos una de estas formas.
Para este ejemplo, vamos a crear la librería del display multiplexado. Este dispositivo ya lo hemos usado en otro video y hemos explicado su programación. La idea de crear la librería de este dispositivo, es para poder usarlo en cualquier otro proyecto.
Display multiplexado
Primero que todo voy a explicar este dispositivo. El display multiplexado es un display que recibe la información de un numero a través de sus pines A, B, C, D, E, F y G. Estos pines controlan cada led que forma un número. Dependiendo del número, esos leds pueden estar prendidos o apagados. Ahora, los pines ena prenden y apagan los números que pertenecen a las decenas y unidades.
Básicamente ocurre lo siguiente:
El display multiplexado del ejemplo es uno de ánodo común. Supongamos que queremos mandar un 12 al display. Primero ena1 (que controla las unidades) estará en 0, y ena2 (que controla las decenas) estará en 1. Como el display es ánodo común, ena1 estará deshabilitado y ena2 estará habilitado. Entonces, en el tiempo 1 el numero 2 (que pertenece a la unidad) estará encendido.
Para el tiempo 2, el ena1=1 y ena2=0. Es decir que, ena1 estará habilitado y ena2 deshabilitado. En ese momento, se mostrará el número de la decena. En este caso, el 1.
¿Conoces la diferencia entre Hardware, Software y Firmware?. Quizás te puede interesar: https://educatronicosisc.blogspot.com/2022/03/hardware-software-y-firmware.html
Programación del proyecto
Bien, ya que conocemos este dispositivo, vamos con la programación. En este proyecto voy a crear un contador del 0 al 15. Bien, primero creo la cabecera del programa. Esto ya lo explique en videos anteriores. Después voy a definir la variable Puerto_Display, que va a ser igual al registro TRISD. Para poder igualar una variable a un registro, necesitamos del #define. Esto no se podría hacer usando una variable global. Después defino la variable Puerto_Ena, que es igual al TRISE. Display va a ser igual al registro LATD. Ena va a ser igual al registro LATE. ena1 va a ser 0 y ena2 va a ser 1.
Después defino una variable global llamada display7a, que es un array que va a contener los números del 0 al 9 que se mostraran en el display multiplexado. Estos números están en su forma hexadecimal.
¿Sabes que son y para que se usan las máscaras en la programación de microcontroladores?. Quizás te puede interesar: https://educatronicosisc.blogspot.com/2022/05/uso-de-las-mascaras-en-la-programacion.html
Creación de la librería
Ahora se nos generó un archivo .h. Voy a borrar esta parte del código que no me sirve. Ahora, me dirijo al archivo main.c. Voy a cortar esta parte, y la voy a pegar en mi archivo Display_mult.h.
Ahora, en la variable display7a voy a colocar que dicha variable sea un extern. De esa manera podré usar esta variable en un archivo fuera de la sección del Header.
Al nombre de ese archivo, también le pondré Display_mult, solo que ahora, su extensión será .c. Bien, primero voy a incluir el archivo Display_mult.h para continuar con la programación. Después regreso al archivo main.c y corto las funciones relacionadas a mi dispositivo. En este caso, solo cortaría la función mostrarDisplay, y lo pego en mi archivo Display_mult.c. Con estos pasos, ya tenemos nuestra librería creada.
Visita nuestro canal de YouTube para mas contenido: https://www.youtube.com/channel/UC93Nt6sA-7r_S7EtGO44GeA