Autor Tema: Con un pulsador saltar a diferentes subprogramas - Pic 16f84a -  (Leído 2916 veces)

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

Desconectado fernando_realico

  • PIC10
  • *
  • Mensajes: 44
Amigos, les paso el programa : lo que quiero lograr, con un pulsador, supongamos, cuando está activado RB0, salte a selec1, cuando se active RB1 salte a selec2, y así, cuando lo pruebo en el entrenador, con el pulsador RA0 van ensendiendo los led conectados de RB0 a RB5, ahora lo que no logro, producir un salto cuando está rb0 en 1

;PRINCIPAL
principal   
      movlw      b'00000000'
      movwf      portb
      movlw      b'11111'
      movwf      porta
ini      
estado1      btfsc      portb,0
      goto      estado2
      goto      selec1   

estado2      btfsc      portb,1
      goto      estado3
      goto      selec2

estado3      btfsc      portb,0
      goto      estado4
      goto      selec3

estado4      btfsc      portb,0
      goto      estado5
      goto      selec4

estado5      btfsc      portb,0
      goto      estado6
      goto      selec5

estado6      btfsc      portb,0
      goto      estado7
      goto      selec6

estado7      goto      bucle



bucle      call      retardo
      call      retardo
      btfsc      porta,0
      goto      bucle
      incf      contador,1
      movlw      d'7'      ; tenía "6"
      subwf      contador,w   ; si es 6 reseteo y vuelvo al bucle, sino voy a etiqueta programas   
      btfss      STATUS,Z
      goto      programas   ;voy a programas
      clrf      portb
      clrf      contador
      goto       ini   
programas   movf       contador,w
      addwf      PCL,f
      goto      enciende
      goto       selec1
      goto       enciende2
      goto       enciende3
      goto       enciende4
      goto      enciende5
      goto      enciende6
enciende   clrf      portb
      goto      ini

enciende1   clrf      portb
      bsf      portb,0
      call      retardo
      goto      ini

enciende2   clrf      portb
      bsf      portb,1      
      call      retardo
      goto      ini
enciende3   clrf      portb
      bsf      portb,2      
      call      retardo
      goto      ini
enciende4   clrf      portb
      bsf      portb,3      
      call      retardo
      goto      ini
enciende5   clrf      portb
      bsf      portb,4      
      call      retardo
      goto      ini
enciende6   clrf      portb
      bsf      portb,5      
      call      retardo
      goto      ini

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Con un pulsador saltar a diferentes subprogramas - Pic 16f84a -
« Respuesta #1 en: 12 de Agosto de 2010, 19:51:33 »
el tema es que RB0 lo tienes configurado como salida, es por eso que no te hace caso. Además si los pines los usas como salida, no puedes leerlos como entrada y si lo usas como entrada no puedes usarlos como salidas

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 148
Re: Con un pulsador saltar a diferentes subprogramas - Pic 16f84a -
« Respuesta #2 en: 13 de Agosto de 2010, 21:17:23 »
no lo creo.
el tema es que RB0 lo tienes configurado como salida, es por eso que no te hace caso. Además si los pines los usas como salida, no puedes leerlos como entrada y si lo usas como entrada no puedes usarlos como salidas
Un pin de salida pude ser leido (es un bit= una bandera).
El tema es: adonde salen; select1, select2, etc???
Son etiquetas? subrutinas?

Desconectado pablomanieri

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 639
Re: Con un pulsador saltar a diferentes subprogramas - Pic 16f84a -
« Respuesta #3 en: 13 de Agosto de 2010, 23:29:04 »
Si si, había agarrado para cualquier lado, pensé que se había confundido de pin. Pero es verdad puedes consultar el estado del pin aún siendo una salida.


 

anything