Pues la idea es seguir intentándolo tanto en C como ASM hasta que lo logre jejeje, acabo de hacer lo de quitar las declaraciones de setup que no utilizo y tampoco funciona. En ambos casos sé que el programa llega correctamente a leer la entrada analógica, el problema es que, en C, el circuito no hace nada, y en ASM lee el valor del ADC, lo pasa al registro del duty cycle del pwm y en vez de hacer la regulación de velocidad el motor se pone a la máxima velocidad que da. Gracias por la ayuda!