Les ports d'entrée/sortie

Icône de l'outil pédagogique Organisation des ports

Les broches (les fils d'entrée/sortie) sont regroupés sur des ports.

Les ports sont nommés par des lettres. On dispose ainsi des ports A, B, C, D et E.

Chaque broche d'un port est numérotée.

Pour chaque port, un registre de 8 bits (un octet) permet d'écrire ou de lire la valeur de chacune des broches (0 ou 1, c'est-à-dire 0V ou 5V).

Ce registre se nomme PORTx ou x remplace le nom du port. On dispose ainsi des registres PORTA, PORTB, PORTC, PORTD et PORTE.

Par exemple, pour le port B, on dispose de 8 broches numérotées de 7 à 0. L'octet qui permet d'agir sur le port se nomme PORTB.

 

 

Chaque broche peut être configurée comme une entrée ou comme une sortie tout ou rien.

Quand on parle, d'entrée ou de sortie, on se met à la place du micro-contrôleur.

Par conséquent, une sortie tout ou rien indique que le micro-contrôleur impose le potentiel de la broche à 0V pour un 0 logique et à 5V pour un 1 logique.

La broche se comporte donc comme une source de tension. Cette source ne peut fournir qu'un courant limité, de l'ordre de 25mA.

Une entrée indique que le micro-contrôleur observe le potentiel de la broche. Le micro-contrôleur se comporte comme un voltmètre. Une entrée présente donc une impédance élevée, c'est-à-dire que le courant qui passe par la broche est très faible (inférieur à 200nA).

Le micro-contrôleur considérera que la broche présente un 0 logique si le potentiel est proche de 0V (inférieur à 1V environ) et un 1 logique si le potentiel est proche de 5V (supérieur à 4V environ).

La configuration des entrées/sorties tout ou rien se fait par l'intermédiaire d'un registre TRISx ou x remplace le nom du port.

Un 1 configure la broche en entrée.

Un 0 configure la broche en sortie.

Ainsi, TRISA contrôle la configuration des broches du port A, TRISB celle du port B, etc.

Cette configuration s'effectue en général au début du programme.

Lors de la mise sous tension du micro-contrôleur, toutes les broches sont configurées comme des entrées.

 

Exemples :

Sur la carte que nous utilisons, trois boutons poussoirs et une LED sont connectés.

Le bouton poussoir BP0 est connecté sur la broche 3 du port B, BP1 sur la broche 4 du port B et BP2 sur la broche 5 du port B.

La LED est connectée sur la broche 6 du port A.

Il faut donc configurer les broches 3, 4 et 5 du port B en entrées et la broche 6 du port A en sortie.

Les boutons poussoirs sont connectés à des entrées du micro-contrôleur. Il faut donc forcer à 1 les bits 5, 4 et 3 du registre TRISB.

TRISB |= 0x38;

 

 

Une led est connectée à une sortie du micro-contrôleur. Il faut donc forcer à 0 le bit 6 du registre TRISA.

TRISA &= 0xBF;