Documente Academic
Documente Profesional
Documente Cultură
X 1
Índice:
Para arrancar MPLAB 6 debemos correr "MPLAB IDE". El caso más común es que lo tengamos
instalado en la carpeta de "Archivos de Programa" de nuestro ordenador. Si no es así, debemos
ejecutar el fichero "mplab.exe" que se encontrará en el directorio que hayamos escogido para la
instalación, dentro de la carpeta "dlls".
Una vez arrancado nos encontramos con una pantalla como la de la figura 1.1:
- fig 1.1 -
GUÍA RÁPIDA PARA MPLAB 6.X 2
Entrando en:
Podemos escoger el tipo de oscilador (RC, LP, XT ó HS), y activar/desactivar el perro guardián,
el temporizador de arranque o la protección del programa. Cuando el fichero hexadecimal se va a
grabar en la memoria del PIC es conveniente no tener activado ni el perro guardián ni la
protección del programa.
volver a índice
Para generar el programa fuente se utiliza el editor del MPLAB IDE . Seleccionando:
File> New
aparece en el área de trabajo una ventana en blanco donde escribirlo. Aquí tenemos dos opciones:
1) escribir el programa, y 2) copiarlo desde otro medio si ya lo tenemos escrito.
En cualquiera de esos dos casos, hay que tener en cuenta las normas de escritura del programa
fuente, que resumimos a continuación:
4) La etiqueta y los mnemónicos, y éstos y los operandos deben estar separados por uno o
más espacios. Los operandos entre sí pueden ir separados por una “ , ”.
5) Y también:
GUÍA RÁPIDA PARA MPLAB 6.X 3
etiquetas:
mnemónicos:
operandos:
· los operandos deben separarse de los mnemónicos por uno o más espacios (o
“TAB”)
· los operandos que vienen en listas deben separarse por “ , “
· si un mnemónico requiere un número fijo de operandos, todo lo que venga detrás
de ellos en la misma línea se ignora (se permiten comentarios al final de la línea)
· si un mnemónico permite un número variable de operandos, el final de la lista de
operandos viene determinado por el final de la línea o por el inicio de un
comentario
comentarios:
· los comentarios al final de una línea deben estar separados del resto de la línea
por uno o más espacios (o “TAB”)
· todo lo que hay en una línea detrás del carácter de comentario y hasta el final de
ella, se ignora
Nos aparece una ventana como la de la figura 2.1. Escogemos el directorio donde guardarlo
teniendo en cuenta que debe tener la extensión .asm. Para eso hay que tener cuidado con el
formato y en la ventana "Save as type" debe estar seleccionada la opción: Assembly Source Files.
GUÍA RÁPIDA PARA MPLAB 6.X 4
- fig 2.1 -
Tras guardar el programa fuente, el texto aparece en diferentes colores, que diferencian las
instrucciones, los comentarios, directivas, etc. Esos colores se pueden configurar a gusto del
usuario. Para más información acudir a: Help > MPLAB Editor Help
volver a índice
- fig 3.1 -
GUÍA RÁPIDA PARA MPLAB 6.X 5
-fig 3.2 -
- fig 3.3 -
GUÍA RÁPIDA PARA MPLAB 6.X 6
Seleccionamos la que nos interese que, para iniciarnos en el manejo del programa, debe
ser "MPASM Assembler (mpasmwin.exe")". En la ventana siguiente (Location of select
tool) debe figurar la trayectoria completa de ese ejecutable.
Si esa trayectoria está incompleta o es errónea debemos pulsar "Browse" para localizarlo.
- fig 3.4 -
5) La pantalla siguiente (fig 3.5) nos pregunta qué ficheros queremos añadir a nuestro
proyecto. Debemos seleccionar y añadir (pulsar en "Add") el fichero fuente
(nombre.asm).
GUÍA RÁPIDA PARA MPLAB 6.X 7
- fig 3.5 -
- fig 3.6 -
Seleccionar "Siguiente" para continuar.
GUÍA RÁPIDA PARA MPLAB 6.X 8
Aparece entonces una pantalla con un resumen del proyecto que queremos crear (fig 3.7):
- fig 3.7 -
Si esos datos no son correctos, debemos pulsar "Atrás" y corregirlos. Si son correctos,
debemos pulsar "Finalizar". Con eso salimos del "Project Wizard" y nos aparece una
pantalla con un aspecto como el de la figura 3.8:
- fig 3.8 -
Se pueden añadir archivos y salvar proyectos pulsando el botón derecho del ratón cuando
nos encontremos en la ventana de proyecto. Los ficheros también se pueden borrar
manualmente seleccionándolos y utilizando el botón derecho del ratón.
volver a índice
GUÍA RÁPIDA PARA MPLAB 6.X 9
Una vez que el proyecto está creado, debemos ensamblarlo. Para eso el entorno MPLAB utiliza el
programa mpasmwin. El procedimiento a seguir es el siguiente:
El caso más común cuando se empieza a trabajar con MPLAB es que en la pantalla aparezca un
mensaje como éste:
· en decimal: de 0 a 9
· en hexadecimal: de 0 a 9, de a a f, y de A a F en hexadecimal
- "[108] Illegal Carácter". Hay un carácter no válido en una etiqueta. Los
caracteres válidos son: letras, números (siempre que no sean el primer carácter
de la etiqueta), subrayado "_" e interrogación "?".
- "[109] Unmatched (" y "[110] Unmatched )". Paréntesis sin cerrar o abrir.
- "[111] Missing Symbol". A las directivas EQU o SET no se les ha
proporcionado el valor numérico.
- "[113] Symbol not previously defined". Hacemos referencia a un símbolo
que todavía está sin definir.
- "[115] Duplicate label". Definimos la misma etiqueta para dos valores
diferentes.
- "[121] Illegal label. Este error puede proceder de dos fuentes: 1) algunas
directivas no admiten una etiqueta en la misma línea; basta con poner la
etiqueta, sola, en la línea anterior, y 2) tampoco se permiten las palabras
"HIGH", "LOW", "PAGE" ni "BANK" como etiquetas.
- "[122] Illegal opcode". El mnemónico de la instrucción no está escrito
correctamente o no existe.
- "[124] Illegal argument". El argumento de la directiva no es válido.
- "[126] Argument out of range". El argumento de la instrucción o de la
directiva es mayor del valor admisible.
- "[128] Missing argument(s)". A la instrucción le falta algún dato.
Debemos tener en cuenta que la eliminación de estos errores simplemente permite obtener
un fichero hexadecimal, pero no tenemos ninguna información acerca de si nuestro
programa funcionará o no correctamente.
- "[302] Register in operand not in bank 0. Ensure that bank bits are
correct". El PIC trabaja por defecto en el banco 0 de la memoria de datos.
Este mensaje advierte de que hemos hecho una operación fuera de ese banco y
nos recomienda asegurarnos de que eso es lo que queremos hacer.
- "[305] Using default destination of 1 (file)". Hay algunas instrucciones que
operan con registros que necesitan como dato el destino, es decir, dónde se
quiere almacenar el resultado de la operación que realiza la instrucción. El
destino es un solo bit y por tanto sólo tiene dos opciones: si es "0" el resultado
se almacena en W, y si es "1" es resultado se almacena en el registro con el que
haya operado la instrucción. Si no se especifica ese destino, por defecto, la
CPU lo toma como un "1" y almacena ese resultado en el mismo registro con
el que había trabajado. Este mensaje nos advierte de esta situación.
Para tratar los mensajes, el camino más rápido es hacer doble click en la línea del fichero
"output" en la que está el mensaje. Eso hace que el cursor se ponga en la línea del programa
fuente que da lugar a la aparición de ese mensaje y nos permite corregirlo. A continuación, el
fichero fuente se graba de nuevo, "File > Save", y se vuelve a ensamblar: "Project > Build
All". El proceso se repite hasta que estén corregidos todos, momento en el que mpasmwin
consigue generar el fichero hexadecimal, apareciendo una pantalla como la de la figura 4.1,
donde se puede leer BUILD SUCCEEDED y donde se puede ver también el nombre del fichero
obtenido (extensión .cod) y su trayectoria completa.
- fig 4.1 -
Es lógico que llegados a este punto comprobemos nuestro programa, es decir, vamos a simular su
funcionamiento.
MPLAB-SIM es un simulador para los microcontroladores PIC que viene integrado en el entorno
MPLAB IDE. Permite modificar el programa y reejutarlo a continuación, introducir estímulos
externos y observar la ejecución del programa objeto.
Suele ser habitual entonces que una vez que nuestro programa está pensado para tiempo real,
tengamos que "acelerarlo" para que su simulación no dure excesivamente.
Como caso más común se tiene el de utilizar divisor de frecuencia. Pues bien, suele ser
conveniente desactivarlo para la simulación volviendo a activarlo para la aplicación real. Eso nos
lleva a un nuevo ensamblado en el que no debe aparecer ningún mensaje diferente a los obtenido
anteriormente.
- fig 5.1 -
- fig 5.2 -
En primer lugar es conveniente que el simulador empiece por ejecutar la primera instrucción del
programa, para eso realizamos un "reset" del procesador:
- fig 5.3 -
En la pantalla (figura 5.4) nos aparece una flecha verde en el margen izquierdo de la ventana
donde está escrito el programa fuente (nombre.asm). La flecha apunta a la primera instrucción
que se va a simular en cuanto demos la orden.
GUÍA RÁPIDA PARA MPLAB 6.X 14
A partir de aquí tenemos tres posibilidades de ejecutar el programa: paso a paso, en modo
animado y total.
- fig 5.4 -
1) Paso a paso (Step). En esta modalidad, la CPU ejecuta las instrucciones una a una cada
vez que entremos en el menú:
Podemos observar el valor de las variables en ese instante colocando el cursor sobre ellas
(figura 5.5):
- fig 5.5 -
GUÍA RÁPIDA PARA MPLAB 6.X 15
2) Modo animado (Animate). En este caso, la CPU ejecuta las instrucciones una tras otra
sin esperar. Se activa en el menú:
También en este caso podemos observar el valor de las variables en ese instante
colocando el cursor sobre ellas.
3) Total (Run). En este modo, la CPU ejecuta el programa completo, es decir desde la
primera hasta la última instrucción. Se activa en:
En este caso, si colocamos el cursor sobre una variable no nos aparece el valor que tiene
en ese instante. Primero debemos detener la ejecución del programa.
volver a índice
Hay varias formas de observar lo que sucede al ir ejecutándose las instrucciones del programa.
Dentro del menú "View" tenemos varias posibilidades que nos van abriendo diferentes ventanas:
Además, hay que tener en cuenta que en programas complejos pueden ser muchos los valores que
cambian con cada instrucción, lo que dificulta el seguimiento de unas pocas variables.
Con eso nos aparece una nueva ventana (fig 6.1) en la que podemos seleccionar tanto los
registros de funciones especiales (FSR) como los símbolos (symbol) que queremos observar.
- fig 6.1 -
Una vez que tenemos en la ventana el símbolo que queremos observar, podemos cambiar su
formato seleccionándolo y apretando el botón derecho del ratón para entrar en sus propiedades.
Ahí podremos escoger varias opciones:
símbolo
número de bits a observar
formato (aquí podemos escoger también un solo bit)
volver a índice
7.- ESTÍMULOS
El simulador evalúa los estímulos y genera todas las respuestas en los límites de cada ciclo de
instrucción (Tcy = 4·Tosc). Por ese motivo, algunos sucesos físicos no pueden simularse con
precisión, en particular los sucesos puramente asíncronos y los sucesos de periodo más corto que
un ciclo de instrucción.
Los estímulos generan señales para el simulador. Podemos poner patillas a "0" o a "1" y cargar
valores directamente en registros. Existen cuatro tipos:
GUÍA RÁPIDA PARA MPLAB 6.X 17
- Estímulos asíncronos
- Estímulos de terminales
- Estímulos de registros
- Estímulos de reloj
Permite simular +5V y 0V en terminales configurados como entradas. Se activan haciendo click
en el botón correspondiente de la ventana de diálogo. Para definirlos debemos entrar en:
- fig 7.1 -
Podemos entonces definir los estímulos. Es probable que tengamos que comenzar por añadir una
fila: Add Row.
La primera columna (type) nos permite escoger entre estímulo síncrono o asíncrono. Basta con
pulsar dentro del cuadro en blanco para que nos aparezcan las opciones.
La segunda columna (enable) nos habilita el estímulo, es decir, cada vez que hagamos click sobre
el icono "fire", se producirá la simulación del estímulo que estamos configurando.
La tercera columna (pin) nos permite escoger la patilla en la que queremoa simular el estímulo.
En la figura 7.2 podemos ver un ejemplo de pantalla con una serie de estímulos definidos.
- fig 7.2 -
Si queremos eliminar un estímulo, basta con seleccionar la línea y pulsar en "Delete Row".
Una vez definidos todos los estímulos que necesitemos, mientras va corriendo la simulación
podemos activarlos a medida que pulsemos con el ratón en el botón correspondiente, por eso es
conveniente mantener abierta la ventana de los estímulos durante la simulación.
Tenemos la opción de guardar el fichero de estímulos. Basta con actuar sobre "Save" e indicar el
nombre y el directorio donde queremos guardarlo. Posteriormente podemos recuperarlo actuando
sobre "Load".
volver a índice