🔧 PICkit 3 & MPLAB X IDE

Guide complet : installation de MPLAB X et XC8, prise en main du PICkit 3 et programmation de vos premiers PIC

Introduction — Les outils indispensables

Pour programmer un microcontrôleur PIC, vous avez besoin de trois éléments essentiels qui forment la chaîne de développement complète :

Ce tutoriel vous guide pas à pas à travers l'installation, la configuration et la première utilisation de ces trois outils.

🔌 Le PICkit 3 — Programmateur et débogueur

Qu'est-ce que le PICkit 3 ?

Le PICkit 3 est un programmateur/débogueur USB officiel de Microchip. Il permet de programmer la quasi-totalité des microcontrôleurs PIC 8 bits, 16 bits et dsPIC, ainsi que les microcontrôleurs de la famille AVR récemment ajoutée au catalogue Microchip. Il se connecte au PC via USB et au PIC via un connecteur 6 broches.

PICkit 3 vs PICkit 4 : lequel choisir ?

Caractéristique PICkit 3 PICkit 4
StatutAncien (toujours supporté)Actuel (recommandé)
Vitesse de programmationStandard2 à 3× plus rapide
Tension de sortieJusqu'à 30 mAJusqu'à 50 mA
DébogageOui (limité)Oui (amélioré)
Support nouveaux PICLimité aux anciensTous les PIC récents
Prix (original Microchip)~30 € (discontinué)~50 €
Prix (clone)~8–15 €~15–25 €

💡 Conseil : Pour les PIC12F683 et PIC16F877A utilisés dans nos tutoriels, un clone PICkit 3 à ~10 € fonctionne parfaitement. Si vous comptez travailler avec des PIC plus récents (PIC18, PIC32, dsPIC33), investissez dans un PICkit 4 original ou clone de bonne qualité.

Les 6 broches du connecteur PICkit

Le PICkit 3/4 utilise un connecteur 6 broches au pas de 2.54 mm. Voici le brochage standard :

Pin Nom Fonction PIC12F683 PIC16F877A
1VPP / MCLRTension de programmation / ResetPin 4 (GP3/MCLR)Pin 1 (MCLR)
2VDDAlimentation positive (3.3V ou 5V)Pin 1 (VDD)Pin 11/32 (VDD)
3VSS / GNDMassePin 8 (VSS)Pin 12/31 (VSS)
4PGD / ICSPDATDonnées de programmationPin 7 (GP0)Pin 40 (RB7)
5PGC / ICSPCLKHorloge de programmationPin 6 (GP1)Pin 39 (RB6)
6LVP / PGMLow Voltage Programming (souvent inutilisé)Pin 36 (RB3) si LVP activé

⚠️ Attention — Pin 1 du PICkit : Le pin 1 est repéré par un triangle blanc (▶) gravé sur le boîtier du PICkit ou par un petit point sur le connecteur. Vérifiez toujours l'orientation avant de brancher ! Un mauvais branchement peut endommager le PICkit ou le PIC.

📥 Installation de MPLAB X IDE

Étape 1 : Téléchargement

Rendez-vous sur le site officiel Microchip : microchip.com/mplab/mplab-x-ide. Cliquez sur « Downloads » et sélectionnez la version correspondant à votre système d'exploitation :

Un compte Microchip gratuit peut être nécessaire pour accéder au téléchargement.

Étape 2 : Installation Windows

  1. Lancez l'installateur MPLABX-vX.XX-windows-installer.exe en tant qu'administrateur.
  2. Acceptez le contrat de licence.
  3. Choisissez le dossier d'installation (par défaut : C:\Program Files\Microchip\MPLABX\).
  4. Sélectionnez les composants à installer. Gardez les options par défaut qui incluent l'IDE, MPLAB IPE (l'outil de programmation standalone) et les pilotes USB.
  5. Attendez la fin de l'installation (~5 min selon votre PC).
  6. Redémarrez votre ordinateur si demandé — c'est nécessaire pour que les pilotes USB du PICkit soient correctement chargés.

Étape 3 : Installation macOS

  1. Ouvrez le fichier .dmg téléchargé.
  2. Double-cliquez sur l'installateur .app.
  3. macOS peut bloquer l'exécution : allez dans Préférences Système → Sécurité et Confidentialité → « Ouvrir quand même ».
  4. Suivez l'assistant d'installation.

