Arduinoのタイミング割り込み


前にArduinoのタイミングについての投稿を書きました.Arduino関数ライブラリには外部割り込みの関数がありますが、内部割り込みの関数については言及していません.本稿ではArduinoのタイミング割り込みを用いてBlinkのプログラムを書く予定です.
コードは以下の通りです.(Arduino pro miniテスト有効)
/*******************************************************************************
***
*PROJECT CODE:                                                          *
*CREATE DATE : 2014/11/27                                                      *
*CREATED BY  :HGXH                                                             *
*FUNCTION    : ,13 led , 1s                              *
*MODIFY DATE :2014/11/27                                                       *
*DOCUMENT    :                                                                 *
*OTHERS      :CPU = 16MHZ                                                      *
*********************************************************************************
**/


void setup(){
    DDRB = (1<<5);// D13 ,PB5 D13 16    
    OCR1A = 15624;// Timer1 , 1s , 0.5Hz
    TCCR1A = (0<<COM1A1) | (0<<COM1A0) | (0<<WGM11) | (0<<WGM10);//OC1A ,CTC 
    TCCR1B = (0<<WGM13) | (1<<WGM12) | (1<<CS12) | (0<<CS11) | (1<<CS10);//1024 
    TIMSK1 = (1<<OCIE1A);// 1 A 
}
void loop()
{
    
}

ISR(TIMER1_COMPA_vect)// 
{
    PORTB ^= (1<<5);//13pin 
    OCR1A = 15624;// 1 
}