Autor Tema: Ayuda con RA4/TOCKI  (Leído 2872 veces)

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

Desconectado jujijak

  • PIC10
  • *
  • Mensajes: 3
Ayuda con RA4/TOCKI
« en: 28 de Marzo de 2004, 20:33:00 »
hola ke tal estoy aprendiendo a utilizar las interrupciones del PIC16F84A y estoy haciendo programas muy basicos para ver como se comportan, segun yo ya domino la interrupcion por RB0/INT, cambio de estado en RB7-RB4 y desbordamiento del TMR0 con pulsos de reloj interno.


Ahora bien lo ke me da problemas es el contador de pulsos externos, no se si mi programa esta mal o ke si pueden ke le den una revisada esta en ASM.

El programa es muy simple lo unico ke hace es ke cuando se desborde el  TMR0 me active la patita RB1 ke esta como salida.

Los pulsos externos se lo doy al micro con un 555.
Lo he simulado repetidamente cambiando de estado la patita RA4 y simplemente el TMR0 no cuenta se keda en 0.  


saludos y espero ke me puedana ayudar.


mi código:
;----------------------------------------------------------------------------

        LIST    P=16F84
        RADIX   HEX

;----------------------------------------------------------------------------

W       EQU     0
F       EQU     1
TMR_OPT EQU     0x01    ; TMRO en banco 0 OPTION en banco 1
ESTADO  EQU     0x03
PUERTAA EQU     0x05    ; PA en banco 0 TRISA en banco1
PUERTAB EQU     0x06    ; PB en banco 0 TRISB en banco1
INTCON  EQU     0x0B    ;
CONTA   EQU     0x10    ; Contador auxiliar
;----------------------------------------------------------------------------

        ORG     0               ; Vector de Reset
        goto    inicio          

        ORG     4               ; Vector de Interrupci¢n
        goto    inter           ; Salta a comienzo de rutina de interrupci¢n
       

   ORG     5

inicio  bsf     ESTADO,5        ; Selecci¢n del banco 1
       

             
        clrf   PUERTAB  ;salidas

        movlw   0xff   ;Puerta A como entradas,  ****TOCKI****
   movwf   PUERTAA
   
        movlw   b"11110000"  ;Reloj externo, incremento en flanco ascendente.
   movwF   TMR_OPT   
   


   bcf     ESTADO,5        ; Banco 0
        clrf    PUERTAA
        clrf    PUERTAB

        movlw   b"10100000"     ; Se permite interrupci¢n global y de sobrepasmeiento de TMR0
        movwf   INTCON      
      
   clrf   TMR_OPT   





ciclo   btfsc   PUERTAB,0
   goto   apagar
   goto   prender



prender   bsf   PUERTAB,0
        incfsz  CONTA,F
   goto   prender
   goto   ciclo

apagar   bcf   PUERTAB,0
        incfsz  CONTA,F
   goto   prender
   goto   ciclo





inter   btfsc   PUERTAB,1
   goto   apaga1
   goto   prende1


apaga1   bcf   PUERTAB,1
   movlw   0x01
   movwf   INTCON
   retfie


prende1   bsf   PUERTAB,1
   movlw   0x01
   movwf   INTCON
   retfie


   END
      
              


   



;Programador: Ing. Luis Carrillo Rosado
;MICRO: PIC16F84A
;Programado en ensamblador
;Tipo de reloj: XT





   









;----------------------------------------------------------------------------




 
               
       


Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2569
RE: Ayuda con RA4/TOCKI
« Respuesta #1 en: 29 de Marzo de 2004, 00:31:00 »
Tengo un poco olvidado el ensamblador pero creo que programas a la entrada de pulsos por RA4 como desc. y tú la quieres asc.

El fallo gordo creo que está en que testeas una entrada y luego consideras a esta misma entrada como salida.

Tienes que usar RA4 para que se incremente el TMR0.

Tienes que programar el TMR0 inicialmente para ver cuantos impulsos quieres recibir antes que se desborde.

Un saludo, no tengo más tiempo, me voy corriendo al trabajo


 

anything