Étape 4 : Installation Linux

  1. Extraire l'archive : tar -xf MPLABX-vX.XX-linux-installer.tar
  2. Rendre le script exécutable : chmod +x MPLABX-vX.XX-linux-installer.sh
  3. Lancer en root : sudo ./MPLABX-vX.XX-linux-installer.sh
  4. Ajouter votre utilisateur au groupe pour accéder au PICkit : sudo usermod -aG plugdev $USER
  5. Déconnectez-vous et reconnectez-vous pour appliquer les permissions.

📥 Installation du compilateur XC8

MPLAB X est l'IDE, mais il a besoin d'un compilateur pour transformer votre code C en fichier .hex. Pour les PIC 8 bits (PIC10, PIC12, PIC16, PIC18), le compilateur officiel est XC8.

Téléchargement

Rendez-vous sur microchip.com/mplab/compilers et téléchargez la dernière version de XC8 pour votre OS.

Installation

  1. Lancez l'installateur XC8.
  2. Acceptez la licence.
  3. Quand il vous demande le type de licence, choisissez « Free ». La version gratuite est parfaitement fonctionnelle — elle compile du code correct, simplement avec moins d'optimisations que les versions Pro ou Standard.
  4. Laissez le chemin d'installation par défaut.
  5. Cochez « Add xc8 to the PATH environment variable » si proposé.
  6. Terminez l'installation.

ℹ️ Version Free vs Pro : La version Free du compilateur XC8 produit du code en moyenne 20 à 40% plus gros qu'une version Pro. Pour nos tutoriels sur PIC12F683 (3.5 Ko de Flash) et PIC16F877A (14 Ko), la version Free est largement suffisante. Vous ne rencontrerez des limitations que sur des projets très complexes avec peu de mémoire disponible.

Autres compilateurs XC

CompilateurPour quels PICNos tutoriels
XC8PIC10, PIC12, PIC16, PIC18 (8 bits)✅ PIC12F683 et PIC16F877A
XC16PIC24, dsPIC (16 bits)Non utilisé
XC32PIC32 (32 bits)Non utilisé

✅ Vérifier l'installation

Après avoir installé MPLAB X et XC8, vérifions que tout fonctionne :

  1. Lancez MPLAB X IDE.
  2. Allez dans Tools → Options → Embedded → Build Tools (ou sur Mac : MPLAB X → Preferences).
  3. Vous devez voir XC8 listé dans la section « Toolchain ». Si ce n'est pas le cas, cliquez sur « Scan for Build Tools » ou ajoutez manuellement le chemin vers le compilateur.
  4. Branchez votre PICkit 3 en USB. La LED verte du PICkit doit s'allumer.
  5. Vérifiez dans Tools → Options → Embedded → Generic Settings que le PICkit 3 est détecté comme outil de programmation.

💡 Le PICkit n'est pas détecté ? Essayez un autre port USB (préférez un port directement sur la carte mère, pas un hub). Sous Windows, vérifiez dans le Gestionnaire de périphériques que le pilote « Microchip Tools » est correctement installé. Sous Linux, vérifiez que votre utilisateur est dans le groupe plugdev.

🆕 Créer votre premier projet

Suivez ces étapes pour créer un projet de LED clignotante sur le PIC12F683 :

Étape 1 : Nouveau projet

  1. Ouvrez MPLAB X IDE.
  2. Allez dans File → New Project.
  3. Sélectionnez Categories : Microchip EmbeddedProjects : Standalone Project.
  4. Cliquez Next.

Étape 2 : Sélectionner le microcontrôleur

  1. Dans le champ « Device », tapez PIC12F683 (ou PIC16F877A selon votre projet).
  2. Le composant apparaît dans la liste déroulante. Sélectionnez-le.
  3. Cliquez Next.

Étape 3 : Sélectionner le programmateur

  1. Dans la section « Tool », sélectionnez votre PICkit :
  2. Si le PICkit est branché : il apparaît avec son numéro de série (ex : « PICkit3 – SN:BUR123456789 »).
  3. Si vous n'avez pas encore le PICkit : sélectionnez « Simulator » pour tester la compilation sans matériel.
  4. Cliquez Next.

