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.

Le PIC16F683 dispose de deux ports principaux : PORTA (broches RA0 à RA5) et PORTC (broches RC0 à RC5). Chaque port est contrôlé par plusieurs registres qui déterminent son comportement.

📊 Registres principaux des PORTS

Quatre registres essentiels contrôlent le fonctionnement de chaque port :

RegistreFonctionDescription détaillée
TRISDirectionConfigure chaque broche en entrée (1) ou sortie (0). Astuce : 1 ressemble à I (Input), 0 ressemble à O (Output).
PORTLectureLit l'état logique actuel des broches (HIGH = 1, LOW = 0). Utilisez ce registre pour lire un bouton ou un capteur.
LATÉcritureÉcrit l'état de sortie des broches. Préférez LAT à PORT pour l'écriture afin d'éviter les problèmes de lecture-modification-écriture.
ANSELAnalogiqueConfigure chaque broche en mode analogique (1) ou numérique (0). Par défaut, les broches sont en analogique !

🎯 PORTA (RA0 à RA5)

PORTA dispose de 6 broches configurables. Chaque broche peut avoir plusieurs fonctions alternatives :

BrocheNomFonctions alternatives
RA0PORTA bit 0AN0, ULPWU (entrée analogique, ultra low-power wake-up)
RA1PORTA bit 1AN1 (entrée analogique)
RA2PORTA bit 2AN2, VREF (tension de référence), T0CKI, COUT
RA3PORTA bit 3MCLR/VPP (Reset uniquement — entrée seulement)
RA4PORTA bit 4AN3, T1G, OSC2, CLKOUT
RA5PORTA bit 5T1CKI, OSC1, CLKIN

⚠️ Attention à RA3

La broche RA3 est particulière : elle ne peut être utilisée qu'en entrée. Elle sert généralement de broche de Reset (MCLR). Vous ne pouvez pas y connecter une LED en sortie.

🎯 PORTC (RC0 à RC5)

BrocheNomFonctions alternatives
RC0PORTC bit 0AN4, C2OUT (sortie comparateur 2)
RC1PORTC bit 1AN5, C1OUT (sortie comparateur 1)
RC2PORTC bit 2AN6, CCP1, P1A (module PWM)
RC3PORTC bit 3AN7, P1B (sortie PWM complémentaire)
RC4PORTC bit 4C2OUT
RC5PORTC bit 5CCP1, P1A

⚙️ É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 toutes les broches en mode numérique. C'est l'erreur la plus fréquente des débutants : oublier cette étape et se demander pourquoi la LED ne s'allume pas !
  2. Configurer la direction — Utiliser le registre TRIS pour définir chaque broche en entrée (1) ou sortie (0). Exemple : TRISA = 0b11111110; met RA0 en sortie.
  3. Initialiser l'état — Mettre le registre PORT ou LAT à 0 pour s'assurer que toutes les sorties démarrent à l'état bas (0V).
  4. Écrire ou Lire — Utiliser PORT pour lire l'état d'une entrée, et LAT ou PORT pour écrire sur une sortie.

💡 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.