Please help me with this code, it is making me crazy. This is a very simple program with 8-bit timer, cycling through all 8 leds (one-by-one). Am using ATSTK600 board.

My timers are working well, I think there is some problem with the loops (when I debug this program using avr studio-gcc, I can see all the leds working as I want but when I transfer it on board...leds don't blink). Am going crazy with this type of behavior.

Here is my code:

```
#include <avr/io.h>
#include <avr/interrupt.h>

volatile unsigned int intrs, i, j = 0;

void enable_ports(void);
void delay(void);

extern void __vector_23 (void) __attribute__ ((interrupt));

void enable_ports()
{
    DDRB = 0xff;

    TCCR0B = 0x03;

    TIMSK0 = 0x01;

    //TIFR0 = 0x01;

    TCNT0 = 0x00;

    //OCR0A = 61;

    intrs = 0;
}

void __vector_23 (void)
{
    for(i = 0; i<=8; i++)
    {
        while(1)
        {
            intrs++;
            if(intrs >= 61)
            {
                PORTB = (0xff<<i);
                intrs = 0;
                break;
            }

        }
    }
    PORTB = 0xff;
}

int main(void)
{
    enable_ports();
    sei();

    while(1)
    {

    }
}

```