Autor Tema: Interrupciones por tiempo  (Leído 2681 veces)

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

Desconectado Rossanato

  • PIC10
  • *
  • Mensajes: 1
Interrupciones por tiempo
« en: 10 de Marzo de 2011, 06:42:22 »
Buenas tardes:

Estoy programando sobre dspic30f2010 pero me ocurre un problema con las interrupciones por tiempo. Es decir, quiero generar una interrupción cada segundo para generar el parpadeo de un led.

El código que he generado es el siguiente:
.include   "p30f2010.inc"

   config __FOSC, 0xC705

; B15=FWDTEN B5:4=FWPSA1:0 B3:0=FWPSB3:0
   config __FWDT, 0x803F

; B15=MCLREN B7=BOREN B5:4=BORV1:0 B3:0=FPWRT3:0
   config __FBORPOR, 0x87B3

.section .data, address(0x0900)
seg: .word 0x0064

.section      .ndata
;.align WORD

dato_nuevo:   .hword 0x0804
dato_nuevo1: .hword 0x806
.section .text
.global __ADCInterrupt

__ADCInterrupt:
   push   W0
   ;push   VAR1
   com      LATB
   ;pop      VAR1
   pop      W0
   BCLR   IFS0,#T1IF
   ;com      LATB
   RETFIE




.global _main
   .text

_main:

   clr      T1CON
   clr      TMR1
   mov      #0x0010, W0
   mov      W0, PR1
   bset   IPC0, #T1IP0
   bclr   IPC0, #T1IP1
   bclr   IPC0, #T1IP2
   bclr   IFS0, #T1IF
   bset   IEC0, #T1IE
   bset   T1CON, #TON
   clr      TRISB

   
bucle:
   clr      W0



   goto   bucle
.end

No me genera parpadeo y después de muchas pruebas no se en qué parte estoy cometiendo algún error.

Muchas gracias por todo


 

anything