PIC24F04KL100 registers

All 113 registers by peripheral, at their data-memory address in the SFR map (16-bit registers at even addresses; XC16 reaches a bit as U1MODEbits.UARTEN), with their reset value and every bit.

CPU CPU core (W registers, DSP, program space)

WREG0

Address
0x00
Reset
0x0000
Access
read/write
Size
16-bit

WREG1

Address
0x02
Reset
0x0000
Access
read/write
Size
16-bit

WREG2

Address
0x04
Reset
0x0000
Access
read/write
Size
16-bit

WREG3

Address
0x06
Reset
0x0000
Access
read/write
Size
16-bit

WREG4

Address
0x08
Reset
0x0000
Access
read/write
Size
16-bit

WREG5

Address
0x0A
Reset
0x0000
Access
read/write
Size
16-bit

WREG6

Address
0x0C
Reset
0x0000
Access
read/write
Size
16-bit

WREG7

Address
0x0E
Reset
0x0000
Access
read/write
Size
16-bit

WREG8

Address
0x10
Reset
0x0000
Access
read/write
Size
16-bit

WREG9

Address
0x12
Reset
0x0000
Access
read/write
Size
16-bit

WREG10

Address
0x14
Reset
0x0000
Access
read/write
Size
16-bit

WREG11

Address
0x16
Reset
0x0000
Access
read/write
Size
16-bit

WREG12

Address
0x18
Reset
0x0000
Access
read/write
Size
16-bit

WREG13

Address
0x1A
Reset
0x0000
Access
read/write
Size
16-bit

WREG14

Address
0x1C
Reset
0x0000
Access
read/write
Size
16-bit

WREG15

Address
0x1E
Reset
0x0800
Access
read/write
Size
16-bit

SPLIM

Address
0x20
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit

PCL

Address
0x2E
Reset
0x0000
Access
read only
Size
16-bit

PCH

Address
0x30
Reset
0x0000
Access
read only
Size
16-bit

TBLPAG

Address
0x32
Reset
0x0000
Access
read/write
Size
16-bit

PSVPAG

Address
0x34
Reset
0x0000
Access
read/write
Size
16-bit

RCOUNT

Address
0x36
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit

SR

Address
0x42
Reset
0x0000
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
DC8
IPL7:5
RA4
N3
OV2
Z1
C0

CORCON

Address
0x44
Reset
0x0000
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
IPL33
PSV2

DISICNT

Address
0x52
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit

CN Change notification

CNPD1

Address
0x56
Reset
0x0000
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
CN12PDE12
CN11PDE11
CN8PDE8
CN3PDE3
CN2PDE2
CN1PDE1
CN0PDE0

CNPD2

Address
0x58
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
CN30PDE14
CN29PDE13
CN22PDE6
CN21PDE5

CNEN1Change Notice Enable - Register 1 (of 2)

Address
0x62
Reset
0x0000
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
CN12IE12Interrupt Enable for Change Notice 12
CN11IE11Interrupt Enable for Change Notice 11
CN8IE8
CN3IE3Interrupt Enable for Change Notice 3
CN2IE2Interrupt Enable for Change Notice 2
CN1IE1Interrupt Enable for Change Notice 1
CN0IE0Interrupt Enable for Change Notice 0

CNEN2Change Notice Enable - Register 2 (of 2)

Address
0x64
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
CN30IE14
CN29IE13
CN22IE6
CN21IE5

CNPU1

Address
0x6E
Reset
0x0000
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
CN12PUE12
CN11PUE11
CN8PUE8
CN3PUE3
CN2PUE2
CN1PUE1
CN0PUE0

CNPU2

Address
0x70
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
CN30PUE14
CN29PUE13
CN22PUE6
CN21PUE5

INTERRUPT Interrupts

INTCON1

Address
0x80
Reset
0x0000
Access
read/write
Size
16-bit
5 fields
FieldBitsWhat it does
NSTDIS15
MATHERR4
ADDRERR3
STKERR2
OSCFAIL1

INTCON2

Address
0x82
Reset
0x0000
Access
read/write
Size
16-bit
5 fields
FieldBitsWhat it does
ALTIVT15
DISI14
INT2EP2
INT1EP1
INT0EP0

IFS0

