谁能解释一下这段代码?
#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/signal.h>
char n = 0;
char FLAG =0x00;
char FLAG2 =0x00;
char RST=0x00;
unsigned char minutes_save [20];
unsigned char seconds_save [20];
int seconds, minutes, shift, count;
void init(void)
{
DDRB = 0xff;
DDRA =0xff;
MCUCR = 0x0F;
GICR = 0xC0;
TCCR2 = 0x05;
ASSR = 0x08;
TCNT2 = 0x00;
sei();
}
SIGNAL(SIG_INTERRUPT0)
{
if (FLAG == 0x00)
TIMSK = 0x40;
if (FLAG == 0x01)
TIMSK = 0x00;
FLAG = FLAG ^ 1;
}