Sei sulla pagina 1di 21

Instituto Tecnolgico de

Durango

Microcontroladores
Prctica 1
Uso del MPLabX.

Facilitador: Ing. Miguel ngel


Esparza vila.

Alumno: Joseph Atzael Vidaa


Adame 14040982.

Grupo 6L

Fecha de entrega: 22 de Septiembre del 2017.


Objetivo
Aprender a programar un dsPIC mediante el software MPLAB X que ofrece el fabricante Microchip para dicha
tarea. Para la presente prctica se pretende hacer algo introductorio como lo es encender y apagar LEDs
mediante un programa elaborado y compilado en lenguaje ensamblador.

Introduccin
Creando un nuevo proyecto en MPLABX

1. Abrimos MPLABX

2. Menu File/ New Project


3. En el cuadro de dilogo de New Project seleccionar:
1. Standalone Project, Next.
2. Seleccionamos el dsPic que vamos a usar, Next.
3. Seleccionamos la herramienta para programar nuestro dsPIC, Next (utilizaremos el
simulador para poder probar el cdigo).
4. Seleccionamos nuestro compilador, Next (utilizaremos XC16 que provee Microchip)
5. Ponle nombre a tu proyecto, Finish (el proyecto debe quedar grabado por default en el
directorio de proyectos de MPLABX, si no modificaste algo)
4. Tenemos creado el proyecto ahora agregamos un nuevo archivo fuente
1. Clic derecho en la carpeta Source Files / New / Assembly File
2. Colocamos el nombre de nuestro archivo y seleccionamos su extensin (.s), Finish
5. Programamos algo

6. Compilamos ("Build Project" hacemos clic en la imagen del martillo o en Men Run / Build Project)
Compilar el proyecto significa que se asegurar que toda la sintaxis est correcta.

Build Project
Compila slo los archivos que cambiaron desde la ltima vez
Clean and Build Project
Compila todos los archivos sin importan si han cambiado o no.

Haga clic en el cono de Clean and Build Project. Este botn va a:


1. Borrar archivos temporales
2. Compilar el proyecto

Al compilar se realiza la sntesis cuyo objetivo es generar un fichero objeto que suele estar
formado por un cdigo intermedio o cdigo objeto y de Optimizacin de Cdigo que busca
obtener el cdigo ms eficiente.
Al compilar si aparece algn error, queda indicado y hay que realizar la interpretacin del
error y corregir el error. Y el resultado es una ventana en la que aparecen mensajes,
errores y warnings.

Es til comprobar el color que se utiliza para distinguir el cdigo. En el caso de la figura se
ha eliminado el salto al bucle, se ha convertido en comentario.

Compilacin con error

1 HACER DOBLE CLIC en ERROR

Si se cambia el punto y coma despus de la etiqueta bucle, queda corregido y se compila


con xito.

Compilacin con xito

7. Debug del programa


Para estudiar y controlar la ejecucin de un programa se utiliza un simulador o debugger
con ello, se puede detener y continuar la ejecucin del programa y poder ver y modificar
cualquier registro SFR o posicin de memoria.

1. Elementos para la simulacin:


1. Comenzar una sesin de debug

2. Controlar la ejecucin del programa

3. Ver registros especiales (SFRs)

4. Observar o modificar posiciones de memoria

5. Modificar memoria o SFRs

6. Terminar la sesin de debug


2. Botones para la depuracin y simulacin.
Funcin MPLAB X

Terminar sesin de debug

Pause

Ejecutar / Continuar

Reset

Step Over

Step, paso a paso.

Run desde el cursor

Llevar el PC hasta al cursor

Llevar al cursor hasta el PC

3. Depuracin-Simulacin.
Desde la barra de herramientas se ha de seleccionar el botn de depuracin, del cual se
pueden obtener dos opciones. Al arrancar cualquiera de ellas aparecen los botones de
simulacin y depuracin que ya se han indicado. De esta forma se pueden depurar los
programas.
Debug Project (nombre Compila, arranca el deugger (depurador) y se conecta al
hardware o simulador Si hay herramientas de hardware,
del proyecto) programa al micro y ejecuta el cdigo.

Launch Debugger
Project (nombre del No compila, arranca el deugger (depurador) y se conecta al
proyecto) hardware o simulador

Al pulsar Debug Project se inicia la sesin de depuracin. Si hay herramientas de hardware,


programa al micro y ejecuta el cdigo.

La sesin finaliza al pulsar el botn de stop . Si existe un programador hardware finaliza la


