Document 11927071

advertisement
PIN FUNCTIONS
8bit internal address (00h-FFh)
3
2
P1.2 / IEXC1 / DAC
@Ri
indirect addressing using R0 or R1
4
3
source
any of [Rn, direct, @Ri]
5
4,5
dest
any of [Rn, direct, @Ri]
6 6,7,8 AGND
#data
8bit constant included in instruction
7
9
REFIN-
12
#data16 16bit constant included in instruction
1
12
bit
8bit direct address of bit
8
10
REFIN+
1,2
12
rel
signed 8bit offset
9
11
P1.4 / AIN1
DPTR *
1
24
addr11
11bit address in current 2K page
10
12
P1.5 / AIN2
A
1
12
addr16
16bit address
11
13
P1.6 / AIN3
DEC
source
1,2
12
12
14
P1.7 / AIN4 / DAC
MUL
AB
multiply A by B
1
48
13
15
SS
DIV
AB
divide A by B
1
48
DA
A
decimal adjust
1
12
12
14
16
MISO
27
29
MOSI / D1
40
43
EA
ANL
A,#data
2
12
15
17
RESET
28
30
P2.0 / A8 / A16
41
44
PSEN
direct,A
2
12
16
18
P3.0 / RxD
29
31
P2.1 / A9 / A17
42
45
ALE
direct,#data
3
24
17
19
P3.1 / TxD
30
32
P2.2 / A10 / A18
43
46
P0.0 / AD0
A,source
1,2
12
18
20
P3.2 / INT0
31
33
P2.3 / A11 / A19
44
47
P0.1 / AD1
A,#data
2
12
19
21
P3.3 / INT1
32
34
XTAL1 (in)
45
48
P0.2 / AD2
1,2,3 24
ORL
direct,A
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
35 37,38 DGND
48
51
DVDD
25
P3.5 / T1
36
39
P2.4 / A12 / A20
49
52
P0.4 / AD4
12
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
51
54
P0.6 / AD6
1
12
26
28
SCLOCK / D0
39
42
P2.7 / A15 / A23
52
55
P0.7 / AD7
1
12
XRL
direct,#data
1
24
CLR
A
clear A to zero
1
24
CPL
A
complement A
1
24
RL
A
rotate A left
1
12
MOVX @Ri,A
move to/from
data memory
MOVX @DPTR,A
push onto stack
2
24
RLC
A
...through C
1
12
direct
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
1
by
te
s
O
S
pe C
ri o
d
s
XCHD A,@Ri
Program Branching
ACALL addr11
LCALL addr16
call subroutine
2
24
Boolean Variable Manipulation
CLR
C
bit
3
24
CLR
RET
return from sub.
1
24
SETB C
RETI
return from int.
1
24
SETB bit
AJMP addr11
LJMP addr16
SJMP rel
JMP
jump
@A+DPTR
2
24
CPL
C
3
24
CPL
bit
2
24
ANL
C,bit
1
24
ANL
C,/bit
clear bit to zero
set bit to one
1
2
12
12
2
12
1
12
2
12
AND bit with C
2
24
...NOTbit with C
2
24
complement bit
JZ
rel
jump if A = 0
2
24
ORL
C,bit
OR bit with C
2
24
JNZ
rel
jump if A not 0
2
24
ORL
C,/bit
...NOTbit with C
2
24
3
24
MOV
C,bit
2
12
3
24
MOV
bit,C
2
24
CJNE A,direct,rel
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
move bit to bit
3
24
JC
rel
jump if C set
2
24
3
24
JNC
rel
jmp if C not set
2
24
2
24
JB
bit,rel
jump if bit set
3
24
3
24
JNB
bit,rel
jmp if bit not set
3
24
1
12
JBC
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
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
calibrated temperature sensor, power supply
monitor, watchdog timer, flexible serial
interface ports, voltage reference, time interval
counter
PROGRAM MEMORY SPACE (read only)
FFFFh
FUNCTIONAL BLOCK DIAGRAM
external
program
memory
12
1
industry standard 8052
32 I/O lines, programmable PLL clock
(98KHz to 12MHz from 32KHz crystal)
other on-chip features:
by
te
s
O
S
pe C
ri o
ds
PUSH direct
POP
microcontroller:
64K bytes
addressable
2000h
1FFFh
EA=1
internal
8K bytes
Flash/EE
0000h
AIN1
9
AIN2
10
(primary ADC)
AIN
MUX
BUF
EA=0
external
AIN3
11
AIN4
12
AIN5
4
(auxillary ADC)
TEMP
sensor
Σ∆ ADC
Interrupt
Bit
PSMCON.5
WDS
IE0
RDY0/RDY1
TF0
IE1
TF1
ISPI
RI/TI
TF2/EXF2
TIMECON.2
Interrupt Name
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 Interrupt
UART Interrupt
Timer2 Interrupt
Time Interval Counter Interrupt
Vector
Address
43h
5Bh
03h
33h
0Bh
13h
1Bh
3Bh
23h
2Bh
53h
1
2
3
4
5
6
7
8
9
10
11
bandgap
reference
(256 counts
per oC)
REFIN+
8
REFIN-
7
3
IEXC2
4
3
DAC
22
T0
23
T1
1
T2
2
T2EX
time
interval
counter
18
INT0
19
INT1
OSC &
PLL
26
D0
27
D1
BUF
256 x 8
user RAM
8052
MCU
core
Flash/EE
watchdog
timer
power supply
monitor
downloader
debugger
200µA / 400µA
IEXC1
640 x 8
data
DAC
Flash/EE
8K x 8
program
VREF
detect
DAC
control
ADC
control
&
calibration
16 bit
AIN
MUX
INTERRUPT VECTOR ADDRESSES
Priority
within
Level
ADuC816
ADC
control
&
calibration
16 bit
Σ∆ ADC
PGA
asynchronous
serial port
(UART)
synchronous
serial interface
(SPI)
16bit
counter
timers
33
24
32
1
XTAL2
MOVX A,@Ri
MOVX A,@DPTR
2
XTAL1
direct,A
P3.0 (RxD)
P3.1 (TxD)
P3.2 (INT0)
P3.3 (INT1)
P3.4 (T0)
P3.5 (T1)
P3.6 (WR)
P3.7 (RD)
A,#data
XRL
16
17
18
19
22
23
24
25
XRL
24
13
24
1
SS
1
8K bytes Flash/EE program memory
640 bytes Flash/EE data memory
26
27
14
MOVC A,@A+DPTR move from
code memory
MOVC A,@A+PC
logical XOR
EEPROM:
23
SCLOCK
MOSI
MISO
direct,#data
A,source
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)
P2.7 (A15 / A23)
ORL
XRL
28
29
30
31
36
37
38
39
24
12bit, 15µs, voltage output, rail-to-rail
<1LSB DNL
single-pin
emulator
3
DAC:
42
41
40
15
2,3 12,24
MOV DPTR,#data16
logical OR
ALE
PSEN
EA
RESET
dest,#data
ORL
ORL
17
MOV
12
12
16
dest,source
2
1,2
TxD
MOV
move source
to destination
16bit Σ∆ with programmable gain,
plus 16bit Σ∆ auxiliary ADC
RxD
A,#data
dest,A
ADC:
P1.0 (T2)
P1.1 (T2EX)
P1.2 (IEXC1 / DAC)
P1.3 (IEXC2 / AIN5)
P1.4 (AIN1)
P1.5 (AIN2)
P1.6 (AIN3)
P1.7 (AIN4 / DAC)
MOV
the ADuC816 is:
1
2
3
4
9
10
11
12
ANL
21
35
47
1,2
DGND
by
te
s
O
S
pe C
rio
d
s
1,2
logical AND
MicroConverter®
Quick Reference Guide
a “Data Acquisition System on a Chip”
A,source
MOV
MOV
ADuC816
52pin PQFP
TOP VIEW
(not to scale)
ANL
ANL
12
39
38
37
36
35
34
33
32
31
30
29
28
27
Logical Operations
Data Transfer Operations
A,source
56pin CSP
TOP VIEW
(not to scale)
pin 1 identifier
1
2
3
4
5
6
7
8
9
10
11
12
13
by
te
s
O
S
pe C
rio
ds
* INC DPTR increments the 24bit value DPP/DPH/DPL
42
41
40
39
38
37
36
35
34
33
32
31
30
29
pin 1 identifier
ADuC816
PQ
FP
INC
DEC
decrement
1
2
3
4
5
6
7
8
9
10
11
12
13
14
DVDD
increment
12
12
P1.3 / IEXC2 / AIN5
AVDD
P0.0 (AD0)
P0.1 (AD1)
P0.2 (AD2)
P0.3 (AD3)
P0.4 (AD4)
P0.5 (AD5)
P0.6 (AD6)
P0.7 (AD7)
2
56
55
54
53
52
51
50
49
48
47
46
45
44
43
direct
43
44
45
46
49
50
51
52
source
12
12
6
INC
2
1,2
subtract from A 1,2
with borrow
2
ADuC816
20
34
48
A
P1.1 / T2EX
5
SUBB A,#data
INC
1
AVDD
ADDC A,#data
SUBB A,source
add with carry
2
15
16
17
18
19
20
21
22
23
24
25
26
27
28
ADDC A,source
add source to A
register addressing using R0-R7
AGND
A,#data
Rn
G02416-2.5-02/02 (A)
ADD
Legend
12
PRINTED IN U.S.A.
1,2
P1.0 / T2
52
51
50
49
48
47
46
45
44
43
42
41
40
A,source
56
14
15
16
17
18
19
20
21
22
23
24
25
26
ADD
1
C
SP
Arithmetic Operations
by
te
s
O
S
pe C
rio
d
s
INSTRUCTION SET
www.analog.com/microconverter
REV. A
SFR DESCRIPTIONS
DATA MEMORY:
RAM, SFRs, user Flash/EE (all read/write)
00h
PCON
87h
(reserved)
(reserved)
DPP
00h
00h 84h
DPH
00h 83h
DPL
80h
P0
FFh 81h
SP
07h 82h
(reserved)
(reserved)
00h
00h 8Dh
TH1
TH0
00h 8Ch
TL1
00h 8Bh
TL0
00h 8Ah
TMOD
00h 89h
TCON
(not used)
(not used)
(not used)
FFh
P1
90h
88h
(not used)
(not used)
(not used)
(not used)
(not used)
(not used)
(not used)
(not used)
(reserved)
(reserved)
00h
SBUF
00h 99h
SCON
98h
(not used)
00h
INTVAL
00h A6h
HOUR
00h A5h
MIN
00h A4h
SEC
00h A3h
HTHSEC
00h A2h
TIMECON
FFh A1h
(reserved)
(reserved)
00h
(not used)
(reserved)
EDATA4
03h
(reserved)
D7h
DEh
PLLCON
DFh
(reserved)
PSMCON
00h
(reserved)
SPIDAT
F7h
B
P2
A0h
(reserved)
lower RAM
details
SFR details
ADCMODE ADC Mode Register
ADMODE.5
ADMODE.4
ADMODE.2
ADMODE.1
ADMODE.0
primary ADC enable bit
auxiliary ADC enable bit
mode bits
[powerdown, idle, sngl-conv, cont-conv,
zero-selfcal, fs-selfcal, zero-syscal, fs-syscal]
ADC0CON Primary ADC Control Register
AD0CON.7
AD0CON.6
AD0CON.5
AD0CON.4
AD0CON.3
AD0CON.2
AD0CON.1
AD0CON.0
(this bit must contain zero)
external reference select bit (0=internal ref)
channel selection bits:
[AIN1-AIN2,AIN3-AIN4,AIN2-AIN2,AIN3-AIN2]
unipolar select bit (0=bipolar)
range select bits:
[±20mV, ±40mV, ±80mV, ±160mV, ±320mV,
±640mV, ±1.28V, ±2.56V]
ADC1CON Auxiliary ADC Control Register
AD1CON.6
AD1CON.5
AD1CON.4
AD1CON.3
external reference select bit (0=internal ref)
channel selection bits:
[AIN3, AIN4, TEMP, AIN5]
unipolar select bit (0 = bipolar)
SF Sync Filter Register: fADC = 4,096Hz ÷ (3·SF)
OF0H,OF0M,OF0L ADC0 offset coefficient
ADC1 offset coefficient
GN0H,GN0M,GN0L ADC0 gain coefficient
GN1H,GN1L
ADC1 gain coefficient
ADC0H,ADC0M
ADC0 data
ADC1H,ADC1L
ADC1 data
ICON
Current Source Control Register
ICON.6
ICON.5
ICON.4
ICON.3
ICON.2
ICON.1
ICON.0
burnout current enable bit
ADC1 current correction bit (0=correction off)
ADC0 current correction bit (0=correction off)
I2 pin select bit [0=pin4 / 1=pin3]
I1 pin select bit [0=pin3 / 1=pin4]
I2 enable bit (0=disable)
I1 enable bit (0=disable)
DACCON
DACCON.4
DACCON.3
DACCON.2
DACCON.1
DACCON.0
DAC Control register
DAC pin select bit [0=pin3 / 1=pin12]
ModeSelect (0=12bit, 1=8bit)
RangeSelect (0=2.5V, 1=AVDD)
Clear DAC (0=0V, 1=normal operation)
PowerDown DAC (0=off, 1=on)
DACH,DACL
PLLCON
PLLCON.7
PLLCON.6
PLLCON.5
PLLCON.4
PLLCON.3
PLLCON.2
PLLCON.1
PLLCON.0
DAC data registers
PLL Control Register
oscillator powerdown control bit (0=normal)
PLL lock indicator flag (0=out of lock)
(this bit must contain zero)
EA detect status bit (reflects state of EA pin)
“fast interrupt” control bit (0=normal)
3-bit clock divideer value, “CD” (default=3):
fCORE = 12,582,912Hz ÷ 2CD
SPR1
F9h
SPR0
0
F8h
SPICON
0
F8h
00h
* calibration coefficients are preconfigured at power-up to factory calibrated values
TIC Elapsed 128th Second Register
CHIPID
1
84h
1
1
86h
1
87h
DCON
mnemonic
reset value
address
enable inturrupts (0=all inturrupts disabled)
enable RDY0/RDY1 (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.7
IEIP2.6
IEIP2.5
IEIP2.4
IEIP2.3
IEIP2.2
IEIP2.1
IEIP2.0
(not used)
pirority of TII interrupt (timer interval)
priority of PSMI interrupt (power supply monitor)
priority of ISPI interrupt (serial interface)
(this bit must contain zero)
enable TII interrupt (timer interval)
enable PSMI interrupt (power supply monitor)
enable ISPI interrupt (serial interface)
IP
Interrupt Priority register
IP.7
PADC
PT2
PS
PT1
PX1
PT0
PX0
(not used)
priority of RDY0/RDY1 (ADC interrupt)
priority of TF2/EXF2 (Timer2 overflow interrupt)
priority of RI/TI (serial port interrupt)
priority of TF1 (Timer1 overflow interrupt)
priority of IE1 (external INT1)
priority of TF0 (Timer0 overflow interrupt)
priority of IE0 (external INT0)
TMOD
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
Timer1 run control (0=off, 1=run)
Timer0 overflow flag
Timer0 run control (0=off, 1=run)
external INT1 flag
IE1 type (0=level trig, 1=edge trig)
external INT0 flag
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
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
Timer2 register
RCAP2H,RCAP2L Timer2 Reload/Capture
P0
Port0 register
P1
Port1 register
P1.2-1.7 analog/digital pins (1=analog function, 0=digital input)
T2EX
timer/counter 2 capture/reload trigger (or digital I/O)
T2
timer/counter 2 external input (or digital I/O)
Port2 register
TIC Elapsed Minutes Register
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
TIC Elapsed Hours Register
READ page
PROGRAM page
VERIFY page
ERASE page
ERASE ALL
81h READ byte
82h PROGRAM byte
0Fh EXIT ULOAD mode
F0h ENTER ULOAD mode
(all others reserved)
SCON Serial communications Control register
SM0
SM1
Data Flash/EE address registers
SPI Control register
SPI inturrupt (set at end of SPI transfer)
write collision error flag
SPI enable (0=DCON 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]
SPI Data register
D0 & D1 Control register
(enabled if SPE=0, see SPICON register above)
D1
D1 output bit
D1EN
D1 output enable (0=disable)
D0
D0 output bit
D0EN
D0 output enable (0=disable)
PRE3
PRE2
PRE1
PRE0
WDIR
WDS
WDE
WDWR
EA
EADC
ET2
ES
ET1
EX1
ET0
EX0
Port3 register
Data Flash/EE data registers
SPIDAT
Interrupt Enable register #1
RD
WR
T1
T0
INT1
INT0
TxD
RxD
EDATA1,EDATA2,EDATA3,EDATA4
ISPI
WCOL
SPE
SPIM
CPOL
CPHA
SPR1
SPR0
Stack Pointer
IE
P3
EADRH,EADRL
SPICON
SP
P2
Data Flash/EE comand register
01h
02h
04h
05h
06h
DVDD compare bit (0=fault)
AVDD compare bit (0=fault)
PSM interrupt bit
DVDD trip point select bits
[4.63V, 3.08V, 2.93V, 2.63V]
AVDD trip point select bits
[4.63V, 3.08V, 2.93V, 2.63V]
PSM powerdown control (1=on / 0=off)
TIC Elapsed Seconds Register
Chip ID Register (1X hex = ADuC816)
ECON
83h
1
82h
1
81h
1
80h
1
HTHSEC
SEC
MIN
HOUR
85h
0
IT0
IE0
IT1
IE1
TR0
TF0
TIC Interval Register
0
TR1
INTVAL
8Eh
24hour select bit (0=255hour)
interval 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)
WDCON
these bits are contained in this byte
mnemonic
address
reset value
TIMECON.6
TIMECON.5
TIMECON.4
TIMECON.3
TIMECON.2
TIMECON.1
TIMECON.0
0
8Fh
TF1
8Dh
0
8Ch
0
8Bh
0
8Ah
0
89h
0
88h
1
T2
1
T2EX
91h
1
92h
1
93h
1
94h
1
1
96h
97h
1
95h
98h
0
TI
99h
0
RB8
9Ah
0
TB8
9Bh
0
REN
9Ch
0
SM2
9Dh
0
SM1
9Eh
0
9Fh
SM0
90h
0
RI
1
A0h
1
A1h
1
A2h
1
A3h
1
A4h
1
ET0
EX1
ET1
ES
ET2
A5h
1
A6h
1
A7h
EX0
0
0
EADC
AEh
0
AFh
EA
ADh
0
ACh
0
ABh
0
AAh
0
A9h
0
A8h
1
B7h
1
B6h
1
B5h
1
B4h
1
B3h
1
B2h
1
B1h
1
B0h
0
B8h
RXD
TXD
B9h
BAh
INT0
INT1
BBh
BCh
T0
T1
BDh
0
BEh
WR
RD
BFh
0
PADC
PT2
0
PS
0
PT1
0
PX1
0
PT0
WDE
0
PX0
WDWR
0
0
WDS
PRE0
PRE1
PRE2
PRE3
C7h
0
C6h
0
C5h
0
C4h
1
C3h
WDIR
C2h
0
C1h
0
C0h
0
CAP2
0
CNT2
C9h
0
TR2
CAh
0
EXEN2
CBh
0
TCLK
CCh
0
RCLK
CDh
0
EXF2
CEh
0
TF2
CFh
D0h
0
D1h
0
D2h
0
D3h
0
D4h
0
D5h
0
D6h
0
D7h
C8h
0
0
D8h
0
F1
D9h
0
OV
DAh
0
RS0
DBh
0
RS1
DCh
0
F0
DDh
0
AC
DEh
0
CY
DFh
0
E0h
E8h
P
0
0
0
F0h
0
0
E1h
0
ERR1
E2h
0
E3h
R0
0
00h
E4h
0
NOXREF ERR0
R1
0
R2
01h
000000h
CAL
02h
1
00h
E5h
2
Register
Bank 0
0
R3
RDY1
03h
E6h
R4
3
0
R5
04h
RDY0
05h
4
E7h
5
E9h
R6
0
06h
EAh
6
128 bytes
lower RAM
(direct or
indirect
addressing)
0
R7
EBh
R0
07h
0
08h
7
ECh
8
0
R1
EDh
09h
0
9
SFRs
(direct
addressing
only)
EEh
R2
0
0Ah
128 bytes
upper RAM
(indirect
addressing
only)
EFh
10
FFh
F1h
R3
0
0Bh
F2h
11
Register
Bank 1
0
R4
D0EN
R5
0Ch
F3h
0Dh
12
0
13
F4h
R6
(16MEG
addressable)
0
0Eh
( page 0 )
D0
14
00h
F5h
R7
0
0Fh
D1EN
15
F6h
R0
0
R1
10h
D1
11h
16
external
data
memory
F7h
17
Register
Bank 2
MAP KEY
R2
04h
12h
SPICON
18
0
R3
SPR0
R4
13h
F8h
14h
19
0
20
640 bytes
(160 pages)
data
Flash/EE
(accessible
through
SFRs)
SPR1
R5
F9h
R6
15h
1
16h
21
CPHA
22
PSMCON.7
PSMCON.6
PSMCON.5
PSMCON.4
PSMCON.3
PSMCON.2
PSMCON.1
PSMCON.0
primary ADC ready flag
auxiliary ADC ready flag
calibration flag
no external reference flag
primary ADC error flag
auxiliary ADC error flag
TIMECON Time Interval Counter Control Register
FAh
R7
PSMCON Power Supply Monitor control register
RDY0
RDY1
CAL
NOXREF
ERR0
ERR1
OF1H,OF1L
FFFFFFh
0
17h
( page 159 )
CPOL
23
9Fh
FBh
R0
0
18h
SPIM
R1
24
FCh
19h
0
R2
25
SPE
R3
1Ah
FDh
1Bh
26
0
27
DATA MEMORY SPACE
(read/write area)
Register
Bank 3
WCOL
R4
FEh
1Ch
0
28
F8h
R5
ISPI
1Dh
FFh
29
(reserved)
R6
(reserved)
1Eh
(reserved)
30
(reserved)
R7
A0h
1Fh
IEIP2
00h
31
00h A9h
08h
01h
A8h
09h
02h
FFh
0Ah
03h
IE
0Bh
04h
B0h
0Ch
05h
00h BFh
0Dh
06h
(reserved)
0Eh
07h
00h BEh
0Fh
20h
(reserved)
21h
32
00h BDh
33
(not used)
10h
BCh
11g
(not used)
12h
(not used)
13h
(not used)
14h
(reserved)
15h
(reserved)
16h
00h
17h
00h B9h
22h
P3
34
B8h
18h
00h
19h
EDATA3
1Ah
EDATA2
1Bh
EDATA1
1Ch
ECON
1Dh
IP
1Eh
EADRL
1Fh
C6h
23h
16h
20h
35
C2h
28h
21h
10h
29h
22g
C0h
2Ah
23h
00h
2Bh
24h
(reserved)
2Ch
25h
00h CDh
2Dh
26h
(reserved)
2Eh
27h
00h CCh
2Fh
24h
(reserved)
25h
36
00h CBh
37
CHIPID
30h
CAh
31h
(reserved)
32h
00h
33h
WDCON
34h
C8h
35h
(reserved)
36h
00h
37h
TH2
26h
45h D5h
38
TL2
38h
00h D4h
39h
RCAP2H
3Ah
07h D3h
3Bh
RCAP2L
3Ch
00h D2h
3Dh
(reserved)
3Eh
00h D1h
3Fh
T2CON
27h
D0h
40h
39
(reserved)
48h
41h
(reserved)
49h
42h
00h
4Ah
43h
ICON
4Bh
44h
00h DDh
4Ch
45h
SF
4Dh
46h
00h DCh
4Eh
47h
Bit Addressable
Area
00h DBh
4Fh
28h
DAh
29h
40
(reserved)
41
ADCMODE ADC0CON ADC1CON
50h
00h
51h
PSW
52h
D8h
53h
(reserved)
54h
80h
55h
ADC1H
56h
00h E5h
57h
ADC1L
2Ah
80h E4h
42
ADC0H
58h
00h E3h
59h
ADC0M
5Ah
E2h
5Bh
00h
5Ch
ADCSTAT
5Dh
E0h
5Eh
~59h
5Fh
OF1H
2Bh
~9Ah EDh
60h
43
OF1L
68h
61h
~53h ECh
69h
62h
OF0H
6Ah
63h
~55h EBh
6Bh
64h
OF0M
6Ch
65h
EAh
6Dh
66h
(reserved)
6Eh
67h
00h
6Fh
2Ch
ACC
2Dh
44
E8h
45
(reserved)
70h
GN1H*
71h
GN1L*
72h
GN0H*
73h
GN0M*
74h
(reserved)
75h
DCON
76h
(reserved)
77h
(reserved)
2Eh
(reserved)
46
(not used)
78h
(reserved)
79h
(reserved)
7Ah
F0h
7Bh
00h
(reserved)
7Ch
(bit addresses)
(reserved)
7Dh
00h
7Eh
DACCON
7Fh
00h FDh
2Fh
DACH
MSB
address
47
General Purpose
Area
00h FCh
30h
DACL
...
48
FBh
7Fh
...
LSB
address
127
(reserved)
LOWER RAM
HEX
address
decimal
address
SFR MAP & RESET VALUES
ADCSTAT ADC Status Register
Watchdog Timer control register
watchdog timeout selection bits
0000-0111 = timeout=[15.6, 31.2, 62.5, 125, 500
1000 = immediate reset
1000, 2000] ms
all others codes = reserved
watchdog interrupt response enable
watchdog status flag
watchdog enable
watchdog write enable
SM2
REN
TB8
RB8
TI
RI
UART mode control bits baud rate:
00 - 8bit shift register - FCORE/12
01 - 8bit UART
- TimerOverflowRate/32(x2)
10 - 9bit UART
- FCORE/64(x2)
11 - 9bit UART
- TimerOverflowRate/32(x2)
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
Serial port Buffer register
PCON Power Control register
PCON.7
PCON.6
PCON.5
PCON.4
PCON.3
PCON.2
PCON.1
PCON.0
double baud rate control
enable serial interrupt (ISI) from power-down mode
enable interrupt 0 (INT0) from power-down mode
ALE disable (0=normal, 1=forces ALE high)
general purpose flag
general purpose flag
power-down control bit (0=normal)
idle-mode control (0=normal)
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
Download