Professional Documents
Culture Documents
FP
d
d
s
s
Data Transfer Operations Arithmetic Operations
rio
rio
pe C
pe C
te
te
SP
Q
S
S
by
by
M
O
52
51
50
49
48
47
46
45
44
43
42
41
40
MOV A,Rn 1 1 ADD A,Rn 1 1 2 1 P1.1 / AIN2
MOV A,@Ri
MOV A,direct
1
2
2
2
ADD
ADD
A,@Ri
A,direct
add source to A
1
2
2
2
3 2 P1.2 / AIN3 / REFIN2+ ADuC845/ADuC847/ADuC848
56
55
54
53
52
51
50
49
48
47
46
45
44
43
4 3 P1.3 / AIN4 / REFIN2- pin 1 identifier
15
16
17
18
19
20
21
22
23
24
25
26
27
28
MOV direct,#data 3 3 SUBB A,#data 2 2
P1.0 (AIN1)
P1.3 (AIN4)
P1.4 (AIN5)
P1.5 (AIN6)
P3.2 (INT0)
P3.3 (INT1)
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
P0.3 (AD3)
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
P3.0 (RxD)
P3.1 (TxD)
P3.6 (WR)
P3.7 (RD)
14
15
16
17
18
19
20
21
22
23
24
25
26
P3.4 (T0)
P3.5 (T1)
MOV @Ri,#data 2 2 INC @Ri increment 1 2 13 13 AINCOM / DAC
MOV DPTR,#data16 3 3 INC direct 2 2 14 14 DAC
MOVC A,@A+DPTR move from 1 4 INC DPTR * 1 3
FP
FP
FP
46
47
48
49
52
53
54
55
56
10
12
30
31
32
33
39
40
41
42
18
19
20
21
24
25
26
27
11
MOVC A,@A+PC code memory 1 4 DEC A 1 1
1
2
3
9
SP
SP
SP
Q
Q
M
M
C
C
MOVX A,@Ri 1 4 DEC Rn 1 1 AIN1 56
decrement - 15 AIN9 (CSP package only) 27 29 SDATA (I2C) 40 43 EA
MOVX A,@DPTR move to/from 1 4 DEC @Ri 1 2 AIN2 1 (primary ADC) 16-bit on ADuC848
MOVX @Ri,A data memory 1 4 DEC direct 2 2 - 16 AIN10 (CSP package only) 28 30 P2.0 / SCLOCK (SPI) 41 44 PSEN AIN3 2
MOVX @DPTR,A 1 4 MUL AB multiply A by B 1 9 15 17 RESET 29 31 P2.1 / MOSI (SPI) 42 45 ALE AIN4 3 24-bit
ADC
control ADuC845/7/8
BUF PGA
AIN5 9 SD ADC &
PUSH direct push onto stack 2 2 DIV AB divide A by B 1 9 16 18 P3.0 / RxD 30 32 P2.2 / MISO (SPI) 43 46 P0.0 / AD0 calibration
AIN6 10
POP direct pop from stack 2 2 DA A decimal adjust 1 2 17 19 P3.1 / TxD 31 33 P2.3 / SS / T2 44 47 P0.1 / AD1 AIN7 11 AIN
MUX (auxillary ADC) ADuC845 only DAC
XCH A,Rn 1 1 * INC DPTR increments the 24bit value DPP/DPH/DPL AIN8 12 control DAC BUF 14 DAC
18 20 P3.2 / INT0 32 34 XTAL1 (in) 45 48 P0.2 / AD2
XCH A,@Ri exchange bytes 1 2 AIN9 15 ADC
19 21 P3.3 / INT1 33 35 XTAL2 (out) 46 49 P0.3 / AD3 24-bit control
s
AIN10 16
d
XCH A,direct 2 2 Logical Operations s SD ADC
rio
&
pe C
te
S
by
2K x 8
d
s
data
te
single-pin
ANL C,/bit AND (NOTbit) with C 2 2 ORL direct,A 2 2 asynchronous
emulator
IEXC1 11
POR serial port SPI I2 C OSC &
ORL C,bit OR bit with C 2 2 ORL direct,#data 3 3 IEXC2 12 (UART) PLL
ORL C,/bit OR (NOTbit) with C 2 2 XRL A,Rn 1 1 62 32 8
MOV C,bit 2 2 XRL A,@Ri 1 2 FFFFh FFFFh FFFFh
22
36
51
23
37
38
50
18
19
30
31
32
33
28
29
34
35
17
45
44
43
move bit to bit
4
5
6
MOV bit,C 2 2 XRL A,direct 2 2 (NOP instructions)
logical XOR F800h (NOP instructions)
SS
AVDD
RxD
TxD
SCLOCK
MOSI
MISO
SCLK
SDATA
XTAL1
XTAL2
RESET
ALE
PSEN
EA
XRL A,#data 2 2 F7FFh
AGND
DVDD
DGND
ds
Program Branching
rio
pe C
te
S
by
8000h
O
XRL direct,#data 3 3
ACALL addr11 2 3 7FFFh
call subroutine CLR A clear A to zero 1 1 internal
LCALL addr16 3 4 code space * pin numbers refer to CSP package
CPL A complement A 1 1 internal
RET return from sub. 1 4 2000h
RL A rotate A left 1 1 code space
RETI return from int. 1 4 62kB 1FFFh internal
RLC A ...through C 1 1 code space
AJMP addr11 2 3 Flash/EE
RR A rotate A right 1 1 32kB
LJMP addr16 3 4 Flash/EE 8kB
jump RRC A ...through C 1 1
SJMP rel 2 3 Flash/EE A Precision Analog Flash MCU
SWAP A swap nibbles 1 1 0000h 0000h 0000h
JMP @A+DPTR 1 3
JC rel jump if C set 2 3 The ADuC845/ADuC847/ADuC848 is:
JNC rel jmp if C not set 2 3 Legend ADC:
JB bit,rel jump if bit set 3 4
Rn register addressing using R0-R7 Interrupt Vector Addresses 24-bit* primary ADC, differential w/ programmable gain
JNB bit,rel jmp if bit not set 3 4 24-bit auxiliary ADC, single-ended w/ fixed gain (ADuC845 only)
@Ri indirect addressing using R0 or R1 Vector Relative
JBC bit,rel jmp&clear if set 3 4 Interrupt Bit Interrupt Name 10-channel input mux (*ADC is 16bit on ADuC848)
JZ rel jump if A = 0 2 3 direct 8-bit internal address (00h-FFh) Address Priority
JNZ rel jump if A not 0 2 3 #data 8-bit constant included in instruction
DAC:
PSMCON.5 Power Supply Monitor Interrupt 43h 1 12-bit, 15µs, voltage output
CJNE A,direct,rel 3 4 #data16 16-bit constant included in instruction
compare and WDS WatchDog Timer Interrupt 5Bh 2 <1LSB DNL
CJNE A,#data,rel 3 4 bit 8-bit direct address of bit
jump if not
CJNE Rn,#data,rel 3 4 IE0 External Interrupt 0 03h 3 Flash/EEPROM:
equal rel signed 8-bit offset up to 62kB Flash/EE program memory
CJNE @Ri,#data,rel 3 4
addr11 11-bit address in current 2K page RDY0/RDY1 End of ADC Conversion Interrupt 33h 4 4kB Flash/EE data memory
DJNZ Rn,rel decrement and 2 3
DJNZ direct, rel jump if not zero 3 4 addr16 16-bit address TF0 Timer0 Overflow Interrupt 0Bh 5 Microcontroller:
NOP no operation 1 1 x any of: Rn, @Ri, direct, #data IE1 External Interrupt 1 13h 6 single-cycle 8052, up to 12.6MIPS
32 I/O lines, programmable PLL clock
TF1 Timer1 Overflow Interrupt 1Bh 7
(98.3kHz to 12.6MHz from 32kHz crystal)
Instructions That Affect Flags ISPI/I2CI SPI/I2C Interrupt 3Bh 8
Embedded Tools Support:
ADD A,x C = carry out of bit 7 DA A C = C or (x>100) RI/TI UART Interrupt 23h 9 on-chip download/debug & single-pin emulation functions
AC = carry out of bit 3 RRC A C = ACC.7 TF2/EXF2 Timer2 Interrupt 2Bh 10
OV = carry out of bit 6, but not 7
RLC A C = ACC.0
Other on-chip features:
ADDC A,x C = carry out of bit 7 TIMECON.2 Time Interval Counter Interrupt 53h 11 temperature sensor, power supply monitor, watchdog timer,
AC = carry out of bit 3 SETB C C=1 flexible serial interface ports, voltage reference, time interval
OV = carry out of bit 6, but not 7 CLR C C=0 counter, dual 8-/16-bit PWM, power-on-reset
© 2004 Analog Devices, Inc. All rights reserved.
SUBB A,x C = borrow into bit 7 ANL C,bit C = C and bit Trademarks and registered trademarks are the
AC = borrow into bit 3 ANL C,/bit C = C and NOTbit property of their respective owners.
Purchase of licensed I2C components of Analog
OV = borrow into bit 6, but not 7 Devices or one of its sublicensed Associated
ORL C,bit C = C or bit
MUL AB C=0 Companies conveys a license for the purchaser
OV = (result>255) ORL C,/bit C = C or NOTbit under the Philips I2C Patent Rights to use these
components in an I2C system, provided that the
DIV AB C=0 MOV C,bit C = bit system conforms to the I2C Standard Specification
as defined by Philips.
OV = divide by zero CJNE x,y,rel C = (x<y) Printed in the U.S.A. G04923-4-6/04(0) REV. 0
ADCMODE ADC Mode register T3CON Timer 3 Control register
ADCMODE.6 60Hz reject filter enable (0=disable) T3CON.7 Timer 3 baud rate enable (0=disable)
Data Memory: RAM, SFRs, user Flash/EE (all read/write) SFR Map
ADCMODE.5
ADCMODE.4
primary ADC enable bit (0=disable)
auxiliary ADC enable bit (0=disable)
T3CON.2
T3CON.1
binary divide factor (DIV)
DIV = log[FCORE/(16·baudrate)] / log2
ADCMODE.3 chop mode disable bit (1=disable) T3CON.0 (rounded down)
ADCMODE.2 ADC mode bits:
ADCMODE.1 [off, idle, single-conv, continuous-conv, T3FD Timer 3 Fractional Divider register
ADCMODE.0 zero-cal, fs-cal, sys-zero-cal, sys-fs-cal]
PWMCON CFG845/7/8
T3FD = (2·FCORE) / (baudrate·2(DIV-1)) - 64
00h
DEh
53h
00h
00h
00h
00h
00h
00h
00h
PSMCON
ADCSTAT
PLLCON
ADC Status register
EDATA4
(reserved)
(reserved)
ADC0CON2 (reserved)
(reserved)
(reserved)
(reserved)
DPCON
SPIDAT
EADRH
CHIPID Chip ID Register
EWAIT
PCON
(AX hex = ADuC845/7/8)
SPH
RDY0 ADC0 ready indicator flag
Lower RAM RDY1 ADC1 ready indicator flag
CFG845/CFG847/CFG848 Config. Register
address
address
decimal
00h DFh
D7h
00h C7h
00h BFh
00h AFh
B7h
00h A7h
F7h
00h 9Fh
87h
HEX
ERR0 primary ADC error flag (indicates result is clamped) CFG84x.0 internal XRAM select (0=external XRAM)
ERR1 auxiliary ADC error flag (indicates result is clamped)
WDCON Watchdog Timer control register
ADC0CON1 ADC0 Control register #1 PRE3 watchdog timeout selection bits
00h
127 7Fh ADC0CON1.7 buffer configuration bits: PRE2 0-7=[15.6,31.2,62.5,125,250,500,1000,2000]ms
EDATA3
(reserved)
(reserved)
(reserved)
(reserved)
(reserved)
(reserved)
(reserved)
(reserved)
(reserved)
INTVAL
EADRL
T3CON
ADC1L
ADC0CON1.6 [00=buffered, 10=unbuffered, others reserved] PRE1 8=0ms (immediate reset)
General Purpose
address
address
ADC0CON1.5 unipolar select bit (0=bipolar) PRE0 >8=reserved
... ... Area ADC0CON1.2 range select bits: WDIR watchdog interrupt response bit
MSB
LSB
ADC0CON1.1 [±20mV, ±40mV, ±80mV, ±160mV, WDS watchdog status flag (1 indicates watchdog timeout)
48 30h (bit addresses)
00h DEh
00h BEh
AEh
ADC0CON1.0 ±320mV, ±640mV, ±1.28V, ±2.56V] WDE watchdog enable control (0=disabled)
C6h
*xxh E6h
00h A6h
00h 9Eh
WDWR watchdog write enable bit (set to enable write)
ADC0CON2 ADC0 Control register #2
47 2Fh 7Fh 7Eh 7Dh 7Ch 7Bh 7Ah 79h 78h ADC0CON2.7 reference select bits PSMCON Power Supply Monitor control register
00h
*xxh
00h
00h
00h
ADC0CON2.6 [internal, REFIN pins, REFIN2 pins, reserved] PSMCON.7 DVDD status bit (1=above / 0=below trip point)
DACCON
EDATA2
(reserved)
(reserved)
(reserved)
(reserved)
(reserved)
(reserved)
ADC0CON2.3 channel select bits PSMCON.6 AVDD status bit (1=above / 0=below trip point)
46 2Eh 77h 76h 75h 74h 73h 72h 71h 70h
ADC1H
HOUR
GN1H
OF1H
ICON
T3FD
ADC0CON2.2 [1-COM, 2-COM, 3-COM, 4-COM, 5-COM, PSMCON.5 PSM interrupt bit
TH2
TH1
ADC0CON2.1 6-COM, 7-COM, 8-COM, 9-COM, 10-COM, PSMCON.4 DVDD trip point select bits
45 2Dh 6Fh 6Eh 6Dh 6Ch 6Bh 6Ah 69h 68h ADC0CON2.0 1-2, 3-4, 5-6, 7-8, 9-10, COM-COM] PSMCON.3 [4.63V, 3.08V, 2.93V, 2.63V]
PSMCON.2 AVDD trip point select bits
ADC1CON ADC1 Control register
00h DDh
00h CDh
*xxh EDh
00h BDh
00h FDh
9Dh
00h 8Dh
*xxh E5h
00h A5h
PSMCON.1 [4.63V, 3.08V, 2.93V, 2.63V]
44 2Ch 67h 66h 65h 64h 63h 62h 61h 60h
45h 0h
ADC1CON.6 REFIN select bit (0=internal reference) PSMCON.0 PSM enable (1=on / 0=off)
ADC1CON.5 unipolar select bit (0=bipolar)
SP Stack Pointer
43 2Bh 5Fh 5Eh 5Dh 5Ch 5Bh 5Ah 59h 58h ADC1CON.3 channel select bits
00h
00h
ADC1CON.2 [1-COM, 2-COM, 3-COM, 4-COM, 5-COM,
SPH
EDATA1
(reserved)
(reserved)
(reserved)
(reserved)
(reserved)
PWM1H
Stack Pointer High byte
ADC1M
ADC1CON.1 6-COM, 7-COM, 8-COM, 9-COM, 10-COM,
DACH
42 2Ah 57h 56h 55h 54h 53h 52h 51h 50h
DPP
GN1L
OF1L
ADC1CON.0 1-2, 3-4, 5-6, 7-8, tempsens, COM-COM]
TH0
MIN
TL2
IE
SF
SF Sync Filter Register: Interrupt Enable register #1
41 29h Bit Addressable 4Fh 4Eh 4Dh 4Ch 4Bh 4Ah 49h 48h fADC = 4,096Hz / (3·SF) (chop on) EA enable interrupts (0=all interrupts disabled)
00h DCh
00h CCh
*xxh ECh
BCh
00h FCh
Area
00h D4h
00h 8Ch
*xxh E4h
00h B4h
00h A4h
fADC = 4,096Hz / (SF) (chop off) EADC enable ADCI (ADC interrupt)
00h 84h
ET2 enable TF2/EXF2 (Timer2 overflow interrupt)
40 28h 47h 46h 45h 44h 43h 42h 41h 40h OF0H,OF0M,OF0L ADC0 offset coefficient ES enable RI/TI (serial port interrupt)
ET1 enable TF1 (Timer1 overflow interrupt)
39 27h 3Fh 3Eh 3Dh 3Ch 3Bh 3Ah 39h 38h
55h
OF1H,OF1L ADC1 offset coefficient EX1 enable IE1 (external interrupt 1)
RCAP2H
(reserved)
(reserved)
(reserved)
(reserved)
(not used)
I2CADD
PWM1L
ET0 enable TF0 (Timer0 overflow interrupt)
ADC0H
DACL
GN0H
OF0H
EX0 enable IE0 (external interrupt 0)
38 26h 37h 36h 35h 34h 33h 32h 31h 30h GN0H,GN0M,GN0L ADC0 gain coefficient
DPH
SEC
TL1
IEIP2 Interrupt Enable/Priority register #2
37 25h 2Fh 2Eh 2Dh 2Ch 2Bh 2Ah 29h 28h GN1H,GN1L ADC1 gain coefficient IEIP2.6 priority of TII interrupt (time interval)
00h DBh
00h CBh
*xxh EBh
FBh
07h D3h
*xxh E3h
00h B3h
00h A3h
00h 9Bh
00h 8Bh
00h 83h
IEIP2.5 priority of PSMI interrupt (power supply monitor)
ADC0H,ADC0M,ADC0L ADC0 data IEIP2.4 priority of ISPI/I2CI interrupt (serial interface)
36 24h 27h 26h 25h 24h 23h 22g 21h 20h IEIP2.3 (this bit must contain zero)
ADC1H,ADC1M,ADC1L ADC1 data IEIP2.2 enable TII interrupt (time interval)
AXh
7Fh
35 23h 1Fh 1Eh 1Dh 1Ch 1Bh 1Ah 19h 18h IEIP2.1 enable PSMI interrupt (power supply monitor)
I2CADD1
HTHSEC
RCAP2L
(reserved)
(reserved)
(reserved)
(reserved)
PWM0H
ADC0M
I2CDAT
CHIPID
IEIP2.0 enable ISPI/I2CI interrupt (serial interface)
ICON
GN0M
OF0M
Current Source Control Register
DPL
IP
TL0
34 22h 17h 16h 15h 14h 13h 12h 11g 10h ICON.6 burnout current enable bit (0=disable) Interrupt Priority register
ICON.3 IEXC2 pin select bit [0=AIN8 / 1=AIN7] PADC priority of ADCI (ADC interrupt)
C2h
ICON.2 IEXC1 pin select bit [0=AIN7 / 1=AIN8] PT2 priority of TF2/EXF2 (Timer2 overflow interrupt)
33 21h 0Fh 0Eh 0Dh 0Ch 0Bh 0Ah 09h 08h
00h DAh
CAh
*xxh EAh
08h D2h
*xxh E2h
00h B2h
00h A2h
00h 9Ah
00h 8Ah
F2h
07h 82h
ICON.1 IEXC2 enable bit (0=disable) PS priority of RI/TI (serial port interrupt)
ICON.0 IEXC1 enable bit (0=disable) PT1 priority of TF1 (Timer1 overflow interrupt)
32 20h 07h 06h 05h 04h 03h 02h 01h 00h DACCON DAC Control register
PX1 priority of IE1 (external interrupt 1)
PT0 priority of TF0 (Timer0 overflow interrupt)
00h
A0h
TIMECON
DACCON.4 DAC pin select bit [0=DAC pin, 1=AINCOM pin] PX0 priority of IE0 (external interrupt 0)
(reserved)
(reserved)
(reserved)
(reserved)
(reserved)
31 1Fh R7
PWM0L
ADC0L
TMOD
ECON
DACCON.3 ModeSelect (0=12bit, 1=8bit)
SBUF
GN0L
TMOD
OF0L
IEIP2
DACCON.2 RangeSelect (0=2.5V, 1=AVDD) Timer Mode register
SP
30 1Eh R6 DACCON.1
DACCON.0
Clear DAC (0=0V, 1=normal operation)
PowerDown DAC (0=off, 1=on)
TMOD.3/.7
TMOD.2/.6
gate control bit (0=ignore INTx)
counter/timer select bit (0=timer)
Register Bank 3
00h D9h
00h D1h
TMOD.1/.5 timer mode selecton bits
00h E9h
00h E1h
00h B9h
FFh B1h
00h A9h
FFh A1h
DACH,DACL
00h 99h
00h 89h
FFh 81h
29 1Dh R5 DAC data registers
Flash/EE XRAM TMOD.0/.4 [13bitT, 16bitT/C, 8bitT/Creload, 2x8bitT]
(upper nibble = Timer1, lower nibble = Timer0)
data space extended RAM space PLLCON PLL Control register
28 1Ch R4 TCON Timer Control register
05h
00h
00h
10h
FFh
ADCSTAT
PLLCON.7 oscillator powerdown control bit (0=XTAL on)
SPICON
I2CCON
WDCON
T2CON
PLLCON.6 PLL lock indicator flag (0=out of lock) TF1 Timer1 overflow flag (auto cleared on vector to ISR)
SCON
27 1Bh R3
TCON
PSW
PLLCON.4 returns state of EA pin latched at power-up TR1 Timer1 run control (0=off, 1=run)
ACC
P3
P2
P1
P0
PLLCON.3 fast interrupt control bit (0=normal) TF0 Timer0 overflow flag (auto cleared on vector to ISR)
IP
IE
B
26 1Ah R2 3FFh ( page 1023 ) FFFFFFh PLLCON.2 3-bit clock divider value, CD (default=3): TR0 Timer0 run control (0=off, 1=run)
PLLCON.1 FCORE = 12,582,912Hz / 2CD IE1 external INT1 flag (auto cleared on vector to ISR)
D8h
D0h
C8h
C0h
E8h
E0h
B8h
B0h
A8h
A0h
F8h
F0h
98h
90h
88h
80h
PLLCON.0 IT1 IE1 type (0=level trig, 1=edge trig)
25 19h R1 TIMECON Time Interval Counter Control Register IE0 external INT0 flag (auto cleared on vector to ISR)
IT0 IE0 type (0=level trig, 1=edge trig)
TIMECON.6 24-hour mode select (0=0..255hour, 1=0..23hour)
24 18h R0 TIMECON.5 INTVAL timebase select bits TH0,TL0 Timer0 registers
TIMECON.4 [128th sec, seconds, minutes, hours]
23 17h R7 4kB TIMECON.3 single time interval control bit (0=reload&restart) TH1,TL1 Timer1 registers
(1K pages) TIMECON.2
TIMECON.1
time interval interrupt bit, TII
time interval enable bit (0=disable&clear) T2CON Timer2 Control register
22 16h R6 data
0
1
WDWR
TIMECON.0 time clock enable bit (0=disable)
CAP2
SPR0
RXD
PX0
EX0
I2CI
IT0
Flash/EE
Register Bank 2
INTVAL
T2
EXF2 external flag
RI
TIC Interval Register
P
21 15h R5 RCLK receive clock enable (0=Timer1 used for RxD clk)
(accessible
D8h
D0h
C8h
C0h
E8h
E0h
B8h
B0h
A8h
A0h
F8h
F0h
98h
90h
88h
80h
TCLK transmit clock enable (0=Timer1 used for TxD clk)
HTHSEC TIC Elapsed 128th Second Register
20 14h R4 through
EXEN2 external enable (0=ignore T2EX, 1=cap/rld on T2EX)
SEC TIC Elapsed Seconds Register TR2 run control (0=stop, 1=run)
SFRs) CNT2 timer/counter select (0=timer, 1=counter)
0
1
19 13h R3
I2CTX
MIN
SPR1
T2EX
CAP2 capture/reload select (0=reload, 1=capture)
WDE
TXD
PT0
ET0
IE0
F1
TI
TIC Elapsed Hours Register
18 12h R2
D9h
D1h
C9h
C1h
E9h
E1h
B9h
B1h
A9h
A1h
F9h
F1h
99h
91h
89h
81h
ECON Data Flash/EE comand register RCAP2H,RCAP2L Timer2 Reload/Capture
17 11h R1 000h ( page 0 ) 01h
02h
READ page
PROGRAM page
81h READ byte
82h PROGRAM byte P0 Port0 register (also A0-A7 & D0-D7)
1
1
I2CRS
CPHA
ERR1
WDS
04h VERIFY page 0Fh EXIT ULOAD mode
INT0
16 10h R0
RB8
PX1
EX1
TR2
OV
IT1
05h ERASE page F0h ENTER ULOAD mode P1 Port1 register (analog & digital inputs)
7FFh 06h ERASE ALL (all others reserved)
T2EX timer/counter 2 capture/reload trigger
DAh
CAh
EAh
BAh
AAh
15 0Fh R7
D2h
C2h
FAh
E2h
B2h
A2h
9Ah
8Ah
F2h
92h
82h
EADRH,EADRL Data Flash/EE address registers T2 timer/counter 2 external input
14 0Eh R6
RAM & SFRs EDATA1,EDATA2,EDATA3,EDATA4
P2 Port2 register (also A8-A15 & A16-A23)
0
1
EXEN2
CPOL
NOXREF ERR0
WDIR
P3
I2CM
Port3 register
Register Bank 1
INT1
RS0
TB8
Data Flash/EE data registers
PT1
ET1
IE1
13 0Dh R5 RD external data memory read strobe
SPICON SPI Control register
DBh
CBh
BBh
ABh
FBh
D3h
C3h
E3h
B3h
A3h
9Bh
8Bh
F3h
93h
83h
12 0Ch R4
FFh CFG84x.0=1 CFG84x.0=0 ISPI
WCOL
SPI interrupt (set by hardware at end of SPI transfer)
write collision error flag
T1
T0
timer/counter 1 external input
timer/counter 0 external input
11 0Bh R3 128 bytes SFRs SPE SPI enable (0=I2C enable, 1=SPI enable) INT1 external interrupt 1
0
1
INT0 external interrupt 0
internal external
TCLK
PRE0
upper RAM
REN
RS1
TR0
MDI
ES
10 0Ah R2 (indirect data data CPHA clock phase select (0=leading edge latch) RxD serial port receive data line
addressing
DCh
CCh
ECh
BCh
ACh
FCh
SCON
D4h
C4h
9Ch
8Ch
SPR1 SPI bitrate select bits
E4h
B4h
A4h
F4h
94h
84h
Serial communications Control register
addressing memory memory SPR0 bitrate = FCORE / [2,4,8,16] (slave: SPR0=SS)
9 09h R1 only) SPIDAT
SM0 UART mode control bits baud rate:
only) SPI Data register SM1 00 - 8bit shift register - FCORE/12
0
1
8 08h R0 2kB (16MB 01 - 8bit UART - variable
RCLK
PRE1
MCO
SM2
SPE
2
PT2
ET2
TF0
10 - 9bit UART - FCORE/64(x2)
F0
T1
7 07h R7 128 bytes addressable) MDO master mode SDATA output bit
SM2
11 - 9bit UART - variable
in modes 2&3, enables multiprocessor communication
DDh
CDh
EDh
BDh
ADh
FDh
D5h
C5h
9Dh
8Dh
E5h
B5h
A5h
F5h
95h
85h
MDE master mode SDATA output enable (0=disable)
lower RAM MCO master mode SCLK output bit
REN
TB8
receive enable control bit
in modes 2&3, 9th bit transmitted
6 06h R6 (direct or MDI master mode SDATA input bit
RB8 in modes 2&3, 9th bit received
I2CM master mode select bit (0=slave mode)
0
1
WCOL
EADC
PADC
RDY1
PRE2
EXF2
5 05h R5
SM1
CEh
EEh
BEh
AEh
4 04h R4
FEh
D6h
C6h
E6h
B6h
A6h
9Eh
8Eh
F6h
96h
86h
I2CADD,I2CADD1 I2C slave Address registers
PCON Power Control register
3 03h R3 I2CDAT I2C Data register PCON.7 double baud rate control
0
1
PCON.4 ALE disable (0=normal, 1=forces ALE high)
RDY0
PRE3
MDO
SM0
ISPI
TF1
EA
CFh
EFh
D7h
C7h
BFh
AFh
FFh
E7h
B7h
A7h
F7h
9Fh
8Fh
97h
87h
details SFR details reset value address DPCON.6 data pointer auto-toggle enable (0=disable)
DPP Data Pointer Page
DPCON.5 shadow data pointer mode control bits
DPCON.4 [1=8052, 2=post-inc, 3=post-dec, 4=LSBtgl] DPH,DPL (DPTR) Data Pointer
* calibration coefficients are preconfigured at power-up to factory-calibrated values DPCON.3 main data pointer mode control bits
DPCON.2 [1=8052, 2=post-inc, 3=post-dec, 4=LSBtgl] ACC Accumulator
DPCON.1 (not implemented to allow INC DPCON toggling)
DPCON.0 data pointer select [0=main, 1=shadow] B auxiliary math register