SN8F2280 Series
USB 2.0 Full-Speed 8-Bit Micro-Controller
6.11 TC2 INTERRUPT OPERATION
When the TC2C counter overflows, the TC2IRQ will be set to “1” no matter the TC2IEN is enable or disable. If the
TC2IEN and the trigger event TC2IRQ is set to be “1”. As the result, the system will execute the interrupt vector. If the
TC2IEN = 0, the trigger event TC2IRQ is still set to be “1”. Moreover, the system won’t execute interrupt vector even
when the TC2IEN is set to be “1”. Users need to be cautious with the operation under multi-interrupt situation.
¾
Example: TC1 interrupt request setup.
B0BCLR
B0BCLR
MOV
B0MOV
MOV
FTC2IEN
FTC2ENB
A, #20H
TC2M, A
A, #74H
TC2C, A
; Disable TC2 interrupt service
; Disable TC2 timer
;
; Set TC2 clock = Fcpu / 64
; Set TC2C initial value = 74H
; Set TC2 interval = 10 ms
B0MOV
B0BSET
B0BCLR
B0BSET
FTC2IEN
FTC2IRQ
FTC2ENB
; Enable TC2 interrupt service
; Clear TC2 interrupt request flag
; Enable TC2 timer
B0BSET
FGIE
; Enable GIE
¾
Example: TC1 interrupt service routine.
ORG
JMP
8
; Interrupt vector
INT_SERVICE
INT_SERVICE:
…
; Push routine to save ACC and PFLAG to buffers.
B0BTS1
JMP
FTC2IRQ
EXIT_INT
; Check TC2IRQ
; TC1IRQ = 0, exit interrupt vector
B0BCLR
MOV
B0MOV
…
FTC2IRQ
A, #74H
TC1C, A
; Reset TC2IRQ
; Reset TC2C.
; TC2 interrupt service routine
…
EXIT_INT:
…
; Pop routine to load ACC and PFLAG from buffers.
; Exit interrupt vector
RETI
SONiX TECHNOLOGY CO., LTD
Page 74
Version 1.1