2000hFFFFh0000h1FFFh
40 43 EA
41 44 PSEN
42 45 ALE
43 46 P0.0 / AD0
44 47 P0.1 / AD1
45 48 P0.2 / AD2
46 49 P0.3 / AD3
47 50 DGND
48 51 DVDD
49 52 P0.4 / AD4
50 53 P0.5 / AD5
51 54 P0.6 / AD6
52 55 P0.7 / AD7
27 29 MOSI / D1
28 30 P2.0 / A8 / A16
29 31 P2.1 / A9 / A17
30 32 P2.2 / A10 / A18
31 33 P2.3 / A11 / A19
32 34 XTAL1 (in)
33 35 XTAL2 (out)
34 36 DVDD
35 37,38 DGND
36 39 P2.4 / A12 / A20
37 40 P2.5 / A13 / A21
38 41 P2.6 / A14 / A22
39 42 P2.7 / A15 / A23
14 16 MISO
15 17 RESET
16 18 P3.0 / RxD
17 19 P3.1 / TxD
18 20 P3.2 / INT0
19 21 P3.3 / INT1
20 22 DVDD
21 23 DGND
22 24 P3.4 / T0
23 25 P3.5 / T1
24 26 P3.6 / WR
25 27 P3.7 / RD
26 28 SCLOCK / D0
1 56 P1.0 / T2
2 1 P1.1 / T2EX
3 2 P1.2 / IEXC1 / DAC
4 3 P1.3 / IEXC2 / AIN5
5 4,5 AVDD
6 6,7,8 AGND
7 9 REFIN-
8 10 REFIN+
9 11 P1.4 / AIN1
10 12 P1.5 / AIN2
11 13 P1.6 / AIN3
12 14 P1.7 / AIN4 / DAC
13 15 SS
ADD A,source 1,2 12
add source to A
ADD A,#data 2 12
ADDC A,source 1,2 12
add with carry
ADDC A,#data 2 12
SUBB A,source subtract from A 1,2 12
with borrow
SUBB A,#data 2 12
INC A 1 12
INC source increment 1,2 12
INC DPTR *1 24
DEC A 1 12
decrement
DEC source 1,2 12
MUL AB multiply A by B 1 48
DIV AB divide A by B 1 48
DA A decimal adjust 1 12
MOV A,source 1,2 12
MOV A,#data 212
MOV dest,A move source 1,2 12
to destination
MOV dest,source 1,2,3 24
MOV dest,#data 2,3 12,24
MOV DPTR,#data16 324
MOVCA,@A+DPTR move from 1 24
code memory
MOVCA,@A+PC 1 24
MOVX A,@Ri 1 24
MOVX A,@DPTR move to/from 1 24
data memory
MOVX @Ri,A 1 24
MOVX @DPTR,A 1 24
PUSH direct push onto stack 2 24
POP direct pop from stack 2 24
XCH A,source exchange bytes 1,2 12
XCHD A,@Ri exchg low digits 1 12
ACALLaddr11 2 24
call subroutine
LCALLaddr16 3 24
RET return from sub. 124
RETI return from int. 124
AJMP addr11 2 24
LJMP addr16 3 24
jump
SJMP rel 2 24
JMP @A+DPTR 124
JZ rel jump if A = 0 224
JNZ rel jump if A not 0 2 24
CJNE A,direct,rel 3 24
CJNE A,#data,rel compare and 3 24
jump if not
CJNE Rn,#data,rel equal 3 24
CJNE @Ri,#data,rel 3 24
DJNZ Rn,rel decrement and 2 24
jump if not zero
DJNZ direct, rel 3 24
NOP no operation 1 12
CLR C112
clear bit to zero
CLR bit 212
SETB C112
set bit to one
SETB bit 212
CPL C 112
complement bit
CPL bit 212
ANL C,bit AND bit with C 224
ANL C,/bit ...NOTbit with C 224
ORL C,bit OR bit with C 224
ORL C,/bit ...NOTbit with C 224
MOV C,bit 212
move bit to bit
MOV bit,C 224
JC rel jump if C set 224
JNC rel jmp if C not set 224
JB bit,rel jump if bit set 324
JNB bit,rel jmp if bit not set 324
JBC bit, rel jmp&clear if set 324
ANL A,source 1,2 12
ANL A,#data 212
logical AND
ANL direct,A 212
ANL direct,#data 324
ORL A,source 1,2 12
ORL A,#data 212
logical OR
ORL direct,A 212
ORL direct,#data 324
XRL A,source 1,2 12
XRL A,#data 212
logical XOR
XRL direct,A 212
XRL direct,#data 324
CLR Aclear A to zero 112
CPL Acomplement A 112
RL A rotate A left 112
RLC A...through C 112
RR Arotate A right 112
RRC A...through C 112
SWAP A swap nibbles 112
Rn register addressing using R0-R7
direct 8bit internal address (00h-FFh)
@Ri indirect addressing using R0 or R1
source any of [Rn, direct, @Ri]
dest any of [Rn, direct, @Ri]
#data 8bit constant included in instruction
#data16 16bit constant included in instruction
bit 8bit direct address of bit
rel signed 8bit offset
addr11 11bit address in current 2K page
addr16 16bit address
ADuC824
MicroConverter®

Quick Reference Guide

