SN8P1700
8-bit micro-controller build-in 12-bit ADC
SIO INTERRUPT OPERATION
When the SIO finished transmitting, the SIOIRQ will be set to “1” however the SIOIEN is enable or disable. If the
SIOIEN = 1, the trigger event will make the SIOIRQ to be “1” and the system enter interrupt vector. If the SIOIEN = 0,
the trigger event will make the SIOIRQ to be “1” but the system will not enter interrupt vector. Users need to care for
the operation under multi-interrupt situation.
ꢃExample: SIO interrupt request setup.
B0BSET
B0BCLR
B0BSET
FSIOIEN
FSIOIRQ
FGIE
; Enable SIO interrupt service
; Clear SIO interrupt request flag
; Enable GIE
ꢃExample: SIO interrupt service routine.
ORG
JMP
8
; Interrupt vector
INT_SERVICE
INT_SERVICE:
B0XCH
PUSH
A, ACCBUF
; B0XCH doesn’ t change C, Z flag
; Push
B0BTS1
JMP
FSIOIRQ
EXIT_INT
; Check SIOIRQ
; SIOIRQ = 0, exit interrupt vector
B0BCLR
FSIOIRQ
; Reset SIOIRQ
.
.
.
.
; SIO interrupt service routine
EXIT_INT:
POP
; Pop
B0XCH
A, ACCBUF
; Restore ACC value.
RETI
; Exit interrupt vector
SONiX TECHNOLOGY CO., LTD
Page 98
Revision 1.94