domingo, 21 de junio de 2020

Microcontroladores PIC – Curso de Programación en MikroC (Parte 10 )


Microcontroladores PIC – Curso de Programación en MikroC
Hola nuevamente a los tutoriales de Artes Electrónicas Pachani, continuando en este curso vamos a conocer las capacidades del microcontrolador PIC 18F4550, acá escribo mis experiencias con lo cual vamos realizar programas en el entorno MikroC ,esta serie de tutoriales esta dirigido para lectores novatos, aficionados (hobbistas) y estudiantes.
Creemos nuestras propias librerías en MikroC


Capitulo x0.
Librerías creadas por el usuario
La necesidad de contar con mas tiempo al programar como un programa de mayor calidad para
nuestros proyectos hace necesario que nuestro programa sea simple y reducido con lo cual si recordamos en nuestros primeros programas (en ensamblador) recurrimos a las subrutinas como por ejemplo el de tiempo ( Delay_ms() ).
Ahora ya con los conocimientos adquiridos hasta la fecha podemos hablar de funciones y librerías , los primeros forman parte del programa principal en cambio las librerías son funciones que se encuentran fuera del programa principal pero que son llamados al programa con el fin de resolver un calculo especifico o bien conexión especifica para un hardware.
De ahí que las librerías se las podría considerar como funciones genéricas de uso general como también especifica cuando se trata de una nueva serie de sensores y/o placas con nuevas características que recién salen al mercado o en el mejor de los casos son nuestros prototipos los cuales aun no cuentan con soporte dentro de la IDE de MikroC con lo cual nuestro objetivo es desarrollar nuestras propias librerías para esta nueva serie.

Creemos nuestra libreria

Diseñar librerías para MikroC es de alguna manera sencillo, en este tutorial lo que vamos va hacer nuestras librerías de manera ( casera ) simple para nuestros dispositivos, para resolución de operaciones matemáticas como ecuaciones cuadráticas , calculo de áreas y volúmenes de figuras geométricas , para resolución y calculo de fenómenos físicos.
Dado que nuestro microcontrolador es una computadora encapsulada, básicamente podemos realizar cualquier tipo de calculo que nos facilite nuestro trabajo como nuestra vida, de ahí lo apasionante de esta área de estudio. Empecemos con el siguiente ejemplo:

Ejemplo 01.- Realizar un programa que analice el numero de unos “1” que se introducen por el puerto B e indique por medio de un display de 7 segmentos .
Solucion:
Para esta primera parte vamos a creará la librería clik.h que incorpora una función que cuentan el número de unos que ingresamos por el puerto B.
Por ejemplo, si tenemos el número 5 su representación en binario introducido por el puerto B sera el numero binario 0000 0101 , con lo cual el número de unos sera 2 , mostrado por el display de 7 segmentos.

Para crear esta librería, se debe seguir los siguientes pasos:

a) Añadir un nuevo archivo: File – New – Add New File

b) Diseñar el código de la función que se incluirá en la librería:

 Dependiendo de las necesidades que resolverá la librería, es necesario que sea lo mas genérico:



c) Guardar el archivo con la extensión.h . Para el ejemplo: ‘clik.h’


d) Para realizar nuestra prueba creemos un nuevo proyecto usando el ‘New Project Wizard’, donde se utilizará la librería.


e) Nuestro nuevo proyecto sera el siguiente programa que use la librería que hemos programado:

 Simulacion y compilacion en IDE de MikroC.


Una vez obtenido el archivo 00.hex ahora debemos de comprobar que nuestro código funciona de manera adecuada para ello vamos a usar el simulador proteus.

f) Para verificar el funcionamiento del programa
Simulación en Proteus

 Una vez simulado y compilado en MikroC obtendremos los siguientes archivos:


Los archivos mas importantes son el 00.hex y clik.h el primero para poder instalar en nuestro microcontrolador y simular en Proteus , el segundo es la librería que hemos diseñado para que facilite nuestro programa para el conteo de 1 y su posterior visualización por el 7 segmentos .


 Aquí cargo el 00.hex a mi proteus 7.5


 Ahora cargamos el 00.asm, para la simulacion.


 Al momento de simular vemos que cumple con la primera parte de nuestro código es decir cuando no haya ningún “1” por el puerto B el display marque 0 cero números de unos ,  


 Veamos el cambio



 Otro ejemplo:



 Un cambio mas:


Algunas observaciones
Tenemos que tener en mente lo siguientes:
1).- Las funciones como las librerías cumplen el papel de herramientas auxiliares para facilitar la programación para nuestro proyecto mas aun cuando se repitan muchas veces dentro de nuestro código.
2).- las librerías pueden usarse como funciones externas (genéricas) de modo que cuando nuestro programa necesite de dicha librería, indistintamente de la aplicación que se tenga para ese programa.
3).- Las librerías al ser genéricas pueden mejorarse es decir podemos hacer pruebas de bugs (errores) para mejorar el uso de RAM del microcontrolador con lo cual podemos podemos hacer una librería mas completa y simple.


 Veamos el video resumen de como se desarrolla el programa:


Al final
Con todo lo aprendido de los microcontroladores, vemos que podemos aprovechar las capacidades de los mismos para resolver necesidades del dia a dia en nuestras vidas. Para concluir, a medida que suba otro tutorial iré subiendo mas información con otro ejemplo, espero que toda la información te sea de utilidad y los espero en el próximo tutorial.

Todo el material que aquí se encuentra es de mi autoría, ademas de una recopilación de información de Internet de recursos que se pueden descargar como libros en pdf los cuales son usados como referencia como veras en la parte de la bibliografía para los ejercicios y los ejemplos. Cualquier consulta la puedes realizar en la parte de comentarios.




Bibliografia:
1.- Juan Ricardo Clavijo Mendoza; Diseño y simulación de sistemas microcontrolados en lenguaje C; Publicado el año 2011;[Fecha de consulta 19 de Mayo de 2020].
2.-Ing. Roger Guachalla Narváez; Guia de Laboratorio N7 Librerías de Mikroe y del Usuario. Publicado el año 2018; [Fecha de consulta 22 de Mayo de 2020].
3.- Eduardo Garcia Breijio; Compilador_C_CCS_y_simulador_PROTEUS_para_microcontroladores_PIC; Publicado el año 2008; [Fecha de consulta 21 de Mayo de 2020].
4.- Dogan Ibrahim ; Advanced PIC Microcontroller Projects in C - From USB to RTOS with the PIC18F Series. Publicado el año 2008; [Fecha de consulta 22 de Mayo de 2020].


Software utilizados:
1.- MikroC_PRO_PIC_2016_Build.6.6.3 descargado de la pagina oficial de Microchip.
2.- Proteus v 7.5 , simulado en linuxMint 19,4 por medio del programa Wine.
3.- Editor de texto libre, se puede descargar de Internet, es un editor GNU Linux.
4.- OpenProg , programador de microcontroladores PIC-AVR.

Hardware utilizados:
1.- Placa de Programación basado en los esquemas de OpenProg.
2.- Placa entrenadora desarrollado en base al microcontrolador Pic 18F4550.
3.- Placas modulo de leds , botoneras e interruptores.



Microcontroladores PIC – Curso de Programación en MikroC (Parte 6 )

Microcontroladores PIC – Curso de Programación en MikroC Bienvenido nuevamente a los tutoriales de Artes Electrónicas Pachani , con...