Está en la página 1de 85

CAPTULO VI: Dispositivos

programables

Estudio de memorias EPROM, PLDs y


microcontroladores

Jos Luis Snchez Calero

2006

Circuito con 2732


Montad el circuito de la figura.

Depuracin de programas
Las explicaciones que seguirn se
desarrollan en torno al microcontrolador de
Microchip PIC 16F876, que es el que
estudiamos en el Ciclo Formativo Superior
de DESARROLLO DE PRODUCTOS
ELECTRNICOS.

Circuito base
Diseemos el circuito de la figura, que ya fue
el soporte del captulo anterior.

Propuesta del programa


Una vez confeccionado el esquema del
circuito hay que desarrollar el programa que
lo haga funcionar. En nuestro ejemplo vamos
a realizar un programa que visualice HOLA
en una posicin centrada de la fila superior
de la pantalla LCD.

Herramienta para programa


Para escribir el programa en lenguaje
ensamblador podemos utilizar varias
herramienta, incluso el bloc de notas de
Windows. Nosotros utilizaremos MPLAB de
Microchip.
Lo primero que nos encontramos es un
fichero fuente (Source), al que llamaremos
saludo.asm. La realizacin y comprensin de
este programa corresponde a otra disciplina,
muy alejada del conocimiento de PROTEUS.

Imagen del ensamblador


Aspecto del programa ensamblador en bloc
de notas.

Men Source
Disponiendo del fichero fuente ya podemos
configurar todo el entorno PROTEUS para
que puedan generarse el resto de ficheros
necesarios.
Seleccionemos el men Source.

Aadir o quitar un fichero .asm


Pincharemos sobre Add/Remove Source
files

Ventana para aadir fichero


Esto nos lleva a la ventana de la figura,
donde elegiremos New (fichero nuevo).

Inclusin del fichero fuente


Esto nos lleva a una ventana donde
deberemos buscar nuestro fichero
saludo.asm. Una vez abierto, se reflejar en
la ventana correspondiente, como muestra
la figura. Aqu, mediante el botn Change,
podramos cambiar este fichero fuente.

Eleccin de herramienta
La operacin siguiente es decirle a
PROTEUS qu herramienta, de las varias
que lleva, debe utilizar para generar el resto
de ficheros necesarios para simulacin.
Elegiremos MPASMWIN, y aceptaremos.
Pinchamos aqu
para desplegar lista
de herramientas

Se elige sta

Observacin del fichero


A partir de este momento, al desplegar el
menu Source veremos, debajo de las
opciones, el nombre del fichero elegido.

Aqu se ve el nombre del


fichero seleccionado

Abrir el editor
Y si pinchamos sobre l, se abre una ventana de edicin
donde podemos retocar o modificar el cdigo ensamblador.

Herramientas para cdigos


El paso siguiente es volver a desplegar el
men Source y escoger la opcin Define
Code Generation Tools

Herramientas para ensamblar


Esta accin nos lleva a una ventana donde
debemos elegir las herramientas de
desarrollo. Aqu volveremos a elegir
MPASMWIN, en la casilla de la figura.

Ruta de Herramientas
Y, aunque PROTEUS ya da la ruta completa
donde se encuentra esa herramienta,
deberemos asegurarnos que el camino es el
que muestra la figura. Si no fuese as,
mediante el botn Browse deberemos
buscar el fichero MPASMWIN.EXE, dentro
de la carpeta Tools, de PROTEUS.

Fichero HEX
En la misma ventana anterior deberemos
asegurarnos que las opciones del apartado
Make Rules estn como en la figura. Aqu
observamos que se obtendr un fichero tipo
HEX a partir de un ASM. Aqul ser el que
grabaremos en el micro.

Cdigo LST
El ltimo apartado de la ventana de
Definicin de Herramientas para Generacin
de Cdigos nos encontramos con la
Extraccin de Datos para Depuracin del
programa. Debe de estar como en la figura.

Fichero para cdigo LST


