Autor Tema: Pic 16f84a_ lectura de entrada -pulsadores-  (Leído 6273 veces)

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

Desconectado fernando_realico

  • PIC10
  • *
  • Mensajes: 44
Re: Pic 16f84a_ lectura de entrada -pulsadores-
« Respuesta #15 en: 10 de Agosto de 2010, 16:56:23 »
Gracias por responder, voy a quemar un poco el pic, y probar con el entrenador, gracias.

Saludos
Fernando

Desconectado fernando_realico

  • PIC10
  • *
  • Mensajes: 44
Re: Pic 16f84a_ lectura de entrada -pulsadores-
« Respuesta #16 en: 10 de Agosto de 2010, 20:52:38 »
Estimados:

Gracias por darme una mano, logré realizar lo propuesto, utilicé PCL,f, y un contador, ya lo probé en el entrenador encendiendo led. Aunque RB0 no enciende, cuando pulso RA0 van rotando por cada accionamiento va rotando de RA1 a RA5.

Aquí el programa:
;PRINCIPAL
principal   
      movlw      b'00000000'
      movwf      portb
      movlw      b'11111'
      movwf      porta
   

bucle      call      retardo
      call      retardo
      btfsc      porta,0
      goto      bucle
      incf      contador,1
      movlw      d'6'      ; tenía "10"
      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       bucle   

programas   movf       contador,w
      addwf      PCL,f
      goto       enciende1
      goto       enciende2
      goto       enciende3
      goto       enciende4
      goto       enciende5
      goto       enciende6

enciende1   clrf   portb
      bsf   portb,0
      call   seg1
      goto   bucle
      
enciende2   clrf   portb
      bsf   portb,1
      call   seg1
      goto   bucle

enciende3   clrf   portb
      bsf   portb,2
      call   seg1
      goto   bucle

enciende4   clrf   portb
      bsf   portb,3
      call   seg1
      goto   bucle

enciende5   clrf   portb
      bsf   portb,4
      call   seg1
      goto   bucle

enciende6   clrf   portb
      bsf   portb,5
      call   seg1
      goto   bucle
                                end