Utilizando mikroC y Proteus ISIS , he construido un circuito que usa un PIC12F629 ( enlace a la hoja de datos PDF ). Controla varios LED usando técnica de Charlieplexing (y además PWM para cambiar su brillo con el tiempo) .
Ejemplo:
LED1 100%
LED2 75%
LED3 0%
Unos pocos ms despues:
LED1 75%
LED2 100%
LED3 25%
Si ejecuto la simulación paso a paso, todo funciona bien (los LED se encienden y apagan en cada paso cuando se supone que deben hacerlo).
Sin embargo, si ejecuto la simulación a toda velocidad, el único resultado que obtendré es que los LED parpadean como locos (se encienden / apagan al azar). De todos modos, sé que si ejecuto un circuito usando componentes reales, el resultado debería ser totalmente diferente (como en mi primer ejemplo, con porcentajes).
Esto es lo que creo que sucede: los LED se encienden / apagan muy rápido bajo ISIS, pero no lo suficientemente rápido como para recrear la persistencia de la visión efecto como en la vida real.
¿Es posible, utilizando ISIS, simular lo que obtendría en la vida real?
Sería bueno, por ejemplo, tener un tipo especial de componente LED en ISIS (para colocarlo en el circuito) que se renderice cada 50 ms (no solo cuando el estado haya cambiado). Los LED se volverán más claros o más oscuros dependiendo de la señal desde la última comprobación (p. Ej., La señal fue "alta" el 90% del tiempo desde los últimos 50 ms, se muestra en rojo brillante, la señal es "alta" el 10% del tiempo, se muestra en rojo oscuro, y así sucesivamente).