Ce document pédagogique s'adresse aux étudiants universitaires inscrits dans des cursus d'électronique ou d'informatique industrielle. Il propose une série d'exercices structurés visant à consolider les connaissances fondamentales sur le microcontrôleur PIC16F84A. À travers ces activités, les apprenants approfondiront les thématiques suivantes :
- L'architecture matérielle interne et les cycles d'exécution des instructions.
- Les diverses configurations d'horloge et leurs schémas de câblage correspondants.
- La conception pratique de circuits intégrant le pilotage de LED et une fonction de réinitialisation.
Informatique Industrielle : Exercices PIC16F84A : notions de base
Télécharger PDFNotions de base sur le microcontrôleur PIC16F84A
Le PIC16F84A est un microcontrôleur de la famille Mid-Range de Microchip, largement utilisé dans l'enseignement pour comprendre l'architecture RISC et la programmation des systèmes embarqués.
Exercice 1 : Architecture et fonctionnement interne
Voici les réponses détaillées aux questions techniques concernant les caractéristiques fondamentales du PIC16F84A :
- a) Élément indiquant l'adresse de la prochaine instruction : C'est le Compteur de Programme, plus communément appelé Program Counter (PC).
- b) Emplacement du programme à la mise sous tension : Le programme doit se situer à l'adresse 0000h de la mémoire programme, qui correspond au vecteur de réinitialisation (Reset Vector).
- c) Durée d'un cycle d'instruction (Tcy) : Pour un PIC16F84A, un cycle d'instruction correspond à 4 cycles d'horloge (Fosc/4). Avec un cristal de 4 MHz, le calcul est le suivant : 4 / 4 000 000 = 1 microseconde (1 µs).
- d) Emplacement des données du programme : Les données volatiles utilisées pendant l'exécution se situent dans la mémoire de données RAM, organisée en registres à usage général (GPR).
- e) Longueur d'une instruction : Dans l'architecture Mid-Range du PIC16F84A, chaque instruction est codée sur 14 bits.
- f) Longueur d'une donnée en mémoire programme : La mémoire programme est organisée en mots de 14 bits. Bien qu'elle stocke principalement des instructions, des données constantes peuvent y être intégrées via des instructions de saut ou de lecture de table.
Exercice 2 : Configurations de l'horloge système
Le PIC16F84A peut être piloté par quatre types d'oscillateurs différents, définis lors de la configuration du composant (bits de configuration) :
- LP (Low Power) : Utilise un cristal de quartz de basse fréquence pour minimiser la consommation de courant.
- XT (Crystal) : Mode standard pour les cristaux de quartz ou résonateurs céramiques (fréquences intermédiaires).
- HS (High Speed) : Destiné aux cristaux de haute fréquence (généralement au-delà de 4 MHz) nécessitant une puissance d'oscillation plus élevée.
- RC (Resistor/Capacitor) : Solution économique utilisant une résistance et un condensateur externes. La fréquence dépend des valeurs R et C, mais elle est moins stable qu'avec un quartz.
Exercice 3 : Application pratique - Jeu de lumière
Pour concevoir un jeu de lumière à 8 LEDs piloté par le PORTB avec un bouton de réinitialisation, le schéma doit inclure les composants suivants :
- Alimentation : Une source de tension stable de +5V connectée à la broche VDD et la masse à la broche VSS.
- Circuit d'oscillation : Un quartz de 4 MHz connecté aux broches OSC1 et OSC2, avec deux condensateurs de stabilisation de 22 pF reliés à la masse.
- Circuit de Reset (MCLR) : Une résistance de tirage (pull-up) de 10 kΩ connectée entre le +5V et la broche MCLR. Un bouton poussoir est inséré entre la broche MCLR et la masse pour déclencher la remise à zéro manuelle.
- Sorties LEDs : Huit LEDs connectées aux broches RB0 à RB7 du PORTB. Chaque LED doit être montée en série avec une résistance de limitation de courant (valeur conseillée entre 220 Ω et 470 Ω) pour protéger le microcontrôleur et les composants optiques.
Foire aux questions (FAQ)
Combien de broches d'entrées/sorties possède le PIC16F84A ?
Le PIC16F84A dispose de 13 broches d'E/S bidirectionnelles : 5 sur le PORTA et 8 sur le PORTB.
Quelle est la capacité de la mémoire programme de ce composant ?
Il possède une mémoire Flash de 1 Ko, ce qui permet de stocker jusqu'à 1024 instructions de 14 bits.
Peut-on stocker des données de manière permanente sans alimentation ?
Oui, le PIC16F84A dispose d'une mémoire EEPROM de 64 octets qui permet de sauvegarder des paramètres ou des données même lorsque le circuit n'est plus alimenté.