comunicacin USB. Debe ejecutarse este paso antes de modificar el cdigo.
Se pulsa Debug Project. Aparece la siguiente ventana y aparece el
depurador con la herramienta de simulacin.

El cursor, marcado en verde, apunta a la primera direccin de programa. Los pasos iniciales a
seguir seran los siguientes:

1. Comprobar que el contador de programa est en 0x00.


2. Se pueden observar otras condiciones de inicio como ciertos bits, el registro W, el
banco actual de registros.

3. Para la ejecucin paso a paso se debe pulsar

4. La instruccin clrw se ha ejecutado. Si se vuelve a pulsar se ejecuta la siguiente


instruccin, y se pueden comprobar las variaciones en la memoria y en los
registros, tal y como se ha indicado en el punto Ventanas de simulacin.

Comprobacin rpida,
PC y W
8. Cargamos el .hex en el software Proteus (Para hacer una simulacin de tipo grfica).
1. Nuestro archivo .hex debe estar en (Carpeta de proyectos de
MPLABX)/Nombre_de_mi_Proyecto.X/dist/default/production
2. En Windows sera algo como:
C:\Users\Usuario\MPLABXProjects\MiProyecto.X\dist\default\production
3. En Proteus doble clic en nuestro PIC y seleccionamos el archivo .hex que hemos
creado
4. Run
9. Una vez simulado el funcionamiento del cdigo podemos proceder a cargarlo en el dsPIC con
ayuda de un programador.
Lenguaje Ensamblador (assembler)
Lenguaje de Bajo Nivel
Un lenguaje de programacin de caractersticas bajo nivel es aquel en el que sus instrucciones
ejercen un control directo sobre el hardware y estn condicionados por la estructura fsica de las
computadoras que lo soportan. En este caso el lenguaje ensamblador es un ejemplo de este tipo de
lenguajes y aprenderemos a utilizarlo conforme vayamos practicando con el desarrollo de posteriores
aplicaciones a lo largo del semestre.
El lenguaje ensamblador.
Consiste en un conjunto de mnemnicos que representan instrucciones bsicas para los
computadores, microprocesadores, microcontroladores y otros circuitos integrados programables.
Implementa una representacin simblica de los cdigos de mquina binarios y otras constantes
necesarias para programar una arquitectura de procesador y constituye la representacin ms directa
del cdigo mquina especfico para cada arquitectura legible por un programador. Cada arquitectura
de procesador tiene su propio lenguaje ensamblador que usualmente es definida por el fabricante de
hardware, y est basada en los mnemnicos que simbolizan los pasos de procesamiento (las
instrucciones), los registros del procesador, las posiciones de memoria y otras caractersticas del
lenguaje. Un lenguaje ensamblador es por lo tanto especfico de cierta arquitectura de computador
fsica (o virtual). Esto est en contraste con la mayora de los lenguajes de programacin de alto nivel,
como el lenguaje C, que idealmente son porttiles.
Un programa utilitario llamado ensamblador es usado para traducir sentencias del lenguaje
ensamblador al cdigo de mquina del computador objetivo. El ensamblador realiza una traduccin
ms o menos isomorfa (un mapeo de uno a uno) desde las sentencias mnemnicas a las instrucciones
y datos de mquina. Esto est en contraste con los lenguajes de alto nivel, en los cuales una sola
declaracin generalmente da lugar a muchas instrucciones de mquina.
En informtica, un mnemnico o nemotcnico es una palabra que sustituye a un cdigo de operacin
(lenguaje de mquina), con lo cual resulta ms fcil la programacin, es de aqu de donde se aplica el
concepto de lenguaje ensamblador.
Un ejemplo comn de mnemnico es la instruccin MOV (mover), que le indica al microprocesador
que debe asignar datos de un lugar a otro. El microprocesador no entiende palabras, sino nmeros
binarios, por lo que es necesaria la traduccin del trmino mnemnico a cdigo objeto.
Por estas razones es de suma importancia leer y tener a disposicin la hoja de datos del fabricante
del microcontrolador que se vaya a utilizar ya que en el viene la informacin de los diagramas de
patillas, set de instrucciones, los registros internos y su funcionamiento detallado. Sin esta informacin
no es posible realizar una programacin que estemos seguros de que va a funcionar.
Material y equipo:
1 Computadora con MPLABX, su compilador XC16 y Proteus.
1 dsPIC de la familia 33F y su respectiva hoja de datos (DATASHEET)
1 Programador para dsPIC
1 Protoboard
8 Resistencias
8 LEDs
En caso de que el programador a utilizar no tenga regulacin de su fuente integrada:
1 fuente de CC regulable

