Beruflich Dokumente
Kultur Dokumente
es
PRACTICA 01: Programación de la tarjeta Arduino con MikroC Pro for AVR
I. Objetivos:
Conocer la manipulación directa de puertos en a través del acceso a registros en el ATMEGA328P
Utilizar el software IDE MikroC Pro for AVR para programar la tarjeta Arduino
Subir el código hex a la tarjeta Arduino usando el software Xloader
Convertir un programa en MikroC Pro for PIC escrito para el microcontrolador PIC18F4550 a su equivalente para el
microcontrolador ATMEGA328P (incluido en la tarjeta Arduino UNO)
PIC18F4550 ATmega328P
Puertos disponibles RA(7 bit), RB(8 bit), RC(7 bit), RD(8 bit) PB (6 bit), PC (6 bit), PD (8 bit)
Configurar puerto TRIS 0: Salida Ej. TRISB=0; //Puerto RB DDR 0: Entrada Ej. DDRB=0; //Puerto PB
1: Entrada configurado como Entrada 1: Salida configurado como Salida
Escribir (SACAR) LAT Ej. LATD=15; //Sacar el PORT Ej. PORTD=15; //Sacar el
datos valor 15 por el puerto RD valor 15 por el puerto PD
Leer (INGRESAR) PORT Ej. valor=PORTC; //Ingresar PIN Ej. valor=PINC; //Ingresar
datos el dato en el puerto RD y el dato en el puerto PC y
almacenarlo en la variable almacenarlo en la
valor variable valor
NOTA: Los pines 0 Rx (PD0) y 1 Tx (PD1) de la tarjeta Arduino UNO pertenecen a la recepción y transmisión de
datos seriales que son utilizados por el Bootloader para Subir (Upload) los programas del usuario. Si se usan
estos pines, antes de realizar dicha operación, desconectar los pines de cualquier otro componente, subir el
programa y posteriormente volverlos a conectar.
La siguiente figura muestra la disposición física de los puertos en la tarjeta Arduino UNO:
IV. Programación de la tarjeta Arduino con MikroCPro for AVR
Mikroelektronika (www.mikroe.com) es una empresa europea que desarrolla compiladores en lenguajes C, Basic y Pascal
para los procesadores PIC (8 bit), AVR (8 bit), DsPIC/PIC24 (16 bit), PIC32 (32 bit), ARM (32 bit), FT90x (32 bit) y 8051 (8 bit).
En esta práctica se utilizará el compilador MikroC Pro for AVR v.7.0.1
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 2 KBytes 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 ATmega328P.
f) En la ventana ‘3’ Añadir archivos’: Si se disponen de librerías del usuario adicionales se pueden agregar en este punto. Los
ejemplos de esta guía no incluyen dichos elementos por lo que basta con presionar ‘Next’
g) En la ventana ‘4’ Librerias’: Mantener seleccionado la opción ‘Include All (Default)’ para que el IDE MikroC administre
automáticamente el uso de todas las librerías y presionar ‘Finish’
h) El Wizard ha terminado y MikroC genera la plantilla para iniciar todos los proyectos a realizar
i) Aunque aún no se ha escrito el programa, es importante compilar el proyecto para guardar el código fuente con el nombre que se
utilizó en el punto e). Para ello hacer click en el ícono ‘Build’
j) Al aparecer la ventana emergente, confirmar el nombre del código fuente (en este ejemplo ‘LedControl.c’) y hacer click en ‘Save’
k) Repetir la opción ‘Build’ una vez que el código haya sido escrito para compilar el programa y generar el archivo: .hex
Este archivo es necesario para la simulación en Proteus y para subir el código a la tarjeta Arduino.
Ejemplo A: Control de leds con ATmega328P con MikroC Pro for AVR
1) 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 en los leds se incrementa. Este proceso se repite infinitamente.
2) Diagrama en Bloques
Componentes
Proteus:
Notas:
Para insertar la tarjeta Arduino en Proteus 8:
a) Seleccionar la opción ‘File – Import Project Clip’
e) Proceder de la misma forma para conectar todos los elementos restantes a la tarjeta Arduino.
Para asignar el programa (archivo hex) a simular en Proteus:
a) Del menú principal seleccionar ‘File – Save Project As’ para grabar el esquemático
b) Usar el mismo Folder y el mismo Nombre del Proyecto en MikroC Pro for AVR
e) Hacer click en el ícono para correr la simulación en Proteus y verificar el funcionamiento del programa.
Diagrama Esquemático
Ejemplo C: Conversión PIC→AVR del programa ALU (Unidad Aritmético-Lógica) de 3
bits y 4 operaciones
a) Enunciado
Se tiene un programa, en MikroC Pro for PIC con PIC18F4550, que simula una Unidad Aritmético Lógica (ALU) con
2 entradas: Dato A y Dato B de 3 bits cada una, una Salida de 6 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
Se requiere CONVERTIR este programa para que funcione en la tarjeta Arduino UNO
0
b) Diagrama en bloques
c) Diagrama de Flujo
Componentes
Proteus:
puerto RD puerto PD
puerto RB puerto PC
Componentes Proteus:
Código fuente MikroC Pro for PIC:
VI. Informe escrito
a) Carátula estándar con las Firmas del Docente que avalen el procedimiento en laboratorio
b) Para la 2da Firma, elaborar:
Enunciado
Diagrama en bloques
Diagrama de flujo
Código fuente MikroC Pro for AVR totalmente comentado
Diagrama esquemático
c) Tema de Investigación:
“Ventajas y desventajas de usar MikroC Pro for AVR en el desarrollo de proyectos con Arduino”
2 Páginas de Resumen escrito a mano, Enlace web (link) y 1era página del link impresa
d) Conclusiones