Autor Tema: programa para motor pap  (Leído 1987 veces)

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

Desconectado cedamucer

  • PIC10
  • *
  • Mensajes: 8
programa para motor pap
« en: 29 de Abril de 2007, 23:19:22 »
buen dia, estoy haciendo un trabajo sobre mover el motor a pasos hacia la izq. y der., el programa funciona a la perfeccion y tambien el circuito motor y todo.
el sentido de giro funciona con RA0 a 0 el motor se pone en marcha y su sentido de giro dependera del valor de RA4 (a tierra se va a un sentido y con 5V al otro sentido), le quiero modificar para que con otra entrada ejm. RA3 gire hacia un sentido, polarizado a 5V y RA4 polarisado a 5V gire hacia el otro lado....a ver si me pueden ayudar con este programa en la modificacion o algun tips (ya trone dos pics jeje)...gracias saludos.

aaa el programa lo tome del libro desarrollo de proyectos...saludos.

   LIST      P=16F84A
   INCLUDE      <P16F84A.INC>
   __CONFIG   _CP_OFF &  _WDT_OFF & _PWRTE_ON & _XT_OSC

   CBLOCK   0x0C
   ENDC

#DEFINE EntradaMarcha   PORTA,0      ; Interruptor de puesta en marcha.
#DEFINE EntradaSentido   PORTA,4      ; Interruptor de sentido de giro.

; ZONA DE CÓDIGOS ********************************************************************

   ORG    0
Inicio
   bsf      STATUS,RP0
   bsf      EntradaMarcha      ; Estas líneas se configuran como entrada.
   bsf      EntradaSentido
   clrf   PORTB            ; Las líneas del Puerto B configuradas como salidas.
   bcf      STATUS,RP0
Principal
   btfss   EntradaMarcha         ; ¿Puesta en marcha?
   goto   Gira            ; Sí.
   clrf   PORTB            ; No, para el motor, poniendo a cero la línea
   goto   Fin            ; de habilitación.
Gira
   btfsc   EntradaSentido         ; Comprueba el sentido de giro deseado.
   goto   A_Izquierda
   call   GiroDerecha         ; Gira en un sentido.
   goto   Fin
A_Izquierda
   call   GiroIzquierda         ; Gira en sentido contrario.
Fin   goto   Principal

; Subrutina "GiroIzquierda" -------------------------------------------------------------

GiroIzquierda
   movlw   b'00110101'         ; Primer paso.
   call   ActivaSalida         ; Lo envía a la salida donde está conectado el motor PAP.
   movlw   b'00110110'         ; Segundo paso.
   call   ActivaSalida
   movlw   b'00111010'         ; Tercer paso.
   call   ActivaSalida
   movlw   b'00111001'         ; Cuarto y último paso
   call   ActivaSalida
   return

; Subrutina "GiroDerecha" ---------------------------------------------------------------
GiroDerecha
   movlw   b'00111001'         ; Primer paso.
   call   ActivaSalida   
   movlw   b'00111010'          ; Segundo paso.
   call   ActivaSalida
   movlw   b'00110110'         ; Tercer paso.
   call   ActivaSalida
   movlw   b'00110101'         ; Último paso.
   call   ActivaSalida
   return

; Subrutina "ActivaSalida" --------------------------------------------------------------

ActivaSalida
   movwf   PORTB
   call   Retardo_10ms         ; Temporización  antes del siguiente paso.
   return

   INCLUDE  <RETARDOS.INC>
   END
« Última modificación: 30 de Abril de 2007, 16:46:19 por cedamucer »

Desconectado cedamucer

  • PIC10
  • *
  • Mensajes: 8
Re: programa para motor pap
« Respuesta #1 en: 30 de Abril de 2007, 16:48:31 »
deperdida digan algo q estoy mal y ya... q no sea weon y le busque pero al fin ni modo.......ni eso?
« Última modificación: 01 de Mayo de 2007, 01:52:52 por cedamucer »

Desconectado cedamucer

  • PIC10
  • *
  • Mensajes: 8
Re: programa para motor pap
« Respuesta #2 en: 04 de Mayo de 2007, 21:13:23 »
Buscandole al programa logre por fin hacerlo como queria...saludos.


#DEFINE EntradaMarcha   PORTA,0      ; Interruptor de puesta en marcha.
#DEFINE EntradaDer   PORTA,4      ;
#DEFINE   EntradaIzq   PORTA,3

; ZONA DE CÓDIGOS ********************************************************************

   ORG    0
Inicio
   bsf      STATUS,RP0      ;acceso al banco 1
   bsf      EntradaMarcha      ; Estas líneas se configuran como entrada.
   bsf      EntradaDer
   bsf      EntradaIzq
   clrf   PORTB            ; Las líneas del Puerto B configuradas como salidas.
   bcf      STATUS,RP0      ;acceso al banco 0
Principal
   btfss   EntradaMarcha         ; ¿Puesta en marcha?
   goto   Gira            ; Sí.
   clrf   PORTB            ; No, para el motor, poniendo a cero la línea
   goto   Fin            ; de habilitación.
Gira
   btfss   EntradaDer         
   call   GiroDerecha         
   goto   Gira2

Gira2   btfss   EntradaIzq
   call   GiroIzquierda         
Fin   goto   Principal