HT46R64/HT46C64
The following programming example illustrates how to setup and implement an A/D conversion. The method of polling
the EOCB bit in the ADCR register is used to detect when the conversion cycle is complete.
Example: using EOCB Polling Method to detect end of conversion
mov
mov
mov
mov
a,00000001B
ACSR,a
; setup the ACSR register to select fSYS/8 as the A/D clock
; setup ADCR register to configure Port PB0~PB3 as A/D inputs
; and select AN0 to be connected to the A/D converter
a,00100000B
ADCR,a
:
:
; As the Port B channel bits have changed the following START
; signal (0-1-0) must be issued within 10 instruction cycles
:
Start_conversion:
clr
set
clr
START
START
START
; reset A/D
; start A/D
Polling_EOC:
sz
EOCB
; poll the ADCR register EOCB bit to detect end of A/D conversion
; continue polling
jmp
mov
mov
mov
mov
polling_EOC
a,ADRH
adrh_buffer,a
a,ADRL
; read conversion result high byte value from the ADRH register
; save result to user defined memory
; read conversion result low byte value from the ADRL register
; save result to user defined memory
adrl_buffer,a
:
:
jmp
start_conversion
; start next A/D conversion
M
i
n
i
m
u
m
o
n
e
i
n
s
t
r
u
c
t
i
o
n
c
y
c
l
e
n
e
e
d
e
d
,
M
a
x
i
m
u
m
t
e
n
i
n
s
t
r
u
c
t
i
o
n
c
y
c
l
e
s
a
l
l
o
w
e
d
S
T
A
R
T
E
O
C
B
A
/
D
s
a
m
p
l
i
n
g
t
i
m
e
A
/
D
s
a
m
p
l
i
n
g
t
i
m
e
A
/
D
s
a
m
p
l
i
n
g
t
i
m
e
t
A
D
C
S
t
A
D
C
S
t
A D C S
P
C
R
2
~
0
0
0
B
1
0
0
B
1
0
1
B
0
0
0
B
1
0
0
B
P
C
R
0
1
.
P
A
t
B
p
o
r
t
s
e
t
u
p
a
s
I
/
O
s
2
.
/
D
c
o
n
v
e
r
t
e
r
i
s
p
o
w
e
r
e
d
o
f
f
o
r
e
d
u
c
e
p
o
w
e
r
c
o
n
s
u
m
p
t
i
o
n
A
C
S
2
~
d
o
n
'
t
c
a
r
e
0
0
0
B
0
0
0
B
0
0
1
B
0
1
0
B
A
C
S
0
P
o
w
e
r
-
o
n
S
t
a
r
t
o
f
A
/
D
S
t
a
r
t
o
f
A
/
D
S
t
a
r
t
o
f
A
/
D
R
e
s
e
t
c
o
n
v
e
r
s
i
o
n
c
o
n
v
e
r
s
i
o
n
c
o
n
v
e
r
s
i
o
n
R
e
s
e
t
A
/
D
R
e
s
e
t
A
/
D
R
e
s
e
t
A
/
D
c
o
n
v
e
r
t
e
r
c
o
n
v
e
r
t
e
r
c
o
n
v
e
r
t
e
r
E
n
d
o
f
A
/
D
E
n
d
o
f
A
/
D
E
n
d
o
f
A
/
D
c
o
n
v
e
r
s
i
o
n
c
o
n
v
e
r
s
i
o
n
c
o
n
v
e
r
s
i
o
n
1
:
D
e
f
i
n
e
P
B
c
o
n
f
i
g
u
r
a
t
i
o
n
2
:
S
e
l
e
c
t
a
n
a
l
o
g
c
h
a
n
n
e
l
t
A
D
C
t
A
D
C
t
A D C
A
/
D
c
o
n
v
e
r
s
i
o
n
t
i
m
e
A
/
D
c
o
n
v
e
r
s
i
o
n
t
i
m
e
A
/
D
c
o
n
v
e
r
s
i
o
n
t
i
m
e
N
o
t
e
:
A
/
D
c
l
o
c
k
m
u
s
t
b
e
f
S
Y
S
S
Y
S
S
Y
S
t
t
A
D
C
S
A
D
A
D
C
A
D
A/D Conversion Timing
Rev. 1.80
24
February 14, 2006