10M+ Composants Électroniques En Stock
Certifié ISO
Garantie Incluse
Livraison rapide
Pièces difficiles à trouver ?
Nous les trouvons
Demander un devis

Microcontrôleurs PIC : familles, fonctionnalités et comment choisir

févr. 14 2026
Source: DiGi-Electronics
Parcourir: 753

Les microcontrôleurs PIC sont de petites puces qui contrôlent de nombreux circuits dans des produits simples et avancés. Cet article explique leur histoire, l’architecture Harvard, les ports et le brochage, les familles 8, 16 et 32 bits, les types de mémoire, les minuteurs, les interruptions, les modes d’alimentation et les liens de communication. Il couvre également en détail les outils, la conception du PCB, le choix du dispositif et les erreurs.

Figure 1. PIC Microcontrollers

Microcontrôleurs PIC Basic

Les microcontrôleurs PIC sont de petites puces informatiques capables de contrôler de nombreux types de circuits électroniques. Ils ont commencé comme de simples puces d’aide fabriquées par General Instrument. Plus tard, Microchip Technology a repris la conception et a transformé le PIC en une famille complète de microcontrôleurs. PIC désigne les microcontrôleurs Microchip 8, 16 bits et 32 bits utilisés dans de nombreux produits électroniques.

Les premiers dispositifs PIC sont apparus dans les années 1970 sous forme de puces périphériques programmables. Au début des années 1990, ils ont été relancés comme microcontrôleurs autonomes capables de stocker des programmes et de contrôler des systèmes entiers de manière autonome. Les microcontrôleurs PIC modernes privilégient une programmation facile, des périphériques intégrés utiles et un faible coût, ce qui en fait un choix pour de nombreuses conceptions embarquées

Architecture Harvard à l’intérieur des microcontrôleurs PIC

Figure 2. Harvard Architecture Inside PIC Microcontrollers

Les microcontrôleurs PIC utilisent une architecture Harvard, ce qui signifie que les instructions et données du programme sont stockées dans des zones mémoire séparées et suivent des chemins internes différents. Grâce à cela, le CPU peut récupérer l’instruction suivante tout en lisant ou en écrivant des données. Cette action parallèle permet au PIC de fonctionner plus fluidement et rend son timing plus facile à contrôler que dans de nombreux modèles à bus unique.

Dans de nombreuses familles PIC, la mémoire d’instructions est plus large que la mémoire de données, comme les mots d’instruction 14 bits avec des données 8 bits. Cette largeur supplémentaire permet à chaque instruction de contenir directement des informations utiles comme des nombres et des adresses. En conséquence, les programmes peuvent être plus courts, s’exécuter plus vite, et rester sur du matériel qui reste simple à l’intérieur.

Ports et brochage des microcontrôleurs PIC 

Figure 3. PIC Microcontrollers Ports and Pinout 

Les broches du microcontrôleur PIC sont disposées autour du boîtier pour regrouper les fonctions associées, facilitant la connexion du matériel externe. Les broches d’alimentation fournissent la tension de fonctionnement, tandis que les broches oscillateurs gèrent l’entrée d’horloge pour le calage. Plusieurs ports (RA, RB, RC, RD et RE) fournissent des E/S numériques et prennent en charge des rôles alternatifs tels que les interruptions, les entrées analogiques, les fonctions de capture/comparaison et les interfaces de communication. De nombreuses broches sont multiplexées, permettant à des fonctionnalités comme UART, SPI et I²C de partager les mêmes lignes physiques selon la configuration. Les canaux analogiques dédiés prennent en charge les opérations ADC, et des broches spécifiques gèrent la réinitialisation, les signaux de référence et des fonctions de contrôle spéciales. La flexibilité de chaque broche permet à l’appareil de s’adapter à un large éventail d’applications, allant des tâches de contrôle simples aux conceptions embarquées avancées.

Familles de microcontrôleurs PIC de 8 bits à 32 bits

Figure 4. PIC Microcontroller Families from 8-Bit to 32-Bit

Les microcontrôleurs PIC sont regroupés en plusieurs familles, ce qui facilite l’adaptation de la puce à la vitesse, à la mémoire et aux fonctionnalités nécessaires. La principale différence entre ces familles réside dans le nombre de bits qu’elles gèrent simultanément, et la quantité de matériel intégré qu’elles incluent pour différentes tâches de contrôle.

• Familles de 8 bits (PIC10, PIC12, PIC16, PIC18)

Ces microcontrôleurs PIC fonctionnent avec des données 8 bits. Ils s’insèrent dans de très petits paquets et sont souvent choisis pour des tâches de contrôle simples et des projets à faible coût.

• Familles de 16 bits (PIC24 et dsPIC33)

Ces appareils gèrent des données 16 bits, disposent de plus de mémoire et utilisent des registres plus larges. Ils peuvent traiter des opérations plus complexes et incluent des fonctions de contrôle numérique du signal pour des calculs et un timing plus rapides.

• Famille 32 bits (PIC32)

