Autor Tema: Ayuda problema rb6 y rb7 en pic16f88  (Leído 1666 veces)

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

Desconectado nahueldiaz1992

  • PIC12
  • **
  • Mensajes: 75
Ayuda problema rb6 y rb7 en pic16f88
« en: 14 de Septiembre de 2013, 15:35:39 »
hola queria hacerles una pregunta ya que trbaje un programa sencillo ya que estaba haciendo una placa de pruebas con leds y me ocurre lo siguiente
el programa deberia de encender todos los leds del puerto b uno a uno hasta llegar a rb7 y luego los apaga desde rb0 hasta rb7 y se queda haciendo un ciclo en eso pero mi problema es que se encienden todos uno a uno y cuando llega a rb6 y rb7 se prende y apaga solo ... no espera a el ciclo de apagado como se ve en el programa mas abajo .. que sera ? tiene alguna particularidad esos pines ??

;------------------------------------------------------------------------------
; PROCESSOR DECLARATION
;------------------------------------------------------------------------------

     LIST      p=16F88              ; list directive to define processor
     #INCLUDE <P16F88.INC>          ; processor specific variable definitions

;------------------------------------------------------------------------------
;
; CONFIGURATION WORD SETUP
;
; The 'CONFIG' directive is used to embed the configuration word within the
; .asm file. The lables following the directive are located in the respective
; .inc file.  See the data sheet for additional information on configuration
; word settings.
;
;------------------------------------------------------------------------------


     __CONFIG    _CONFIG1, _CP_OFF & _CCP1_RB0 & _DEBUG_ON & _WRT_PROTECT_OFF & _CPD_OFF & _LVP_OFF & _BODEN_OFF & _MCLR_ON & _PWRTE_OFF & _WDT_OFF & _XT_OSC
     __CONFIG    _CONFIG2, _IESO_OFF & _FCMEN_OFF

;------------------------------------------------------------------------------
;VARIABLES
;------------------------------------------------------------------------------
PDel0         EQU        0x20  ; VARIABLE PARA DELAY
PDel1         EQU        0x21  ; VARIABLE PARA DELAY
   
   

;------------------------------------------------------------------------------
; RESET VECTOR
;------------------------------------------------------------------------------

      ORG     0x0000            ; processor reset vector
RESET:
      PAGESEL START
         GOTO    START         ; go to beginning of program
;------------------------------------------------------------------------------
; MAIN PROGRAM
;------------------------------------------------------------------------------
START

      BANKSEL      TRISB
      MOVLW      0X00
      MOVWF      TRISB
      BANKSEL      PORTB
      
MAIN    CALL      DELAY
      BSF         PORTB,0
      CALL      DELAY
      BSF         PORTB,1
      CALL      DELAY
      BSF         PORTB,2
      CALL      DELAY
      BSF         PORTB,3
      CALL      DELAY
      BSF         PORTB,4
      CALL      DELAY
      BSF         PORTB,5
      CALL      DELAY
      BSF       PORTB,6
      CALL      DELAY
      BSF         PORTB,7    ; aqui se enciende e inmediatamente luego del delay se apaga solo al igual q rb6
      CALL      DELAY
      BCF         PORTB,0
      CALL      DELAY
      BCF         PORTB,1
      CALL      DELAY
      BCF         PORTB,2
      CALL      DELAY
      BCF         PORTB,3
      CALL      DELAY
      BCF         PORTB,4
      CALL      DELAY
      BCF         PORTB,5
      CALL      DELAY
      BCF         PORTB,6
      CALL      DELAY
      BCF         PORTB,7
      GOTO      MAIN
      


;------------------------------------------------------------------------------
; SUBRUTINAS
;------------------------------------------------------------------------------
;-------------------------------------------------------------
; Generado con PDEL ver SP  r 1.0  el 16/11/2008 Hs 04:21:31 p.m.
; Descripcion: Delay 500000 ciclos
;-------------------------------------------------------------
DELAY:
DEMORA  movlw     .239      ; 1 set numero de repeticion  (B)
        movwf     PDel0     ; 1 |
PLoop1  movlw     .232      ; 1 set numero de repeticion  (A)
        movwf     PDel1     ; 1 |
PLoop2  clrwdt              ; 1 clear watchdog
PDelL1  goto PDelL2         ; 2 ciclos delay
PDelL2  goto PDelL3         ; 2 ciclos delay
PDelL3  clrwdt              ; 1 ciclo delay
        decfsz    PDel1, 1  ; 1 + (1) es el tiempo 0  ? (A)
        goto      PLoop2    ; 2 no, loop
        decfsz    PDel0,  1 ; 1 + (1) es el tiempo 0  ? (B)
        goto      PLoop1    ; 2 no, loop
PDelL4  goto PDelL5         ; 2 ciclos delay
PDelL5  goto PDelL6         ; 2 ciclos delay
PDelL6  goto PDelL7         ; 2 ciclos delay
PDelL7  clrwdt              ; 1 ciclo delay
        return              ; 2+2 Fin.
;-------------------------------------------------------------

;------------------------------------------------------------------------------
end



desde ya muchas gracias por la ayuda
« Última modificación: 14 de Septiembre de 2013, 15:37:48 por nahueldiaz1992 »

Desconectado nahueldiaz1992

  • PIC12
  • **
  • Mensajes: 75
Re: Ayuda problema rb6 y rb7 en pic16f88
« Respuesta #1 en: 15 de Septiembre de 2013, 18:28:24 »
esto es lo que pasa


Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Ayuda problema rb6 y rb7 en pic16f88
« Respuesta #2 en: 15 de Septiembre de 2013, 22:49:41 »
Sería bueno que subas el esquema de conexionado.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado om@r

  • PIC12
  • **
  • Mensajes: 86
Re: Ayuda problema rb6 y rb7 en pic16f88
« Respuesta #3 en: 16 de Septiembre de 2013, 00:49:42 »
Hola ,lo que te puede suceder es que tengas habilitados los canales analógicos :shock: ,ese pic tiene canales analogicos y en puerto b los pines 6 y 7 son digitales/analógicos ,fíjate si poniendo en el inicio CLRF ANSEL ,si recuerdo bien este registro configura los canales analógicos del puerto a y del puerto b.
Saludos!

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1297
Re: Ayuda problema rb6 y rb7 en pic16f88
« Respuesta #4 en: 16 de Septiembre de 2013, 11:52:29 »
que tal nahueldiaz1992,

Creo que tu problema esta en los fuses. Necesitas deshabilitar el dubug. Es decir colocarlo en OFF. Ya que esos pines son usados para el DEBUG, asi que al estar habilitado no tienes control de dicho pines.

Saludos.

Elreypic.

Desconectado nahueldiaz1992

  • PIC12
  • **
  • Mensajes: 75
Re: Ayuda problema rb6 y rb7 en pic16f88
« Respuesta #5 en: 16 de Septiembre de 2013, 14:00:37 »
 Hola gracias por la ayuda en cuanto al modo debug en los fuses prove poniendolo en off y sigue en la misma
en cuanto al conexionado es todo el portb con una resistencia y un led por puerto nada fuera de lo comun ...
todavia me falta provar con clrf ansel ahora lo veo ! :)