Le fonctionnement du convertisseur A/N est similaire aux deux micros 80C535 et 80C537. Sur le 80C537, il y a cependant 12 entrées ana contre 8 sur le 80C535. C'est pourquoi on a 2 registres de contrôle sur cette version (ADCON0 et ADCON1) contre 1 seul sur le 535 (ADCON). De plus, la conversion peut être déclenchée à l'aide d'un signal externe sur le 80C537. Une conversion dure 13µs avec un quartz de 12 MHz. Voyons d'abors le fonctionnement de ADCON :
NB : CLK et BD n'ont aucune influence sur la conversion.
Le registre ADDAT (0D9H) contient le résultat de la dernière conversion. Il est possible de programmer la référence de tension à l'aide du registre DAPR (0DAH). Le quartet de poids fort est affecté à la programmation de VINTaref et celui de poids faible à VINTagnd. Les valeurs possibles pour DAPR sont : (on a pris VAREF = 5V et VAGND = 0V)
| PAS | DAPR | IVAGND | IVAREF |
| 0 | 0000 | 0 | 5 |
| 1 | 0001 | 0.3125 | --- |
| 2 | 0010 | 0.625 | --- |
| 3 | 0011 | 0.9375 | --- |
| 4 | 0100 | 1.25 | 1.25 |
| 5 | 0101 | 1.5625 | 1.5625 |
| 6 | 0110 | 1.875 | 1.875 |
| 7 | 0111 | 2.1875 | 2.1875 |
| 8 | 1000 | 2.5 | 2.5 |
| 9 | 1001 | 2.8125 | 2.8125 |
| 10 | 1010 | 3.125 | 3.125 |
| 11 | 1011 | 3.4375 | 3.4375 |
| 12 | 1100 | 3.75 | 3.75 |
| 13 | 1101 | --- | 4.0625 |
| 14 | 1110 | --- | 4.375 |
| 15 | 1111 | --- | 4.6875 |
La conversion commence tout de suite après écriture dans DAPR. On remarque que grâce à cette référence de tension programmable il est possible d'obtenir une résolution meilleur que 8 bits (10 bits environ) en effectuant deux conversions et en ajustant la référence entre ces deux conversions.
Intéressons nous maintenant aux registres ADCON0 et ADCON1 du
80C537.
Tout d'abord : ADCON0 (0D8H)
Ensuite ADCON1 (0DCH) : on ne se sert dans ce registre que des 4 bits de poids faible : MX0, MX1, MX2 et MX3. Ceux-ci servent à la sélection de l'entrée analogique :
| MX3 | MX2 | MX1 | MX0 | Entrée sélectionnée |
| 0 | 0 | 0 | 0 | P7.0 |
| 0 | 0 | 0 | 1 | P7.1 |
| 0 | 0 | 1 | 0 | P7.2 |
| 0 | 0 | 1 | 1 | P7.3 |
| 0 | 1 | 0 | 0 | P7.4 |
| 0 | 1 | 0 | 1 | P7.5 |
| 0 | 1 | 1 | 0 | P7.6 |
| 0 | 1 | 1 | 1 | P7.7 |
| 1 | x | 0 | 0 | P8.0 |
| 1 | x | 0 | 1 | P8.1 |
| 1 | x | 1 | 0 | P8.2 |
| 1 | x | 1 | 1 | P8.3 |
Il faut noter que les bits MX0, MX1 et MX2 des registres ADCON0 et ADCON1 sont les mêmes.