Ces microcontrôleurs PIC utilisent un cœur MIPS 32 bits, permettant des performances supérieures. Ils prennent en charge des périphériques et des fonctionnalités de communication plus avancés pour un travail embarqué exigeant.

Mémoire à l’intérieur des microcontrôleurs PIC

Figure 5. Memory Inside PIC Microcontrollers

Mémoire de programme (Flash)

La mémoire de programme est l’endroit où le code principal du PIC est stocké. Les anciens dispositifs PIC utilisaient l’EPROM ou mémoire programmable à usage unique, mais la plupart des microcontrôleurs PIC récents utilisent la mémoire flash. La mémoire flash peut être effacée et réécrite plusieurs fois, afin que le programme puisse être mis à jour sans remplacer la puce.

Mémoire de données (RAM)

La mémoire de données est de la RAM, et elle ne conserve les informations que lorsque le PIC est alimenté. Il stocke les variables, les valeurs temporaires et la pile lors de l’exécution du programme. De nombreux microcontrôleurs PIC 8 bits divisent la RAM en banques ou pages, tandis que les périphériques PIC 16 et 32 bits offrent souvent une surface de RAM plus grande et plus continue.

Mémoire de données non volatile (EEPROM ou data flash)

Ce type de mémoire conserve les données même lorsque l’alimentation est coupée. Les microcontrôleurs PIC utilisent l’EEPROM ou la flash de données pour stocker les valeurs d’étalonnage, les informations de configuration et d’autres réglages qui doivent rester les mêmes après réinitialisations et cycles d’alimentation.

Minuteurs, interruptions et contrôle de l’alimentation dans les microcontrôleurs PIC

Figure 6. Timers, Interrupts, and Power Control in PIC Microcontrollers

Les microcontrôleurs PIC utilisent des minuteurs pour suivre les événements, et lorsqu’un minuteur déborde, un drapeau d’interruption est déclenché pour demander l’attention du CPU. Le processeur met en pause son travail en cours, exécute la routine de service d’interruption, puis reprend son exécution normale. Les fonctions de contrôle d’alimentation permettent à l’appareil d’entrer en mode veille à faible consommation d’énergie tandis que les minuteurs ou le minuteur watchdog continuent de fonctionner en arrière-plan. Un événement de réveil, tel qu’une réinitialisation ou une interruption de watchdog, ramène le processeur en mode actif. Cette interaction entre minuteurs, interruptions et modes d’alimentation aide à réduire la consommation d’énergie tout en maintenant un timing précis et des réponses fiables du système.

Interfaces de communication dans les microcontrôleurs PIC

Figure 7. Communication Interfaces in PIC Microcontrollers

Les microcontrôleurs PIC se connectent à une large gamme d’appareils externes via de multiples interfaces de communication. Les capteurs analogiques, tels que la température ou l’entrée de lumière, font passer leurs signaux via le CADA, tandis que les capteurs numériques partagent les données via le bus I²C. Les actionneurs comme les moteurs, les LED et les relais reçoivent les signaux de commande via des sorties GPIO ou PWM. La communication avec un PC se fait via USB ou UART, permettant l’échange ou le débogage de données. D’autres microcontrôleurs et périphériques s’interfacent via SPI, UART ou I²C, permettant une opération coordonnée dans des systèmes embarqués plus grands. Ces connexions permettent une conception flexible du système et permettent au microcontrôleur d’interagir efficacement avec les capteurs, les éléments de contrôle et les processeurs externes.

Outils de développement pour microcontrôleurs PIC

8,1 MPLAB X IDE

MPLAB X est un programme gratuit utilisé pour créer et tester du code pour les microcontrôleurs PIC. Il fonctionne sous Windows, macOS et Linux. Dans une fenêtre, il vous permet de créer des projets, d’écrire du code, de construire le programme et de déboguer son fonctionnement sur le PIC.

MPLAB XC Compilateurs

Les compilateurs MPLAB XC transforment du code C ou C++ en code machine pour les microcontrôleurs PIC. Ils sont conçus pour bien correspondre aux appareils PIC, afin que le code s’exécute correctement et efficacement. Il existe des versions gratuites et des versions payantes avec des fonctionnalités supplémentaires.

Débogage et Matériel de programmation

Des outils comme PICkit, MPLAB ICD et MPLAB REAL ICE sont utilisés pour charger des programmes dans des microcontrôleurs PIC et les déboguer sur la carte électronique. Ils permettent de programmer la puce, de mettre le code en pause, de le parcourir ligne par ligne, et d’observer comment les valeurs changent pendant que le PIC fonctionne.

Applications des microcontrôleurs PIC

Électronique grand public avec microcontrôleurs PIC

Les microcontrôleurs PIC sont souvent intégrés dans les produits électroniques du quotidien. Ils peuvent contrôler les petits appareils électroménagers, les télécommandes, l’éclairage LED, les chargeurs de batteries et les jouets en gérant une logique simple, un timing et un contrôle marche/arrêt à l’intérieur de l’appareil.

Contrôle automobile et industriel avec PIC

