Autor Tema: problem a con puerto B del pIC16f819  (Leído 1675 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado andysabbath

  • PIC10
  • *
  • Mensajes: 18
problem a con puerto B del pIC16f819
« 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      

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: problem a con puerto B del pIC16f819
« Respuesta #1 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
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado andysabbath

  • PIC10
  • *
  • Mensajes: 18
Re: problem a con puerto B del pIC16f819
« Respuesta #2 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