DLY50 podrían tomar diez segundos en algún PC. Para hacer correr la simulación más rápidamente, se puede
reemplazar temporalmente el valor del lazo (65) con un número mucho más pequeño (por ejemplo, 2).
NOTA: Hay que recordar de volver a poner el número original antes de programar el programa terminado en la
EPROM de una MCU real.
Un simulador en circuito es un simulador que puede conectarse a un sistema usuario en el lugar del
microcontrolador. Un simulador ordinario normalmente sólo toma información de la entrada del PC y muestra
las salidas y los resultados en la pantalla del PC. Un simulador en circuito va más allá de esto, para emular las
interfaces de entrada y salida del microcontrolador real.
El desarrollo del programa es más fácil con un simulador que una MCU real. Es más fácil hacer
cambios del programa y probarlos en el simulador, que programar cada vez un dispositivo de EPROM y
probarlo. Con la MCU real, sólo se puede ver los pins de entrada/salida y no se puede detener un programa
fácilmente entre las instrucciones. Pero con el simulador, se puede ejecutar una sola instrucción en un bit
determinado y mirar los registros y los contenidos de la memoria en cada paso. Esto hace más fácil ver las
instrucciones que no se realizan tal como se había pensado. Un simulador también puede informar si el programa
intenta usar el valor de una variable antes de que se haya inicializado.
Un emulador en circuito es una herramienta de desarrollo en tiempo real. El emulador se ha construido
alrededor de un MCU real, para que pueda ejecutar instrucciones del programa exactamente cuando ellas se
ejecutaran en la aplicación final. Un emulador tiene memoria RAM donde se localizará la memoria ROM o
EPROM en la MCU final. Esto permite cargar programas rápidamente en el emulador y cambiar estos programas
durante su desarrollo.
La circuitería extra en un emulador permite poner 'puntos de paro' (breakponits) en el programa en
desarrollo. Cuando el programa alcanza una de éstas direcciones de puntos de paro, el programa en desarrollo es
detenido temporalmente y un programa monitor de desarrollo toma el control. Este programa monitor permite
leer o cambiar los registros de la CPU, las posiciones de memoria o los registros de control. Un emulador
típicamente tiene menos visibilidad de las acciones internas de la MCU que un simulador, pero puede correr en
tiempo real. Un emulador normalmente no puede detener los relojes internos, si es necesario detiene el control
del programa de aplicación y pasa dicho control al programa monitor que dispone el emulador. Un simulador
puede detener estos relojes.
77