Informatique Industrielle : Exercices Configuration des ports A et B du PIC16F84
Télécharger PDFConfiguration des Ports A et B du PIC16F84
Exercice 1
1. Le PORTA du schéma suivant est configuré en sortie, quel doit être le contenu du registre TRISA ?
Pour configurer le PORTA en sortie, le registre TRISA doit contenir des 0 sur les bits correspondant aux broches utilisées en sortie. Par exemple, si toutes les broches du PORTA sont en sortie, le registre TRISA doit être initialisé à 0x00.
2. On programme le microcontrôleur pour réaliser un clignotant. On remarque que toutes les LED clignotent sauf la LED D1, qui n’est pas allumée. Expliquez pourquoi et que faut-il faire pour que cette LED (D1) fonctionne aussi ?
La LED D1 ne s’allume pas probablement parce que la broche correspondante du PORTA est configurée en entrée (bit à 1 dans TRISA) ou qu’elle est connectée à une résistance de valeur incorrecte. Pour résoudre ce problème, il faut vérifier que la broche associée à D1 est bien configurée en sortie dans le registre TRISA (bit à 0) et que la polarité et la résistance de la LED sont conformes au schéma.
Exercice 2
On désire réaliser à l’aide du PIC16F84A un jeu de lumière avec les séquences suivantes : 01234, RARA, RARARA (où LED-Off et LED-ON représentent les états des sorties).
1. Schéma électronique
Un schéma électronique typique pour ce jeu de lumière inclurait :
- Un PIC16F84A relié à un circuit de LED (par exemple, 5 LED pour les chiffres 0 à 4 et 4 LED pour les lettres R et A).
- Les LED seraient connectées aux broches du PORTA via des résistances de limitation de courant (par exemple, 220Ω).
- Un bouton ou un interrupteur pour déclencher les séquences.
- Une alimentation (5V) pour le PIC et les LED.
2. Configuration du Port A et contenu du registre TRISA
Pour utiliser le PORTA en sortie, le registre TRISA doit être initialisé à 0x00 (toutes les broches en sortie).
3. Suite des données à envoyer sur le Port A pour réaliser le jeu de lumière
Voici les séquences binaires à envoyer sur le PORTA pour chaque état :
- 01234 :
- 0 : 0x00 (toutes LED éteintes)
- 1 : 0x01 (LED connectée à RA0 allumée)
- 2 : 0x02 (LED connectée à RA1 allumée)
- 3 : 0x03 (LED connectées à RA0 et RA1 allumées)
- 4 : 0x04 (LED connectée à RA2 allumée)
- RARA :
- R : 0x08 (LED connectée à RA3 allumée)
- A : 0x10 (LED connectée à RA4 allumée)
- RARA : 0x18 (LED connectées à RA3 et RA4 allumées)
- RARARA :
- R : 0x08
- A : 0x10
- R : 0x08
- A : 0x10
- R : 0x08
- A : 0x10
Exercice 3
Soit le montage suivant : Un compteur décimal de 0 à 9999 utilisant le PIC16F84A et affichant l’état 1356.
1. Configuration du Port B et contenu du registre TRISB
Pour afficher des chiffres sur des afficheurs 7 segments via le Port B, celui-ci doit être configuré en sortie. Le registre TRISB doit donc contenir des 0 sur les bits utilisés (par exemple, 0x00 si toutes les broches RB0 à RB7 sont en sortie).
2. Affichage du chiffre 6 sur l’afficheur U
Pour afficher le chiffre 6 sur un afficheur 7 segments (en supposant une configuration commune), le Port B doit contenir la valeur 0x6D (ou 0x7D selon la polarité de l’afficheur).
3. Compléter le tableau pour afficher les chiffres sur les afficheurs
Voici les valeurs binaires à envoyer sur le Port B pour chaque afficheur (en supposant une configuration commune avec broches a à g sur RB0 à RB6 et dp sur RB7) :
| Chiffre | Afficheur | RB7 | RB6 | RB5 | RB4 | RB3 | RB2 | RB1 | RB0 |
|---|---|---|---|---|---|---|---|---|---|
| 6 | U | 0 | 1 | 1 | 0 | 1 | 1 | 1 | 0 |
| 5 | D | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 |
| 3 | C | 0 | 0 | 1 | 1 | 1 | 0 | 0 | 1 |
| 1 | M | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
FAQ
1. Comment vérifier si une LED est correctement connectée au PORTA ?
Vérifiez que la broche de la LED est bien reliée à une résistance (par exemple, 220Ω) et que l’autre extrémité de la LED est connectée à la masse ou à +5V selon sa polarité. Assurez-vous aussi que le registre TRISA a le bit correspondant à 0.
2. Pourquoi certaines broches du PORTA ne répondent pas ?
Cela peut être dû à une mauvaise configuration du registre TRISA (bit à 1 au lieu de 0), à un court-circuit, ou à une alimentation insuffisante. Vérifiez le schéma et le code.
3. Comment afficher un chiffre sur un afficheur 7 segments avec le PIC16F84A ?
Configurez les broches du Port B en sortie, puis envoyez la valeur binaire correspondante au chiffre (par exemple, 0x6D pour le 6) en tenant compte de la polarité de l’afficheur (commun ou cathodique).