SN8P1700
8-bit micro-controller build-in 12-bit ADC
ꢃExample: TC0 interrupt service routine without auto-reload function.
ORG
JMP
8
; Interrupt vector
INT_SERVICE
INT_SERVICE:
B0XCH
PUSH
A, ACCBUF
; B0XCH doesn’t change C, Z flag
; Push
B0BTS1
JMP
FTC0IRQ
EXIT_INT
; Check TC0IRQ
; TC0IRQ = 0, exit interrupt vector
B0BCLR
MOV
B0MOV
.
FTC0IRQ
A,#74H
TC0C,A
.
; Reset TC0IRQ
; Reload TC0C
; TC0 interrupt service routine
.
.
JMP
EXIT_INT
; End of TC0 interrupt service routine and exit interrupt
vector
.
.
.
.
EXIT_INT:
POP
; Pop
B0XCH
A, ACCBUF
; Restore ACC value.
RETI
; Exit interrupt vector
ꢃExample: TC0 interrupt service routine with auto-reload.
ORG
JMP
8
; Interrupt vector
INT_SERVICE
INT_SERVICE:
B0XCH
PUSH
A, ACCBUF
; B0XCH doesn’t change C, Z flag
; Push
B0BTS1
JMP
FTC0IRQ
EXIT_INT
; Check TC0IRQ
; TC0IRQ = 0, exit interrupt vector
B0BCLR
FTC0IRQ
; Reset TC0IRQ
.
.
; TC0 interrupt service routine
.
.
JMP
EXIT_INT
; End of TC0 interrupt service routine and exit interrupt
vector
.
.
.
.
EXIT_INT:
POP
; Pop
B0XCH
A, ACCBUF
; Restore ACC value.
RETI
; Exit interrupt vector
SONiX TECHNOLOGY CO., LTD
Page 77
Revision 1.94