P05 Programacion en Lenguaje C Con El IDE MikroC Pro For PIC
P05 Programacion en Lenguaje C Con El IDE MikroC Pro For PIC
PRACTICA 05: Programación en lenguaje C con el IDE MikroC Pro for PIC
1. Objetivos
Conocer la creación de proyectos usando el entorno de Desarrollo Integrado (IDE) MikroC
Realizar la Edición, Compilación y Depuración de un programa en el IDE MikroC en lenguaje C
Realizar ejemplos de manejo de puertos digitales a través de un Dado y una Ruleta electrónica
2. Compiladores Microelectrónica
Mikroelektronika (www.mikroe.com) es una empresa europea que desarrolla compiladores en lenguajes C, Basic y Pascal
para los procesadores PIC (8bit), DsPIC/PIC24 (16 bit), PIC32 (32 bit), ARM (32 bit), AVR (8 bit), FT90x (32 bit) y 8051 (8 bit).
En esta asignatura, se utilizarán el compilador MikroC Pro for PIC v.7.2.0
El IDE cuenta con diversas herramientas de desarrollo y un sistema de Librerías y Ayuda muy extenso.
Del sitio web se puede descargar la última versión de este compilador. La versión gratuita y demostrativa es totalmente
funcional y completa. Solo cuando el tamaño del código excede los 2KBytes aparecerá en la ventana de mensajes
‘Demo Limit’, indicando que se ha superado el tamaño permitido en la versión demostrativa.
En este caso se debe proceder a parchar el programa para acceder al total de la memoria ROM Flash del PIC18F4550.
3. Creación del PROYECTO ‘Hola Mundo con leds’ con el IDE MikroC Pro for PIC
a) Iniciar el IDE
b) Cerrar cualquier proyecto previo: ‘Project – Close Project’
c) Crear un nuevo Proyecto: ‘Project – New Project’. El ‘New Project Wizard’ se iniciará automáticamente.
d) En ‘1. Tipo de Proyecto’, seleccionar Proyecto Estándar y hacer click en
e) En ‘2. Configuración del Proyecto’: llenar los datos como indica la figura y luego presionar . Si se va a grabar el
microcontrolador con el Bootloader entonces NO ACTIVAR la opción ‘Open Edit Project window to set Configuration bits’.
f) En ‘3’ Añadir archivos’: Si se disponen de librerías del usuario adicionales se pueden agregar en este punto. Las prácticas de
g) El Wizard ha terminado y MikroC genera la plantilla para iniciar todos los proyectos en C a realizar en esta asignatura.
Después de algunos segundos aparecerá una ventana pidiendo se confirme el nombre del archivo (con extensión .c), hacer click
en Ok.
h) Codificar el primer programa ‘Hola Mundo Led’ que consiste en hacer parpadear 8 leds conectados al puerto RB (RB.0 al RB.7)
i) Compilar el programa seleccionando del menú ‘Build – Build ‘ (también se puede digitar Ctrl+9 o hacer click en el ícono)
j) En la ventana de Mensajes (parte inferior de la pantalla) aparecerá el resultado de la compilación. En caso de no existir errores,
indicará un mensaje de Compilación Exitosa (se genera el archivo .hex en el folder del proyecto), así como el tamaño en ROM y
RAM del código resultante. Si existen errores de sintaxis se indicarán en líneas rojas indicando el número de línea y el tipo de
error. Además, en el editor aparecerán las líneas de código donde se encontraron errores de sintaxis.
k) Para subir el código al microcontrolador usando el Bootloader USB, seleccionar del menú ‘Tools – USB HID Bootloader’ y
proceder como se explicó en la sección VI de la guía P03. (Armar el Circuito Mínimo detallado en la sección IV
de la guía P03, y añadir 8 leds en serie con 8 resistencias de 220 Ohm al puerto RB del PIC18F4550)
l) Finalmente, después de esperar 3 segundos para que el Bootloader deje de funcionar, se observarán los 8 leds parpadeando
cada ¼ segundo.
4. Ejemplo A: Creación y depuración del proyecto ‘ALU’
4.1 Enunciado
Codificar un programa en MikroC para PIC que simule una Unidad Aritmético Lógica (ALU) con 2 entradas
Dato A y Dato B de 3 bits cada una, una Salida de 8 bits y un selector de Operación de 2 bits con la posibilidad
de realizar las siguientes operaciones:
Operación Salida
00 Dato A + Dato B
01 Dato A - Dato B
10 Dato A * Dato B
11 Dato A / Dato B
4.3 Flujograma
4.4 Código fuente MikroC
Componentes
Proteus:
4.6 Diagrama esquemático – Armado en protoboard
g) En el área inferior aparece el Nombre del registro, el Valor actual (en binario) y su dirección en la SRAM (en
hexadecimal)
h) Para cambiar la base numérica de visualización, hacer click en la columna ‘Value’. Al aparecer el pequeño ícono
hacer click en este y emerge la siguiente ventana:
j) Para ejecutar el programa instrucción por instrucción, seleccionar del menú ‘Run’ y elegir el modo de Paso
(Step) y observar los valores que toman los registros y variables. También es posible seleccionar el Valor de una
variable o registro y modificar su valor actual digitando el nuevo valor deseado.
Para este ejemplo se usará ‘Step Over’ (Tecla F8) y se ingresará los valores de DatoA, DatoB y operación
modificando el valor de PORTD
k) Para detener la depuración, una vez que se ha comprobado el funcionamiento correcto del programa,
seleccionar la opción ‘Stop Debugger’ del menú ‘Run’
l) Si se realiza alguna modificación al código, se debe volver a compilar el proyecto antes de realizar una nueva
depuración.
5. Ejemplo B: Dado electrónico
5.1 Código MikroC