A ALGORITHME I DÉFINITION Un algorithme est un ensemble de règles opératoires r
A ALGORITHME I DÉFINITION Un algorithme est un ensemble de règles opératoires rigoureuses, ordonnant à un processeur d'exécuter dans un ordre déterminé une succession d'opérations élémentaires, pour résoudre un problème donné. C'est un outil méthodologique général qui ne doit pas être confondu avec le programme proprement dit. Un algorithme peut être : - représenté graphiquement par un organigramme (ou ordinogramme), - écrit sous forme littérale avec un langage algorithmique. II ORGANIGRAMME L'organigramme est une représentation graphique normalisée utilisée pour analyser ou décoder un problème. Il utilise des symboles représentant des traitements, des liaisons, des données... Un organigramme bien représenté doit être flêché et fermé, compris entre un début et une fin. III STRUCTURES ALGORITHMIQUES FONDAMENTALES Les opérations relatives à la résolution d'un problème peuvent en fonction de leur enchaînement, être organisées selon trois familles de structures : - structures linéaires, - structures alternatives, - structures répétitives. 1 LA STRUCTURE LINÉAIRE OU SÉQUENCE La structure linéaire se caractérise par une suite d'actions à exécuter successivement dans l'ordre de leur énoncé. Organigramme Langage algorithmique Début Fin 2 LA STRUCTURE ALTERNATIVE OU SÉLECTION Une structure alternative n'offre que deux issues possibles s'excluant mutuellement. Les structures alternatives définissent une fonction de choix ou de sélection entre l'exécution de l'un ou de l'autre des deux traitements. Egalement désignées par structures conditionnelles, elles sont représentatives du saut ou rupture de séquence. La structure alternative complète Organigramme Langage algorithmique SYMBOLE DESIGNATION Traitement Opération ou calcul sur des données dont le résultat reste dans le microcontrôleur. Sous-programme Portion de programme considérée comme une simple opération. Entrée-sortie Mise à disposition d'une information (écriture sur un port de sortie) ou enregistrement d'une information (lecture d'un port d'entrée). Vrai Faux Embranchement Test, exploitation de conditions variables impliquant le choix d'une parmi deux. Symbole utilisé pour représenter une décision. Début, fin, interruption Début, fin ou interruption d'un organigramme. Sens conventionnel des liaisons Le sens général des lignes de liaison doit être : - de haut en bas, - de gauche à droite. FIN DEBUT traitement 1 traitement 2 traitement 3 traitement 1 traitement 2 Condition V F 1 ELN : COURS D' ÉLECTRONIQUE IMPLANTATION D'UN ALGORITHME EN LANGAGE LITTÉRAL STRUCTURÉ Page 1 / 6 La structure alternative réduite La structure alternative réduite se distingue de la précédente par le fait que seule la situation correspondant à la validation de la condition entraîne l'exécution du traitement. La situation opposée conduit à la sortie de la structure. Organigramme Langage algorithmique 3 LES STRUCTURES RÉPÉTITIVES Une structure répétitive ou itérative répète l'exécution d'un traitement. BOUCLE FAIRE ... TANT QUE ... Dans cette structure le traitement est exécuté une première fois puis sa répétition se poursuit jusqu'à ce que la condition soit vérifiée. Organigramme Langage algorithmique BOUCLE TANT QUE ... FAIRE ... Dans cette structure on commence par tester la condition, si elle est vraie alors le traitement est exécuté. Organigramme Langage algorithmique 4 STRUCTURE RÉPÉTITION CONTRÔLÉE BOUCLE POUR Dans cette structure la sortie de la boucle d'itération s'effectue lorsque le nombre souhaité de répétitions est atteint. D'où l'emploi d'une variable de boucle (indice I) caractérisée par : - sa valeur initiale, - sa valeur finale, - son pas de variation. Organigramme Langage algorithmique traitement 1 Condition F V traitement 1 Condition F V Condition F V traitement 1 I = I - 1 I = 0 ? F V traitement 1 I = Vi 1 ELN : COURS D' ÉLECTRONIQUE IMPLANTATION D'UN ALGORITHME EN LANGAGE LITTÉRAL STRUCTURÉ Page 2 / 6 B UTILISATION DU LOGICIEL FLOWCODE FLOWCODE est un logiciel de programmation graphique. Il permet de représenter le programme à implanter dans le PIC sous forme d'ordinogramme. La figure ci-contre présnte une copie d'écran de la page de travail du logiciel et ses principales fonctions. I LA BARRE DES SYMBOLES Pour dessiner l'ordinigramme, FLOWCODE utilise les symboles normalisés. On les insère dans le programme par un glisser -déposer à partir de la barre de symboles : II LES COMPOSANTS DE SIMULATION Avant de programmer le PIC, on peut vérifier par simulation le onctionnement du programme. Les composants peuvent être connectés au PIC pour réaliser cette vérification 1 ELN : COURS D' ÉLECTRONIQUE IMPLANTATION D'UN ALGORITHME EN LANGAGE LITTÉRAL STRUCTURÉ Page 3 / 6 Symboles Composants de simulation Simuler le fonctionnement du programme Vue des composants Compiler le programme et le transférer vers le PIC Explication de l'ordinogramme III LES VARIABLES Une variable désigne une information qui peut changer au cours du programme. Dans FLOWCODE la taille d'une variable est de 8 bits : c'est donc un nombre qui pourra être compris entre 0 et 255. Utilser une variable permet de : - de mémoriser une information provenant de l'extérieur, - de stocker le résultat d'une opération. IV LES OPÉRATIONS FLOWCODE permet d'effectuer une ou plusieurs opérations dans une boite de calcul. Toutes les opérations doivent contenir le nom d'une variable existante, le signe = et une expression faite de nombres, variables et des opérateurs suivants : ( ) - parenthèses, = <> - égal , différent, + - * / MOD - addition, soustraction, multiplication, division et modulo (reste), < <= > >= - inférieur, inférieur ou egal, supérieur, supérieur ou égal, >> << - décalage à droite, décalage à gauche, NOT AND OR XOR - complément, ET, OU, OU Exclusif. V LES SOUS PROGRAMMES (MACROS) Un sous-programme est un morceau de programme que l'on utilise souvent. Généralement, il réalise une fonction. Plutôt que d'écrire ce morceau de programme chaque fois qu'il est nécessaire, il est plus judicieux de l'écrire une seule fois et de l'intégrer dans une boîte appelée MACRO. On peut ensuite y faire appel aussi souvent que l'on veut. De plus, les sous-programmes facilitent la lisibilité et la mise au point du programme. VI LES MASQUES Les masques permettent : - de tester l'état d'un seul bit parmi les 8 bits d'un port, sans se préoccuper de l'état des 7 autres (en les masquant). - d'écrire une valeur sur un seul bit parmi les 8 d'un port de sortie sans modifier les autres. Exemple : On veut modifier l'ordinogramme précédent pour prendre en compte les appuis sur PA3 (bit 3 du PORT A) seulement. Les appuis sur les autres boutons poussoirs ne seront plus pris en compte. Pour obtenir ce fonctionnement, il faut double-cliquer sur le symbole INPUT. La boite de dialogue des propriétés s'ouvre. Elle doit alors être complétée : - Cocher single bit puis sélectionner le bit 3. Remaque : Dans ce cas le résultat de la lecture sera de type booléen (0 ou 1). On peut obtenir un fonctionnement similaire avec la fonction Masque : - Cocher Entire Port et Use Masking, - Cocher ensuite le bit 3. Cependant, on l'utilise plutôt lorsque l'on doit tester plusieurs bits en même temps Remaque : Dans ce cas le résultat aura pour valeur la somme des poids des bits actifs. . 1 ELN : COURS D' ÉLECTRONIQUE IMPLANTATION D'UN ALGORITHME EN LANGAGE LITTÉRAL STRUCTURÉ Page 4 / 6 C EXERCICES D'APPLICATION Pour les exemples suivants, on utilise un PIC 16F877A avec 8 leds reliées au PORT B et 8 capteurs reliés au PORT C. I ORDINOGRAMMES UTILISANT LES OPÉRATIONS DE LECTURE ET D'ÉCRITURE SUR UN PORT 1 ECRITURE SUR UN PORT DE SORTIE (PROG1.FCF) ? On veut écrire un programme qui allume les 8 leds. Dessiner l'ordinogramme qui traduit ce fonctionnement : 2 CLIGNOTANT (CLIGNO.FCF) ? On veut écrire un programme qui fait clignoter les 8 leds (allumées 500ms, éteintes 500ms, etc...) Dessiner l'ordinogramme qui traduit ce fonctionnement : 3 RECOPIE D'UN PORT D'ENTRÉE SUR UN PORT DE SORTIE (RECOP.FCF) ? On veut écrire un programme qui lit l'état des 8 capteurs et le recopie sur les 8 leds. Ces opérations sont ensuite répétées en boucle toutes les 500ms. Dessiner l'ordinogramme qui traduit ce fonctionnement. On utilisera une variable nommée CAPTEURS pour mémoriser l'état des capteurs. 4 DEFILEMENT (DEFILEMENT.FCF) ? On veut écrire un programme qui allume successivement chacune des 8 leds (RB0 à RB7) pendant 200ms. Ces opérations sont ensuite répétées en boucle. Dessiner l'ordinogramme qui traduit ce fonctionnement en utilisant la structure tant que FAIRE. On utilisera une variable nommée DEFILE pour mémoriser l'information envoyée vers les leds. 1 ELN : COURS D' ÉLECTRONIQUE IMPLANTATION D'UN ALGORITHME EN LANGAGE LITTÉRAL STRUCTURÉ Page 5 / 6 II ORDINOGRAMMES UTILISANT DES STRUCTURES ALTERNATIVES 1 LA STRUCTURE ALTERNATIVE RÉDUITE (TEST1.FCF) ? On veut écrire un programme qui écrit la valeur 0 sur le PORT B puis teste l'état du capteur relié au bit 1 (RC1) : - si RC1 vaut 0, il ne se passe rien. - si RC1 passe à 1 on écrit la valeur 255 sur le PORT B. Dessiner l'ordinogramme qui traduit ce fonctionnement. On utilisera une variable nommée CAPTEUR pour mémoriser l'état de RC1. 2 LA STRUCTURE ALTERNATIVE COMPLÈTE (TEST2.FCF) ? On veut écrire un programme qui lit l'état du capteur relié au bit 3 (RC3). Si RC3 vaut 0 alors on écrira la valeur 0 sur le PORT B, sinon on écrira la valeur 255 sur le uploads/Ingenierie_Lourd/ algo.pdf
Documents similaires
-
18
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Oct 03, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 6.8122MB