Preliminary
SN8P1702A/SN8P1703A
8-bit micro-controller build-in 12-bit ADC
ADC CONVERTING TIME
12-bit ADC conversion time = 1/(ADC clock /4)*16 sec
8-bit ADC conversion time = 1/(ADC clock /4)*12 sec
High clock (Fosc) is @3.58MHz
ADLEN
ADCKS1
ADCKS0
ADC Clock
ADC conversion time
0
0
1
1
0
1
0
1
Fcpu/4
Fcpu/2
Fhosc
1/((3.58MHz/4)/4/4)*12 = 214.5 us
1/((3.58MHz/4)/2/4)*12 = 107.3 us
1/(3.58MHz/4)*12 = 13.4 us
0 (8-bit)
Fhosc/2
1/(3.58MHz/2/4)*12 = 26.8 us
0
0
1
1
0
1
0
1
Fcpu/4
Fcpu/2
Fhosc
1/((3.58MHz/4)/4/4)*16 = 286 us
1/((3.58MHz/4)/2/4)*16 = 143 us
1/(3.58MHz/4)*16 = 17.9 us
1 (12-bit)
Fhosc/2
1/(3.58MHz/2/4)*16 = 35.8 us
ꢁExample: To set AIN0 ~ AIN1 for ADC input and executing 12-bit ADC
ADC0:
MOV
A, #60H
ADR, A
FP4CON1
FP4CON0
A,#90H
ADM,A
B0MOV
B0SET
B0CLR
MOV
B0MOV
B0SET
B0BSET
; To set 12-bit ADC and ADC clock = Fosc.
;Isolate AIN1 signal to avoid current leakage
;Pass AIN0 signal into ADC
; To enable ADC and set AIN0 input
; To enable ADC and set AIN0 input
; To start conversion
P4CON1
FADS
WADC0:
ADC1:
B0BTS1
JMP
B0MOV
FEOC
WADC0
A,ADB
; To skip, if end of converting =1
; else, jump to WADC0
; To get AIN0 input data
B0SET
B0CLR
MOV
B0MOV
B0BSET
.
FP4CON0
FP4CON1
A,#91H
ADM,A
FADS
;Isolate AIN0 signal to avoid current leakage
;Pass AIN1 signal into ADC
;
; To enable ADC and set AIN1 input
; To start conversion
.
.
QEXADC:
B0BCLR
FGCHS
; To release AINx input channel
SONiX TECHNOLOGY CO., LTD
Page 98
Revision 0.5