SN8P2624
8-Bit Micro-Controller
SONiX TECHNOLOGY CO., LTD Page 81 Version 0.3
8.3.6 TC1 TIMER OPERATION SEQUENCE
TC1 timer operation includes timer interrupt, event counter, TC1OUT and PWM. The sequence of setup TC1 timer is
as following.
) Stop TC1 timer counting, disable TC1 interrupt function and clear TC1 interrupt request flag.
B0BCLR FTC1ENB ; TC1 timer, TC1OUT and PWM stop.
B0BCLR FTC1IEN ; TC1 interrupt function is disabled.
B0BCLR FTC1IRQ ; TC1 interrupt request flag is cleared.
) Set TC1 timer rate. (Besides event counter mode.)
MOV A, #0xxx0000b ;The TC1 rate control bits exist in bit4~bit6 of TC1M. The
; value is from x000xxxxb~x111xxxxb.
B0MOV TC1M,A ; TC1 interrupt function is disabled.
) Set TC1 timer clock source.
; Select TC1 internal / external clock source.
B0BCLR FTC1CKS ; Select TC1 internal clock source.
or
B0BSET FTC1CKS ; Select TC1 external clock source.
) Set TC1 timer auto-load mode.
B0BCLR FALOAD1 ; Enable TC1 auto reload function.
or
B0BSET FALOAD1 ; Disable TC1 auto reload function.
) Set TC1 interrupt interval time, TC1OUT (Buzzer) frequency or PWM duty cycle.
; Set TC1 interrupt interval time, TC1OUT (Buzzer) frequency or PWM duty.
B0MOV TC1R,A ; Set TC1R value under auto reload mode or PWM mode.
; In PWM mode, set PWM cycle.
B0BCLR FALOAD1 ; ALOAD1, TC1OUT = 00, PWM cycle boundary is
B0BCLR FTC1OUT ; 0~255.
or
B0BCLR FALOAD1 ; ALOAD1, TC1OUT = 01, PWM cycle boundary is
B0BSET FTC1OUT ; 0~63.
or
B0BSET FALOAD1 ; ALOAD1, TC1OUT = 10, PWM cycle boundary is
B0BCLR FTC1OUT ; 0~31.
or
B0BSET FALOAD1 ; ALOAD1, TC1OUT = 11, PWM cycle boundary is
B0BSET FTC1OUT ; 0~15.
) Set TC1 timer function mode.
B0BSET FTC1IEN ; Enable TC1 interrupt function.
or
B0BSET FTC1OUT ; Enable TC1OUT (Buzzer) function.
or
B0BSET FPWM1OUT ; Enable PWM function.
) Enable TC1 timer.
B0BSET FTC1ENB ; Enable TC1 timer.