Você está na página 1de 55

PROTEUS

Depuracin de programas
para microprocesadores
CCFF D.P.E. MDULO DE PROYECTOS 2
Introduccin
Como ya se ha indicado en temas anteriores, la
aplicacin PROTEUS, tiene entre sus utilidades la
simulacin de los esquemas realizados mediante el
mdulo Proteus ISIS.
Una parte fundamental es la simulacin de circuitos
que incluyen microcontroladores, que es la que en
principio se hace mas atractiva para nuestro curso.
Todos los puntos que se estudiarn a continuacin
harn referencia a un diseo y un entorno de trabajo
para microcontroladores PIC.
CCFF D.P.E. MDULO DE PROYECTOS 3
Depuracin de Programas para
Microprocesadores
Evidentemente el primer paso para simular
cualquier circuito electrnico es disear el hardware
sobre el que haremos correr el programa o
software.
En nuestro caso se trata de un PIC 16F84, al que se
introducen valores hexadecimales, a travs de unos
switchs, conectados desde RA0 hasta RA3 y se desea
visualizar el valor introducido en un un display de 7
segmentos que se ha conectado al puerto B.
El circuito sera:
CCFF D.P.E. MDULO DE PROYECTOS 4
5
Una vez realizado el circuito, comenzaremos a
definir el entorno en el que se encuentra el programa
que escribiremos y que posteriormente correr
sobre el micro.
CCFF D.P.E. MDULO DE PROYECTOS 6
CONFIGURACIN BSICA DEL
ENTORNO DE TRABAJO
Esta configuracin la tendremos que realizar para
microcontrolador que utilicemos.
Para ello, activamos el men desplegable Source
(fuente), mostrndose las siguientes opciones:
CCFF D.P.E. MDULO DE PROYECTOS 7
CONFIGURACIN DEL ENTORNO DE TRABAJO
Escogemos opcin Define Code Generation Tools:
con lo que se nos abrir la siguiente ventana
CCFF D.P.E. MDULO DE PROYECTOS 8
CONFIGURACIN DEL ENTORNO DE
TRABAJO
En la ventana anterior podremos escoger el
ensamblador o compilador que se utilizar para
generar el fichero ejecutable a partir del fichero
fuente, as como las opciones del mismo.
En nuestro caso escogemos el ensamblador
MPSAM de Microchip
CCFF D.P.E. MDULO DE PROYECTOS 9
CONFIGURACIN DEL ENTORNO DE
TRABAJO
Seguidamente damos el camino para encontrar
dicha herramienta, para ellos pinchamos en Browse
Path
CCFF D.P.E. MDULO DE PROYECTOS 10
CONFIGURACIN DEL ENTORNO DE
TRABAJO
Las opciones contenidas en Make Rules nos
muestran el tipo de fichero que deseamos
ensamblar (ASM), y el cdigo objeto que se
producir despus de esta accin (HEX).
CCFF D.P.E. MDULO DE PROYECTOS 11
CONFIGURACIN DEL ENTORNO DE
TRABAJO
La ltima opcin consiste en indicar el Path de la
herramienta de trabajo para ficheros listables, en
nuestro caso MPASAMDDX.
CCFF D.P.E. MDULO DE PROYECTOS 12
CONFIGURACIN DEL ENTORNO DE TRABAJO
Edicin del programa fuente: Nos resta editar el
programa que queremos correr sobre el micro, pero
previamente deberemos fijar el editor de texto que
utilizaremos
Al seleccionar Setup External Text Editor, aparece
la siguiente pantalla:
CCFF D.P.E. MDULO DE PROYECTOS 13
CONFIGURACIN DEL ENTORNO DE TRABAJO
Por defecto se nos da un editor (SRDEDIT), dicho
editor puede ser cambiado por otro.
Con el editor este podemos escribir el programa, o
bin cambiar el *.ASM y ensamblarlo sin
necesidad de salir del entorno de PROTEUS.
CCFF D.P.E. MDULO DE PROYECTOS 14
AADIENDO EL PROGRAMA FUENTE
Tngase en cuenta que el programa ha podido ser
escrito en otro entorno y con otro editor (por
ejemplo en MPLAB).
Si el programa *.ASM est ya escrito, lo
deberemos asociar al diseo, para ello activamos
la opcin Add/Remove Source files
CCFF D.P.E. MDULO DE PROYECTOS 15
AADIENDO EL PROGRAMA FUENTE
El cuadro de dilogo que se nos presenta es:
En l seleccionamos la herramienta de ensamblado,
e indicamos cual ser el fichero a ensamblar
CCFF D.P.E. MDULO DE PROYECTOS 16
AADIENDO EL PROGRAMA FUENTE
En nuestro caso damos el fichero que ha sido
generado en el entorno MPLAB y en con el camino
indicado:
Existe una opcin de Flags, que sirve para
ensamblados especiales
CCFF D.P.E. MDULO DE PROYECTOS 17
AADIENDO EL PROGRAMA FUENTE
Una vez que hayamos pulsado OK, y si observamos
de nuevo el men Source, comprobaremos que el
fichero ha sido aadido:
Si hacemos clic sobre l, se abrir y podramos
hacer modificaciones
CCFF D.P.E. MDULO DE PROYECTOS 18
AADIENDO EL PROGRAMA FUENTE
CCFF D.P.E. MDULO DE PROYECTOS 19
AADIENDO EL PROGRAMA FUENTE
20
ENSAMBLADO DEL PROGRAMA FUENTE
Una vez editado el programa, nos resta ensamblarlo,
esto es posible sin salir del entorno. Para ello
lanzamos la opcin Build All (construir).
Esta accin provoca que se nos presente una ventana
de mensajes en las que se nos indicar si todo ha ido
bin y que se han generado los ficheros HEX y LST.
Para ensamblar
21
ENSAMBLADO DEL PROGRAMA FUENTE
En el ejemplo anterior se ha producido el
ensamblado del programa sin errores.
Si existieran errores se nos indicar que tipo de error
existe en nuestro programa.
22
ENSAMBLADO DEL PROGRAMA FUENTE
En el caso del ejemplo, existen errores, por lo que se
deber editar de nuevo el programa *.ASM y
corregir los errores.
23
INSERCIN DEL PROGRAMA EN EL
CONTROLADOR
Una vez generados los ficheros HEX y LST,
deberemos asociar al controlador el programa
.HEX, para ello y en el diseo, seleccionamos el
micro y lo editamos, esto provocar que se nos
presente el siguiente cuadro de dilogo:
CCFF D.P.E. MDULO DE PROYECTOS 24
Insercin Del Programa En El Controlador
Sobre este cuadro de dilogo, indicamos el
programa que s ejecutar en el microcontrolador, la
frecuencia del reloj, palabra de configuracin
25
Insercin Del Programa En El Controlador
Existen otras opciones mas avanzadas y que pueden
se seleccionadas, como periodo del perro guardin,
avisos si se produce overflow o underflow de la pila,
avisos si se intenta acceder a una posicin de
memoria no implementada etc.
CCFF D.P.E. MDULO DE PROYECTOS 26
SIMULACIN DE CIRCUITOS CON
CONTROLADORES EN PROTEUS
Llegados a este momento ya podemos pasar a la
simulacin y animacin del circuito para ello
disponemos de los botones de control de la barra de
animacin y que funcionan como en un cassete de
audio.
Play: A su pulsacin, el botn cambia a color verde,
el PIC comienza a ejecutar el programa en modo
contnuo, se inicia la animacin.
Play
Paso a
paso
Pausa
Parada
CCFF D.P.E. MDULO DE PROYECTOS 27
SIMULACIN Y DEPURACIN
CONTROLADORES EN PROTEUS
Si el programa no funciona como deseamos,
deberemos depurarlo, para ello se hace preciso
parar el programa, mediante la tecla de STOP .
Y seguidamente ejecutar el programa PASO A
PASO, mediante la tecla .
En este modo de trabajo, podemos utilizar las
opciones de depuracin del men Debug.
CCFF D.P.E. MDULO DE PROYECTOS 28
LA DEPURACIN (Debug)
Las opciones de depuracin que posee Proteus son:
CCFF D.P.E. MDULO DE PROYECTOS 29
LAS OPCIONES DE DEBUG
1. Simulation Log: muestra los mensajes propios de
la simulacin
CCFF D.P.E. MDULO DE PROYECTOS 30
LAS OPCIONES DE DEBUG
Watch Window
2. Watch Window: Permite observar el valor de
variables , etiquetas y posiciones de memoria en un
instante determinado de la ejecucin del programa.
Su pulsacin hace que se nos muestre la siguiente
ventana:
CCFF D.P.E. MDULO DE PROYECTOS 31
LAS OPCIONES DE DEBUG
Para incluir variables, hacemos clic con el botn
secundario el ratn dentro de dicha ventana.
CCFF D.P.E. MDULO DE PROYECTOS 32
LAS OPCIONES DE DEBUG
Como se puede comprobar se pueden incluir
variables indicando su nombre o bien su direccin:
Pasemos a incluir alguna de ellas, mediante el
nombre, para ello hacemos clic en Add Items (By
Name)
CCFF D.P.E. MDULO DE PROYECTOS 33
LAS OPCIONES DE DEBUG
La pantalla que se nos presenta es:
Haciendo doble clic sobre cualquier variable queda
insertada en la ventana:
CCFF D.P.E. MDULO DE PROYECTOS 34
LAS OPCIONES DE DEBUG
Tenga presente que en cualquier momento se puede
editar esta ventana para incluir, eliminar variables o
modificar los formatos de visualizacin.
CCFF D.P.E. MDULO DE PROYECTOS 35
LAS OPCIONES DE DEBUG
WATCH WINDOW
CCFF D.P.E. MDULO DE PROYECTOS 36
LAS OPCIONES DE DEBUG
Watch point
Tambin es posible fijar una condicin en las
variables para detener la animacin
CCFF D.P.E. MDULO DE PROYECTOS 37
LAS OPCIONES DE DEBUG
PIC CPU Source Code U1
Nos permite ver el cdigo fuente del programa en
una ventana (en este caso en ensamblador)
CCFF D.P.E. MDULO DE PROYECTOS 38
LAS OPCIONES DE DEBUG
PIC CPU Source Code U1
Dentro de esta ventana podemos entre otras cosas:
Ejecutar el programa en modo paso a paso
Establecer puntos de ruptura
Ir a una determinada lnea de programa
Buscar un texto en el cdigo fuente
Ir a una determinada direccin de memoria
Activar/desactivar la visualizacin de los cdigos
de operacin
Cambiar la asignacin de colores para
direcciones, instrucciones, datos
CCFF D.P.E. MDULO DE PROYECTOS 39
LAS OPCIONES DE DEBUG
PIC CPU Source Code U1
Controles de la simulacin:
Run the simulatin: la simulacin pasa a
ejecutarse en modo continuo. No sirve para la
depuracin.
Step Into : ejecuta una nica instruccin, si se
encuentra con una funcin/subrutina, entra en ella.
Step Over : ejecuta una nica instruccin, si se
encuentra con una funcin/subrutina, la ejecuta
como si se tratara una nica instruccin (no entra en
ella).
CCFF D.P.E. MDULO DE PROYECTOS 40
LAS OPCIONES DE DEBUG
PIC CPU Source Code U1
Step Out: Ejecuta en modo contnuo todas las
instrucciones hasta que encuentra un retorno de
subrutina Si la simulacin se encuentra dentro de
una subrutina (nos saca de la subrutina), si no
encuentra un retorno de subrutina, pasa a ejecutar
el programa en modo contnuo.
Toggle (Set/Clear) Breakpoint: Habilita/
deshabilita puntos de ruptura en la instruccin
seleccionada mediante el ratn.
CCFF D.P.E. MDULO DE PROYECTOS 41
LAS OPCIONES DE DEBUG
PIC CPU Source Code U1
Step To: Ejecuta en modo contnuo todas las
instrucciones hasta que encuentra un punto de
ruptura, se activa si hay algn break point activado.
Todas las opciones anteriores as como las referentes
a los puntos de ruptura ( habilitacin, eliminacin se
pueden seleccionar si hacemos clic con el botn
secundario del ratn sobre la ventana Source Code.
CCFF D.P.E. MDULO DE PROYECTOS 42
LAS OPCIONES DE DEBUG
PIC CPU Source Code U1
CCFF D.P.E. MDULO DE PROYECTOS 43
LAS OPCIONES DE DEBUG
PIC CPU Source Code U1
En el cuadro de seleccin se
pueden seleccionar otras opciones
de edicin y visualizacin como:
Ir a una lnea determinada de
programa
Ir a una direccin
Cambiar el tipo de letra
Cambiar la asignacin de colores
para direcciones instrucciones,
direcciones etc.
CCFF D.P.E. MDULO DE PROYECTOS 44
LAS OPCIONES DE DEBUG
PIC CPU Register U1
Pic CPU Register U1: muestra el contenido de los
registros del micro en estudio.
El contenido de los registros se va actualizando
segn se ejecutan las instrucciones
CCFF D.P.E. MDULO DE PROYECTOS 45
LAS OPCIONES DE DEBUG
PIC CPU Data Memory U1
PIC CPU Data Memory U1: muestra el contenido
de la memoria de datos en estudio.
El contenido de las posiciones de memoria se va
actualizando segn se ejecutan las instrucciones
CCFF D.P.E. MDULO DE PROYECTOS 46
LAS OPCIONES DE DEBUG
PIC CPU ProgramMemory U1
PIC CPU Program Memory U1: muestra el contenido
de la memoria de programa del en estudio.
Existe diferentes opciones de visualizacin
Opciones
CCFF D.P.E. MDULO DE PROYECTOS 47
LAS OPCIONES DE DEBUG
PIC CPU Stack U1
PIC CPU Stack: nos indica en todo el valor de este
registro
Direccin de
retorno
Direccin
de retorno
CCFF D.P.E. MDULO DE PROYECTOS 48
LAS OPCIONES DE DEBUG
Evidentemente en cada instante podemos visualizar
las ventanas que se deseen de entre las estudiadas.
Ahora bin es una buena costumbre no tener
activadas aquellas ventanas que no sean necesarias.
CCFF D.P.E. MDULO DE PROYECTOS 49
LAS OPCIONES DE DEBUG
CCFF D.P.E. MDULO DE PROYECTOS 50
LA SIMULACIN
Una vez que hemos depurado totalmente el
programa, simulemos su funcionamiento, para ello
pulsamos la tecla PLAY, el circuito que
obtendramos es:
CCFF D.P.E. MDULO DE PROYECTOS 51
LA SIMULACIN
Sobre l explicamos diferentes smbolos que
aparecen:
: cuadrados que indican el rojo polaridad
positiva (1) y azul polaridad negativa (0).
:switch con dos flechas, (una de
apertura y otra de cierre), permiten que dicho
elemento se abra y cierre, simulando un interruptor
real.
Si nos encontramos en simulacin contnua y
actuamos sobre los interruptores obtendremos:
CCFF D.P.E. MDULO DE PROYECTOS 52
CCFF D.P.E. MDULO DE PROYECTOS 53
CCFF D.P.E. MDULO DE PROYECTOS 54
CCFF D.P.E. MDULO DE PROYECTOS 55

Você também pode gostar