Autor Tema: No detecta 1 de 5 bits  (Leído 1807 veces)

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

Desconectado Arkfire

  • PIC10
  • *
  • Mensajes: 4
No detecta 1 de 5 bits
« en: 08 de Febrero de 2014, 00:04:03 »
Tengo un pequeño problema con una lectura en el PIC cuando realizo la simulación trabaja adecuadamente pero al momento de hacer la prueba física un bit no lo detecta. Básicamente tengo que leer los valores de entrada del PORTA, 0,1,2,3,4 para ejecutar un cierta acción cuando cada bit  sea igual a 1(Es decir se presione el PUSH button).  Pero cuando coloco el Bit 3 en 1 no ejecuta nada en los demas si me realiza la accion correspondiente, alguna sugerencia para que se me configure corrrectamente ese bit.

PDTA: Estoy programando el PIC18F4550 en ensamblador con MPLAB. 

Desconectado HJG

  • PIC12
  • **
  • Mensajes: 77
Re: No detecta 1 de 5 bits
« Respuesta #1 en: 08 de Febrero de 2014, 01:01:07 »
tengo que leer los valores de entrada del PORTA, 0,1,2,3,4 para ejecutar un cierta acción cuando cada bit  sea igual a 1(Es decir se presione el PUSH button). 
¿Los has declarado como digitales?
Si colocas el esquema y el programa va ha ser mas fácil ayudarte.

Desconectado Arkfire

  • PIC10
  • *
  • Mensajes: 4
Re: No detecta 1 de 5 bits
« Respuesta #2 en: 08 de Febrero de 2014, 02:26:14 »
Aqui esta el codigo:

Código: ASM
  1. LIST P = 18F4550
  2.  INCLUDE <P18F4550.INC>
  3. ;###############################################################################
  4. ;Configuracion del PIC
  5.  CONFIG FOSC = HS   ;INTOSC_XT
  6.  CONFIG  PWRT = ON  ;Retardo del Arranque del PIC 72ms despues.
  7.  CONFIG  BOR = OFF  ;Reinicio del PIC cuando se presenta inestabilidad en VDD
  8.  CONFIG  WDT = OFF  ;Reinicio de PIC si existe una falla.
  9.  CONFIG  MCLRE = ON ;
  10.  CONFIG  PBADEN = OFF
  11.  CONFIG  LVP = OFF
  12.  CONFIG  DEBUG = OFF
  13.  CONFIG  XINST = OFF
  14. ;Area de Codigo
  15.  ORG  0x00
  16. V_RESET ;Vector de Reset
  17.          nop
  18.          goto    Configuracion                 ;Ir al inicio del Programa
  19. Configuracion
  20.          clrf   TRISB
  21.          movlw  0x1F
  22.          movwf  TRISA
  23.          movlw  0x1F
  24.          movwf  ADCON1
  25.          goto   Inicio
  26.  
  27. Inicio   clrf   PORTB
  28. Bit0     btfsc  PORTA,0
  29.          call   Secuencia_1
  30. Bit1     btfsc  PORTA,1
  31.          call   Secuencia_2
  32. Bit2     btfsc  PORTA,2
  33.          call   Secuencia_3
  34. Bit3     btfsc  PORTA,3
  35.          call   Secuencia_4
  36. Bit4     btfsc  PORTA,4
  37.          call   Secuencia_5
  38.          bra    Bit0
  39.  INCLUDE <Secuencias.inc>
  40.  INCLUDE <RETARDOS.INC>
  41.     END     ;Fin del programa
« Última modificación: 08 de Febrero de 2014, 12:33:19 por Arkfire »

Desconectado Miquel_S

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1251
Re: No detecta 1 de 5 bits
« Respuesta #3 en: 08 de Febrero de 2014, 05:38:33 »
Hola Arkfire debes cargar ADCON1 con el valor 0x0F.

Saludos!
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Arkfire

  • PIC10
  • *
  • Mensajes: 4
Re: No detecta 1 de 5 bits
« Respuesta #4 en: 08 de Febrero de 2014, 12:26:39 »
Ya lo hice con anterioridad pero solo me lee 4 bits como digitales, y lo que deseo son 5 pero me dio una idea hacer las configuración dentro del ciclo por lo tanto ya me lee los 5 bits correctamente.

Aqui esta el codigo

Código: ASM
  1. LIST P = 18F4550
  2.  INCLUDE <P18F4550.INC>
  3. ;###############################################################################
  4. ;Configuracion del PIC
  5.  CONFIG FOSC = HS   ;INTOSC_XT
  6.  CONFIG  PWRT = ON  ;Retardo del Arranque del PIC 72ms despues.
  7.  CONFIG  BOR = OFF  ;Reinicio del PIC cuando se presenta inestabilidad en VDD
  8.  CONFIG  WDT = OFF  ;Reinicio de PIC si existe una falla.
  9.  CONFIG  MCLRE = ON ;
  10.  CONFIG  PBADEN = OFF
  11.  CONFIG  LVP = OFF
  12.  CONFIG  DEBUG = OFF
  13.  CONFIG  XINST = OFF
  14. ;Area de Codigo
  15.  ORG  0x00
  16. V_RESET ;Vector de Reset
  17.          nop
  18.          goto    Configuracion                 ;Ir al inicio del Programa
  19. Configuracion
  20.          clrf   TRISB
  21.          movlw  0x1F
  22.          movwf  TRISA
  23.          goto   Inicio
  24.  
  25. Inicio   clrf   PORTB
  26.          movlw  0x0F
  27.          movwf  ADCON1
  28. Bit0     btfsc  PORTA,0
  29.          call   Secuencia_1
  30. Bit1     btfsc  PORTA,1
  31.          call   Secuencia_2
  32. Bit2     btfsc  PORTA,2
  33.          call   Secuencia_3
  34. Bit3     btfsc  PORTA,3
  35.          call   Secuencia_4
  36. Bit4     movlw  0xF0
  37.          movwf  ADCON1
  38.          btfsc  PORTA,4
  39.          call   Secuencia_5
  40.          bra    Inicio
  41.  INCLUDE <Secuencias.inc>
  42.  INCLUDE <RETARDOS.INC>
  43.     END     ;Fin del programa

Gracias por la ayuda.
« Última modificación: 08 de Febrero de 2014, 12:32:59 por Arkfire »