Autor Tema: pic 16f628  (Leído 2791 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado yuhe

  • PIC12
  • **
  • Mensajes: 76
pic 16f628
« en: 05 de Octubre de 2007, 08:02:58 »
Hola amigos , me dirijo a usteds porque me ha surgido un problema
he realizado un programita para controlar un servo con una 16f628 pero no me va y por mucho que le doy vueltas no se el porque
lo compilo y no me da ningun fallo , este mismo lo compilo para la 16f84 y me va lindo .
aqui os pongo el programita.

@ DEVICE INTRC_OSC
   @ device MCLR_OFF
   trisb.1=0
   trisb.2=0
   trisb.0=1
   preservo:
    if portb.1 = 1 then servo
    IF PORTB.2 = 1 THEN SERVO2
    high portb.0
    pauseus 1495'servo a 0º
    low portb.0
    pause 50
    goto preservo
 
 
 
   servo:
     high portb.0
     pauseus 1995 'servo a +90º
     low portb.0
     pause 700
     high portb.0
     pauseus 995 'servo a -90º
     low portb.0
     pause 700
     if portb.1 = 0 then preservo
     if portb.2 = 1 then servo2
     pause 50
     goto servo
     
     servo2:
     if portb.2 = 0 then preservo
     high portb.0
     pauseus 1495 ' servo a 0º
     low portb.0
     pause 1000
     high portb.0
     pauseus 1995 'servo a +90º
     low portb.0
     pause 1000
     high portb.0
     pauseus 1495 ' servo a 0º
     low portb.0
     pause 1000
     high portb.0
     pauseus 995 'servo a -90º
     low portb.0
     pause 1000
     goto servo2


os recuerdo que es para la 16f628  garcias amigos.

Desconectado navaismo

  • Jubilado Todopic
  • PIC24H
  • ****
  • Mensajes: 1973
Re: pic 16f628
« Respuesta #1 en: 05 de Octubre de 2007, 11:33:10 »
Has intentado con PWM o PULSOUT, creo que es PBP por la sintaxis. y aunque no uses el PORTA podrias ponerlo como digital.

Ahora imagino que cuando lo quiere mover dejas apretado el boton ya sea RB1 o RB2 verdad? Porque si lo oprimes solo una vez manda a la rutina pero como se desactiva inmediatamente te regresa al inicio. Y otra tambien para descartar pon en los IF's donde mandas a las rutinas de Servo1 y2

 IF portb.X=1 then
  gosub Servox
endif


Y en las rutinas en lugar de goto pon un Return. Para saber si lo manda.
"Mi tercer deseo, que otra cosa podría ser, poner un final a todo el sufrimiento, que sólo con mi propia extinción el planeta podrá ser aliviado. Pobre de mí, Si tuviera tres deseos hoy, la elección no sería dificil para mí, Sólo tres deseos serían suficientes, No tendría uso para más."

"He sido un hombre que busca y aun lo sigo siendo, pero ya no busco en las estrellas y en los libros, sino en las enseñanzas de mi sangre."

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: pic 16f628
« Respuesta #2 en: 05 de Octubre de 2007, 12:39:35 »
Hola:

Bueno, si dices que te funciona bien con el 16F84, entonces estarás usando un cristal externo, de pronto esto:

@ DEVICE INTRC_OSC
@ device MCLR_OFF

Está dando problemas con e oscilador interno dell 628, prueba a eliminar esas líneas y usa un cristal externo.

Desconectado yuhe

  • PIC12
  • **
  • Mensajes: 76
Re: pic 16f628
« Respuesta #3 en: 07 de Octubre de 2007, 12:05:26 »
Muchas gracias amigos os hise caso y resuelto gracias de nuevo amigos  :-/

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: pic 16f628
« Respuesta #4 en: 07 de Octubre de 2007, 15:06:08 »
Hola:

Como fué que lo solucionaste?

Desconectado yuhe

  • PIC12
  • **
  • Mensajes: 76
Re: pic 16f628
« Respuesta #5 en: 08 de Octubre de 2007, 10:37:34 »
Pues  fue poner el reset desactivado el oscilador interno activado y poner todos los puertos como digitales y mano de santo  :mrgreen: :-/ :-)

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: pic 16f628
« Respuesta #6 en: 08 de Octubre de 2007, 11:00:28 »
Hola:

Me alegro, felicidades, y que bien que lo resolviste


 

anything