Download Dispositivos programables

Document related concepts
no text concepts found
Transcript
CAPÍTULO VI: Dispositivos
programables
Estudio de memorias EPROM, PLD’s y
microcontroladores
José Luis Sánchez Calero
2006
Circuito con 2732
 Montad el circuito de la figura.
Depuración de programas
 Las explicaciones que seguirán se
desarrollan en torno al microcontrolador de
Microchip PIC 16F876, que es el que
estudiamos en el Ciclo Formativo Superior
de DESARROLLO DE PRODUCTOS
ELECTRÓNICOS.
Circuito base
 Diseñemos el circuito de la figura, que ya fue
el soporte del capítulo 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 posición 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 realización y comprensión 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.
Añadir o quitar un fichero .asm
 Pincharemos sobre Add/Remove Source
files…
Ventana para añadir fichero
 Esto nos lleva a la ventana de la figura,
donde elegiremos New (fichero nuevo).
Inclusión 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 botón Change,
podríamos cambiar este fichero fuente.
Elección de herramienta
 La operación siguiente es decirle a
PROTEUS qué herramienta, de las varias
que lleva, debe utilizar para generar el resto
de ficheros necesarios para simulación.
Elegiremos MPASMWIN, y aceptaremos.
Pinchamos aquí para
desplegar lista de
herramientas
Se elige ésta
Observación 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 edición
donde podemos retocar o modificar el código ensamblador.
Herramientas para códigos
 El paso siguiente es volver a desplegar el
menú Source y escoger la opción Define
Code Generation Tools…
Herramientas para ensamblar
 Esta acción 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 botón 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 están como en la figura. Aquí
observamos que se obtendrá un fichero tipo
HEX a partir de un ASM. Aquél será el que
“grabaremos” en el micro.
Código LST
 El último apartado de la ventana de
Definición de Herramientas para Generación
de Códigos nos encontramos con la
Extracción de Datos para Depuración del
programa. Debe de estar como en la figura.
Fichero para código LST
 Si la ruta del fichero MPASMDDX.EXE no
fuese la mostrada, con el botón Browse
podemos buscarlo, dentro de la carpeta
Tools que lleva PROTEUS.
Buscar editor
 El paso siguiente es asegurarnos de que el
programa de edición que emplearía
PROTEUS, en caso de retoques o
modificaciones, es el apropiado. Para ello
pinchad como en la figura.
Elección de editor
 Se abre la ventana de selección de editores.
Elegid como en la figura; es lo que sale por
defecto.
Construcción de ficheros
 Establecidas las herramientas, sólo falta
decirle que nos “construya todo”. Eso lo
conseguimos con la opción de la figura.
Aviso final de construcción
 Si la operación se realiza con normalidad
(sin errores), una ventana como la mostrada
nos lo avisará.
Listado de códigos generados
 Si se hubiesen producido errores
en el proceso, no se generarán los
códigos necesarios para simular y
habrá que buscar la causa de esos
errores.
 Los códigos generados en un
proceso correcto, necesarios para
la simulación y depuración, son
Preparando la simulación
 Con los códigos generados ya podemos
arrancar la simulación.
 Y para ello lo primero que tenemos que
hacer es grabar el micro con el fichero
hexadecimal “saludo.HEX”.
Edición del micro
 Pinchad sobre el chip, con botón secundario,
para marcarlo. Seguidamente botón primario
para editarlo. Sale la ventana de la figura.
Búsqueda fichero .HEX
 Pinchad sobre la carpeta de la ventana
Program File: para abrir la búsqueda del
fichero saludo.HEX.
Grabación del chip programable
 Una vez encontrado y abierto, quedará
visible en la ventana anterior.
 Ya está grabado el PIC.
Simulación VSM
 Arrancad la simulación VSM y veréis el
circuito así:
Programa a realizar
 Vamos a estudiar las herramientas de
depuración analizando un programa sencillo.
 Diseñemos 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.
Generación de ficheros
 Seguid paso a paso la explicación de las
diapositivas 44 a 66.
 Si todo ha ido perfectamente la simulación
VSM se habrá realizado correctamente y los
leds parpadearán 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 simulación paso a paso pulsando
Ctrl + F12.
 También conseguimos el mismo efecto
pinchando sobre el botón de paso a paso.
 O mediante Debug > Start/Restart
Debugging.
Herramientas de Depuración
 La botonera de simulación quedará así:
Ventanas para depuración
 Si desplegáis el menú Debug se os
mostrarán todas las ventanas de depuración
disponibles para el seguimiento del
desarrollo del programa.
Ventana Simulation Log
 Si en la ventana del menú Debug pincháis
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
simulación.
 Cuando una ventana ha sido abierta queda
la correspondiente marca en la ventana
Debug.
Ventana de Código Fuente
 Cerrad la ventana anterior, que es la que
menos necesitamos para analizar el
programa.
 Abrid la ventana del código fuente del
programa, pinchando en
Ventana de Código Fuente
 La ventana nos muestra el código 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 Código Fuente.
Ventana de Código Fuente
Desplazar y modificar ventana
 La primera manipulación 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 título,
para mover, y pinchando y arrastrando sobre
las esquinas o laterales para modificar
tamaño.
Edición de la ventana
 Si pinchamos con
secundario sobre
cualquier zona de la
ventana del Código
Fuente se edita y
aparece la ventana
emergente de la figura.
Edición de la ventana
 Al editar la ventana de Código 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 numeración de líneas de
