Держи. Для кварца 32768 прерывание раз в секунду
CODE
;---------------
;config TIMER A
;---------------
bis #TACLR,&TA0CTL ;reset all presetting
mov.w #0x0110,&TA0CTL ;15-10=0(free);9,8=01(aclk);7,6=11(/8);5,4=01(up to taccr0)
;3=0(free);2=0(TACLR);1=1(прерывание разрешено);0=0(прерывания нет)
mov #0x7fff,&TA0CCR0 ;32768 interval 1c interrupt
bis #CCIE,&TA0CCTL0 ;
mov #0x0000,&TA0CCTL1;
; config TA0 end
собственно прерывание, в котором переключается пин (моргает св.диод)
;===================
; Interrupt Vector
;===================
;------------
;Timer A0
;------------
TA0_CCR0_INT:
bic #0x0001,&TA0CTL
bit.b #0x02,P1OUT
jnz te1
bis.b #0x02,P1OUT
jmp te3
te1:
bic.b #0x02,P1OUT
te3:
reti
TA0_INT:
add.w &TA0IV,PC ; Add Timer_A offset vector
reti ; CCR0 - no source
jmp INT_CCR1 ; Vector 2: TA0CCR1 2
jmp CCIFG_2_HND ; Vector 4: TA0CCR2 2
jmp CCIFG_3_HND ; Vector 6: TA0CCR3 2
jmp CCIFG_4_HND ; Vector 8: TA0CCR4 2
jmp CCIFG_5_HND ; Vector 10: TA0CCR5 2
jmp CCIFG_6_HND ; Vector 12: TA0CCR6 2reti ; jmp INT_CCR2 ; CCR2
TA0_over:
; nop
reti ; Return from overflow ISR bic #0x0001,&TACTL
CCIFG_6_HND: ; Vector 12: TA0CCR6 2
reti ;
CCIFG_5_HND: ; Vector 10: TA0CCR5 2
reti
CCIFG_4_HND: ; Vector 8: TA0CCR4 2
reti
CCIFG_3_HND: ; Vector 6: TA0CCR3 2
reti
CCIFG_2_HND: ;Vector 4: TA0CCR2 2
reti
INT_CCR1:
reti