Maîtrisez la configuration des entrées et sorties du PIC
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.
Quatre registres essentiels contrôlent le fonctionnement de chaque port :
| Registre | Fonction | Description détaillée |
|---|---|---|
| TRIS | Direction | Configure chaque broche en entrée (1) ou sortie (0). Astuce : 1 ressemble à I (Input), 0 ressemble à O (Output). |
| PORT | Lecture | Lit 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. |
| ANSEL | Analogique | Configure chaque broche en mode analogique (1) ou numérique (0). Par défaut, les broches sont en analogique ! |
PORTA dispose de 6 broches configurables. Chaque broche peut avoir plusieurs fonctions alternatives :
| Broche | Nom | Fonctions alternatives |
|---|---|---|
| RA0 | PORTA bit 0 | AN0, ULPWU (entrée analogique, ultra low-power wake-up) |
| RA1 | PORTA bit 1 | AN1 (entrée analogique) |
| RA2 | PORTA bit 2 | AN2, VREF (tension de référence), T0CKI, COUT |
| RA3 | PORTA bit 3 | MCLR/VPP (Reset uniquement — entrée seulement) |
| RA4 | PORTA bit 4 | AN3, T1G, OSC2, CLKOUT |
| RA5 | PORTA bit 5 | T1CKI, OSC1, CLKIN |
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.
| Broche | Nom | Fonctions alternatives |
|---|---|---|
| RC0 | PORTC bit 0 | AN4, C2OUT (sortie comparateur 2) |
| RC1 | PORTC bit 1 | AN5, C1OUT (sortie comparateur 1) |
| RC2 | PORTC bit 2 | AN6, CCP1, P1A (module PWM) |
| RC3 | PORTC bit 3 | AN7, P1B (sortie PWM complémentaire) |
| RC4 | PORTC bit 4 | C2OUT |
| RC5 | PORTC bit 5 | CCP1, P1A |
La configuration d'un port suit toujours la même procédure en 4 étapes :
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 !TRISA = 0b11111110; met RA0 en sortie.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.