Les dades s'emmagatzemen a la memòria del microcontrolador en forma binària. Però per a la majoria de les aplicacions no és pràctic representar els valors en binari a l'hora d'escriure el programa. Per això hi ha altres formats.
És el format que utilitzem a la nostra vida quotidiana i, per tant, és el més apropiat per als números.
L'entrada d'un valor decimal en el programa es pot indicar escribint directament el nombre, sense posar un punt al davant. També poden portar la lletra D, majúscula o minúscula).
movlw 214 ; Valor decimal movlw 214d ; Valor decimal movlw 214D ; Valor decimal
En el PIC 16F690 la memòria de dades és de 8 bits, és a dir un byte. Això vol dir que cada dada està representada per un nombre de 8 bits i, per tant, pot tenir un valor entre 0 i 255. Cada bit només pot valer 0 o 1. A la figura següent es representa un nombre de 8 bits amb el pes que correspon a cada bit.

El nombre representat (10111) correspon al valor 23 en decimal, com es pot veure a continuació:
1 x 1 = 1 1 x 2 = 2 1 x 4 = 4 1 x 16 = 16 Total 23
L'entrada d'un valor binari en el programa s'indica de la següent manera:
movlw 00010111B ; Valor binari
És un format molt emprat en programació. Com necessitem xifres del 0 al 15 i només tenim símbols per a les 10 primeres, la resta es fan emprant lletres. La lletra A correspon al 10 i la lletra F al 15:
10 A 13 D 11 B 14 E 12 C 15 F
Els nombres hexadecimals tenen l'avantatge que cada xifra correspon a quatre bits (el que s'anomena un nibble, mig byte). A l'exemple següent ho podem veure:

El nombre representat correspon al valor 174.
A: 10 x 16 = 160 E: 14 x 1 = 14 Total 174
En un text escrit, els valors hexadecimals solen indicar-se amb una h al darrere; per exemple AEh.
L'entrada d'un valor hexadecimal en el programa es pot indicar de tres formes:
movlw 0AEh ; Valor hexadecimal movlw 0AEH ; Valor hexadecimal movlw 0xAE ; Valor hexadecimal
Fixem-nos, però, que els nombres hexadecimals sempre han de començar amb un zero.
La base és 8, per tant les xifres van de 0 a 7 i cada xifra correspon a tres bits. Com és menys pràctic que l'hexadecimal (on cada xifra són quatre bits i un byte són dues xifres), cada cop es fa servir menys.
En un text escrit, els valors octals solen indicar-se amb Ox al davant; per exemple Ox263.
El nombre representat correspon al valor 179 en decimal, com es pot veure a continuació:
2 x 64 = 128 6 x 8 = 48 3 x 1 = 3 Total 179
L'entrada d'un valor octal en el programa es pot indicar així:
movlw 62o ; Valor octal movlw 62O ; Valor octal movlw 62q ; Valor octal movlw 62Q ; Valor octal
Si fem servir la lletra O hem de vigilar de no confondre-la amb un zero.
El codi ASCII codifica en números de 7 bits (de 0 a 127) les lletres (alfabet anglès), els números i els símbols.
Els elements del 00h al 1Fh són caràcters de control (emprats en els antics mòdems i impressores), els números van del 30h al 39h, les lletres majúscules del 41h al 5Ah i les minúscules del 61h al 7Ah
| Segon dígit | |||||||||||||||||
| 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | ||
| P r i m e r d í g i t |
0 | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
| 1 | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US | |
| 2 | espai | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | |
| 3 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? | |
| 4 | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | |
| 5 | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ | |
| 6 | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | |
| 7 | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL | |
Com els números i les lletres estan ordenats, es pot conèixer el codi individual d'un caràcter sumant el nombre d'ordre al codi ASCII del primer. Així el codi del número 3 (33h) s'obté sumant 3 a 30h, codi del 0.
L'entrada d'un caràcter ASCII en el programa es pot indicar així:
movlw 'M' ; Caràcter ASCII
És un format molt útil quan es vol treure números en una pantalla o un visualitzador. Els valors BCD fan servir quatre bits però aquests bits només contenen una xifra. Així el número 13 seria: 0001 0011 en lloc de 0000 1101.
Els valors BCD es poden emmagatzemar posant un dígit en cada byte (i sabem que sempre els bits 4 a 7 seran zero) o posant dues xifres a cada byte (una xifra a cada nibble) que és una forma més compacta.
Per entrar valors en BCD a una variable, podem fer-ho igual que entrant valors hexadecimals. Per exemple entraríem el valor 13 així:
movlw 013h ; Valor hexadecimal, equival a 13 en BCD movlw 013H ; Valor hexadecimal, equival a 13 en BCD movlw 0x13 ; Valor hexadecimal, equival a 13 en BCD

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