SN8P2714X_2715
8-bit micro-controller build-in 12-bit ADC
SONiX TECHNOLOGY CO., LTD
Page 83
V1.4
9.5.2 INT0 (P0.0) INTERRUPT OPERATION
The INT0 is triggered by falling edge. When the INT0 trigger occurs, the P00IRQ will be set to “1” however the P00IEN
is enable or disable. If the P00IEN = 1, the trigger event will make the P00IRQ to be “1” and the system enter interrupt
vector. If the P00IEN = 0, the trigger event will make the P00IRQ to be “1” but the system will not enter interrupt vector.
Users need to care for the operation under multi-interrupt situation.
Â
Example: INT0 interrupt request setup.
B0BSET
FP00IEN
; Enable INT0 interrupt service
B0BCLR
FP00IRQ
;
Clear
INT0 interrupt request flag
B0BSET
FGIE
; Enable GIE
Â
Example: INT0 interrupt service routine.
ORG
8
; Interrupt vector
JMP
INT_SERVICE
INT_SERVICE:
B0XCH
A, ACCBUF
; B0XCH doesn’t change C, Z flag
B0MOV
A,
PFLAG
B0MOV
PFLAGBUF, A
; Save PFLAG register in a buffer
B0BTS1
FP00IRQ
; Check P00IRQ
JMP
EXIT_INT
; P00IRQ = 0, exit interrupt vector
B0BCLR
FP00IRQ
; Reset P00IRQ
.
.
; INT0 interrupt service routine
. .
EXIT_INT:
B0MOV
A,
PFLAGBUF
B0MOV
PFLAG, A
; Restore PFLAG register from buffer
B0XCH
A, ACCBUF
; Restore ACC value.
RETI
; Exit interrupt vector
9.5.3 INT1 (P0.1) INTERRUPT OPERATION
The INT1 is triggered by falling edge. When the INT1 trigger occurs, the P01IRQ will be set to “1” however the P01IEN
is enable or disable. If the P01IEN = 1, the trigger event will make the P01IRQ to be “1” and the system enter interrupt
vector. If the P01IEN = 0, the trigger event will make the P01IRQ to be “1” but the system will not enter interrupt vector.
Users need to care for the operation under multi-interrupt situation.
Â
Example: INT1 interrupt request setup.
B0BSET
FP01IEN
; Enable INT1 interrupt service
B0BCLR
FP01IRQ
;
Clear
INT1 interrupt request flag
B0BSET
FGIE
; Enable GIE