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() ).
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.