Dans les voitures et les machines industrielles, les microcontrôleurs PIC aident à gérer les moteurs, les alimentations, les capteurs et les systèmes CVC. Ils lisent les signaux, prennent des décisions et ajustent les sorties pour que le système fonctionne en toute sécurité et de façon fiable.

PIC dans l’IoT et les dispositifs edge

Les microcontrôleurs PIC sont utilisés dans de nombreux nœuds IoT et edge lorsque la faible consommation d’énergie est requise. Ils utilisent des capteurs alimentés par batterie, des passerelles simples et des moniteurs environnementaux qui collectent des données de base et les envoient à d’autres systèmes.

Outils médicaux et de mesure utilisant le PIC

Certains instruments médicaux et de laboratoire reposent également sur des microcontrôleurs PIC. Ils peuvent contrôler des outils de diagnostic portatifs, des pompes et de petits dispositifs de mesure en lisant les données des capteurs et en gérant des routines de contrôle simples.

Choisir un microcontrôleur PIC

• Largeur et vitesse de choix de bits - Utiliser le PIC10/12/16/18 8 bits pour un contrôle simple et à faible coût. Choisissez PIC24/dsPIC33 16 bits pour plus de mémoire et de calculs. Passez au PIC32 32 bits pour un code plus volumineux et un traitement plus lourd.

• Vérifier la mémoire et les périphériques - Estimer la taille nécessaire du programme et la RAM, puis ajouter une certaine marge. Listez les canaux ADC requis, les UART, les ports SPI/I²C, les minuteurs, les sorties PWM, ainsi que tout extras comme CAN, USB ou crypto, et associez-les à un PIC qui les possède.

• Confirmer l’alimentation et le pack - Examiner le courant actif et en veille pour les conceptions alimentées par batterie. Choisissez une taille de boîtier et un nombre de broches qui correspondent à votre PCB. Assurez-vous que le PIC respecte le bon niveau de température et de fiabilité.

Erreurs courantes avec les microcontrôleurs PIC

ConseilQue faire et pourquoi ?
Initialiser les paramètres au démarrageRéglez toutes les broches d’E/S, désactivez les périphériques inutilisés, et réglez l’horloge et le watchdog au début de main() pour éviter les comportements aléatoires.
Gardez les interruptions simplesRendez les routines d’interruption courtes, évitez le travail lourd à l’intérieur et protégez les données partagées afin que les valeurs ne soient pas modifiées de manière dangereuse.
Réutiliser des exemples PIC éprouvésUtilisez les bibliothèques Microchip, les exemples de code et les notes d’application pour UART, SPI, ADC et d’autres blocs pour suivre les correctes configurations de registres.
Autoriser les mises à jour intégrées au systèmePlanifiez le matériel et le code afin que le PIC puisse être reprogrammé via un bootloader ou un lien de mise à jour au lieu de modifier la puce.
Vérifiez la puissance et le timing tôtMesurez le courant réel et le calage sur la carte, surtout pour les conceptions à faible consommation ou à calage serré, au lieu de vous fier uniquement aux estimations.

Conclusion

Les microcontrôleurs PIC réunissent des blocs matériels simples, des chemins de programme et de données séparés, des ports flexibles, plusieurs types de mémoire, ainsi que de nombreux minuteurs et interfaces. Avec les bons outils et la bonne disposition du PCB, et en réglant correctement les bits, modes d’alimentation et interruptions, une conception basée sur PIC peut rester claire, fiable et plus facile à entretenir sur le long terme.

Foire aux questions [FAQ]

Que sont les bits de configuration dans un microcontrôleur PIC ?

Les bits de configuration sont des réglages non volatils qui définissent le démarrage et l’exécution du PIC, tels que la source d’horloge, le minuteur de surveillance, la réinitialisation par coupure de tension et la protection du code.

Comment puis-je mettre à jour le firmware PIC sans programmeur matériel à chaque fois ?

Utilisez un bootloader qui reçoit le nouveau firmware via UART, USB, CAN ou une autre interface et l’écrit dans la mémoire flash du PIC.

Que dois-je vérifier si mon PIC ne s’exécute pas après la programmation ?

Vérifiez l’alimentation et la masse, réinitialisez/niveau MCLR et la source d’horloge, puis vérifiez les bits de configuration et confirmez que le code atteint la source.

Quand devrais-je utiliser un dsPIC au lieu d’un PIC16 ou PIC18 ?

Utilisez un dsPIC lorsque vous avez besoin de tâches rapides de calculs et de traitement du signal, comme le contrôle moteur, la conversion numérique de puissance ou le filtrage.

Comment puis-je protéger le firmware PIC contre la copie ?

Activez la protection du code et les bits de protection mémoire afin que les outils externes ne puissent ni lire ni cloner le programme et les données stockées.

Comment réduire la consommation d’énergie dans un design basé sur un PIC ?

Réduire la fréquence d’horloge, désactiver les périphériques inutilisés, utiliser les modes veille ou inactif, et minimiser l’activité inutile des broches et les courants de charge.