Si la ruta del fichero MPASMDDX.EXE no
fuese la mostrada, con el botn Browse
podemos buscarlo, dentro de la carpeta
Tools que lleva PROTEUS.

Buscar editor
El paso siguiente es asegurarnos de que el
programa de edicin que empleara
PROTEUS, en caso de retoques o
modificaciones, es el apropiado. Para ello
pinchad como en la figura.

Eleccin de editor
Se abre la ventana de seleccin de editores.
Elegid como en la figura; es lo que sale por
defecto.

Construccin de ficheros
Establecidas las herramientas, slo falta
decirle que nos construya todo. Eso lo
conseguimos con la opcin de la figura.

Aviso final de construccin


Si la operacin se realiza con normalidad
(sin errores), una ventana como la mostrada
nos lo avisar.

Listado de cdigos generados


Si se hubiesen producido errores
en el proceso, no se generarn los
cdigos necesarios para simular y
habr que buscar la causa de esos
errores.
Los cdigos generados en un
proceso correcto, necesarios para
la simulacin y depuracin, son

Preparando la simulacin
Con los cdigos generados ya podemos
arrancar la simulacin.
Y para ello lo primero que tenemos que
hacer es grabar el micro con el fichero
hexadecimal saludo.HEX.

Edicin del micro


Pinchad sobre el chip, con botn secundario,
para marcarlo. Seguidamente botn primario
para editarlo. Sale la ventana de la figura.

Bsqueda fichero .HEX


Pinchad sobre la carpeta de la ventana
Program File: para abrir la bsqueda del
fichero saludo.HEX.

Grabacin del chip programable


Una vez encontrado y abierto, quedar
visible en la ventana anterior.

Ya est grabado el PIC.

Simulacin VSM
Arrancad la simulacin VSM y veris el
circuito as:

Programa a realizar
Vamos a estudiar las herramientas de
depuracin analizando un programa sencillo.
Diseemos el circuito que se muestra en la
figura de la siguiente diapositiva y
realizemos el programa ensamblador para
conseguir una intermitencia de los
visualizadores con cadencia de un segundo.
Este programa se llamar intermitente.asm.

Circuito a montar
Circuito a montar.

Generacin de ficheros
Seguid paso a paso la explicacin de las
diapositivas 44 a 66.
Si todo ha ido perfectamente la simulacin
VSM se habr realizado correctamente y los
leds parpadearn con la cadencia de 1 seg.
Pero vamos a realizar el seguimiento del
programa paso a paso, para analizar el
cambio de los diversos bloques internos del
microcontrolador.

Simular paso a paso


Arrancad la simulacin paso a paso
pulsando Ctrl + F12.
Tambin conseguimos el mismo efecto
pinchando sobre el botn de paso a paso.
O mediante Debug > Start/Restart
Debugging.

Herramientas de Depuracin
La botonera de simulacin quedar as:

Ventanas para depuracin


Si desplegis el men Debug se os
mostrarn todas las ventanas de depuracin
disponibles para el seguimiento del
desarrollo del programa.

Ventana Simulation Log


Si en la ventana del men Debug pinchis
sobre Simulation Log se abrir la ventana
correspondiente, que aparece en la figura de
la siguiente diapositiva.

Ventana Simulation Log

Marca de ventana abierta


En esta ventana se muestran datos sobre la
simulacin.
Cuando una ventana ha sido abierta queda
la correspondiente marca en la ventana
Debug.

Ventana de Cdigo Fuente


Cerrad la ventana anterior, que es la que
menos necesitamos para analizar el
programa.
Abrid la ventana del cdigo fuente del
programa, pinchando en

Ventana de Cdigo Fuente


La ventana nos muestra el cdigo fuente del
programa. sta s es muy interesante tenerla
a la vista para seguir paso a paso el
desarrollo del programa.
En la siguiente diapositiva se muestra la
ventana de Cdigo Fuente.

Ventana de Cdigo Fuente

Desplazar y modificar ventana