EQU define symbolDATA define internal memory symbolIDATA define indirect addressing symbolXDATA define external memory symbolBIT define internal bit memory symbolCODE define program memory symbolDS reserve bytes of data memoryDBIT reserve bits of bit memoryDB store byte values in program memoryDW store word values in program memoryORG set segment location counterEND end of assembly source fileCSEG select program memory spaceXSEG select external data memory spaceDSEG select internal data memory spaceISEG select indirectly addressed internaldata memory spaceBSEG select bit addressable memory spaceexternalprogrammemoryEA=1internal8K bytesFlash/EEEA=0external
PRINTED IN U.S.A. G02077-2.5-02/02 (A)
* INC DPTR increments the 24bit value DPP/DPH/DPL
InterruptBit Interrupt Name VectorAddressPrioritywithinLevelPSMCON.5 Power Supply Monitor Interrupt 43h 1WDS WatchDog Timer Interrupt 5Bh 2IE0 External Interrupt 0 03h 3RDY0/RDY1 End of ADC Conversion Interrupt 33h 4TF0 Timer0 Overflow Interrupt 0Bh 5IE1 External Interrupt 1 13h 6TF1 Timer1 Overflow Interrupt 1Bh 7ISPI SPI Interrupt 3Bh 8RI/TI UART Interrupt 23h 9TF2/EXF2 Timer2 Interrupt 2Bh 10TIMECON.2 Time Interval Counter Interrupt 53h 11
(256 counts
per oC)
200µA / 400µA
AIN
MUX
16bit
counter
timers
DAC
control
ADC
control
&
calibration
DAC
OSC &
PLL
bandgap
reference
TEMP
sensor
time
interval
counter
VREF
detect
AIN
MUX
ADC
control
&
calibration
24 bit
Σ∆ ADC
(primary ADC)
(auxillary ADC)
16 bit
Σ∆ ADC
power supply
monitor
synchronous
serial interface
(SPI)
8K x 8
program
Flash/EE
640 x 8
data
Flash/EE
watchdog
timer
256 x 8
user RAM
asynchronous
serial port
(UART)
8052
MCU
core
downloader
debugger
PGABUF
BUF
single-pin
emulator
ADuC824
9
10
11
12
8
7
2
1
23
22
3
26
27
14
32
33 25
24
23
22
19
18
17
16
39
38
37
36
31
30
29
28
12
11
10
9
4
3
2
1
52
51
50
49
46
45
44
43
42
41
40
15
18
19
5
6
20
34
35
47
21
48
AIN1
AIN2
AIN3
AIN4
REFIN+
REFIN-
INT1
INT0
T2EX
T2
T1
T0
DAC
AVDD
AGND
SCLOCK
MOSI
MISO
ALE
PSEN
EA
RESET
XTAL1
XTAL2
DVDD
DGND
13SS
3
4
IEXC1
IEXC2
P3.7
P3.6
P3.5
P3.4
P3.3
P3.2
P3.1
P3.0
P2.1
P2.0
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
P2.2
P2.3
P2.4
P2.5
P2.6
P2.7
16
17
RxD
TxD
4AIN5
18
19 INT1
INT0
26
27 D1
D0
26
25
24
23
22
21
20
19
18
17
16
15
14
40
41
42
43
44
45
46
47
48
49
50
51
52
13
12
11
10
9
8
7
6
5
4
3
2
1 39
38
37
36
35
34
33
32
31
30
29
28
27
ADuC824
52pin PQFPTOP VIEW(not to scale)
pin 1 identifier
Arithmetic Operations
bytes
OSC
periods
bytes
OSC
periods
Data Transfer OperationsLogical OperationsBoolean Variable ManipulationProgram Branching
bytes
OSC
periods
bytes
OSC
periods
bytes
OSC
periods
INSTRUCTION SET
Legend
PROGRAM MEMORY SPACE (read only)
ASSEMBLER DIRECTIVES
INTERRUPT VECTOR ADDRESSES
PIN FUNCTIONS
FUNCTIONAL BLOCK DIAGRAM
64K bytesaddressable
a “Data Acquisition System on a Chip”
ADC: 24bit Σ∆ with programmable gain,
plus 16bit Σ∆ auxiliary ADC
DAC: 12bit, 15µs, voltage output, rail-to-rail
<1LSB DNL
EEPROM: 8K bytes Flash/EE program memory
640 bytes Flash/EE data memory
microcontroller: industry standard 8052
32 I/O lines, programmable PLL clock(98KHz to 12MHz from 32KHz crystal)other on-chip features: calibrated temperature sensor, power supplymonitor, watchdog timer, flexible serialinterface ports, voltage reference, time intervalcounter
the ADuC824 is:
www.analog.com/microconverter REV. A
26
25
24
23
22
21
20
19
18
17
16
15
28
54
55
56
43
44
45
46
47
48
49
50
51
52
13
12
11
10
9
8
7
6
5
4
3
2
1
39
38
37
36
35
34
33
32
31
30
29
42
41
ADuC824
56pin CSP
TOP VIEW
(not to scale)
pin 1 identifier
14
40
27
53
PQFP
CSP
P3.7 (RD)
P3.6 (WR)
P3.5 (T1)
P3.4 (T0)
P3.3 (INT1)
P3.2 (INT0)
P3.1 (TxD)
P3.0 (RxD)
P2.1 (A9 / A17)
P2.0 (A8 / A16)
P1.7 (AIN4 / DAC)
P1.6 (AIN3)
P1.5 (AIN2)
P1.4 (AIN1)
P1.3 (IEXC2 / AIN5)
P1.2 (IEXC1 / DAC)
P1.1 (T2EX)
P1.0 (T2)
P0.7 (AD7)
P0.6 (AD6)
P0.5 (AD5)
P0.4 (AD4)
P0.3 (AD3)
P0.2 (AD2)
P0.1 (AD1)
P0.0 (AD0)
P2.2 (A10 / A18)
P2.3 (A11 / A19)
P2.4 (A12 / A20)
P2.5 (A13 / A21)
P2.6 (A14 / A22)
P2.7 (A15 / A23)