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.
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.
Sur le PIC12F683, trois registres sont essentiels pour piloter les broches :
| Registre | Fonction | Description 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.
|
Le PIC12F683 possède 6 broches d’entrées/sorties : GP0, GP1, GP2, GP3, GP4, GP5.
| Broche | Nom | Notes |
|---|---|---|
| GP0 | GPIO bit 0 | Peut servir d’entrée analogique selon configuration (ANSEL). |
| GP1 | GPIO bit 1 | Peut servir d’entrée analogique selon configuration (ANSEL). |
| GP2 | GPIO bit 2 | Peut avoir des fonctions alternatives selon le projet (ex: timer/INT selon config). |
| GP3 | GPIO bit 3 | Entrée uniquement (souvent MCLR). Idéal pour bouton. |
| GP4 | GPIO bit 4 | Broche I/O standard (peut avoir fonctions alternatives). |
| GP5 | GPIO bit 5 | Broche I/O standard (peut avoir fonctions alternatives). |
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.
La configuration d'un port suit toujours la même procédure en 4 étapes :
ANSEL = 0 pour passer les broches en mode numérique. Sinon une LED peut ne pas fonctionner.TRISIO = 0b00001000; met GP3 en entrée et le reste en sortie.
GPIO = 0 pour démarrer toutes les sorties à l'état bas (0V).GPIO pour lire une entrée et écrire sur une sortie (sur PIC12F683 il n’y a pas de registre LAT).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.