Étape 4 : Sélectionner le compilateur

  1. Dans la liste, sélectionnez XC8 (vX.XX).
  2. Si XC8 n'apparaît pas, retournez vérifier l'installation (section précédente).
  3. Cliquez Next.

Étape 5 : Nommer et sauvegarder

  1. Donnez un nom au projet (ex : LED_Clignotante_PIC12).
  2. Choisissez le dossier de sauvegarde.
  3. Cochez « Set as main project ».
  4. Cliquez Finish.

📝 Ajouter un fichier source C

  1. Dans le panneau « Projects » à gauche, faites un clic droit sur « Source Files ».
  2. Sélectionnez New → C Source File.
  3. Nommez le fichier main (l'extension .c est ajoutée automatiquement).
  4. Cliquez Finish.

Collez le code suivant pour un test de LED clignotante sur le PIC12F683 :

// Configuration du PIC12F683
#pragma config FOSC = INTOSCIO  // Oscillateur interne, GP4/GP5 GPIO
#pragma config WDTE = OFF       // Watchdog désactivé
#pragma config PWRTE = ON        // Power-up timer activé
#pragma config MCLRE = OFF       // MCLR interne
#pragma config CP = OFF          // Protection code désactivée
#pragma config CPD = OFF         // Protection EEPROM désactivée
#pragma config BOREN = ON        // Brown-out reset activé
#pragma config IESO = OFF        // Internal/External switchover OFF
#pragma config FCMEN = OFF       // Fail-safe clock monitor OFF

#include <xc.h>

#define _XTAL_FREQ 4000000   // 4 MHz

void main(void) {
    OSCCON = 0b01100000;  // Oscillateur interne 4 MHz
    ANSEL  = 0x00;         // Toutes les broches en numérique
    CMCON0 = 0x07;         // Comparateur OFF
    TRISIO = 0b00111110;  // GP0 en sortie
    GPIO   = 0x00;         // Toutes les sorties à 0

    while(1) {
        GPIObits.GP0 = 1;   // LED ON
        __delay_ms(500);
        GPIObits.GP0 = 0;   // LED OFF
        __delay_ms(500);
    }
}

🔨 Compiler le projet

  1. Cliquez sur le bouton « Build Project » (icône marteau 🔨) dans la barre d'outils, ou appuyez sur F11.
  2. Observez la console Output en bas de l'écran. Si tout va bien, vous verrez le message :
BUILD SUCCESSFUL (total time: Xs)

En cas d'erreur, la console affiche le numéro de ligne et la description de l'erreur. Les erreurs les plus courantes sont :

Informations de compilation utiles

Après la compilation, la console affiche un résumé de l'utilisation mémoire :

Memory Summary:
    Program space        used    42h (    66) of   800h words   (  3.2%)
    Data space           used     5h (     5) of    80h bytes   (  3.9%)
    EEPROM space         used     0h (     0) of   100h bytes   (  0.0%)

Ces informations vous indiquent combien de mémoire Flash (programme) et de RAM (données) votre code utilise par rapport à la capacité totale du PIC.

🔗 Câblage ICSP sur breadboard

Avant de programmer, vous devez connecter le PICkit 3 à votre circuit. Voici le câblage pour le PIC12F683 :

Connexions PICkit 3 → PIC12F683

PICkit PinSignalCouleur fil (typique)PIC12F683 Pin
1VPP / MCLR⬜ Blanc4 (GP3/MCLR)
2VDD (+5V)🟥 Rouge1 (VDD)
3VSS (GND)⬛ Noir8 (VSS)
4PGD (ICSPDAT)🟩 Vert7 (GP0)
5PGC (ICSPCLK)🟦 Bleu6 (GP1)

⚠️ Important : La broche GP0 (ICSPDAT) est partagée avec la programmation. Si vous avez une LED connectée sur GP0, elle n'empêchera pas la programmation tant que la résistance de limitation (220Ω) est en place. Cependant, si vous avez un composant basse impédance (moteur, relais) directement sur GP0, déconnectez-le avant de programmer.

Option : Alimenter le circuit par le PICkit

Le PICkit 3 peut fournir l'alimentation au circuit (jusqu'à ~30 mA). Pour activer cette option dans MPLAB X :

  1. Faites un clic droit sur le nom du projet → Properties.
  2. Dans la section de gauche, sélectionnez votre PICkit (PICkit 3 ou PICkit 4).
  3. Dans l'onglet Power, cochez « Power target circuit from PICkit ».
  4. Réglez la tension sur 5.0V (ou 3.3V si votre circuit le nécessite).
  5. Cliquez OK.

