TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: andysabbath en 16 de Abril de 2008, 12:04:36

Título: problem a con puerto B del pIC16f819
Publicado por: andysabbath en 16 de Abril de 2008, 12:04:36
hola buen dia a todos

me remito a ustedes para solicitarles informacion acerca de un problema que tengo con  el puerto B del PIC16f819. la cuestion es que  estoy  elaborando un contador ascendente /descendente de 0 a 255 y viceversa. y lo consegui,  al momento de hacer la simulacion en MPLAB SIM funciona de maravillas, pero al programar el pic y probarlo en una protoboard este solo cuenta hasta 7 y de alli se reinicia a cero y vuelve a hacer el conteo de 0 a 7, es decir que no cuenta de 0 a 255 y se regresa sijo que cuenta de 0 a 7 y se reinicia en cero. he revisado todo y no encuentro error alguno

agradezco a todos la atencion prestada y ojala puedan ayudarme. adjunto codigo en .ASM


conta    equ 20h
RAUX1    equ 21h
RAUX2    equ 22h
RAUX3    equ 23h
cont     equ 24h

trisb    equ 86h
portb    equ 06h
status    equ 03h

    org 0x00
   goto inicio 
   org 0x05


retardo             movlw .1
               movwf cont
cicle            MOVLW    .64
               MOVWF    RAUX1
CICLE3            MOVLW     .64
                  MOVWF    RAUX2
CICLE2            MOVLW     .80
                  MOVWF    RAUX3
CICLE1             DECFSZ    RAUX3,1
               GOTO    CICLE1
               DECFSZ    RAUX2,1
               GOTO    CICLE2
               DECFSZ    RAUX1,1
               GOTO    CICLE3
               decfsz  cont,1
               goto cicle
               return
       
inicio   clrf portb
        clrf conta
       bsf status,5
       clrf trisb
        bcf status,5

ciclo1   movf conta,w
         movwf  portb
        call retardo
        incf conta
        movf conta,w
        xorlw .15
        btfsc status,2
        goto ciclo2
        goto ciclo1
ciclo2     movf conta,w
         movwf  portb
        call retardo
        decf conta
        movf conta,w
        xorlw .0
        btfsc status,2
        goto ciclo1
        goto ciclo2   
         end      
Título: Re: problem a con puerto B del pIC16f819
Publicado por: maunix en 16 de Abril de 2008, 15:35:45
Segun lo que veo cuando llega a .15 tu mismo lo haces cambiar de ciclo para que descienda.

Eso lo haces aquí


        movf    conta,w
        xorlw   .15
        btfsc   status,2
        goto    ciclo2
Título: Re: problem a con puerto B del pIC16f819
Publicado por: andysabbath en 16 de Abril de 2008, 17:22:43
ok señor muchas gracias por su respuesta.

eventualmente hace la cuenta hasta 15, pero ni aun asi hace  el conteo ascendente/descendente para ese maximo valor, el problema radica no en el programa sino al quemarlo en el pic que  solo hace el conteo en forma ascendete hasta 7 y luego se reinicia a cero.

espero haya sido claro en mi explicacion

agradezco la colaboracion