SN8P1700
8-bit micro-controller build-in 12-bit ADC
ꢃExample: INT1 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
FP01IRQ
EXIT_INT
; Check P01IRQ
; P01IRQ = 0, exit interrupt vector
B0BCLR
FP01IRQ
; Reset P01IRQ
.
.
.
.
; INT1 interrupt service routine
EXIT_INT:
POP
; Pop
B0XCH
A, ACCBUF
; Restore ACC value.
RETI
; Exit interrupt vector
INT2 (P0.2) INTERRUPT OPERATION
The INT2 is triggered by falling edge. When the INT2 trigger occurs, the P02IRQ will be set to “1” however the P02IEN
is enable or disable. If the P02IEN = 1, the trigger event will make the P02IRQ to be “1” and the system enter interrupt
vector. If the P02IEN = 0, the trigger event will make the P02IRQ to be “1” but the system will not enter interrupt vector.
Users need to care for the operation under multi-interrupt situation.
ꢃExample: INT2 interrupt request setup.
B0BSET
B0BCLR
B0BSET
FP02IEN
FP02IRQ
FGIE
; Enable INT2 interrupt service
; Clear INT2 interrupt request flag
; Enable GIE
ꢃExample: INT2 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
FP02IRQ
EXIT_INT
; Check P02IRQ
; P02IRQ = 0, exit interrupt vector
B0BCLR
FP02IRQ
; Reset P02IRQ
.
.
.
.
; INT2 interrupt service routine
EXIT_INT:
POP
; Pop
B0XCH
A, ACCBUF
; Restore ACC value.
RETI
; Exit interrupt vector
SONiX TECHNOLOGY CO., LTD
Page 94
Revision 1.94