Address
0x84
Reset
0x0000
Access
read/write
Size
16-bit
9 fields
FieldBitsWhat it does
NVMIF15
U1TXIF12
U1RXIF11
T3IF8
T2IF7
CCP2IF6
T1IF3
CCP1IF2
INT0IF0

IFS1

Address
0x86
Reset
0x0000
Access
read/write
Size
16-bit
6 fields
FieldBitsWhat it does
INT2IF13
INT1IF4
CNIF3
CMIF2
BCL1IF1
SSP1IF0

IFS2

Address
0x88
Reset
0x0000
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
T3GIF5

IFS3

Address
0x8A
Reset
0x0000
Access
read/write
Size
16-bit

IFS4

Address
0x8C
Reset
0x0000
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
HLVDIF8
U1ERIF1

IFS5

Address
0x8E
Reset
0x0000
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
ULPWUIF0

IEC0

Address
0x94
Reset
0x0000
Access
read/write
Size
16-bit
9 fields
FieldBitsWhat it does
NVMIE15
U1TXIE12
U1RXIE11
T3IE8
T2IE7
CCP2IE6
T1IE3
CCP1IE2
INT0IE0

IEC1

Address
0x96
Reset
0x0000
Access
read/write
Size
16-bit
6 fields
FieldBitsWhat it does
INT2IE13
INT1IE4
CNIE3
CMIE2
BCL1IE1
SSP1IE0

IEC2

Address
0x98
Reset
0x0000
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
T3GIE5

IEC3

Address
0x9A
Reset
0x0000
Access
read/write
Size
16-bit

IEC4

Address
0x9C
Reset
0x0000
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
HLVDIE8
U1ERIE1

IEC5

Address
0x9E
Reset
0x0000
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
ULPWUIE0

IPC0

Address
0xA4
Reset
0x4404
Access
read/write
Size
16-bit
3 fields
FieldBitsWhat it does
T1IP14:12
CCP1IP10:8
INT0IP2:0

IPC1

Address
0xA6
Reset
0x4400
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
T2IP14:12
CCP2IP10:8

IPC2

Address
0xA8
Reset
0x4004
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
U1RXIP14:12
T3IP2:0

IPC3

Address
0xAA
Reset
0x4004
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
NVMIP14:12
U1TXIP2:0

IPC4

Address
0xAC
Reset
0x4444
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
CNIP14:12
CMIP10:8
BCL1IP6:4
SSP1IP2:0

IPC5

Address
0xAE
Reset
0x0004
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
INT1IP2:0

IPC6

Address
0xB0
Reset
0x0000
Access
read/write
Size
16-bit

IPC7

Address
0xB2
Reset
0x0040
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
INT2IP6:4

IPC9

Address
0xB6
Reset
0x0040
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
T3GIP6:4

IPC12

Address
0xBC
Reset
0x0000
Access
read/write
Size
16-bit

IPC16

Address
0xC4
Reset
0x0040
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
U1ERIP6:4

IPC18

Address
0xC8
Reset
0x0004
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
HLVDIP2:0

IPC20

Address
0xCC
Reset
0x0004
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
ULPWUIP2:0

INTTREG

Address
0xE0
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
CPUIRQ15
VHOLD13
ILR11:8
VECNUM6:0

TMR1 Timer1

TMR1

Address
0x100
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit

PR1

Address
0x102
Reset
0xFFFF
Access
read/write
Size
16-bit

T1CON

Address
0x104
Reset
0x0000
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
TON15
TSIDL13
TECS9:8
TGATE6
TCKPS5:4
TSYNC2
TCS1

TMR2 Timer2

TMR2

Address
0x106
Reset
0x00
Access
read/write
  1. 7–
  2. 6–
  3. 5–
  4. 4–
  5. 3–
  6. 2–
  7. 1–
  8. 0–

PR2

Address
0x108
Reset
0x00FF
Access
read/write
Size
16-bit

T2CON

Address
0x10A
Reset
0x0000
Access
read/write
Size
16-bit
3 fields
FieldBitsWhat it does
T2OUTPS6:3
TMR2ON2
T2CKPS1:0

TMR3 Timer3

TMR3

Address
0x10C
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit

T3GCON

Address
0x10E
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
TMR3GE7
T3GPOL6
T3GTM5
T3GSPM4
T3GGO3
T3GVAL2
T3GSS1:0

T3CON

