Qu'est-ce qu'un PORT ?

Un PORT est un ensemble de broches (pins) du microcontrôleur qui peuvent être utilisées pour communiquer avec le monde extérieur. Chaque PORT peut être configuré en entrée (INPUT) pour lire un capteur ou un bouton, ou en sortie (OUTPUT) pour contrôler une LED ou un moteur.

Sur le PIC12F683, les broches d’entrées/sorties sont regroupées dans un seul registre appelé GPIO (broches GP0 à GP5). La direction des broches se règle avec TRISIO et le mode analogique/numérique avec ANSEL.

📊 Registres principaux (PIC12F683)

Sur le PIC12F683, trois registres sont essentiels pour piloter les broches :

RegistreFonctionDescription détaillée
TRISIO Direction Configure chaque broche en entrée (1) ou sortie (0). Astuce : 1 = I (Input), 0 = O (Output).
GPIO Lecture / Écriture Lit l’état des broches et permet d’écrire sur les sorties. Sur PIC12F683, on écrit directement dans GPIO (pas de registre LAT).
ANSEL Analogique Configure les broches en mode analogique (1) ou numérique (0). Par défaut, certaines broches sont en analogique : il faut souvent mettre ANSEL = 0 pour piloter une LED.

🎯 GPIO (GP0 à GP5)

Le PIC12F683 possède 6 broches d’entrées/sorties : GP0, GP1, GP2, GP3, GP4, GP5.

BrocheNomNotes
GP0GPIO bit 0Peut servir d’entrée analogique selon configuration (ANSEL).
GP1GPIO bit 1Peut servir d’entrée analogique selon configuration (ANSEL).
GP2GPIO bit 2Peut avoir des fonctions alternatives selon le projet (ex: timer/INT selon config).
GP3GPIO bit 3Entrée uniquement (souvent MCLR). Idéal pour bouton.
GP4GPIO bit 4Broche I/O standard (peut avoir fonctions alternatives).
GP5GPIO bit 5Broche I/O standard (peut avoir fonctions alternatives).

⚠️ Attention à GP3

La broche GP3 est particulière : elle ne peut être utilisée qu'en entrée. Elle sert souvent au Reset (MCLR) selon la configuration.

⚙️ Étapes pour configurer un PORT

La configuration d'un port suit toujours la même procédure en 4 étapes :

  1. Désactiver le mode analogique — Mettre ANSEL = 0 pour passer les broches en mode numérique. Sinon une LED peut ne pas fonctionner.
  2. Configurer la direction — Utiliser TRISIO pour définir chaque broche en entrée (1) ou sortie (0). Exemple : TRISIO = 0b00001000; met GP3 en entrée et le reste en sortie.
  3. Initialiser l'état — Mettre GPIO = 0 pour démarrer toutes les sorties à l'état bas (0V).
  4. Écrire ou Lire — Utiliser GPIO pour lire une entrée et écrire sur une sortie (sur PIC12F683 il n’y a pas de registre LAT).

💡 Point important

Par défaut, la plupart des broches sont configurées en mode analogique. Pour utiliser une broche en mode numérique (pour une LED par exemple), il faut d'abord désactiver le mode analogique avec le registre ANSEL.