program Timer1_sleep_teszt;

procedure Interrupt;  
begin
  if PIR1.TMR1IF = 1 then   
  begin
    TMR1H       :=0x80;     
    TMR1L       := 0;
    PIR1.TMR1IF := 0;
  end;
end;

begin
  ANSEL   := 0;      
  ANSELH  := 0;
  trisa.0 := 0;

  TMR1H          := 0x80;       
  TMR1L          := 0;

  T1CON.T1GINV      := 0;           
  T1CON.TMR1GE      := 0;       
  T1CON.T1CKPS1     := 0;      
  T1CON.T1CKPS0     := 0;
  T1CON.T1OSCEN     := 1;  
  T1CON.NOT_T1SYNC  := 1;          
  T1CON.TMR1CS      := 1; 
  T1CON.TMR1ON      := 1;          

  PIR1.ADIF         := 0;       
  PIR1.RCIF         := 0;       
  PIR1.TXIF         := 0;      
  PIR1.SSPIF        := 0;      
  PIR1.CCP1IF       := 0;     
  PIR1.TMR2IF       := 0;       
  PIR1.TMR1IF       := 0;      

  PIE1.ADIE         := 0;      
  PIE1.RCIE         := 0;      
  PIE1.TXIE         := 0;       
  PIE1.SSPIE        := 0;      
  PIE1.CCP1IE       := 0;       
  PIE1.TMR2IE       := 0;       
  PIE1.TMR1IE       := 1;      

  INTCON.GIE        := 1;      
  INTCON.PEIE       := 1;       
  INTCON.T0IE       := 0;       
  INTCON.INTE       := 1;       
  INTCON.RBIE       := 0;      
  INTCON.T0IF       := 0;      
  INTCON.INTF       := 0;      
  INTCON.RBIF       := 0;       

  while true do
  begin
    porta.0 := not porta.0;
    delay_ms(500);
    sleep;
  end;
  
end.