Estoy intentando hacer una controladora de motores paso paso en 10 micropasos , para movimientos muy lentos y suaves en micropasos , se pretende que el motor no salte de una posicion a otra sino que en el tiempo de un paso tome diez posiciones intermedias .
Para el control del motor se puede hacer o bien por potenciometro
tomando el valor por la puerta ra3 o midiendo la duracion de el pulso de control con el TMR1 y luego mirando la direccion.
Pero lo primero es la generacion de micropasos , la idea es dividir el pulso de control entre cien y con el TMR2 en modo comparacion
Generar un pulso de esa duracion luego con dos tablas se dice que pines deben encenderse y cuanto tiempo deben estar.
En principio hice el programa completo , al ver que no reaccionaba bien elimine todo , y lo deje solo en las tablas y el TMR2 , dando el valor al TMR2 en el propio ASM , par detectar donde estaba el fallo al ver que seguia produciendose , lo he simulado con el MLAP y lo que veo que pasa es que al llegar al valor 106 de la tabla en vez de retornar a la llamada de la tabla se reinicia con lo que los tres primeros pasos son suaves pero en el cuarto se produce un salto .
No se a que es debido esto ¿es que las tablas estan limitadas? .
Os adjunto el ASM por si alguien pude ver cual es el problema .