Address
0x110
Reset
0x0000
Access
read/write
Size
16-bit
5 fields
FieldBitsWhat it does
TMR3CS7:6
T3CKPS5:4
T3OSCEN3
nT3SYNC2
TMR3ON0

CCP1 Capture/compare/PWM 1

CCP1CON

Address
0x190
Reset
0x0000
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
DCB5:4
CCPM3:0

CCPR1L

Address
0x192
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit

CCPR1H

Address
0x194
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit

CCP2 Capture/compare/PWM 2

CCP2CON

Address
0x19C
Reset
0x0000
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
DCB5:4
CCPM3:0

CCPR2L

Address
0x19E
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit

CCPR2H

Address
0x1A0
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit

MSSP1 Master synchronous serial port 1 (SPI, I²C)

SSP1BUF

Address
0x200
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
SSPBUF7:0

SSP1CON1

Address
0x202
Reset
0x0000
Access
read/write
Size
16-bit
5 fields
FieldBitsWhat it does
WCOL7
SSPOV6
SSPEN5
CKP4
SSPM3:0

SSP1CON2

Address
0x204
Reset
0x0000
Access
read/write
Size
16-bit
8 fields
FieldBitsWhat it does
GCEN7
ACKSTAT6
ACKDT5
ACKEN4
RCEN3
PEN2
RSEN1
SEN0

SSP1CON3

Address
0x206
Reset
0x0000
Access
read/write
Size
16-bit
8 fields
FieldBitsWhat it does
ACKTIM7
PCIE6
SCIE5
BOEN4
SDAHT3
SBCDE2
AHEN1
DHEN0

SSP1STAT

Address
0x208
Reset
0x0000
Access
read/write
Size
16-bit
8 fields
FieldBitsWhat it does
SMP7
CKE6
D_nA5
P4
S3
R_nW2
UA1
BF0

SSP1ADD

Address
0x20A
Reset
0x0000
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
SSPADD7:0

SSP1MSK

Address
0x20C
Reset
0x00FF
Access
read/write
Size
16-bit
8 fields
FieldBitsWhat it does
MSK77
MSK66
MSK55
MSK44
MSK33
MSK22
MSK11
MSK00

UART1 UART 1

U1MODE

Address
0x220
Reset
0x0000
Access
read/write
Size
16-bit
12 fields
FieldBitsWhat it does
UARTEN15
USIDL13
IREN12
RTSMD11
UEN9:8
WAKE7
LPBACK6
ABAUD5
RXINV4
BRGH3
PDSEL2:1
STSEL0

U1STA

Address
0x222
Reset
0x0110
Access
read/write
Size
16-bit
14 fields
FieldBitsWhat it does
UTXISEL115
UTXINV14
UTXISEL013
UTXBRK11
UTXEN10
UTXBF9
TRMT8
URXISEL7:6
ADDEN5
RIDLE4
PERR3
FERR2
OERR1
URXDA0

U1TXREG

Address
0x224
Reset
0x0000
Access
write only
Size
16-bit

U1RXREG

Address
0x226
Reset
0x0000
Access
read only
Size
16-bit

U1BRG

Address
0x228
Reset
0x0000
Access
read/write
Size
16-bit

PORTA I/O port A

TRISA

Address
0x2C0
Reset
0x005F
Access
read/write
Size
16-bit
6 fields
FieldBitsWhat it does
TRISA66
TRISA44
TRISA33
TRISA22
TRISA11
TRISA00

PORTA

Address
0x2C2
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit
7 fields
FieldBitsWhat it does
RA66
RA55
RA44
RA33
RA22
RA11
RA00

LATA

Address
0x2C4
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit
6 fields
FieldBitsWhat it does
LATA66
LATA44
LATA33
LATA22
LATA11
LATA00

ODCA

Address
0x2C6
Reset
0x0000
Access
read/write
Size
16-bit
6 fields
FieldBitsWhat it does
ODA66
ODA44
ODA33
ODA22
ODA11
ODA00

ANSA

Address
0x4E0
Reset
0x000F
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
ANSA33
ANSA22
ANSA11
ANSA00

PORTB I/O port B

TRISB

Address
0x2C8
Reset
0xC310
Access
read/write
Size
16-bit
5 fields
FieldBitsWhat it does
TRISB1515
TRISB1414
TRISB99
TRISB88
TRISB44

