Document 11927087

advertisement
P1.0 / ADC0 / T2
1
P1.1 / ADC1 / T2EX
direct
8bit internal address (00h-FFh)
3
2
P1.2 / ADC2
@Ri
indirect addressing using R0 or R1
4
3
P1.3 / ADC3
source
any of [Rn, direct, @Ri]
5
4,5
dest
any of [Rn, direct, @Ri]
#data
8bit constant included in instruction
6 6,7,8 AGND
12
bit
8bit direct address of bit
8
10
VREF
1,2
12
rel
signed 8bit offset
9
11
DAC0
DPTR *
1
24
addr11
11bit address in current 2K page
10
12
DAC1
DEC
A
1
12
addr16
16bit address
11
13
P1.4 / ADC4
DEC
source
1,2
12
12
14
P1.5 / ADC5 / SS
MUL
AB
multiply A by B
1
48
13
15
P1.6 / ADC6
DIV
AB
divide A by B
1
48
14
16
P1.7 / ADC7
27
29
SDATA / MOSI
40
43
EA
DA
A
decimal adjust
1
12
12
direct,A
MOV
dest,#data
ORL
direct,#data
XRL
A,source
2,3 12,24
MOV DPTR,#data16
3
24
MOVC A,@A+DPTR move from
code memory
MOVC A,@A+PC
1
24
XRL
A,#data
1
24
XRL
direct,A
MOVX A,@Ri
1
24
XRL
direct,#data
MOVX A,@DPTR
MOVX @Ri,A
move to/from
data memory
MOVX @DPTR,A
logical OR
logical XOR
43
46
P0.0 / AD0
1,2
12
18
20
P3.2 / INT0
31
33
P2.3 / A11 / A19
44
47
P0.1 / AD1
2
12
19
21
P3.3/INT1/MISO/PWM1
32
34
XTAL1 (in)
45
48
P0.2 / AD2
2
12
20
22
DVDD
33
35
XTAL2 (out)
46
49
P0.3 / AD3
3
24
21
23
DGND
34
36
DVDD
47
50
DGND
1,2
12
22
24
P3.4 / T0 / PWMC /
PWM0 / EXTCLK
35 37,38 DGND
48
51
DVDD
25
P3.5 / T1 / CONVST
36
P2.4 / A12 / A20
49
52
P0.4 / AD4
12
23
2
12
24
26
P3.6 / WR
37
40
P2.5 / A13 / A21
50
53
P0.5 / AD5
3
24
25
27
P3.7 / RD
38
41
P2.6/A14/A22/PWM0
51
54
P0.6 / AD6
26
28
SCLOCK
39
42
P2.7/A15/A23/PWM1
52
55
P0.7 / AD7
2
1
24
CLR
A
clear A to zero
1
12
24
CPL
A
complement A
1
12
1
24
RL
A
rotate A left
1
12
2
24
RLC
A
...through C
1
12
pop from stack
2
24
RR
A
rotate A right
1
12
XCH
A,source
exchange bytes 1,2
12
RRC
A
...through C
1
12
exchg low digits
12
SWAP A
swap nibbles
1
12
Boolean Variable Manipulation
2
24
CLR
C
3
24
CLR
bit
RET
return from sub.
1
24
SETB C
RETI
return from int.
1
24
SETB bit
AJMP addr11
LJMP addr16
SJMP rel
jump
clear bit to zero
set bit to one
1
12
1
12
2
12
1
12
2
12
2
24
CPL
C
3
24
CPL
bit
2
24
ANL
C,bit
AND bit with C
2
24
1
24
ANL
C,/bit
...NOTbit with C
2
24
C,bit
OR bit with C
2
24
...NOTbit with C
2
24
2
12
complement bit
@A+DPTR
JZ
rel
jump if A = 0
2
24
ORL
JNZ
rel
jump if A not 0
2
24
ORL
C,/bit
3
24
MOV
C,bit
3
24
MOV
bit,C
2
24
3
24
JC
rel
jump if C set
2
24
2
24
JNC
rel
jmp if C not set
2
24
CJNE A,#data,rel
CJNE Rn,#data,rel
compare and
jump if not
equal
CJNE @Ri,#data,rel
DJNZ Rn,rel
DJNZ direct, rel
NOP
decrement and
jump if not zero
no operation
2
24
JB
bit,rel
3
24
JNB
1
12
JBC
move bit to bit
jump if bit set
3
24
bit,rel
jmp if bit not set
3
24
bit, rel
jmp&clear if set
3
24
ASSEMBLER DIRECTIVES
EQU
DATA
IDATA
XDATA
BIT
CODE
DS
DBIT
DB
define symbol
define internal memory symbol
define indirect addressing symbol
define external memory symbol
define internal bit memory symbol
define program memory symbol
reserve bytes of data memory
reserve bits of bit memory
store byte values in program memory
BIG MEMORY
BIG MEMORY
DW
ORG
END
CSEG
XSEG
DSEG
ISEG
BSEG
store word values in program memory
set segment location counter
end of assembly source file
select program memory space
select external data memory space
select internal data memory space
select indirectly addressed internal
data memory space
select bit addressable memory space
BIG MEMORY
12bit, 5µs, 8channel, self calibrating
0.5LSB INL & 70dB SNR
DAC:
dual, 12bit, 15µs, voltage output
1LSB DNL
Flash/EEPROM:
62K bytes Flash/EE program memory
4K bytes Flash/EE data memory
microcontroller:
industry standard 8052
32 I/O lines, programmable PLL clock
(131KHz to 16.8MHz from 32KHz crystal)
FFFFh
(NOP instructions)
FUNCTIONAL BLOCK DIAGRAM
* pin numbers below refer to MQFP package
12
2
JMP
CJNE A,direct,rel
CODE MEMORY SPACE
FFFFh
F800h
F7FFh
ADC:
other on-chip features: temperature sensor, power supply monitor,
watchdog timer, flexible serial interface ports,
voltage reference, time interval counter,
dual 8/16bit PWM, power-on-reset
by
te
s
O
S
pe C
rio
d
by
te
s
O
S
pe C
rio
d
s
LCALL addr16
call subroutine
39
the ADuC832 is:
s
push onto stack
direct
ACALL addr11
SP
P2.2 / A10 / A18
POP
Program Branching
C
32
1
1
FP
30
PUSH direct
XCHD A,@Ri
Q
P3.1 / TxD
BIG MEMORY
EA=1
EA=0
internal
code space
external
code space
62K bytes
Flash/EE
(64K
addressable)
0000h
0000h
INTERRUPT VECTOR ADDRESSES
Interrupt
Bit
PSMCON.5
WDS
IE0
ADCI
TF0
IE1
TF1
ISPI/I2CI
RI/TI
TF2/EXF2
TIMECON.2
BIG MEMORY
23
ADC0
ADC1
ADC2
ADC3
ADC4
ADC5
ADC6
ADC7
1
2
3
4
11
12
13
14
Power Supply Monitor Interrupt
WatchDog Timer Interrupt
External Interrupt 0
End of ADC Conversion Interrupt
Timer0 Overflow Interrupt
External Interrupt 1
Timer1 Overflow Interrupt
SPI/I2C Interrupt
UART Interrupt
Timer2 Interrupt
Time Interval Counter Interrupt
43h
5Bh
03h
33h
0Bh
13h
1Bh
3Bh
23h
2Bh
53h
BIG MEMORY
ADuC832
ADC
control
&
calibration
12bit ADC
T/H
AIN
MUX
DAC0
BUF
9
DAC0
DAC1
BUF
10
DAC1
38
PWM0
DAC
control
PWM
TEMP
sensor
Vector Priority
within
Address Level
Interrupt Name
BIG MEMORY
hardware
CONVST
1
2
3
4
5
6
7
8
9
10
11
4K x 8
data
(-3 mV/oC)
2K x 8
user “XRAM”
Flash/EE
62K x 8
program
2.5V
bandgap
reference
8052
Flash/EE
MCU
core
baudrate timer
BIG MEMORY
VREF
8
CREF
7
asynchronous
serial port
(UART)
POR
www.analog.com/microconverter
BIG MEMORY
watchdog
timer
power supply
monitor
downloader
debugger
BUF
256 x 8
user RAM
synchronous
serial interface
(SPI or I2C)
16bit
counter
timers
time
interval
counter
BIG MEMORY
BIG MEMORY
39
PWM1
22
T0
23
T1
1
T2
2
T2EX
18
INT0
19
INT1
OSC &
PLL
33
ORL
19
32
1,2,3 24
17
XTAL2
dest,source
24
XTAL1
MOV
ALE
3
P3.0 (RxD)
P3.1 (TxD)
P3.2 (INT0)
P3.3 (INT1 / MISO / PWM1)
P3.4 (T0/PWMC/PWM0/EXTCLK)
P3.5 (T1 / CONVST)
P3.6 (WR)
P3.7 (RD)
A,#data
PSEN
45
16
17
18
19
22
23
24
25
A,source
ORL
44
42
12
ORL
12
41
P2.1 / A9 / A17
SS
12
1,2
move source
to destination
P2.0 / A8 / A16
31
26
27
19
2
dest,A
30
29
SCLOCK
SDATA / MOSI
MISO
A,#data
MOV
28
P3.0 / RxD
P2.0 (A8 / A16)
P2.1 (A9 / A17)
P2.2 (A10 / A18)
P2.3 (A11 / A19)
P2.4 (A12 / A20)
P2.5 (A13 / A21)
P2.6 (A14 / A22 / PWM0)
P2.7 (A15 / A23 / PWM1)
MOV
RESET
18
28
29
30
31
36
37
38
39
direct,#data
17
16
single-pin
emulator
ANL
15
42
41
40
12
12
12
ALE
PSEN
EA
1,2
2
2
17
A,source
a “Data Acquisition System on a Chip”
16
MOV
logical AND
M
direct,A
FP
A,#data
ANL
Q
ANL
Data Transfer Operations
SP
1,2
M
A,source
C
ANL
by
te
s
O
S
pe C
rio
d
Logical Operations
by
te
s
O
S
pe C
rio
d
s
* INC DPTR increments the 24bit value DPP/DPH/DPL
s
decrement
14
15
16
17
18
19
20
21
22
23
24
25
26
INC
MicroConverter®
Quick Reference Guide
TxD
increment
1
ADuC832
52pin MQFP
TOP VIEW
(not to scale)
RxD
source
#data16 16bit constant included in instruction
CREF
P1.0 (ADC0 / T2)
P1.1 (ADC1 / T2EX)
P1.2 (ADC2)
P1.3 (ADC3)
P1.4 (ADC4)
P1.5 (ADC5 / SS)
P1.6 (ADC6)
P1.7 (ADC7)
INC
12
9
56pin CSP
TOP VIEW
(not to scale)
1
2
3
4
11
12
13
14
A
7
AVDD
39
38
37
36
35
34
33
32
31
30
29
28
27
15
INC
12
12
pin 1 identifier
1
2
3
4
5
6
7
8
9
10
11
12
13
RESET
SUBB A,#data
2
subtract from A 1,2
with borrow
2
42
41
40
39
38
37
36
35
34
33
32
31
30
29
pin 1 identifier
ADuC832
21
35
47
SUBB A,source
1
2
3
4
5
6
7
8
9
10
11
12
13
14
PRINTED IN U.S.A.
ADDC A,#data
add with carry
DGND
12
BIG MEMORY
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
P0.3 (AD3)
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
12
DVDD
2
1,2
ADDC A,source
BIG MEMORY
ADuC832
6
A,#data
BIG MEMORY
20
34
48
ADD
Legend
5
Rn
AVDD
12
BIG MEMORY
AGND
1,2
15
16
17
18
19
20
21
22
23
24
25
26
27
28
A,source
BIG MEMORY
52
51
50
49
48
47
46
45
44
43
42
41
40
56
2
by
te
s
O
S
pe C
rio
d
1
ADD
BIG MEMORY
PIN FUNCTIONS
register addressing using R0-R7
Arithmetic Operations
add source to A
BIG MEMORY
43
44
45
46
49
50
51
52
s
M
Q
FP
INSTRUCTION SET
BIG MEMORY
G03203-2.5-9/02 (0)
BIG MEMORY
56
55
54
53
52
51
50
49
48
47
46
45
44
43
BIG MEMORY
SP
BIG MEMORY
C
BIG MEMORY
REV. 0
BIG MEMORY
BIG MEMORY
BIG MEMORY
DATA MEMORY:
BIG MEMORY
BIG MEMORY
BIG MEMORY
BIG MEMORY
BIG MEMORY
BIG MEMORY
ADCCON1
RAM, SFRs, user Flash/EE (all read/write)
lower RAM
details
(reserved)
PCON
(reserved)
(reserved)
87h
(reserved)
00h
DPP
00h 84h
DPH
00h 83h
DPL
07h 82h
SP
FFh 81h
P0
80h
TH1
00h 8Dh
TH0
00h 8Ch
TL1
TL0
00h 8Ah
00h 89h
TCON
90h
88h
FFh
TMOD
00h 8Bh
00h 9Eh
00h
(not used)
(not used)
(not used)
9Dh
(not used)
55h
(not used)
00h 9Bh
(not used)
00h 9Ah
(not used)
00h 99h
P1
98h
00h A7h
00h A6h
00h
(not used)
T3CON
T3FD
00h A5h
00h AFh
AEh
00h
DPCON
INTVAL
HOUR
00h
CFG832
PWMCON
(reserved)
B7h
00h BFh
00h BEh
00h
SPH
(not used)
(not used)
00h
00h BDh
00h
EDATA4
EDATA3
EDATA2
00h C7h
C6h
00h
00h CDh
TH2
00h
00h
EADRH
EADRL
(reserved)
D7h
00h
(reserved)
(reserved)
53h
PLLCON
(reserved)
(reserved)
DEh
PSMCON
DFh
00h
EFh
F7h
00h
(reserved)
04h F9h
SFR details
SPR1
F9h
0
SPR0
F8h
0
SPICON
F8h
04h
1
83h
1
84h
1
85h
1
86h
1
ADC Control register #1
ADC Control register #2
ADC interrupt flag
DMA mode enable
continuous conversion enable bit
single conversion start bit
input channel select bits:
0 - 7 = ADC0 - ADC7
8 = temperature sensor
9=DAC0, A=DAC1, B=AGND
ADCCON3
ADCCON3.7
ADCCON3.6
ADCCON3.5
ADCCON3.4
ADCCON3.3
ADCCON3.2
ADCCON3.1
ADCCON3.0
ADC Control register #3
ADCDATAL
DMAP,DMAH,DMAL
DMA address pointer
ADCGAINH
ADCGAINL
ADC Gain
calibration coefficients
ADCOFSH
ADCOFSL
ADC Offset
calibration coefficients
DACCON
DAC Control register
DACCON.7
DACCON.6
DACCON.5
DACCON.4
DACCON.3
DACCON.2
DACCON.1
DACCON.0
ModeSelect (0=12bit, 1=8bit)
DAC1 RangeSelect (0=VREF, 1=VDD)
DAC0 RangeSelect (0=VREF, 1=VDD)
Clear DAC1 (0=0V, 1=normal operation)
Clear DAC0 (0=0V, 1=normal operation)
SynchronousUpdate (1=asynchronous)
PowerDown DAC1 (0=off, 1=on)
PowerDown DAC0 (0=off, 1=on)
DAC1H,DAC1L
DAC1 data registers
DAC0H,DAC0L
DAC0 data registers
PLLCON
PLL Control register
PLLCON.7
PLLCON.6
PLLCON.5
PLLCON.4
PLLCON.3
PLLCON.2
PLLCON.1
PLLCON.0
oscillator powerdown control bit (0=XTAL on)
PLL lock indicator flag (0=out of lock)
(this bit must contain zero)
(this bit must contain zero)
“fast interrupt” control bit (0=normal)
3-bit clock divider value, “CD” (default=3):
CD
fCORE = 16,777,216Hz / 2
TIMECON Time Interval Counter Control Register
TIMECON.6
TIMECON.5
TIMECON.4
TIMECON.3
TIMECON.2
TIMECON.1
TIMECON.0
(this bit must contain 1)
INTVAL timebase select bits
[128th sec, seconds, minutes, hours]
single time interval control bit (0=reload&restart)
time interval interrupt bit, “TII”
time interval enable bit (0=disable&clear)
time clock enable bit (0=disable)
INTVAL
TIC Interval Register
HTHSEC TIC Elapsed 128th Second Register
SEC
TIC Elapsed Seconds Register
MIN
TIC Elapsed Minutes Register
HOUR
TIC Elapsed Hours Register
ECON
Data Flash/EE comand register
01h
02h
04h
05h
06h
READ page
PROGRAM page
VERIFY page
ERASE page
ERASE ALL
82h PROGRAM byte
0Fh EXIT ULOAD mode
F0h ENTER ULOAD mode
(all others reserved)
87h
* calibration coefficients are preconfigured at power-up to factory calibrated values
BIG MEMORY
BIG MEMORY
BIG MEMORY
BIG MEMORY
BIG MEMORY
BIG MEMORY
Watchdog Timer control register
watchdog timeout selection bits
0-7=[15.6,31.2,62.5,125,250,500,1000,2000]ms
8=0ms (immediate reset)
>8=reserved
watchdog interrupt response bit
watchdog status flag (1 indicates watchdog timeout)
watchdog enable control (0=disabled)
watchdog write enable bit (set to enable write)
PSMCON
PSMCON.6
PSMCON.5
PSMCON.4
PSMCON.3
PSMCON.2
PSMCON.1
PSMCON.0
Power Supply Monitor control register
PSM status bit (1=normal / 0=fault)
PSM interrupt bit
trip point select bits
[4.37V, 3.08V, 2.93V, 2.63V]
(this bit must contain zero)
(reserved)
PSM powerdown control (1=on / 0=off)
SP
Stack Pointer
Stack Pointer High byte
IE
Interrupt Enable register #1
EA
EADC
ET2
ES
ET1
EX1
ET0
EX0
enable inturrupts (0=all inturrupts disabled)
enable ADCI (ADC interrupt)
enable TF2/EXF2 (Timer2 overflow interrupt)
enable RI/TI (serial port interrupt)
enable TF1 (Timer1 overflow interrupt)
enable IE1 (external interrupt 1)
enable TF0 (Timer0 overflow interrupt)
enable IE0 (external interrupt 0)
IEIP2 Interrupt Enable/Priority register #2
IEIP2.6
IEIP2.5
IEIP2.4
IEIP2.3
IEIP2.2
IEIP2.1
IEIP2.0
priority of TII interrupt (time interval)
priority of PSMI interrupt (power supply monitor)
priority of ISPI interrupt (serial interface)
(this bit must contain zero)
enable TII interrupt (time interval)
enable PSMI (power supply monitor interrupt)
enable ISPI interrupt (serial interface)
IP
Interrupt Priority register
PSI
PADC
PT2
PS
PT1
PX1
PT0
PX0
priority
priority
priority
priority
priority
priority
priority
priority
TMOD
of ISPI/I2CI (serial interface interrupt)
of ADCI (ADC interrupt)
of TF2/EXF2 (Timer2 overflow interrupt)
of RI/TI (serial port interrupt)
of TF1 (Timer1 overflow interrupt)
of IE1 (external interrupt 1)
of TF0 (Timer0 overflow interrupt)
of IE0 (external interrupt 0)
Timer Mode register
TMOD.3/.7
gate control bit (0=ignore INTx)
TMOD.2/.6
counter/timer select bit (0=timer)
TMOD.1/.5
timer mode selecton bits
TMOD.0/.4
[13bitT, 16bitT/C, 8bitT/Creload, 2x8bitT]
(upper nibble = Timer1, lower nibble = Timer0)
TCON
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
Timer Control register
Timer1 overflow flag (auto cleared on vector
Timer1 run control (0=off, 1=run)
Timer0 overflow flag (auto cleared on vector
Timer0 run control (0=off, 1=run)
external INT1 flag (auto cleared on vector to
IE1 type (0=level trig, 1=edge trig)
external INT0 flag (auto cleared on vector to
IE0 type (0=level trig, 1=edge trig)
TH0,TL0
Timer0 registers
TH1,TL1
Timer1 registers
T2CON
Timer2 Control register
TF2
EXF2
RCLK
TCLK
EXEN2
TR2
CNT2
CAP2
to ISR)
to ISR)
ISR)
ISR)
overflow flag
external flag
receive clock enable (0=Timer1 used for RxD clk)
transmit clock enable (0=Timer1 used for TxD clk)
external enable (0=ignore T2EX, 1=cap/rld on T2EX)
run control (0=stop, 1=run)
timer/counter select (0=timer, 1=counter)
capture/reload select (0=reload, 1=capture)
TH2,TL2
RCAP2H,RCAP2L Timer2 Reload/Capture
Data Flash/EE data registers
SPICON
ISPI
WCOL
SPE
SPIM
CPOL
CPHA
SPR1
SPR0
SPI Control register
SPI inturrupt (set at end of SPI transfer)
write collision error flag
SPI enable (0=I2C enable, 1=SPI enable)
master mode select (0=slave)
clock polarity select (0=SCLK idles low)
clock phase select (0=leading edge latch)
SPI bitrate select bits
bitrate = Fcore / [2,4,8,16] (slave: SPR0=SS)
SPI Data register
I2CCON I2C Control register
MDO
MDE
MCO
MDI
I2CM
I2CRS
I2CTX
I2CI
master mode SDATA output bit
master mode SDATA output enable (0=disable)
master mode SCLK output bit
master mode SDATA input bit
master mode select bit (0=slave mode)
serial port reset
transmission direction status (0=RX,1=TX)
serial interface interrupt
I2CADD I2C Address register
I2C Data register
PWMCON PWM Control register
PWMCON.6 PWM mode bits [0=disabled, 1=single/var.res.,
PWMCON.5
2=twin/8bit, 3=twin/16bit, 4=dual/16bitNRZ,
PWMCON.4
5=dual/8bit, 6=dual/16bitRZ, 7=(reserved)]
PWMCON.3 PWM clock divide bits
PWMCON.2
PWM counter = clock / [1,4,16,64]
PWMCON.1 PWM clock source bits [1=FXTAL/15, 2=FXTAL,
PWMCON.0
3=T0 ext.int.rate, 4=FVCO(16.777MHz)]
PWM0H,PWM0L PWM0 data registers
DPCON
DPCON.6
DPCON.5
DPCON.4
DPCON.3
DPCON.2
DPCON.1
DPCON.0
T3CON
T3CON.7
T3CON.2
T3CON.1
T3CON.0
T3FD
BIG MEMORY
WDCON
EDATA1,EDATA2,EDATA3,EDATA4
Data Pointer Control register
data pointer auto-toggle enable (0=disable)
shadow data pointer mode control bits
[1=8052, 2=post-inc, 3=post-dec, 4=LSBtgl]
main data pointer mode control bits
[1=8052, 2=post-inc, 3=post-dec, 4=LSBtgl]
(not implemented to allow INC DPCON toggling)
data pointer select [0=main, 1=shadow]
Timer 3 Control register
Timer 3 baud rate enable (0=disable)
binary divide factor (DIV)
DIV = log[FCORE/(32·baudrate)] / log2
(rounded down)
Timer 3 Fractional Divider register
T3FD = (2·FCORE) / (baudrate·2DIV) - 64
BIG MEMORY
extended stack-pointer enable (0=disable)
PWM pins select (0=P2.6/P2.7,1=P3.4/P3.3)
DAC output buffer bypass (0=buffer enabled)
external clock select (0=internal clock)
(this bit must contain 0)
(this bit must contain 0)
(this bit must contain 0)
internal XRAM select (0=external XRAM)
EADRH,EADRL Data Flash/EE address registers
PWM1H,PWM1L PWM1 data registers
mnemonic
reset value
address
CFG832.7
CFG832.6
CFG832.5
CFG832.4
CFG832.3
CFG832.2
CFG832.1
CFG832.0
SPH
ADC Data registers
BIG MEMORY
CFG832 ADuC832 Configuration Register
PRE3
PRE2
PRE1
PRE0
WDIR
WDS
WDE
WDWR
busy indicator flag (0=ADC not active)
gain calibration disable (0=gain cal enabled)
number of averages selection bits:
[15,1,31,63]
cal clock divide select (0=ADCclk, 1=ADCclk/2)
cal mode select (0=device, 1=system)
cal type select (0=offset, 1=gain)
start calibration bit, cleared by hardware
ADCDATAH
80h
1
81h
1
82h
1
0
IT0
88h
0
IE0
89h
0
IT1
8Ah
0
8Bh
IE1
ADCI
DMA
CCONV
SCONV
CS3
CS2
CS1
CS0
BIG MEMORY BIG MEMORY
SFR DESCRIPTIONS
ADC mode (0=off, 1=on)
external Vref select bit (0=on-chip Vref)
conversion time = 16 / ADCclk
ADCclk = 16,777,216Hz / [8,4,16,32]
acquisition time select bits
acq time = [1,2,3,4] / ADCclk
Timer2 convert enable
external CONVST enable
ADCCON2
I2CDAT
these bits are contained in this byte
mnemonic
address
reset value
ADCCON1.7
ADCCON1.6
ADCCON1.5
ADCCON1.4
ADCCON1.3
ADCCON1.2
ADCCON1.1
ADCCON1.0
SPIDAT
0
TR0
8Ch
0
TF0
8Dh
0
TR1
8Eh
0
TF1
8Fh
1
90h
1
91h
1
92h
93h
1
1
95h
1
96h
1
97h
9Ch
0
9Dh
0
9Eh
0
9Fh
94h
9Bh
0
1
99h
0
9Ah
0
T2
0
0
98h
RI
A0h
1
A1h
1
TI
RB8
A2h
1
A3h
1
TB8
REN
A4h
1
A5h
1
SM2
SM1
A6h
1
A7h
SM0
A8h
0
A9h
0
AAh
0
ABh
0
ACh
0
ADh
0
AEh
0
AFh
T2EX
1
0
EX0
ET0
EX1
ET1
ES
ET2
EADC
EA
1
RXD
B0h
1
TXD
B1h
1
INT0
B2h
1
INT1
B3h
1
T0
B4h
1
T1
B5h
1
WR
B6h
1
RD
0
PT0
B9h
0
PX1
BAh
0
PT1
BBh
0
PS
BCh
0
PT2
BDh
0
PADC
BEh
0
PSI
BFh
WDS
C2h
0
WDIR
C3h
1
PRE0
C4h
0
PRE1
C5h
0
PRE2
C6h
0
PRE3
C7h
B7h
B8h
PX0
0
0
WDWR
C0h
0
C1h
WDE
0
0
CAP2
C8h
0
CNT2
C9h
0
TR2
CAh
0
EXEN2
CBh
0
TCLK
CCh
0
RCLK
CDh
0
EXF2
CEh
0
TF2
CFh
0
P
D0h
0
F1
D1h
0
OV
D2h
0
RS0
D3h
0
RS1
D4h
0
F0
D5h
0
AC
D6h
0
CY
D7h
0
0
CS0
D8h
E0h
0
0
CS1
D9h
E1h
0
0
CS2
DAh
E2h
0
0
CS3
E3h
DBh
0
0
E4h
DCh
0
DDh
0
CCONV SCONV
E5h
0
0
DMA
DEh
E6h
0
0
ADCI
DFh
R0
E7h
00h
0
0
E8h
R1
0
01h
E9h
1
0
R2
EAh
02h
0
2
EBh
R3
0
03h
000h
ECh
3
00h
0
R4
EDh
04h
0
4
EEh
R5
0
R6
05h
(16M bytes
addressable)
EFh
06h
5
2K bytes
I2CI
6
128 bytes
lower RAM
(direct or
indirect
addressing)
I2CTX
R7
I2CRS
07h
I2CM
R0
7
MDI
R1
08h
MCO
09h
8
MDE
9
external
data
memory
MDO
R2
internal
data
memory
0
0Ah
128 bytes
SFRs
upper RAM
(direct
(indirect
addressing
addressing
only)
only)
F0h
10
FFh
0
R3
F1h
0Bh
CFG832.0=0
0
11
CFG832.0=1
F2h
R4
0
0Ch
F3h
12
0
R5
F4h
R6
0Dh
7FFh
0
0Eh
13
( page 0 )
F5h
14
000h
0
R7
F6h
R0
0Fh
0
10h
15
F7h
16
MAP KEY
R1
SPICON
R2
11h
F8h
12h
17
0
18
SPR0
R3
F8h
R4
13h
0
14h
19
SPR1
20
4K bytes
(1K pages)
data
Flash/EE
(accessible
through
SFRs)
F9h
R5
1
R6
15h
CPHA
16h
21
FAh
22
0
R7
CPOL
17h
FFFFFFh
( page 1023 )
FBh
23
3FFh
0
R0
SPIM
R1
18h
FCh
19h
24
0
25
Register Bank 0
R2
Register Bank 1
1Ah
Register Bank 2
26
SPE
R3
FDh
1Bh
0
27
DATA MEMORY SPACE
(read/write area)
WCOL
R4
FEh
1Ch
0
28
ISPI
R5
FFh
1Dh
Register Bank 3
29
(not used)
R6
00h A4h
1Eh
I2CADD
30
00h A3h
00h
I2CDAT
01h
00h A2h
02h
SBUF
03h
FFh A1h
04h
SCON
05h
A0h
06h
R7
MIN
07h
1Fh
SEC
20h
31
HTHSEC
32
A0h
08h
TIMECON
10h
09h
00h A9h
11g
0Ah
P2
12h
0Bh
A8h
13h
0Ch
(reserved)
14h
0Dh
(reserved)
15h
0Eh
(reserved)
16h
0Fh
IEIP2
17h
21h
IE
22h
33
PWM1H
34
BCh
18h
00h B4h
19h
PWM1L
1Ah
00h B3h
1Bh
PWM0H
1Ch
00h B2h
1Dh
00h
1Eh
PWM0L
1Fh
00h B9h
23h
FFh B1h
35
P3
20h
B0h
21h
B8h
22g
EDATA1
23h
(reserved)
24h
(reserved)
25h
ECON
26h
IP
27h
2Xh
24h
C2h
28h
36
10h
30h
29h
C0h
31h
2Ah
(reserved)
32h
2Bh
00h CCh
33h
2Ch
(reserved)
34h
2Dh
00h CBh
35h
2Eh
CHIPID
36h
2Fh
CAh
37h
25h
(reserved)
26h
37
00h
38
WDCON
38h
C8h
39h
TL2
3Ah
00h D4h
3Bh
RCAP2H
3Ch
00h D3h
3Dh
RCAP2L
3Eh
D2h
3Fh
(reserved)
27h
00h
40h
T2CON
48h
41h
D0h
49h
42h
DMAP
4Ah
43h
DMAH
4Bh
44h
DMAL
4Ch
45h
(reserved)
4Dh
46h
PSW
4Eh
47h
DAC0L
4Fh
(reserved)
39
Bit Addressable
Area
(reserved)
28h
00h
29h
40
00h DAh
41
00h D9h
50h
D8h
58h
51h
00h
59h
52h
E0h
5Ah
53h
ADCCON2 ADCDATAL ADCDATAH (reserved)
5Bh
54h
(reserved)
5Ch
55h
(reserved)
5Dh
56h
(reserved)
5Eh
57h
(reserved)
5Fh
2Ah
(reserved)
2Bh
42
(reserved)
43
(reserved)
60h
00h
61h
ACC
62h
E8h
63h
ADCCON1
64h
(reserved)
65h
(reserved)
66h
(reserved)
67h
(reserved)
2Ch
(reserved)
44
(reserved)
68h
I2CCON
69h
SPIDAT
6Ah
(reserved)
6Bh
00h
6Ch
*00h F5h
6Dh
*00h F4h
6Eh
*20h F3h
6Fh
*00h F2h
2Dh
00h F1h
45
F0h
70h
(reserved)
78h
71h
(reserved)
79h
72h
04h
7Ah
73h
DACCON
7Bh
74h
00h FDh
7Ch
75h
DAC1H
7Dh
76h
00h FCh
7Eh
77h
DAC1L
7Fh
2Eh
00h FBh
2Fh
46
(bit addresses)
DAC0H
47
General Purpose
Area
00h FAh
30h
ADCOFSL ADCOFSH ADCGAINL ADCGAINH ADCCON3
...
48
B
7Fh
...
LSB
address
127
MSB
address
HEX
address
decimal
address
SFR MAP & RESET VALUES
LOWER RAM
BIG MEMORY
CHIPID
Chip ID Register (2X hex = ADuC832)
BIG MEMORY
BIG MEMORY
P0
Timer2 register
Port0 register (also A0-A7 & D0-D7)
P1
Port1 register (analog & digital inputs)
T2EX
T2
timer/counter 2 capture/reload trigger
timer/counter 2 external input
P2
Port2 register (also A8-A15 & A16-A23)
P3
Port3 register
RD
WR
T1
T0
INT1
INT0
TxD
RxD
external data memory read strobe
external data memory write strobe
timer/counter 1 external input
timer/counter 0 external input
external interrupt 1
external interrupt 0
serial port transmit data line
serial port receive data line
SCON
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
Serial communications Control register
UART mode control bits baud rate:
00 - 8bit shift register - FOSC/12
01 - 8bit UART
- variable
10 - 9bit UART
- FOSC/64(x2)
11 - 9bit UART
- variable
in modes 2&3, enables multiprocessor communication
receive enable control bit
in modes 2&3, 9th bit transmitted
in modes 2&3, 9th bit received
transmit interrupt flag
receive interrupt flag
SBUF
PCON
PCON.7
PCON.4
PCON.3
PCON.2
PCON.1
PCON.0
Serial port Buffer register
Power Control register
double baud rate control
ALE disable (0=normal, 1=forces ALE high)
general purpose flag
general purpose flag
power-down control bit (recoverable with hard reset)
idle-mode control (recoverable with enabled interrupt)
PSW
Program Status Word
CY
AC
F0
RS1
RS0
OV
F1
P
carry flag
auxiliary carry flag
general purpose flag 0
register bank select control bits
active register bank = [0,1,2,3]
overflow flag
general purpose flag 1
parity of ACC
DPP
Data Pointer Page
DPH,DPL (DPTR)
Data Pointer
ACC
Accumulator
B
auxiliary math register
BIG MEMORY
BIG MEMORY
Download