La primera manipulacin con la ventana es
el desplazamiento y el cambio de
dimensiones.
Estas operaciones se realizan como con
cualquier ventana de windows: pinchando y
arrastrando sobre la banda azul de ttulo,
para mover, y pinchando y arrastrando sobre
las esquinas o laterales para modificar
tamao.

Edicin de la ventana
Si pinchamos con
secundario sobre
cualquier zona de la
ventana del Cdigo
Fuente se edita y
aparece la ventana
emergente de la figura.

Edicin de la ventana
Al editar la ventana de Cdigo Fuente nos aparecen
tres opciones para ajustar el aspecto de la ventana
a nuestro gusto.
La primera de las tres opciones nos permite mostrar
u ocultar la numeracin de lneas de programa; la
segunda opcin hace lo mismo con las direcciones
de memoria, y la tercera, con los cdigos de
operacin de las instrucciones.
La figura est programada para que se muestre, en
la ventana de Cdigo Fuente, solamente las
direcciones de memoria.

Edicin de la ventana
En la parte inferior de la ventana de edicin
disponemos de dos opciones que nos
permitirn personalizar las letras y los
colores de la ventana de Cdigo Fuente.
Estas dos opciones nos las encontraremos
disponibles en todas las ventanas de
depuracin

Ventana de Registros
Para ver la ventana que nos muestra todos
los registros internos del micro, pinchad
sobre la opcin

Ventana de Registros
Y obtenemos la ventana

Aparece esta ventana si


pinchamos secundario
dentro de la ventana de
registros

donde se aprecian los registros ms


utilizados del micro.
Pinchando con secundario dentro de la
ventana se pueden cambiar colores y letras.

Ventana de Memoria de Datos


Pinchad segn la figura, para abrir la
ventana que muestra el contenido de la
memoria de datos del chip.

Ventana de Memoria de Datos


Obtendremos la
ventana de la figura,
donde vemos en
hexadecimal y ASCII
el contenido de la
memoria de datos.
Si pinchamos con
secundario dentro de
ella aparecern las
opciones de edicin.

Edicin de ventana de Memoria de


Datos
Las opciones
disponibles son:
Ir a una determinada
direccin.
Visualizar caracteres.
Cambiar el tipo de
datos y formato.
Cambiar los tipos de
letras.
Cambiar los colores.

Ventana de EEPROM de Datos


Esta ventana se obtiene al seleccionar el
apartado 6, segn muestra la figura.

Ventana de EEPROM de Datos


La ventana de EEPROM de datos se
muestra en la figura. En ella se ha pinchado
con secundario para editarla.

Ventana de EEPROM de Programa


Esta ventana se obtiene al pinchar la opcin
7, segn la figura.

Ventana de EEPROM de Programa


Aspecto de la ventana visualizando las
instrucciones por bytes

Ventana de EEPROM de Programa


Aspecto de la ventana, visualizando las instrucciones
completas con el byte de ms peso delante.

Ventana de Pila
Seleccionando la opcin 8 se obtiene la
ventana de pila.

Ventana de Pila
Aspecto de la ventana de la Pila interna del
micro. La entrada ltima es la que est
marcada con la flecha. Es a la direccin que
saltar la CPU cuando encuentre una
instruccin de retorno.
ltima entrada en
pila

Ventana de observacin
Esta ventana se obtiene al seleccionar la
opcin 2.

Ventana de observacin
Tiene el aspecto de la figura, con un mnimo
de dos columnas de observacin.

Nos servir para seleccionar los registros y


variables que deseamos observar durante la
depuracin.

Edicin de ventana de observacin


Si pinchis con secundario dentro de la
ventana aparecern las opciones de edicin

Aspecto de datos en ventana


Disponemos de las opciones conocidas para
modificar el aspecto de datos.

Tipo de letras y colores


Tambin aqu podemos cambiar el tipo y
color de letra de la ventana.

Aadir columnas
Y podemos aadir columnas de observacin.

