MICROCONTROLADORES LABORATORIO N° 2 “EL
MPLAB Y LENGUAJE ASSEMBLER” INFORME ALUMNOS:
NEIRA RIVEROS, Jorge Luis NEYRA CARRILLO, Claver Rafael QUISPE ÁVILA, Jean Carlos PROFESOR:
MENDIOLA MOGOLLÓN, Carlos Enrique GRUPO:
C5 – 5 – C Fecha de realización: 20 de marzo Fecha de entrega: 27 de marzo
2014 – I
MICROCONTROLADORES
INTRODUCCIÓN En años recientes el mundo de la electrónica y en especial del diseño de sistemas basados en microcontroladores, ha sido el escenario de una batalla entre dos grupos de diseñadores de estos sistemas, de la familia PIC del fabricante MICROCHIP y otro grupo lo forman las personas que prefieren diseñar sistemas basados en los microcontroladores de la familia AVR de ATMEL, ambos grupos poseen similitudes en la estructura del dispositivos, pero se desmarcan en el Ambiente Integrado de Desarrollo. En esta oportunidad veremos un Ambiente Integrado de Desarrollo denominado MPLAB la cual está destinado a productos de la marca MICROCHIP y que trabaja con un lenguaje de programación de bajo nivel denominado ensamblador o ASSEMBLER.
2
MICROCONTROLADORES
MARCO TEÓRICO MICROCONTROLADOR Un microcontrolador es un circuito integrado, capaz de ejecutar diferentes órdenes guardadas en su memoria, consta de diferentes bloques los cuales cumplen con tareas determinadas, los microcontroladores constan de Ambientes Integrados de Desarrollo, estos no son nada más que software en donde se programa las diferentes funciones que realizara nuestro microcontrolador, uno de los software mas conocidos perteneciente a la familia PIC es el MPLAB y está destinado a todos los productos de la marca MICROCHIP.
AMBIENTE INTEGRADO DE DESARROLLO MPLAB representa una plataforma de desarrollo integrado. Este editor, permite seleccionar los distintos microcontroladores soportados de la familia PIC, además de permitir la grabación de estos circuitos integrados directamente al programador. MPLAB incorpora todas las utilidades necesarias para la realización de cualquier proyecto y, para los que no dispongan de un emulador, el programa permite editar el archivo fuente en lenguaje ensamblador de nuestro proyecto, además de ensamblarlo y simularlo en pantalla. Además el entorno que se utiliza es el mismo que si se estuviera utilizando un emulador.
Partes de MPLAB:
EDITOR: Editor incorporado que permite escribir y editar programas u otros archivos de texto.
PROJECT MANAGER: Organiza los distintos archivos relacionados con un programa en un proyecto. Permite crear un proyecto, editar y simular un programa. Además crea archivos objetos y permite bajar archivos hacia emuladores (MPLAB-ICE) o simuladores de hardware ( SIMICE).
SIMULADOR: Simulador de eventos discretos que permite simular programas con ilimitados breakpoint, examinar/modificar registros, observar variables, tiempos y simular estímulos externos.
3
MICROCONTROLADORES
ENSAMBLADOR: Genera varios tipos de archivos objetos y relacionados, para programadores Microchip y universales.
LINKER: Permite unir varios archivos objetos en uno solo, generados por el ensamblador o compiladores C como MPAB-C18 o compiladores de terceros. PROGRAMADOR: MPLAB puede trabajar con varios tipos de programadores. El usuario debe seleccionar con cual trabajará, haciendo click en opción Programmer/ Select programmer.
Para poder cargar al PIC todo el programa es necesario generara un archivo de extensión .hex, el cual se genera al compilar el programa, esta extensión es completamente entendible para el PIC. Para poder grabarlo se necesita un interfaz y un programa de comunicación, por ejemplo el PICKIT. Una vez completado esto, se alimenta la interfaz al mismo y el programa ya se estará ejecutando.
4
MICROCONTROLADORES
RESULTADOS DE LABORATORIO Creación de un proyecto en MPLAB 1. Abrimos el programa MPLAB, en este caso es la versión 8.92. En el menú Proyect, seleccionamos nuevo. Ingresamos el nombre y la dirección en la cual se creará nuestro proyecto.
2. Luego, tenemos que configurar el PIC que vamos a utilizar. En el menú Configure y la opción Select Device. Seleccionamos el PIC 16F877A.
5
MICROCONTROLADORES
3. Debemos habilitar el simulador, para esto vamos al menú Debugger, Select Tool, y el simulador es el MPLAB SIM. Aparecerá la siguiente barra en la parte superior derecha.
Programación en Assembler 4. Creamos un nuevo archivo en File, New. Escribimos un comentario de la siguiente manera y guardamos el archivo con la extensión .asm. Veremos que el texto cambia de color.
6
MICROCONTROLADORES
5. Agregamos el archivo a nuestro proyecto haciendo click derecho y seleccionando Add to Proyect. Observaremos en la ventana del proyecto nuestro archivo.
6. Escribimos nuestro primer código en lenguaje Assembler.
7. Para observar los cambios del registro W, entramos en View y Watch.
7
MICROCONTROLADORES
8. En la casilla que dice ADCON0 seleccionamos WREG (Registro de trabajo) y luego con Add SFR se agregará dicho registro a la ventana. Habilitamos la opción de Decimal haciendo click derecho en cualquier cabecera de columna.
9. Compilamos nuestro archivo en el menú Proyect y opción Build All. Seleccionamos la opción Absolute y cuando salga el mensaje de BUILD SUCCEEDED significará que nuestro código está bien escrito y aparecerá una flecha de color verde para iniciar la simulación.
8
MICROCONTROLADORES
10. Cuando nos pregunta si queremos generar en modo Absolute o Relocatable nos quiere decir en qué modo se compilará nuestro programa. Si seleccionamos Absolute, el PIC con el programa grabado ejecutará instrucciones y las variables estarán en la memoria ROM. Si seleccionamos la otra opción, el programa buscará optimizar la memoria ROM eliminando variables, es decir, lo reorganiza. En este último modo, no podremos ver el registro W en la ventana Watch.
11. Con la opción Step Into observaremos instrucción por instrucción cómo funciona el programa. Los resultados de la simulación, y del registro W, fueron los siguientes. Iniciamos la simulación.
Movemos el dato 10 a W.
Agregamos 20 a W.
9
MICROCONTROLADORES
No operación. No operación. Limpiamos W. Cargamos 18 a W.
Cargamos 26 a W.
Sumamos 4 a W. Restamos 100 menos W. Restamos 100 menos W. Restamos 30 menos W y entra a un bucle infinito. 12. Ahora realizaremos un programa con instrucciones lógicas, pues la anterior tenía instrucciones literales. Quitamos el ejemplo 1 de nuestro proyecto, para esto hacemos click derecho y seleccionamos Remove.
13. Creamos otro archivo, lo grabamos como ejemplo 2 y lo agregamos al proyecto.
10
MICROCONTROLADORES
14. Escribimos el siguiente programa y activamos la ventana Watch para ver el registro W
15. Luego compilamos el programa e iniciamos la simulación. Cambiamos el tipo de dato de decimal a binario. Iniciamos la simulación. No operación. Cargamos 10101010. Operación AND entre W y 01010101.
11
MICROCONTROLADORES
Operación OR entre W y 11110000. Operación OR entre W y 00001111. No operación y bucle infinito.
12
MICROCONTROLADORES
APLICACIÓN DE LO APRENDIDO Hacer
13
MICROCONTROLADORES
OBSERVACIONES Y CONCLUSIONES
El uso de una plataforma de desarrollo integrada (MPLAB), nos ayuda a tener mejores alternativas en la creación de nuevos proyectos, con ventajas de poder simularlo en programas muy conocidos como el Proteus.
El lenguaje de programación de ASSEMBLER, es un lenguaje de bajo nivel, lo que nos permite conocer de más cerca, el lenguaje de trabajo de los microcontrolados o los diferentes sistemas como es el caso de la PC.
Al compilar un programa nuevo, debemos escoger la opción Absolute si queremos simularlo en el MPLAB SIM y observar la variación del registro de trabajo W en la ventana Watch.
Cuando compilamos un programa en MPLAB se creará un archivo con extensión .hex, este archivo es el que grabamos en el PIC, también lo podemos usar para la simulación en otros programas como el Proteus.
Necesitamos un software y un quemador de PICs para grabar el archivo .hex generado en ellos, para esto usaremos el más conocido, el PICKIT 2.
RECOMENDACIONES
Para simular el programa que creamos es recomendable usar el software Proteus por ser un programa completo, es decir, podemos simular casi todos los PICs que existen.
Se recomienda siempre remover un archivo creado de nuestro pro yecto para compilar otro nuevo, debido a que si los dos están activos la compilación tendrá errores.
Se recomienda agregar comentarios al momento de programar, con la finalidad de un mejor ordenamiento y entendimiento del programa por parte del usuario.
14
MICROCONTROLADORES
BIBLIOGRAFÍA
BATALLA
DE
MICROCONTROLADORES
¿AVR
o
PIC?,
rescatado
de
http://microcontroladores2utec.files.wordpress.com/2009/11/180909_articulo_cola boracion_boletin_fica_omar_otoniel_flores.pdf
15