En les taules següents podeu veure els registres que hi ha a cada posició de la memòria de dades. Els que tenen el nom en majúscules són els registres interns de funcionament i configuració i els que estan al final de cada taula són els que contindran les nostres Variables. Cada taula correspon a un dels quatre bancs del microcontrolador. Per accedir als registres dels bancs 1, 2 i 3 es necessiten més instruccions de programa que per accedir als del banc 0.
Els registres marcats amb fons verd són accessibles des de qualsevol banc i els marcats amb fons groc ho són des de més d'un banc. Les posicions marcades en blau fosc no estan implementades.
| Adreça | Funció | Registre | Contingut | |||||||
| Hex. | Dec. | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | |
| 00h | 0 | INDF | Adreçament indirecte | |||||||
| 01h | 1 | TMR0 | Comptador del timer 0 | |||||||
| 02h | 2 | PCL | LSB del comptador de programa | |||||||
| 03h | 3 | STATUS | IRP ✶ | RP1 | RP0 | TO ✶ | PD ✶ | Z ✶ | DC | C ✶ |
| 04h | 4 | FSR | Punter d'adreçament indirecte | |||||||
| 05h | 5 | PORTA | RA5 | RA4 | RA3 | RA2 | RA1 | RA0 | ||
| 06h | 6 | PORTB | RB7 | RB6 | RB5 | RB4 | ||||
| 07h | 7 | PORTC | RC7 | RC6 | RC5 | RC4 | RC3 | RC2 | RC1 | RC0 |
| 08h | 8 | |||||||||
| 09h | 9 | |||||||||
| 0Ah | 10 | PCLATH | Buffer MSB del comptador de programa | |||||||
| 0Bh | 11 | INTCON | GIE | PEIE | T0IE | INTE | RABIE | T0IF | INTF | RABIF |
| 0Ch | 12 | PIR1 | ADIF | RCIF | TXIF | SSPIF | CCP1IF | TMR2IF | TMR1IF | |
| 0Dh | 13 | PIR2 | OSFIF | C2IF | C1IF | EEIF | ||||
| 0Eh | 14 | TMR1L | LSB del comptador del timer 1 | |||||||
| 0Fh | 15 | TMR1H | MSB del comptador del timer 1 | |||||||
| 10h | 16 | T1CON | T1GINV | TMR1GE | T1CKKPS1 | T1CKKPS0 | T1OSCEN | T1SYNC ✶ | TMR1CS | TMR1ON |
| 11h | 17 | TMR2 | Comptador del timer 2 | |||||||
| 12h | 18 | T2CON | TOUTPS3 | TOUTPS2 | TOUTPS1 | TOUTPS0 | TMR2ON | T2CKPS1 | T2CKPS0 | |
| 13h | 19 | SSPBUF | Registre de transmissió sèrie síncrona | |||||||
| 14h | 20 | SSPCON | WCOL | SSPOV | SSPEN | CKP | SSPM3 | SSPM2 | SSPM1 | SSPM0 |
| 15h | 21 | CCPR1L | LSB del capturador, comparador i PWM | |||||||
| 16h | 22 | CCPR1H | MSB del capturador, comparador i PWM | |||||||
| 17h | 23 | CCP1CON | PIM1 | PIM0 | DC1B1 | DC1B0 | CCP1M3 | CCP1M2 | CCP1M1 | CCP1M0 |
| 18h | 24 | RCSTA | SPEN | RX9 | SREN | CREN | ADDEN | FERR | OERR | RX9D |
| 19h | 25 | TXREG | Registre de transmissió sèrie assíncrona | |||||||
| 1Ah | 26 | RCREG | Registre de recepció sèrie assíncrona | |||||||
| 1Bh | 27 | |||||||||
| 1Ch | 28 | PWM1CON | PRSEN | PDC6 | PDC5 | PDC4 | PDC3 | PDC2 | PDC1 | PDC0 |
| 1Dh | 29 | ECCPAS | ECCPASE | ECCPAS2 | ECCPAS1 | ECCPAS0 | PSSAC1 | PSSAC0 | PSSBD1 | PSSBD0 |
| 1Eh | 30 | ADRESH | MSB del conversor A/D | |||||||
| 1Fh | 31 | ADCON0 | ADFM | VCFG | CHS3 | CHS2 | CHS1 | CHS0 | GO/DONE ✶ | ADON |
| 20h a 6Fh |
32 a 111 |
Lliure | Lliure (variables) [80 bytes] | |||||||
| 70h a 7Fh |
112 a 127 |
Lliure | Lliure (variables) [16 bytes] | |||||||
| Adreça | Funció | Registre | Contingut | |||||||
| Hex. | Dec. | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | |
| 80h | 128 | INDF | Adreçament indirecte | |||||||
| 81h | 129 | OPTION_REG | RABPU ✶ | INTEDG | T0CS | T0SE | PSA | PS2 | PS1 | PS0 |
| 82h | 130 | PCL | LSB del comptador de programa | |||||||
| 83h | 131 | STATUS | IRP ✶ | RP1 | RP0 | TO ✶ | PD ✶ | Z ✶ | DC | C ✶ |
| 84h | 132 | FSR | Punter d'adreçament indirecte | |||||||
| 85h | 133 | TRISA | TRISA5 | TRISA4 | TRISA3 | TRISA2 | TRISA1 | TRISA0 | ||
| 86h | 134 | TRISB | TRISB7 | TRISB6 | TRISB5 | TRISB4 | ||||
| 87h | 135 | TRISC | TRISC7 | TRISC6 | TRISC5 | TRISC4 | TRISC3 | TRISC2 | TRISC1 | TRISC0 |
| 88h | 136 | |||||||||
| 89h | 137 | |||||||||
| 8Ah | 138 | PCLATH | Buffer MSB del comptador de programa | |||||||
| 8Bh | 139 | INTCON | GIE | PEIE | T0IE | INTE | RABIE | T0IF | INTF | RABIF |
| 8Ch | 140 | PIE1 | ADIE | RCIE | TXIE | SSPIE | CCP1IE | TMR2IE | TMR1IE | |
| 8Dh | 141 | PIE2 | OSFIE | C2IE | C1IE | EEIE | ||||
| 8Eh | 142 | PCON | ULPWUE | SBOREN | POR ✶ | BOR ✶ | ||||
| 8Fh | 143 | OSCCON | IRCF2 | IRCF1 | IRCF0 | OSTS | HTS | LTS | SCS | |
| 90h | 144 | OSCTUNE | TUN4 | TUN3 | TUN2 | TUN1 | TUN0 | |||
| 91h | 145 | |||||||||
| 92h | 146 | PR2 | Registre de comparació del timer 2 | |||||||
| 93h | 147 | SSPADD | Registre d'adreça de la transmissió sèrie síncrona | |||||||
| SSPMSK | MSK7 | MSK6 | MSK5 | MSK4 | MSK3 | MSK2 | MSK1 | MSK0 | ||
| 94h | 148 | SSPSTAT | SMP | CKE | D/A ✶ | P ✶ | S ✶ | R/W ✶ | UA | BF |
| 95h | 149 | WPUA | WPUA5 | WPUA4 | WPUA2 | WPUA1 | WPUA0 | |||
| 96h | 150 | IOCA | IOCA5 | IOCA4 | IOCA3 | IOCA2 | IOCA1 | IOCA0 | ||
| 97h | 151 | WDTCON | WDTPS3 | WDTPS2 | WDTPS1 | WDTPS0 | SWDTEN | |||
| 98h | 152 | TXSTA | CSRC | TX9 | TXEN | SYNC | SENDB | BRGH | TRMT | TX9D |
| 99h | 153 | SPBRG | BRG7 | BRG6 | BRG5 | BRG4 | BRG3 | BRG2 | BRG1 | BRG0 |
| 9Ah | 154 | SPBRGH | BRG15 | BRG14 | BRG13 | BRG12 | BRG11 | BRG10 | BRG9 | BRG8 |
| 9Bh | 155 | BAUDCTL | ABDOVF | RCIDL | SCKP | BRG16 | WUE | ABDEN | ||
| 9Ch | 156 | |||||||||
| 9Dh | 157 | |||||||||
| 9Eh | 158 | ADRESL | LSB del conversor A/D | |||||||
| 9Fh | 159 | ADCON1 | ADCS2 | ADCS1 | ADCS0 | |||||
| A0h a EFh |
160 a 239 |
Lliure | Lliure (variables) [80 bytes] | |||||||
| F0h a FFh |
240 a 255 |
Lliure | Coincideix amb 70h a 7Fh (112 a 127) | |||||||
| Adreça | Funció | Registre | Contingut | |||||||
| Hex. | Dec. | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | |
| 100h | 256 | INDF | Adreçament indirecte | |||||||
| 101h | 257 | TMR0 | Comptador del timer 0 | |||||||
| 102h | 258 | PCL | LSB del comptador de programa | |||||||
| 103h | 259 | STATUS | IRP ✶ | RP1 | RP0 | TO ✶ | PD ✶ | Z ✶ | DC | C ✶ |
| 104h | 260 | FSR | Punter d'adreçament indirecte | |||||||
| 105h | 261 | PORTA | RA5 | RA4 | RA3 | RA2 | RA1 | RA0 | ||
| 106h | 262 | PORTB | RB7 | RB6 | RB5 | RB4 | ||||
| 107h | 263 | PORTC | RC7 | RC6 | RC5 | RC4 | RC3 | RC2 | RC1 | RC0 |
| 108h | 264 | |||||||||
| 109h | 265 | |||||||||
| 10Ah | 266 | PCLATH | Buffer MSB del comptador de programa | |||||||
| 10Bh | 267 | INTCON | GIE | PEIE | T0IE | INTE | RABIE | T0IF | INTF | RABIF |
| 10Ch | 268 | EEDAT | EEDAT7 | EEDAT6 | EEDAT5 | EEDAT4 | EEDAT3 | EEDAT2 | EEDAT1 | EEDAT0 |
| 10Dh | 269 | EEADR | EEADR7 | EEADR6 | EEADR5 | EEADR4 | EEADR3 | EEADR2 | EEADR1 | EEADR0 |
| 10Eh | 270 | EEDATH | EEDATH5 | EEDATH4 | EEDATH3 | EEDATH2 | EEDATH1 | EEDATH0 | ||
| 10Fh | 271 | EEADRH | EEADRH3 | EEADRH2 | EEADRH1 | EEADRH0 | ||||
| 110h | 272 | |||||||||
| 111h | 273 | |||||||||
| 112h | 274 | |||||||||
| 113h | 275 | |||||||||
| 114h | 276 | |||||||||
| 115h | 277 | WPUB | WPUB7 | WPUB6 | WPUB5 | WPUB4 | ||||
| 116h | 278 | IOCB | IOCB7 | IOCB6 | IOCB5 | IOCB4 | ||||
| 117h | 279 | |||||||||
| 118h | 280 | VRCON | C1VREN | C2VREN | VRR | VP6EN | VR3 | VR2 | VR1 | VR0 |
| 119h | 281 | CM1CON0 | C1ON | C1OUT | C1OE | C1POL | C1R | C1CH1 | C1CH0 | |
| 11Ah | 282 | CM2CON0 | C2ON | C2OUT | C2OE | C2POL | C2R | C2CH1 | C2CH0 | |
| 11Bh | 283 | CM2CON1 | MC1OUT | MC2OUT | T1GSS | C2SYNC | ||||
| 11Ch | 284 | |||||||||
| 11Dh | 285 | |||||||||
| 11Eh | 286 | ANSEL | ANS7 | ANS6 | ANS5 | ANS4 | ANS3 | ANS2 | ANS1 | ANS0 |
| 11Fh | 287 | ANSELH | ANS11 | ANS10 | ANS9 | ANS8 | ||||
| 120h a 16Fh |
288 a 367 |
Lliure | Lliure (variables) [80 bytes] | |||||||
| 170h a 17Fh |
368 a 383 |
Lliure | Coincideix amb 70h a 7Fh (112 a 127) | |||||||
| Adreça | Funció | Registre | Contingut | |||||||
| Hex. | Dec. | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | |
| 180h | 384 | INDF | Adreçament indirecte | |||||||
| 181h | 385 | OPTION_REG | RABPU ✶ | INTEDG | T0CS | T0SE | PSA | PS2 | PS1 | PS0 |
| 182h | 386 | PCL | LSB del comptador de programa | |||||||
| 183h | 387 | STATUS | IRP ✶ | RP1 | RP0 | TO ✶ | PD ✶ | Z ✶ | DC | C ✶ |
| 184h | 388 | FSR | Punter d'adreçament indirecte | |||||||
| 185h | 389 | TRISA | TRISA5 | TRISA4 | TRISA3 | TRISA2 | TRISA1 | TRISA0 | ||
| 186h | 390 | TRISB | TRISB7 | TRISB6 | TRISB5 | TRISB4 | ||||
| 187h | 391 | TRISC | TRISC7 | TRISC6 | TRISC5 | TRISC4 | TRISC3 | TRISC2 | TRISC1 | TRISC0 |
| 188h | 392 | |||||||||
| 189h | 393 | |||||||||
| 18Ah | 394 | PCLATH | Buffer MSB del comptador de programa | |||||||
| 18Bh | 395 | INTCON | GIE | PEIE | T0IE | INTE | RABIE | T0IF | INTF | RABIF |
| 18Ch | 396 | EECON1 | EEPGD | WRERR | WREN | WR | RD | |||
| 18Dh | 397 | EECON2 | Registre de control de l'EEPROM | |||||||
| 18Eh | 398 | |||||||||
| 18Fh | 399 | |||||||||
| 190h | 400 | |||||||||
| 191h | 401 | |||||||||
| 192h | 402 | |||||||||
| 193h | 403 | |||||||||
| 194h | 404 | |||||||||
| 195h | 405 | |||||||||
| 196h | 406 | |||||||||
| 197h | 407 | |||||||||
| 198h | 408 | |||||||||
| 199h | 409 | |||||||||
| 19Ah | 410 | |||||||||
| 19Bh | 411 | |||||||||
| 19Ch | 412 | |||||||||
| 19Dh | 413 | PSTRCON | STRSYNC | STRD | STRC | STRB | STRA | |||
| 19Eh | 414 | SRCON | SR1 | SR0 | C1SEN | C2REN | PULSS | PULSR | ||
| 19Fh | 415 | |||||||||
| 1A0h a 1EFh |
416 a 495 |
|||||||||
| 1F0h a 1FFh |
496 a 511 |
Lliure | Coincideix amb 70h a 7Fh (112 a 127) | |||||||
✶ En principi, podem adreçar directament els bits dels registres emprant només el seu nom; sense indicar a quin registre es troben. En alguns casos, però, cal fer servir un nom diferent, són els que s'indiquen a la taula següent.
| Nom del bit | Banc | Adreça | Nom que cal posar en el programa |
| C | 0, 1, 2, 3 | STATUS,0 | CARRY |
| Z | 0, 1, 2, 3 | STATUS,2 | ZERO |
| PD | 0, 1, 2, 3 | STATUS,3 | nPD |
| TO | 0, 1, 2, 3 | STATUS,4 | nTO |
| GO/DONE | 0 | ADCON0,1 | GO_DONE nDONE GO_nDONE |
| T1SYNC | 0 | T1CON,2 | nT1SYNC |
| RABPU | 1, 3 | OPTION_REG,7 | nRABPU |
| R/W | 1 | SSPSTAT,2 | nW nWRITE I2C_READ READ_WRITE R_W R_nW |
| S | 1 | SSPSTAT,3 | I2C_START |
| P | 1 | SSPSTAT,4 | I2C_STOP |
| D/A | 1 | SSPSTAT,5 | nA nADDRESS DATA_ADDRESS D_A D_nA I2C_DATA |
| BOR | 1 | PCON,0 | nBOR |
| POR | 1 | PCON,1 | nPOR |
| IRP | 0, 1, 2, 3 | STATUS,7 | STATUS,7 ★ |
★ Aquest bit no té un nom definit que es pugui emprar en el programa i, per tant, cal emprar-lo indicant la posició en el registre.
La taula anterior no és completa, el fitxer pic16f690.inc, que es troba amb els fitxers de l'MPLAB X IDE, ens pot ajudar a trobar el nom exacte dels que ens donin error.

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.