Aadir columnas
Activando esta opcin aadimos la columna
de direcciones.

El resultado es:

Separacin de columnas
Si llevamos el cursor a la lnea de separacin
entre columnas, cambiar de aspecto y
podemos arrastrar para variar la separacin
entre aqullas.

Aadir cuadrcula
Activando esta opcin aadimos cuadrcula.

El resultado es:

Columna de comentarios
Activando esta opcin aadimos una
columna para expresiones.

El resultado es:

Minimizacin de ventana
Con esta opcin minimizamos la ventana de
observacin.

El resultado es:

Edicin de ventana de cdigo fuente


Al pinchar secundario en la ventana de
cdigo fuente se edita.

Bsqueda de lnea de Cdigo


Fuente
La primera opcin activa de que disponemos
es
Pinchad aqu

que nos permite ir a una lnea determinada


del programa.
Pinchando aqu se nos muestra la ventana
donde introduciremos el nmero de lnea a
buscar.
Se abre esta ventana

Para introducir aqu el


nmero de lnea a visitar
dentro del cdigo fuente

Bsqueda de lnea de Cdigo


Fuente
Si escribimos 5 en la ventana anterior el
programa habr resaltado la quinta lnea del
lenguaje escrito en el cdigo fuente.

No confundis la quinta lnea del cdigo


escrito con la direccin cinco.

Bsqueda de direccin
Seleccionando la opcin

aparecer la ventana que nos pide la


direccin a mostrar.
Aqu decimos que
deseamos ver la
direccin 5

Bsqueda de direccin
PROTEUS nos lleva a la direccin 5 del
programa, resaltndola.

Bsqueda de palabra
La siguiente opcin se emplea para localizar
una determinada palabra del texto.

Al seleccionar la opcin nos emerge esta


ventana.

Bsqueda de palabra
Escribid mo en la casilla del texto y activad la
casilla Case-sensitive?

Con esto le estamos diciendo al programa


que nos busque cualquier trmino que lleve
esas dos letras en su composicin.

Bsqueda de palabra
Al pinchar sobre Next, PROTEUS nos llevar
a la primera lnea que contiene mo.

Observad que la lnea mostrada tiene las dos


letras buscadas en el texto explicativo
(;Programa puerto B como salidas.)

Bsqueda de palabra
Y la ventana de bsqueda nos da el nmero
de lnea donde ha encontrado el primer
trmino que en nuestro ejemplo es la lnea
15.

El texto pedido lo ha
encontrado en la
lnea 15

Bsqueda de palabra
Ahora situemos el cursor de bsqueda al
inicio del programa para realizar, desde aqu,
una nueva bsqueda. Pinchad en la primera
lnea del cdigo fuente. Tras pinchar, la lnea
quedar resaltada.

Bsqueda de palabra
Si optamos por encontrar una palabra
completa deberemos escribir la palabra
deseada y activar la casilla Only Whole
Words? En el ejemplo se busca la palabra
movwf.

Bsqueda de palabra
Al pinchar sobre Next, el cursor se va a la
primera lnea de programa donde aparece el
trmino completo buscado, y la ventana nos
dice que es la lnea 44.
En la lnea 44 encuentra
el primer movwf, iniciando
la bsqueda donde estaba
posicionado el cursor.

Bsqueda de palabra
Pinchando repetidamente sobre Next iremos
viendo las siguientes lneas que cumplen la
condicin de bsqueda; si pinchamos sobre
Previous iremos viendo las lneas anteriores.

Bsqueda de palabra
La ventana de bsqueda memoriza los
trminos introducidos.
En la figura se aprecian tres entradas
empleadas como prueba.

Bsqueda de palabra
Si deseamos hacer bsquedas sucesivas
podemos optar por la solucin rpida del
teclado, pulsando Ctrl + G, o mediante la
opcin desplegada

FINAL
En el prximo captulo se estudia la
modificacin de valores por defecto de ISIS

Jos Luis Snchez Calero

2006

También podría gustarte