Está en la página 1de 15

Microprocesadores y Laboratorio – PIC18F4550 Docente: Ing.

Roger Guachalla Narváez


xoroger@yahoo.es

PRACTICA 01: IDE MikroC: Edición, Compilación, Simulación y Depuración de un programa


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 MikroC

2. Compiladores de Mikroelektronika

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á 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

laboratorio no incluyen dichos elementos por lo que basta con presionar

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.
4. Ejemplo A: ‘Hola mundo’- Encender leds
a) Enunciado
Realizar un proyecto que, al alimentar el circuito, el PIC18F4550 prenda y apague los leds del puerto RD de manera
intercalada
b) Diagrama en Bloques

c) Diagrama de flujo
d) Diagrama esquemático para armado en protoboard
Componentes Proteus

e) Diagrama esquemático para Simulación en Proteus

Componentes Proteus:
d) Código fuente MikroC

5. Ejemplo B: Efectos de luces con leds


a) Enunciado
Se revisa el valor de entrada del interruptor. Si este valor es Alto (1) entonces los Leds se invierten, de otra manera, si
el valor es Bajo (0) el valor actual se incrementa. Este proceso se repite infinitamente.
b) Diagrama en Bloques

Alimentación

RB Salida 8 Leds
Reloj µC

Reset RC.0 Entrada 1 Interruptor

c) Diagrama de Flujo
d) Diagrama esquemático para armado en protoboard

e) Código fuente MikroC


6. Depuración usando el Debugger (Depurador) integrado en MikroC
a) Seleccionar del menú ‘Run – Start Debugger’

b) El arreglo de ventanas se modifica apareciendo dos nuevas ventanas: ‘Watch Values’ (Ver valores) y ‘Watch Clock’ (Ver Reloj).
Adicionalmente una línea azul se posiciona en la primera instrucción a ejecutar:

c) En la ventana ‘Watch Values’ hacer click en ‘Select variable from list’ (Seleccione variable de la lista) y seleccionar el registro TRISB.
Posteriormente hacer click en el botón ‘+ Add’ (Añadir) y observar que se ha agregado el registro TRISB con el valor actual (Value) y la
Dirección (Address) de memoria que ocupa.
d) Repetir el mismo proceso para añadir los registros TRISC0_bit, RC0_bit y LATB

e) Hacer click en la fila ‘LATB’ y en la columna ‘Value’ y aparece un pequeño botón con 3 puntos.

f) Hacer click en el botón ‘…’ y en la ventana emergente seleccionar ‘Bin’ (Binario) luego presionar el botón ‘OK’

g) Ahora el valor de LATB se muestra en base binaria


h) Para hacer correr el programa paso a paso presionar la tecla F8 o seleccionar del menú ‘Step Over’

i) Para comprobar el funcionamiento del programa continuar presionando F8 y verificar los valores obtenidos en LATB.
Para cambiar el valor de entrada, hacer click en la fila de RCO_bit, columna ‘Value’, digitar el nuevo valor de entrada y presionar la
tecla ‘Enter’. Este nuevo valor será utilizado para el siguiente bucle de depuración.

j) Para finalizar la depuración presionar las teclas ‘Control+F2’ o seleccionar del menú ‘Run – Stop Debugger’

7. Ejemplo C: ALU (Unidad Aritmética Lógica)


a) 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
b) Diagrama en bloques

c) Diagrama de Flujo
d) Código fuente MikroC

e) Diagrama esquemático - Simulación Proteus


Componentes
Proteus:
f) Diagrama esquemático – Armado en protoboard

8. Depuración del código – Corregir errores de Semántica


a) Crear el proyecto ‘Alu’, compilar y corregir los errores de sintaxis (si los hubiera)
b) Del menú y seleccionar ‘Run – Start Debugger’ (o presionar la tecla F9)
c) La disposición de ventanas cambia y se observan do nuevas: ‘Watch Values’ y ‘Watch Clock’. La primera permite
revisar variables y registros y la segunda monitorear los tiempos de ejecución del programa. Note además la línea azul
sobre la primera instrucción a ejecutarse.
d) En la ventana ‘Watch Values’ hacer click en la flecha ‘˅ ‘en la línea ‘Select variable from list’
e) De la lista emergente seleccionar el registro TRISB (para un acceso más rápido digitar la primera letra del elemento a
seleccionar (en este caso ‘T’))
f) Seleccionar TRISB y hacer click en ‘Add’

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:

Seleccionar la base numérica que se desee y hacer click en ‘ok’


i) Proceder de la misma forma para incluir los siguientes registros y variables:

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.
9. Informe Escrito
I. Firmas en la Carátula que avalen los ejemplos realizados en Laboratorio

II. RESUMEN DE INVESTIGACION:


Lenguaje de Programación C
 Tipos de datos
 Declaración de variables
 Sentencias Condicionales (if, if else, switch case)
 Bucles (for, while, do, goto)

(El RESUMEN de investigación debe estar escrito a mano, de por lo menos 4 páginas de extensión, debe
además incluir las fuentes de Direcciones WEB y la primera página del Material Impreso usado para el
resumen)
III. Conclusiones

También podría gustarte