Desarrollo
La aplicacin a realizar consiste en dar vida a nuestro dsPIC, para lo cual se pretende implementar
una secuencia de encendido y apagado de LEDs en el puerto B del dsPIC.
Lo primero que hay que comenzar a disear es el diagrama elctrico de nuestro microcontrolador y
los componentes necesarios para el funcionamiento del programa.
Diagrama Elctrico

Como puede observarse en la figura anterior, lo que se pretende es conectar LEDs en el puerto B del
microcontrolador.
Diagrama de Flujo

Ahora se va a establecer la serie de pasos lgicos a seguir para poder establecer el cdigo del
programa en lenguaje ensamblador. Para esto utilizaremos un diagrama de flujo.

Con este diagrama queda establecida la manera en que se va a implementar el programa;


independientemente del lenguaje de programacin que se vaya a utilizar.
Primero se configura el puerto B como salidas digitales; se puede utilizar todo el puerto como salida
digital ya que no se va a utilizar ningn otro componente adems de los 8 LEDs que vamos a encender.
A continuacin vamos a apagar todos los LED enviando un 0 de RB0 hasta RB7 para asegurarnos
que todos se vean de manera uniforme, luego se establecer una rutina de retardo de 1 segundo,
despus se enviar un 1 hacia todas las salidas del puerto, lo que encender los LEDs, finalmente
otra rutina de retardo de 1 segundo. Y se repetir ese ciclo indefinidamente.
Elaboracin del Programa

Diagrama de patillas del Microcontrolador resaltando las entradas/salidas utilizadas.

Cdigo en lenguaje ensamblador en el software MPLABX.


Cdigo Fuente Ampliado
Bits de configuracin del microcontrolador
Una vez realizada la comprobacin del funcionamiento del programa (debug) se realizar la simulacin
en Proteus.

Debug
Simulacin en Proteus

Finalmente podemos cargar nuestro cdigo al microcontrolador, para lo cual se utiliz el Programador
PICkit3 y su software respectivo.
Revisar que hay comunicacin entre la computadora y el programador. As como tambin regular la
salida de voltaje de la fuente interna del programador que sea adecuada para nuestro dispositivo.

Importar el archivo con extensin .hex al igual que como se hizo en Proteus. Le damos click en Write.
FIN. El dispositivo queda cargado con el cdigo probado y funcionando.
Observaciones
Hay muchos aspectos a considerar para el manejo de los dsPIC; sin duda siendo uno de los ms
importantes, o el ms importante, tener a la mano la informacin del dispositivo y comprenderla para
evitar errores y detalles a la hora de programar o incluso de conectarlo.
Tambin hay que tener disponible el manual de referencia de la familia del dispositivo (33F en nuestro
caso) y el manual de programador para consultar dudas que puedan surgir respecto a los registros,
nombres de los bits de dichos registros, datos de los osciladores, voltaje de alimentacin, conjunto de
instrucciones detallado, funciones especiales, etc.
Antes de bajar el cdigo al microcontrolador hay que revisar cuidadosamente que todo est conectado
correctamente a los pines que corresponden para evitar un posible dao al dispositivo y equipo que
se est utilizando.
Se utiliz el programador PICkit3 con un software adicional al MPLABX, siendo que hay una manera
de implementar directamente al microcontrolador desde el MPLABX; se har una investigacin sobre
cmo utilizar el controlador del programador que viene integrado con MPLABX para agilizar el proceso.
La manera en que hicimos todo el proceso de diseo, desde el diagrama elctrico, diagrama de flujo,
debe coincidir con el cdigo que vamos a realizar para seguir fielmente nuestra metodologa y resulte
ms entendible para usuarios tanto externos como a nosotros mismos.

Conclusin
Con respecto a los resultados vistos en la prctica se concluye que se logr el objetivo. Aprendimos
como utilizar el software de Microchip MPLABX para programar un cdigo sencillo en un
microcontrolador dsPIC.
Los simuladores tanto del MPLABX como de Proteus nos permiten probar el programa para asegurar
que este funcione como lo necesitamos, sin arriesgar la integridad del microcontrolador que estamos
utilizando.
Es importante cuidar el manejo de los dispositivos dsPIC ya que son muy sensibles a la carga esttica
y puede dejarlos inservibles, se recomienda utilizar una pulsera anti esttica cuando se vaya a mover
el dispositivo fsicamente.

Potrebbero piacerti anche