lo de el conv a/d, todavia no lo hice, pero lo del paso a paso, es:
(para el caso del puerto a)
//0011 enciende las 2 primeras bobinas;
output_a (3);
//0110 enciende la 2 da y 3 ra
output_a (6);
//1100
output_a (12);
//1001
output_a(9);
todo esto para 1 sentido de giro, para girar a la inversa, la secuencia debe ser: 3, 9, 12,6...
NOTA: 1 enciendo de a dos bobinas para tener mejor torque...
2 las salidas son para comandar transistores de potencia...
El resto, no se si lo que vos queres es que sea proporcional a un valor o que responda a las variaciones, etc....
Tenes que tener en cuenta que todo esto conlleva ciertos tiempos minimos de reaccion, y otros retardos que tendras que generar para poder variar la velocidad, en fin...
Faltan datos
Suerte