Afin de limiter le nombre de composant du montage, c’est l’oscillateur RC interne (à 4MHz) du PIC12F675/PIC12F629 qui est utilisé. Les dispersions de fabrication imposent une calibration (un réajustement) de l’oscillateur qui est différente d’un PIC à l’autre. Le fabricant Microchip a prévu un registre (une case mémoire du PIC) dans laquelle, au démarrage, on vient écrire une valeur destinée à réajuster l’oscillateur afin que la fréquence soit 4 MHz à 1% près. Pour chaque PIC, Microchip donne cette valeur (valeur à charger dans le registre OSCCAL) et la stocke à la fin de la zone mémoire programme,c’est-à-dire à l'adresse 0x3FF dans le cas du PIC12F675/PIC12F629.
Aussi, avant de charger le fichier HEX, il est indispensable de faire une lecture du contenu de la mémoire programme du PIC neuf afin de noter la valeur présente à l'adresse 0x3FF (normalement 0x34XX).
Le programme HEX peut alors être chargé dans le buffer de l’outil de programmation (Ex: IC-PROG). Une fois chargé, il est nécessaire de forcer la valeur présente à l'adresse 0x3FF à la valeur précédemment relevée (0x34XX).
Le composant peut maintenant être programmé (chargement du fichier HEX) à l'aide d'un programmateur compatible JDM connecté sur le port série (COM) du PC.
Une relecture du composant PIC permettra de vérifier qu’à l'adresse 0x3FF se trouve bien la valeur 0x34XX.
Il est indispensable que cette valeur commence par 0x34, parce qu’il s’agit d’une instruction RETLW qui retourne dans W la valeur XX destinée à être chargée dans le registre OSCCAL du PIC.
Dans le cas contraire, le programme ne démarrera pas.
L’opération de calibration de l’oscillateur interne est réalisée automatiquement au démarrage du programme.