programa de PIC con MPLAB

Iniciado por fumi, 16 Junio 2010, 05:07 AM

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

fumi

tengo un problema estoy realizando 1 programa que necesito hacer un timer de 1ms, que cada 1ms el programa cambie de 0 a 1.

tengo hecho esto pero nose como conseguir lo de 1ms y tiene que ser forzosamente con timer con o sin interrupcion eso me da =. haber si pueden ayudarme

   __CONFIG   _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC      
   
   INCLUDE    "p16F84A.INC"
   
   #DEFINE   Banco0   bcf   STATUS, RP0
   #DEFINE   Banco1   bsf   STATUS, RP0   
   
   org   0
   goto   Inicio

   org   4
   goto   Interr

   org   5
Inicio
   Banco1
   clrf   TRISB      ;Programa el PORTB de salida
   
   clrf   TRISA      ;Programo el PORTA de entrada
   comf   TRISA, F
   
   movlw   b'11001000'   ;Programa el Timer con divisor por 1
   movwf   OPTION_REG   ;Programa sin divisor
   Banco0

   movlw   d'246'      ;PRUEBA 1 - Coloca el valor inicial del Timer
   movwf   TMR0      ;
   
   movlw   b'10100000'   ;Activo la interrupción general y la de Timer   
   movwf   INTCON         

OTRO   nop
   nop
   nop
   nop
   goto   OTRO
   
Interr

   incf   h'0c', F      ;Incrementa el valor en una unidad
   movf   h'0C', W      ;Saca el valor por el Port
   movwf   PORTB

   movlw   d'220'      ;Inicializa el contador del Timer
   movwf   TMR0
   bcf   INTCON, 2      ;Se reactiva el Flag de Fin de Timer
   retfie

   END
   


GRACIAS