PORTB

Address
0x2CA
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit
5 fields
FieldBitsWhat it does
RB1515
RB1414
RB99
RB88
RB44

LATB

Address
0x2CC
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit
5 fields
FieldBitsWhat it does
LATB1515
LATB1414
LATB99
LATB88
LATB44

ODCB

Address
0x2CE
Reset
0x0000
Access
read/write
Size
16-bit
5 fields
FieldBitsWhat it does
ODB1515
ODB1414
ODB99
ODB88
ODB44

ANSB

Address
0x4E2
Reset
0xC010
Access
read/write
Size
16-bit
3 fields
FieldBitsWhat it does
ANSB1515
ANSB1414
ANSB44

PORTS I/O port control

PADCFG1

Address
0x2FC
Reset
0x0000
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
SDO1DIS9
SCK1DIS8

CMP Comparators and voltage reference

CMSTAT

Address
0x630
Reset
0x0000
Access
read/write
Size
16-bit
3 fields
FieldBitsWhat it does
CMIDL15
C1EVT8
C1OUT0

CVRCON

Address
0x632
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
CVREN7
CVROE6
CVRSS5
CVR4:0

CMP1 Comparator 1

CM1CON

Address
0x634
Reset
0x0000
Access
read/write
Size
16-bit
9 fields
FieldBitsWhat it does
CON15
COE14
CPOL13
CLPWR12
CEVT9
COUT8
EVPOL7:6
CREF4
CCH1:0

RESET Reset control

RCON

Address
0x740
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit
13 fields
FieldBitsWhat it does
TRAPR15
IOPUWR14
SBOREN13
CM9
PMSLP8
EXTR7
SWR6
SWDTEN5
WDTO4
SLEEP3
IDLE2
BOR1
POR0

OSCILLATOR Oscillator, power control and watchdog

OSCCON

Address
0x742
Reset
x (not fixed at power-on)
Access
read/write
Size
16-bit
8 fields
FieldBitsWhat it does
COSC14:12
NOSC10:8
CLKLOCK7
LOCK5
CF3
SOSCDRV2
SOSCEN1
OSWEN0

CLKDIV

Address
0x744
Reset
0x3100
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
ROI15
DOZE14:12
DOZEN11
RCDIV10:8

OSCTUN

Address
0x748
Reset
0x0000
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
TUN5:0

REFOCON

Address
0x74E
Reset
0x0000
Access
read/write
Size
16-bit
4 fields
FieldBitsWhat it does
ROEN15
ROSSLP13
ROSEL12
RODIV11:8

HLVD High/low-voltage detect

HLVDCON

Address
0x756
Reset
0x0000
Access
read/write
Size
16-bit
6 fields
FieldBitsWhat it does
HLVDEN15
HLSIDL13
VDIR7
BGVST6
IRVST5
HLVDL3:0

NVM Data EEPROM and flash program memory

NVMCON

Address
0x760
Reset
0x0000
Access
read/write
Size
16-bit
6 fields
FieldBitsWhat it does
WR15
WREN14
WRERR13
PGMONLY12
ERASE6
NVMOP5:0

NVMKEY

Address
0x766
Reset
0x0000
Access
write only
Size
16-bit
1 field
FieldBitsWhat it does
NVMKEY7:0

POWER Low-power and deep sleep control

ULPWCON

Address
0x768
Reset
0x0000
Access
read/write
Size
16-bit
3 fields
FieldBitsWhat it does
ULPEN15
ULPSIDL13
ULPSINK8

PMD Peripheral module disable

PMD1

Address
0x770
Reset
0x0000
Access
read/write
Size
16-bit
5 fields
FieldBitsWhat it does
T3MD13
T2MD12
T1MD11
SSP1MD7
U1MD5

PMD2

Address
0x772
Reset
0x0000
Access
read/write
Size
16-bit
2 fields
FieldBitsWhat it does
CCP2MD1
CCP1MD0

PMD3

Address
0x774
Reset
0x0000
Access
read/write
Size
16-bit
1 field
FieldBitsWhat it does
CMPMD10

PMD4

Address
0x776
Reset
0x0000
Access
read/write
Size
16-bit
3 fields
FieldBitsWhat it does
ULPWUMD7
REFOMD3
HLVDMD1