programa; la segunda opción hace lo mismo con
las direcciones de memoria, y la tercera, con los
códigos de operación de las instrucciones.
 La figura está programada para que se muestre, en
la ventana de Código Fuente, solamente las
direcciones de memoria.
Edición de la ventana
 En la parte inferior de la ventana de edición
disponemos de dos opciones que nos
permitirán personalizar las letras y los
colores de la ventana de Código Fuente.
 Estas dos opciones nos las encontraremos
disponibles en todas las ventanas de
depuración
Ventana de Registros
 Para ver la ventana que nos muestra todos
los registros internos del micro, pinchad
sobre la opción
Ventana de Registros
 Y obtenemos la ventana…
Aparece esta ventana si
pinchamos secundario
dentro de la ventana de
registros
 …donde se aprecian los registros más
utilizados del micro.
 Pinchando con secundario dentro de la
ventana se pueden cambiar colores y letras.
Ventana de Memoria de Datos
 Pinchad según 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 aparecerán las
opciones de edición.
Edición de ventana de Memoria de
Datos
 Las opciones
disponibles son:
 Ir a una determinada
dirección.
 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, según 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 opción
7, según 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 más peso
delante.
Ventana de Pila
 Seleccionando la opción 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 dirección que
saltará la CPU cuando encuentre una
instrucción de retorno.
Última entrada en pila
Ventana de observación
 Esta ventana se obtiene al seleccionar la
opción 2.
Ventana de observación
 Tiene el aspecto de la figura, con un mínimo
de dos columnas de observación.
 Nos servirá para seleccionar los registros y
variables que deseamos observar durante la
depuración.
Edición de ventana de observación
 Si pincháis con secundario dentro de la
ventana aparecerán las opciones de edición
Aspecto de datos en ventana
 Disponemos de las opciones conocidas para
modificar el aspecto de datos.
Tipo de letras y colores
 También aquí podemos cambiar el tipo y
color de letra de la ventana.
Añadir columnas
 Y podemos añadir columnas de observación.
Añadir columnas
 Activando esta opción añadimos la columna
de direcciones.
 El resultado es:
Separación de columnas
 Si llevamos el cursor a la línea de separación
entre columnas, cambiará de aspecto y
podemos arrastrar para variar la separación
entre aquéllas.
Añadir cuadrícula
 Activando esta opción añadimos cuadrícula.
 El resultado es:
Columna de comentarios
 Activando esta opción añadimos una
columna para expresiones.
 El resultado es:
Minimización de ventana
 Con esta opción minimizamos la ventana de
observación.
 El resultado es:
Edición de ventana de código fuente
 Al pinchar secundario en la ventana de
código fuente se edita.
Búsqueda de línea de Código
Fuente
 La primera opción activa de que disponemos
es
Pinchad aquí
que nos permite ir a una línea determinada
del programa.
 Pinchando aquí se nos muestra la ventana
donde introduciremos el número de línea a
buscar.
Se abre esta ventana
Para introducir aquí el
número de línea a visitar
dentro del código fuente
Búsqueda de línea de Código
Fuente
 Si escribimos 5 en la ventana anterior el
programa habrá resaltado la quinta línea del
lenguaje escrito en el código fuente.
 No confundáis la quinta línea del código
escrito con la dirección cinco.
Búsqueda de dirección
 Seleccionando la opción
aparecerá la ventana que nos pide la
dirección a mostrar.
Aquí decimos que
deseamos ver la
dirección 5
Búsqueda de dirección
 PROTEUS nos lleva a la dirección 5 del
programa, resaltándola.
Búsqueda de palabra
 La siguiente opción se emplea para localizar
una determinada palabra del texto.
 Al seleccionar la opción nos emerge esta
ventana.
Búsqueda 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 término que lleve
esas dos letras en su composición.
Búsqueda de palabra
 Al pinchar sobre Next, PROTEUS nos llevará
a la primera línea que contiene mo.
 Observad que la línea mostrada tiene las dos
letras buscadas en el texto explicativo
(“;Programa puerto B como salidas.”)
Búsqueda de palabra
 Y la ventana de búsqueda nos da el número
de línea donde ha encontrado el primer
término que en nuestro ejemplo es la línea
15.
El texto pedido lo ha
encontrado en la
línea 15
Búsqueda de palabra
 Ahora situemos el cursor de búsqueda al
inicio del programa para realizar, desde aquí,
una nueva búsqueda. Pinchad en la primera
línea del código fuente. Tras pinchar, la línea
quedará resaltada.
Búsqueda 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.
Búsqueda de palabra
 Al pinchar sobre Next, el cursor se va a la
primera línea de programa donde aparece el
término completo buscado, y la ventana nos
dice que es la línea 44.
En la línea 44 encuentra el
primer movwf, iniciando la
búsqueda donde estaba
posicionado el cursor.
Búsqueda de palabra
 Pinchando repetidamente sobre Next iremos
viendo las siguientes líneas que cumplen la
condición de búsqueda; si pinchamos sobre
Previous iremos viendo las líneas anteriores.
Búsqueda de palabra
 La ventana de búsqueda memoriza los
términos introducidos.
 En la figura se aprecian tres entradas
empleadas como prueba.
Búsqueda de palabra
 Si deseamos hacer búsquedas sucesivas
podemos optar por la solución rápida del
teclado, pulsando Ctrl + G, o mediante la
opción desplegada
FINAL
En el próximo capítulo se estudia la
modificación de valores por defecto de ISIS
José Luis Sánchez Calero
2006