Ce document propose une série d'exercices pratiques destinés aux étudiants universitaires en microcontrôleurs et programmation embarquée. Il vise à renforcer la compréhension des structures algorithmiques linéaires et séquentielles, ainsi que leur implémentation sur des microcontrôleurs PIC.
Il couvre les notions suivantes :
- Configuration et gestion des périphériques d'entrée/sortie (ports, interrupteurs, LEDs)
- Mise en œuvre d'algorithmes séquentiels et de boucles
- Manipulation de bits et opérations arithmétiques (addition hexadécimale)
- Programmation en assembleur et en mikroC
Informatique Industrielle : Exercices Structure linéaire ou séquentielle
Télécharger PDFStructure Linéaire ou Séquentielle
Rappel : La structure linéaire se caractérise par une suite d'actions à exécuter successivement dans l'ordre de leur énoncé.
Exemple de structure linéaire et d'algorithme
Voici une représentation simplifiée d'un algorithme à structure linéaire :
Début algorithme :
FAIRE traitement 1
FAIRE traitement 2
FAIRE traitement 3
Fin algorithme
Exercice 1
Soit le schéma suivant : On désire afficher pour chaque code le caractère correspondant selon la table de vérité du circuit 74LS47.
Algorithme proposé :
- Choisir et configurer le PIC
- Initialisation : configuration des ports
- Lire le code sur le PORTA
- Écrire le code sur le PORTB
- Aller à 3 (boucler)
Questions :
- Donner l’organigramme
- Écrire le programme assembleur
- Écrire le programme mikroC
Exercice 2
On désire réaliser le montage suivant pour lire et afficher l’état de chaque interrupteur (I1 sur D1, I2 sur D2, I3 sur D1 et I4 sur D4).
Partie A
Algorithme proposé :
- Choisir et configurer le PIC
- Initialisation : configuration des ports
- Lire l’état des interrupteurs sur le PORTB
- Écrire l’état des interrupteurs sur le PORTA
- Aller à 3 (boucler)
Questions :
- Donner l’organigramme
- Écrire le programme assembleur
- Écrire le programme mikroC
Partie B
On désire utiliser les résistances pull-up du PORTB, on modifie le schéma : Modifier l’initialisation du PIC pour faire fonctionner le programme (en assembleur et en mikroC).
Partie C
On désire utiliser le montage pour contrôler l’état de 5 portes d’une voiture. On ajoute un interrupteur, une résistance et une LED de la manière suivante : On utilise les programmes de la question B, mais la LED D5 reste éteinte.
- Modifier le schéma pour que le montage fonctionne.
- Après modification du schéma, on remarque que la LED D5 fonctionne inversement par rapport aux autres LED. Expliquer le pourquoi.
- Modifier le programme pour faire fonctionner toutes les LED de la même manière.
Exercice 3
On désire réaliser l’addition hexadécimale (4 bits) selon le schéma suivant :
(PORTB) = b7b6b5b4b3b2b1b0
0000b3b2b1b0 ← (nombre1)
+ 0000b7b6b5b4 ← (nombre2)
--------------------
000s5s4s3s2s1s0 (résultat)
Algorithme proposé :
- Choisir et configurer le PIC
- Déclarer les variables nombre1 et nombre2
- Initialisation : configuration des ports
- Lire le PORTB : (PORTB) = b7b6b5b4b3b2b1b0
- (PORTB) → (nombre1) : (nombre1) = b7b6b5b4b3b2b1b0
- (PORTB) → (nombre2) : (nombre2) = b7b6b5b4b3b2b1b0
- Permuter le quartet de poids fort (b7b6b5b4) et le quartet de poids faible (b3b2b1b0) du (nombre2) : (nombre2) = b3b2b1b0 b7b6b5b4
- Masquer le quartet de poids fort de (nombre1) : (nombre1) = (nombre1) ET 00001111 = 0000b3b2b1b0
- Masquer le quartet de poids fort de (nombre2) : (nombre2) = (nombre2) ET 00001111 = 0000b7b6b5b4
- Faire l’addition : (nombre1) + (nombre2)
- Aller à 4 (boucler)
Questions :
- Donner l’organigramme
- Écrire le programme assembleur
- Écrire le programme mikroC
Exercice 4
Soit le schéma suivant : On désire afficher pour chaque code le caractère correspondant selon la table de vérité du circuit 74LS47 (voir exercice 1).
Questions :
- Écrire le programme assembleur
- Écrire le programme mikroC
FAQ
Qu'est-ce qu'une structure linéaire ou séquentielle en programmation ?
Une structure linéaire, également appelée séquentielle, est un concept fondamental en programmation où les instructions sont exécutées une par une, dans l'ordre strict où elles apparaissent dans le code. Chaque instruction est traitée de manière successive, sans sauts conditionnels, boucles ou appels de fonctions qui modifieraient le flux d'exécution normal.
Pourquoi les microcontrôleurs PIC sont-ils souvent utilisés pour ces exercices ?
Les microcontrôleurs PIC (Peripheral Interface Controller) sont populaires dans l'enseignement et les projets embarqués grâce à leur architecture simple, leur faible coût et la disponibilité de nombreux outils de développement. Ils sont idéaux pour comprendre les bases de la programmation de microcontrôleurs, la gestion des entrées/sorties et l'implémentation d'algorithmes simples pour contrôler des composants électroniques comme des LEDs et des interrupteurs.
Quel est le rôle des résistances pull-up dans un montage avec microcontrôleur ?
Les résistances pull-up sont utilisées pour définir un état logique haut par défaut sur une broche d'entrée d'un microcontrôleur lorsqu'aucun autre signal n'est appliqué. Par exemple, avec un interrupteur, une résistance pull-up assure que la broche est à l'état haut (logique 1) quand l'interrupteur est ouvert, et passe à l'état bas (logique 0) quand l'interrupteur est fermé (connectant la broche à la masse). Cela évite les états flottants et garantit une lecture stable de la broche.