//
// Compiler WinAVR 3.3
//************************************************************************
// Processor: ATMega32
//************************************************************************

#include <avr/io.h>
#include <avr/interrupt.h>

/* Quick & Dirty for 1 MHz CPU Takt (internal Qscillator)
*/

#define TIMER0RELOAD	(0xff - 1)	//  1ms 
#define PRESCALER0      ((1 << CS00) | (1 << CS01))		 // CLK/1024
volatile uint8_t tick;
//extern int disp_update;


ISR(TIMER0_OVF_vect) 
{
	TCNT0 = TIMER0RELOAD;
    tick++;

}


void Init_Timer(void)
{
  
 /* Init Timer0 */
 	tick = 0;

 	TIMSK2  |= _BV(TOIE0);			// Timer 0 overflow int.
 	TCCR0A |= PRESCALER0;			// Prescaler 
  	TCNT0  = TIMER0RELOAD; 		// Reload

  	sei();
}
//
//For longer Delays
//
void Delay1ms(unsigned int time)

{
	if (time == 0 )
			return;

	while (time){

		if ( tick > 9 ){
			time -= 10;
			tick = 0;
		}
 	}
	
}
