mit Interrupts..

hab paar Code Schnippel ...aber ich weiss nicht welcher von ihnen richtig wäre

Code:
interrupt() 
{ 

if (time_count != 0) 
    time_count--; 

} 



main() 
{ 

some_function(10); 

} 



some_function(time_to_run) 
{ 

time_count = time_to_run; 

while (time_count != 0) 
    { 
    do stuff 
    } 

}

oder

Code:
int1  Clock_Been_Initialized=0; 

Int16 Miliseconds; 
#locate Miliseconds = Registry_Map+6 
Int16 Seconds; 
#locate Seconds = Registry_Map+8 
int1  Second_Tick=0; 

// Global Real Time Clock Information 
#int_TIMER2                                                 // Clock interrupt adjusted to occurs ~ 1ms 
void TIMER2_isr() 
{  Miliseconds++; 
   if(Miliseconds>999) 
   {  Miliseconds=0; 
      Seconds++; 
      Second_Tick=1; 
   } 
} 
/*********************************************************** 
*    Service Hardware Modules                              * 
***********************************************************/ 
#inline 
void Clock_Service(void) 
{  if(!Clock_Been_Initialized) 
   {  setup_timer_2(T2_DIV_BY_4,249,1);                     // Set 1mS period 
      enable_interrupts(INT_TIMER2); 
      Seconds=0; 
      Clock_Been_Initialized=1; 
   } 
   if(Second_Tick) 
   {  Second_Tick=0; 
      Registry_Map[6]=Registry_Map[5]; 
      Registry_Map[5]=0; 
      Registry_Map[2]=Registry_Map[1]; 
      Registry_Map[1]=0; 
   } 
   Registry_Map[5]++; 
}
Danke für deine Hilfe