Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Durango
Microcontroladores
Prctica 1
Uso del MPLabX.
Grupo 6L
Introduccin
Creando un nuevo proyecto en MPLABX
1. Abrimos MPLABX
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.
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.
Pause
Ejecutar / Continuar
Reset
Step Over
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
El cursor, marcado en verde, apunta a la primera direccin de programa. Los pasos iniciales a
seguir seran los siguientes:
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.
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.