El microcontrolador té dotze entrades analògiques (més dues per aplicacions especials) però un únic conversor d'analògic a digital (conversor A/D); per tant cal triar quina entrada es llegeix en cada moment. El conversor és de 10 bits i, per tant, el resultat ocupa dos bytes (anomenats ADRESH i ADRESL) ja que no cap en un. El valor més alt (1023) correspon a que el valor llegit correspongui a la tensió de referència i el valor 0 correspon a una tensió zero. Si fem servir la tensió d'alimentació com a referència, 1023 correspondrà a una entrada de 5 V. Podem triar si el resultat el volem alineat a la dreta o a l'esquerra del parell de paraules amb el bit ADFM de la paraula ADCON0. Si, per exemple, el resultat fos 827 (33Bh, 11 0011 1011) tindríem les opcions:

Per fer servir l'entrada analògica cal configurar-la com a entrada a TRIS (posant el bit corresponent a 1) i activar el bit corresponent a ANSEL o ANSELH (segons quina entrada sigui). Cal tenir present que les entrades analògiques estan sobreposades sobre les binàries però amb numeració diferent; a ANSEL o ANSELH cal emprar la que correspon a l'entrada analògica desitjada i a TRIS cal emprar la que correspon a l'entrada binària que comparteix la mateixa pota.
El conversor A/D pot tenir diverses velocitats de funcionament però només unes poques són compatibles amb cada velocitat del microcontrolador. En la configuració bàsica es pot treballar a 1/8 o a 1/16. En els exemples treballarem a 1/8 i ho seleccionarem posant 001 als bits ADC de la paraula ADCON1, és a dir amb un valor de 0b00010000. En el registre ADCON0 tenim la configuració bàsica del conversor, que es descriu a la taula següent:
| Bit | Nom | Utilització |
| 0 | ADON | Posa en marxa el conversor |
| 1 | GO / DONE | A l'activar-lo comença a convertir; quan acaba es desactiva |
| 2 | CHS0 | Selecció de canal: 0000 AN0 0001 AN1 0010 AN2 etc. |
| 3 | CHS1 | |
| 4 | CHS2 | |
| 5 | CHS3 | |
| 6 | VCFG | A 0 si volem que la tensió llegida es compari amb l'alimentació |
| 7 | ADFM | Alineació del resultat |
Activant el bit ADON s'activa el conversor però no es pot llegir l'entrada fins al cap d'un temps (ja que cal carregar un condensador) que en el nostre cas és 5 μs. Passat aquest temps ja es pot activar el conversor (bit GO) i esperar a que el bit es desactivi per llegir el resultat a ADRESH i ADRESL.
Si hem demanat el resultat justificat per la dreta, podem obtenir el valor enter corresponent a la lectura de la següent forma:
unsigned int refer, mesura;
... mesura = ADRESH; mesura = mesura << 8; mesura = mesura | ADRESL; ...
Quan es fan servir dues o més entrades analògiques cal tenir present que la primera lectura que es fa després de canviar d'entrada no dona resultats correctes. Convé, doncs, fer dues lectures seguides (activar dos cops GO i esperar que es desactivi) cada cop que canviem d'entrada però tenint en compte només la segona lectura.
La informació de la conversió d'analògic a digital està a l'apartat 9.0 del document de característiques del PIC 16F690.

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