Reprenons.
Si on ouvre une datasheet on ne trouve pas A0, c'est donc que c'est une "invention" Wiring/Arduino.
Cette "invention" est pour simplifier la vie des débutants mais avec A0 c'est exactement le contraire qui se produit.
Dans tout les microcontrôleurs les E/S sont regroupées dans des "ports", de 8bits pour les avr, de 32 bits pour les ARM.
Par exemple pour l'atmega328p A0 c'est le PORTC, bit 0.
Chaque microcontrôleur est particulier ce que je vais dire n'est valable que pour le plus répandu l'atmega328p.Les noms de port sont des lettres, le 328p a 3 PORTS B; C et D
Certains bits dans les ports sont utilisés à autre chose que des E/S : les accès Quartz, le reset, etc........
Dans le tableau suivant on voit que le bit 7 du port C n'est pas accessible.
On voit que les autre bits ont différentes fonctions alternatives.
Qui dit fonctions alternatives dit fonction principale et la fonction principale de toutes les pins qui sont reliées à un port numérique est d'être une E/S numérique.
On voit aussi que dans les fonctions alternatives ou secondaires il peut y avoir de l'I2C et point important, valable pour le 328p, une "autre façon" de faire des interruptions. Ce qui est remarquable dans le 328p c'est qu'absolument toutes les pins peuvent générer une interruption PCINT --> attention c'est moins simple qu'avec int0 et int1.
Le SPI se trouve dans les fonctions alternatives du port B
L'UART (liaison série) se trouve dans les fonctions alternatives du port D
Entrées analogiques :
On voit sur le synoptique que les pins qui sont reliées au portC sont aussi reliées à l'entrée du multiplexeur d'entrée du convertisseur analogique digital.
Ce multiplexeur à 10 entrées et 8 d'utilisées.
Dans le boîtier DIP 28 les 2 entrées libres sont perdues par manque de pins sur le boîtier.

Dénomination Wiring/Arduino des E/S
Dans leur documentation ils parlent de 13 E/S numériques (nommées de 1 à 13) et de 5 E/S analogiques (nommées de A0 à A5).
Ce qui est complétement faux :
Il y a 19 entrées numériques : de 1 à 19
Dont 5 (14 à 19) sont dotées de la sous fonction mesure analogique
Entrées purement analogiques sur nano et pro-mini :Avec le boîtier CMS qui a 32 broches les deux entrées libres du multiplexeur analogique peuvent être rendues accessibles, elles le sont sous le nom de A6 et A7.
MAIS comme il n'y a plus de place sur le PORT C elles ne peuvent être que des entrées analogiques.Pour activer le mode numérique ou le mode fonction alternative il faut configurer des registres du microcontrôleur. Un registre c'est une mémoire d'un octet. Pour le programme c'est le compilateur qui choisi l'adresse des variables, pour les registres c'est le concepteur du microcontrôleur qui a imposé une adresse fixe et non modifiable.
Fichier de l'EDI arduino.
Je donne le chemin chez moi --> Debian Linux, windows connait plus depuis 20 ans.
arduino-1.8.13/hardware/arduino/avr/cores/arduino
Dans le répertoire il y a un certain nombre de fichiers commençant par un W.
C'est parce qu'Arduino est un fork de Wiring et que tous les fichiers commençants par W proviennent de Wiring.
Un fichier intéressant est main.cpp.
Il donne la VRAIE structure du fichier qui est transmis au compilateur et c'est un vrai fichier cpp à l'intérieur duquel on retrouve les fonctions setup() et loop().