Ayuda en Ensamblador para un Servomotor

Hola, primero que nada un saludo a todos los del foro y tambien gracias por todo lo que e aprendido aqui, en esta ocacion abro este nuevo hilo con la intencion de ver si pueden ayudarme a controlar un Servomotor, el servo funciona asi: 1ms 0º, 1.5ms 90º y 2ms 180º. he estado tratando de enviarle una señal para que se mueva pero no logro hacerlo, es la primera vez que trabajo con un servo y no estoy muy familiarizado con esto jeje...

He leido un poco acerca del tema y pues tengo la idea de como funciona, aqui pongo una parte del codigo donde segun yo, deberia funcionar el servo a 90º pero el problema es que nose como detenerlo, es decir, quiero que envie la señal durante un segundo y despues pare, o por .5 segundos, etc... segun sea la aplicacion del servo, tengo algunos conocimientos en ensamblador pero nose como hacer el equivalente al ciclo "for" para asi enviar la señal n numero de veces al servo, el pic que uso es el 16F84a y el servo es un Servomotor Tower Pro SG-90, aqui el codigo:

Principal
btfsc inter
call Semaforo
goto Principal

Semaforo

movlw b'00000010'
movwf PORTB
call Retardo_.5ms
call Retardo_1ms

movlw b'00000000'
movwf PORTB
call Retardo_18ms
call Retardo_.5ms

return

Espero me puedan ayudar, o si tienen alguna otra forma de hacer que funcione, estoy abierto a nuevas ideas jeje... solo no cambiar de lenguaje o de servo, ya que debo hacerlo con esto jeje, de antemano gracias :)
 
Última edición:
consulta: tu dices al principio que no te funciona, entonces para que quieres detenerlo si no te funciona ahun?
veo tu codigo y creo que estas tratando de simular una PWM, si es eso creo que necesitas solo un retardo por grado de movimiento, es decir, un retardo para el 1 o otro para el 0, ademas revisa la coneccion con el motor, debes utilizar un amplificador adecuado como el TIP122.
suerte en tu proyecto
 
esque ap principio le meti un .hex para un servo futaba, y solo hacia algunos ruiditos yse movia pero de forma irregular, entonces comence a fabricar mi propio condigo con señales adecuadas a mi tipo de servo :) pero como nose como detenerlo pues no quiero probarlo con el servo ya que soy algo novato aun y nose si le ara daño enviarle señales en un ciclo infinito como lo esta ahorita jeje...

y si, en efecto estoy tratando de hacer mi equivalente a PWM jeje... por ahora solo simulo en proteus pero debido a que nose detener el ciclo pues se queda trabado el servo(segun la simulacion), gracias por la respuesta y espero aya quedado mas claro mi problema por si alguien pudiera ayudarme :) salu2
 
estoy haciendo un programa en ensamblador para controlar dos posiciones de un servomotor
tower pro sg90 , segun es con pwm, pero habia escuchado que se podia con timer0 o retardos solo que no se como iria la estructura de cada metodo, ¿cual convendria mas?
 
Atrás
Arriba