Autor Tema: Problema con TMRO. MikroPascal  (Leído 1795 veces)

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

Desconectado paldoc

  • PIC10
  • *
  • Mensajes: 1
Problema con TMRO. MikroPascal
« en: 15 de Julio de 2010, 16:06:07 »
Hola, soy nuevo por estos lares y en primer lugar saludar a todos y espero aprender mucho contados vosotros.

Os cuento, estoy empezando a trabajar con los PIC y en concreto con el programa MikroPascal V8.02 puesto que estoy acostumbrado a programar en Pascal.

Y solicito vuestra ayuda ya que quiero trabajar con la interrupción del TMR0 y observando el ejemplo que acompaña al programa examples/EasyPIC4/16f84/TMR0/TMR0.ppas. Os lo listo a continuación:


(*
 * Project name:
     Tmr0
 * Copyright:
     (c) mikroElektronika, 2006
 * Revision History:
     20060922:
       - initial release.
 * Description:
     This code demonstrates using interrupts in mikroPascal.
     Program turns on/off leds on portb each second.
 * Test configuration:
     MCU:             P16F84A
     Dev.Board:       EasyPIC4
     Oscillator:      HS, 8.000 MHz
     Ext. Modules:    None
     SW:              mikroPascal v5.0 or higher
 * NOTES:
     None
 *)
program Tmr0;

var brojac, a, b : byte;

procedure interrupt;
begin
   brojac := brojac + 1;   // increment value of brojac on every interrupt
   TMR0   := 96;
   INTCON := $20;          // set T0IE, claer T0IF
end;

begin
  a := 0;
  b := 1;
  OPTION_REG := $84;       // Modo Temporizador, Prescaler=32
  TRISB  :=   0;           // PuertoB como salida
  PORTB  := $FF;           
  brojac :=   0;           // initialize brojac
  TMR0   :=  96;   
  INTCON := $A0;           // Habilitamos Interrupciones

  repeat
    begin
      if brojac = 200 then // if brojac is 200, then toggle portb leds and reset brojac
         begin
           PORTB  := not(PORTB);
           brojac := 0;
         end;
      end;
  until 0 = 1;
end.


El problema es que al ejecutar el programa no funciona correctamente, se queda enganchado en el bucle sin saltar la interrupción. En principio todo lo veo correcto y no entiendo porque no sale del bucle.

Desconectado fenixariel

  • PIC10
  • *
  • Mensajes: 39
    • www.delphiandpic.jimdo.com
Re: Problema con TMRO. MikroPascal
« Respuesta #1 en: 29 de Agosto de 2010, 02:21:56 »
No esta claro lo que preguntas, a que te refieres con que : 'se queda enganchado en el bucle sin saltar la interrupción'; te refieres a cuando usas el debugger?

Pues si es asi, en el caso del debugger de MikroE tendras que salir manualmente del procedimiento Interrup.

Y te sugiero pasarte a MikroPascal Pro cuanto antes.