C'est la méthode la plus pratique pour les circuits simples sur breadboard car elle élimine le besoin d'une alimentation externe.

🚀 Programmer le PIC

Le moment de vérité ! Voici comment transférer votre programme dans le microcontrôleur :

  1. Vérifiez que le PICkit est branché en USB et que le câblage ICSP est correct.
  2. Dans MPLAB X, cliquez sur « Make and Program Device Main Project » (icône flèche verte vers le bas ⬇️), ou appuyez sur le raccourci correspondant.
  3. MPLAB X va d'abord compiler le code (si nécessaire), puis tenter de communiquer avec le PIC via le PICkit.
  4. Si la communication réussit, vous verrez dans la console :
Connecting to MPLAB PICkit 3...
Firmware Suite Version.....01.56.09
Firmware type..............Enhanced Midrange

Target detected
Device ID Revision = 6

Programming...
Programming/Verify complete

Votre PIC est maintenant programmé ! Si vous avez câblé une LED sur GP0, elle devrait clignoter immédiatement.

🔧 Dépannage — Erreurs fréquentes

« Target device was not found »

« VDD voltage level error »

« Unable to program device — Verify failed »

« Failed to get Device ID »

📦 MPLAB IPE — Programmer sans l'IDE

MPLAB IPE (Integrated Programming Environment) est un outil standalone installé avec MPLAB X. Il permet de programmer un PIC directement à partir d'un fichier .hex, sans ouvrir le projet complet dans l'IDE. C'est utile pour :

Pour l'utiliser : lancez MPLAB IPE, sélectionnez le device, cliquez « Connect », chargez le fichier .hex avec « Browse », puis cliquez « Program ». C'est tout.

🐛 Utiliser le débogueur

Le PICkit 3 est aussi un débogueur : il permet d'exécuter votre programme pas à pas, de placer des points d'arrêt (breakpoints) et d'inspecter les variables et registres en temps réel.

Comment déboguer

  1. Dans les propriétés du projet, assurez-vous que l'outil sélectionné est le PICkit (pas le Simulator).
  2. Cliquez sur « Debug Main Project » (icône triangle vert avec un insecte 🐛), ou appuyez sur la touche correspondante.
  3. Le programme est chargé dans le PIC en mode debug.
  4. Utilisez les boutons de la barre de débogage :
    • Pause — Suspend l'exécution.
    • Step Over (F8) — Exécute la ligne courante et passe à la suivante.
    • Step Into (F7) — Entre dans une fonction appelée.
    • Continue (F5) — Reprend l'exécution jusqu'au prochain breakpoint.
    • Reset (Ctrl+F5) — Redémarre le programme depuis le début.
  5. Pour ajouter un breakpoint, cliquez dans la marge gauche de l'éditeur à côté du numéro de ligne. Un point rouge apparaît.

💡 Fenêtre « Watches » : Pendant le débogage, allez dans Window → Debugging → Watches pour surveiller la valeur de variables en temps réel. Tapez le nom d'une variable ou d'un registre (ex : GPIO, ADRESH) et sa valeur sera mise à jour à chaque point d'arrêt. C'est un outil extrêmement puissant pour comprendre le comportement de votre code.

⚡ Astuces et bonnes pratiques

Raccourcis clavier MPLAB X essentiels

RaccourciAction
F11Build (compiler)
F5Debug (compiler + charger + démarrer en mode debug)
F6Make and Program (compiler + programmer)
F7Step Into (débogage)
F8Step Over (débogage)
Ctrl+Shift+FRechercher dans tous les fichiers

Bonnes pratiques de projet

🔄 Alternatives au PICkit 3

Si le PICkit 3 n'est pas disponible ou trop cher, voici d'autres options pour programmer les PIC :