Figura 23. Modo label
Figura 24. Ventana de edición de etiquetas
Otro modo de unión virtual es a través de terminales. Al activar el modo terminal (figura 25) se pueden seleccionar distintos tipos de terminales, entre ellos el utilizado por defecto (default). Al utilizar este terminal en varios componentes y darle el mismo nombre en todos ellos se consigue una unión eléctrica.
Figura 25. Modo terminal
Figura 26. Unión eléctrica a través de terminales
Mediante este modo también se pueden colocar las masas y alimentaciones del circuito utilizando las opciones Ground y Power (figura 26). De esta forma se puede finalizar el circuito (figura 27).
Figura 27. Circuito cableado
Tan sólo queda modificar las características de los componentes que lo requieran, por ejemplo modificando el valor de los componentes pasivos. Para ello, se selecciona un componente realizando una pulsación con el botón derecho, aparece el menú contextual y se selecciona la opción EDIT PROPERTIES; también se puede utilizar el modo edición (figura 28) en el cual tan sólo es necesario hacer una pulsación con el botón izquierdo sobre el componente; en este modo el cursor se convierte en una flecha (figura 29). Al ejecutar esta acción se abre la ventana de edición donde se pueden cambiar las características de los componentes (figura 30), por ejemplo la resistencia de 10K a 180 ohm. También se puede editar directamente la referencia o el valor de un componente si la pulsación se realiza encima de estos elementos.
Figura 28. Modo edición
Figura 29. Cursor en modo edición
Figura 30. Ventana de edición de un componente
Con esto quedaría finalizado el circuito electrónico (figura 31). Pero en el caso de los sistemas basados en un microcontrolador aún quedan por modificar las características del mismo microcontrolador.
Figura 31. El esquema completo
En el caso de los microcontroladores, la ventana de edición aporta mucha información (figura 32). Tal vez lo más importante es que permite cargar en el micro controlador el archivo de programa (*.HEX) generado en la compilación; también se puede modificar la frecuencia de reloj (por lo tanto no es necesario el uso de cristales externos en la simulación), cambiar la palabra de configuración y otras propiedades avanzadas.
Figura 32. Ventana de edición de un micro
1.3 Depuración de los sistemas basados en PICmicro
La característica más importante del PROTEUS VSM es la capacidad de depurar programas fuente de distintos lenguajes de programación. Además de aceptar el archivo de programación Intel Hex (HEX), también admite ficheros IAR UBROF (D39), Byte-Craft COD (COD), Microchip Compatible COF (COF) y Crownhill Proton Plus (BAS). Al utilizar estos archivos se puede abrir una ventana de código fuente llamada SOURCE CODE mediante la cual se puede seguir el programa fuente línea a línea de código.
Además permite visualizar elementos internos del PIC como son la memoria de programa, la memoria de datos RAM o la EEPROM, los registros especiales (FSR) y la pila (Stack).
Además, el entorno PROTEUS VSM permite compilar programas fuente en código ensamblador directamente. Para ello, se utiliza el comando SOURCE (figura 33).
Figura 33. Generador de código de ficheros fuente
En el caso del compilador CCS C, después de compilar se generan, entre otros, los archivos *.HEX y *.COF, los cuales se pueden utilizar para trabajar con el entorno PROTEUS VSM. Para ejecutar el programa desde ISIS se debe abrir la ventana de edición del microcontrolador (figura 32) y en el ítem PROGRAM FILE se puede indicar el fichero de código fuente utilizado.
Además, en esta ventana se puede indicar la frecuencia de trabajo con la opción PROCESSOR CLOCK FREQUENCY (debemos observar que para la simulación no es necesario colocar elementos externos de oscilación en el PIC, tan sólo hacen falta en caso de realizar la placa). En la opción ADVANCED PROPERTIES podemos habilitar o configurar muchos más elementos: configurar el wacthdog, habilitar avisos de desbordamiento de pila, accesos no correctos a memoria, etc.
Una vez cargado el microcontrolador con el programa fuente, se puede proceder a la simulación del circuito empleando la barra de simulación (figura 34). Esta barra se compone de la opción MARCHA, PASO A PASO, PAUSA y PARADA.
Figura 34. Barra de simulación
Con la opción MARCHA la simulación se inicia (el botón se vuelve verde) y funciona en modo continuo. La simulación NO es en tiempo real y dependerá de la carga de trabajo del PC. En la barra de estado se indica la carga de la CPU del PC (a mayor carga menos real será la simulación) y el tiempo de ejecución; este tiempo indica el tiempo que tardaría, en la realidad, el circuito en realizar un proceso (por ejemplo esto implica que, dependiendo de la carga de trabajo de la CPU, un tiempo de 1 s en el circuito puede significar varios minutos de simulación).
Figura 35. Barra de estado en la simulación
La opción STOP para totalmente la simulación mientras que PAUSE la para de forma momentánea permitiendo hacer uso de las herramientas de depuración.
La opción PASO a PASO permite trabajar en tramos de tiempo predefinidos y, además, permite utilizar las herramientas de depuración. Esta opción está ligada a la configuración de la animación (figura 36): SYSTEM → SET ANIMATION OPTIONS → SINGLE STEP TIME donde se puede definir el incremento de tiempo que se desea que pase cada vez que se pulsa esta tecla.