Guide Flowcode pour organigrammes SI
Guide Flowcode pour organigrammes SI
Flowcode
Table des matières
1. Introduction......................................................................................................................................2
2. Outils et vues Flowcode...................................................................................................................2
3. Créer un nouvel organigramme........................................................................................................4
4. Ouvrir un organigramme existant.....................................................................................................4
5. Enregistrer un organigramme...........................................................................................................4
6. Imprimer les organigrammes............................................................................................................5
7. Fermer Flowcode..............................................................................................................................5
8. Ajouter une icône sur un organigramme...........................................................................................5
9. Selectionner les icônes.....................................................................................................................6
10. Déplacer, Supprimer, copier et coller les icônes............................................................................7
11. Editer les propriétés d’une icône....................................................................................................7
11.1. Propriétés de l’icône Entrée....................................................................................................8
11.2. Propriétés de l’icône Sortie.....................................................................................................8
11.3. Propriétés de l’icône Décision................................................................................................9
11.4. Propriétés de l’icône point de jonction..................................................................................11
11.5. Propriétés de l’icône Boucle.................................................................................................12
11.6. Propriétés de l’icône Macro..................................................................................................13
11.7. Propriétés de l’icône Calculs................................................................................................14
12. Ajouter des composants................................................................................................................15
13. Editer les connexions d’un composant.........................................................................................16
13.1. Thermomètre analogique......................................................................................................17
13.2. Afficheur LCD......................................................................................................................18
13.3. LED's....................................................................................................................................19
13.4. Interrupteurs..........................................................................................................................19
14. Démarrer la simulation d’un organigramme................................................................................20
15. Simuler les icônes pas à pas.........................................................................................................20
16. Changer la vitesse d’une simulation.............................................................................................21
17. Configurer le PICmicro................................................................................................................21
[Link] 1
Classes de première SI
1. Introduction
Concevoir un organigramme pour un PICmicro Flowcode vous permet de créer des applications pour des
microcontrôleurs en sélectionnant et plaçant des icônes sur un organigramme pour créer des programmes
simples. Ces programmes peuvent contrôler des périphériques externes connectés au microcontrôleur comme
des LED s, un afficheur LCD etc.
Une fois que l’organigramme est élaboré, Flowcode permet de simuler son comportement avant de le
compiler, de l’assembler et de le transférer dans un microcontrôleur PICmicro® .
Pour atteindre cet objectif avec Flowcode, il suffit de réaliser les étapes suivantes :
1. Créer un nouvel organigramme, spécifier le micro contrôleur cible que vous utiliserez au final.
2. Sélectionner et faire glisser les icônes de la barre d’outils sur l’organigramme pour programmer
l'application.
3. Ajouter les périphériques externes nécessaires en cliquant sur les boutons correspondants dans la
barre d’outils des composants, éditer leurs propriétés, spécifier comment ils sont connectés au
microcontrôleur et appeler les macros correspondants aux périphériques utilisés.
4. Faire tourner la simulation pour vous assurer que l’application se comporte comme vous le voulez.
5. Transférer l’application dans le microcontrôleur cible en compilant le programme en langage C, puis
en l’assemblant et finalement en produisant le code objet.
[Link] 2
Classes de première SI
[Link] 3
Classes de première SI
5. Enregistrer un organigramme
Pour sauvegarder un organigramme, sélectionner l’option Enregistrer ou Enregistrer sous... du menu Fichier.
Les organigrammes doivent être sauvegardés avant de les compiler ou de les transférer dans le
[Link] 4
Classes de première SI
microcontrôleur cible.
7. Fermer Flowcode
Pour fermer un organigramme Flowcode, sélectionner l’option Fermer depuis le menu Fichier. Pour fermer
complètement Flowcode, sélectionner l’option Quitter du menu Fichier. Dans les deux cas, Flowcode vous
demandera si vous souhaitez sauvegarder les modifications apportées à l'organigramme.
[Link] 5
Classes de première SI
[Link] 6
Classes de première SI
[Link] 7
Classes de première SI
Nom à afficher
Le nom de l’icône qui apparaîtra sur l’organigramme.
Variable
Sélectionner le nom d’une variable dans laquelle vous souhaitez placer le résultat de la lecture des bits du
port.
Bouton Variables ...
Ce bouton ouvre une boite de dialogue vous permettant de choisir une variable existante ou d’en créer une
nouvelle.
Entrée depuis
Choisir le Port concerné parmi la liste des ports disponibles du microcontrôleur à programmer.
Bit unique
Utilisez cette option pour lire l’état d’un seul bit du port.
Port complet
Utilisez cette option pour lire l’état du port en entier et ranger la valeur lue dans la variable choisie.
Masque
Grâce au masquage, il est possible de lire seulement certains bits dans une variable. Ceci est bien pratique
quand certains bits du port sont utilisés en sortie.
Quand un masque est utilisé, seules les valeurs correspondant aux bits sélectionnés sont lues. Reportez-vous
à la page Utilisation des masques pour plus d’informations.
[Link] 8
Classes de première SI
Nom à afficher
Le nom de l’icône qui apparaîtra sur l’organigramme.
Variable ou valeur
Sélectionner le nom de la variable ou une valeur numérique que vous souhaitez écrire dans ce port.
Bouton Variables...
Ce bouton ouvre la boite de dialogue Variables vous permettant de sélectionner une variable existante ou
d’en créer une nouvelle.
Sortie vers
Le sélectionner depuis la liste des ports disponibles sur le PICmicro à programmer
Bit unique
Utiliser cette option pour écrire dans un seul bit du port. Si une valeur vraie (différente de zéro) est écrite
dans ce bit, alors le bit est mis à 1 (mis à ON), sinon, le bit est effacé (mis OFF).
Port entier
Utiliser cette option pour écrire la valeur ou la variable dans le port entier.
Masque
Il est possible, grâce au masquage, de n’écrire que dans certains bits du port. Ceci est bien pratique quand
certains bits du port sont configurés en entrée et que vous souhaitez laisser ces bits inchangés. Avec le
masquage, seuls les bits sélectionnés recevront une valeur. Les autres ne seront pas affectés par cette
opération. Reportez-vous à la page Utilisation des masques pour plus d’information.
[Link] 9
Classes de première SI
Nom à afficher
Le nom de l’icône qui apparaîtra sur l’organigramme.
SI
Le losange Décision teste la condition afin de déterminer dans quelle branche se passera la suite du
traitement. Si la condition vaut 0 ou FAUX, c’est la branche 'Non' qui sera déroulée. Si la condition vaut un
nombre différent de 0 ou VRAI alors c’est la branche du OUI qui sera exécutée. Les conditions peuvent
contenir des nombres, des variables et des opérateurs comme :
(, ) - Parenthèses.
=, <> - Egal à, Non égal à.
+, -, *, /, MOD - Addition, Soustraction, Multiplication, Division & Modulo.
<, <=, >, >= - Plus petit que, Plus petit ou égal à, Plus grand que, Plus grand ou égal à.
>>, << - Décalage à droite, décalage à gauche.
NOT, AND, OR, XOR, NON, ET, OU, OU Exclusif
À partir du moment ou les variables ont été précédemment définies, toutes les instructions suivantes sont
valides.
TEMPO = 10
TEMPO = MAXTEMPO
BITSUIVANT = DERNIERTBIT >> 2 & MASK
AETB = PORT_A AND PORT_B
Bouton Variables
Ce bouton ouvre la boite de dialogue Variables vous permettant de sélectionner une variable existante ou
d’en créer une nouvelle.
Inverser Oui et Non
[Link] 10
Classes de première SI
Normalement la branche correspondant à "Oui" part sur la droite de l’icône de Décision et la branche
correspondant au 'Non' continue tout droit dans l’organigramme. Cocher cette option pour inverser les deux
branches.
Valeurs logiques
Flowcode considère zéro comme FAUX et toute autre valeur différente de zéro comme VRAI. Ceci permet
d’utiliser des variables dans un contexte VRAI ou FAUX. Par exemple, 'If TEMPO_FINI prendra le chemin
'VRAI ’ si TEMPO_FINI est différent de zéro.
Nom à afficher
Le nom de l’icône à afficher sur l’organigramme.
Aller au point de jonction
Sélectionner le point de jonction auquel vous voulez aller. Cette option n’est pas disponible si l’icône
correspond à la définition d’ un point de jonction plutôt qu’à un point de saut.
[Link] 11
Classes de première SI
Nom à afficher
Le nom qui apparaîtra sur l’organigramme.
Tant que
Entrer la condition qui détermine la fin de la boucle (Définir un test conditionnel toujours Vrai fera que la
boucle sera répétée indéfiniment. Tant que 1 en est un exemple) .
Bouton Variables...
Ce bouton ouvre la boite de dialogue des variables vous permettant de sélectionner une variable existante ou
d’en créer une nouvelle.
Tester la boucle :
Cette option permet de spécifier si la boucle doit être testée au début ou à la fin de la boucle.
Boucle infinie
Il arrive qu’une tâche soit répétée à l’infini. Une façon pratique d’obtenir ce fonctionnement est d’utiliser une
boucle infinie. Tester une condition toujours Vrai fera que la bouc le sera répétée indéfiniment. While 1 en
est un exemple.
[Link] 12
Classes de première SI
Les Macros sont des portions de code, qui peuvent être utilisée et réutilisées dans différents projets. Les
macros font que des tâches complexes peuvent être gérées par du code pré- écrit. Les macros peuvent être
importées et exportées. Dans Flowcode, trois types de macros sont définis :
• Macros interne à Flowcode – par exemple pour les interruptions du PICmicro
• Macros constitués d’organigrammes – en fait un sous-programme dans votre programme
• Macros d’E/S – sous-programmes cachés qui exécutent des fonctions spécifiques pour certains
périphériques
Nom à afficher
Le nom de l’icône qui apparaîtra sur l’organigramme.
Appelle une macro existante
Sélectionner cette option pour intégrer une macro de votre crû dans l'organigramme ou pour choisir macro
activée suite à une interruption. Toutes les macros existantes figurent dans la liste en dessous de cette option.
Appelle une macro spécifique d’E/S
Sélectionner cette option pour appeler une macro pour un composant externe attaché au microcontrôleur.
Sélectionner le périphé rique dans la première liste et ensuite sélectionner le nom de la macro que vous
voulez appeler dans la seconde liste.
[Link] 13
Classes de première SI
Paramètres
Si la macro exige des paramètres, alors ces paramètres doivent être entrés dans ce champ. Il peut s’agir de
valeurs numériques ou de variables existantes. Chaque variable ou valeur doit être séparée par une virgule
dans la liste.
Bouton Variables
Ce bouton ouvre la boite de dialogue Variables vous permettant de choisir une variable existante ou d’en
créer une nouvelle.
Valeur de Retour
Si la macro du périphérique retourne une valeur, alors vous pouvez affecter cette valeur à une variable
existante pour l’utiliser après dans l'organigramme. Si la fonction retourne une valeur que vous ne voulez pas
sauvegarder alors laissez ce champ vide.
Bouton Créer une nouvelle Macro
Cliquez sur ce bouton pour créer une nouvelle macro dans l'organigramme.
Bouton OK & Editer Macro
Après avoir choisi le nom d’une macro existante (non pas une macro pour un périphérique externe), vous
pourrez voir et éditer la macro sélectionnée en cliquant sur ce bouton.
Nom à afficher
Il s’agit du nom de l’icône qui apparaîtra sur l’or ganigramme.
Calculs
[Link] 14
Classes de première SI
Une ou plusieurs lignes de calculs peuvent être entrées dans cette boite de dialogue. Tous les calculs doivent
comprendre le nom d’une variable existante, le signe égal suivi d’une expression faite de nombre, de
variables et des opérateurs suivants :
()- Parenthèses.
= <> - Egal à, Non égal à.
+ - * / MOD - Addition, Soustraction, Multiplication, Division & Modulo.
< <= > >= - Plus petit que, plus petit ou égal à, Plus grand que, Plus grand ou égal à.
>> << - Décalage à droite, décalage à gau che.
NOT AND OR XOR - NON(inversion), ET, OU, O U Exclusif
À partir du moment où les variables ont été précédemment définies, toutes les lignes suivantes sont des
lignes de calculs parfaitement valides.
TEMPO = TEMPO + 1
TEMPO = (MA_VARIABLE + 3) * 3
BITSUIVANT = DERNIERBIT >> 2 & MASK
AETB = PORT_A AND PORT_B
Bouton Montrer Variables
Ce bouton ouvre la boite de dialogue des variables vous permettant de choisir une variable existante ou d’en
créer une nouvelle
Pour supprimer le composant externe ou éditer ses connexions ou propriétés cliquer sur le petit
bouton « > » pour f aire afficher le menu.
Supprimer
Supprime le composant. Attention : Flowcode ne vous permettra pas de supprimer un composant référencé
dans une des macros de l'organigramme. Supprimer les macros avant de supprimer ce composant.
Connexions...
[Link] 15
Classes de première SI
En sélectionnant cette option, vous pouvez configurer les connexions du composant. Reportez vous à la page
Editer les connexions d’un composant pour plus de détails.
Propriétés...
Certains composants peuvent être configurés à l’aide des propriétés complémentaires qu’ils possèdent. Pour
éditer les propriétés d’un composant, cliquer sur Propriétés après avoir cliqué sur le bouton « > » du
composant. Une boite de dialogue Propriétés du composant s’affiche à l’écran. Si le composant ne dispose
pas de Propriétés supplémentaires, alors une page vierge de Propriétés sera montrée.
Reportez-vous à l’aide de chaque composant pour de plus amples détails sur chacune de ses Propriétés. Il se
peut que des composants attachés ne soient pas montrés. Sélectionnez alors Affichage...Composants
Attachés. Une liste des composants attachés est mon trée. Cliquer sur le ou les composants que vous voulez
faire apparaître dans la fenêtre active.
[Link] 16
Classes de première SI
colonne.
Bit du PIC
Le bit du port du microcontrôleur auquel est connectée une patte externe est affiché dans cette colonne.
Etat
Les informations d’état d’une patte sont affichées ici. Vous pourrez y voir éventuellement des détails sur des
conflits possibles pour des composants utilisant les mêmes pattes du microcontrôleur. De plus, certains
composants nécessitent de connecter certaines pattes sur le même port avec d’autres pattes du composant
externes. Dans ce cas, la ligne d'état indiquera cette information et l’utilisateur ne pourra apporter aucune
modification dans la zone Connecter.
Connecter
Utiliser cette rubrique pour déterminer la patte du microcontrôleur à utilsier. Si cette rubrique est
indisponible, c’est que la connexion de la patte est déterminée par celle d’une autre patte. Un message
apparaîtra dans la li gne d’état juste en dessous si c’est le cas.
Pour modifier la connexion, cliquer d’abord sur la patte à modifier depuis la liste affichée dans la colonne
Nom des pattes.
Macros
Le composant thermomètre dispose des macros suivantes :
Ech_ADC
Le PICmicro échantillonne l’entrée analogique et en voie la valeur numérique sur 10 bits aux registres.
Lire_lsb01
Lit les deux bits de poids faible de la valeur sur 10 bits. Vous devez spécifier dans le champ « Valeur de
retour » le nom de la variable ou sera stocké le résultat de cette lecture.
Lire_msb29
Lit les 8 bits de poids forts de la valeur sur 10 bits. Vous devez spécifier dans le champ « Valeur de retour »
le nom de la variable ou sera stocké le résultat de cette lecture.
Quand vous travaillez avec des entrées analogiques, vous devez faire attention. Les valeurs sont rangées dans
deux emplacements mémoire et Lire_lsb01 et Lire_msb29 ne retournent pas la valeur complète de la donnée
stockée.
[Link] 17
Classes de première SI
L’afficheur LCD est un afficheur intelligent de 2l ignes de 16 caractères alphanumériques. Il s’agit d’un
composant assez standard, mais il se peut que le jeu de caractère diffère légèrement d’un afficheur à l’autre.
Flowcode présume que vous utilisez un afficheur base sur un contrôleur Hitach i HD44780 (qui est un
standard courant dans l’industrie).
Macros
Le composant LCD dispose des macros suivantes :
Init()
La macro init doit être appelée pour initialiser l’afficheur LCD avant d’utiliser toute autre macro se
rapportant à cet afficheur.
Efface()
Cette macro efface l’afficheur.
Curseur(x, y)
Cette macro positionne le curseur à la position spé cifiée par les coordonnées x et y. Les macros Ecrit_car et
Ecrit_num utilisent la position du curseur pour décider de la position ou afficher les caractères.
Ecrit_num(Nombre)
Affiche le dernier digit du nombre fourni. Par exemple, donner le nombre 3 comme paramètre provoquera
l’affichage du 3. Passer 48 comme paramètre provoquera l’ affichage du chiffre 8. Une fois le nombre
affiché, le curseur se positionne automatiquement à la position suivante.
Ecrit_car(Lettre)
Affiche un caractère ASCII à la position courante du curseur. Une fois que le caractère est écrit, le curseur se
place automatiquement à la position suivante.
La caractère est soit le code ASCII du caractère, soit le caractère lui même encadré par de simple guillemets.
Attention : du fait du mode de gestion des caractères alphanumériques dans Flowcode, seuls les caractères
majuscules peuvent être utilisés (toujours entre de simples guillemets). L’afficheur LCD utilise les caractères
ASCII lors de la simulation. Cependant, dans la réalité, les caractères affichés seront fonction du jeu de
caractère spécifique à l’afficheur utilisé.
Exemples :
Ecrit_car( 'H' ) affiche la lettre H
Ecrit_car( '=' ) affiche le caractère =
Ecrit_car( 72 ) affiche aussi la lettre H - 72 est le code ASCII du caractère H
Ecrit_car ( 104 ) affiche la lettre h - 104 est le code ASCII du caractère h
[Link] 18
Classes de première SI
13.3. LED's
Le modèle Flowcode LED permet de créer une rangée de 1 à 8 LEDs colorées. Des macros sont disponibles
pour allumer ou éteindre les LEDs.
Propriétés
Le composant LED dispose de deux propriétés qui peuvent être paramétrées :
Nombre de LED's
Utiliser la liste déroulante pour sélectionner un nombre entre 1 et 8 correspondant au nombre de LED’s de la
rangée.
Couleur de la LED
Utiliser la liste déroulante pour sélectionner la c ouleur de toutes les LEDs de la rangée. Les couleurs
disponibles sont rouge, vert, jaune et bleu..
13.4. Interrupteurs
Le composant Flowcode Interrupteurs permet de connecter une rangée de 1 à 8
Interrupteurs au microcontrôleur. Il existe une macro pour lire l’état de chaque
Interrupteur individuel. Il est possible de d’associer à chaque interrupteur une
des touches 0 à 9 du clavier numérique pour l’activer lors de la simulation
keypad.
Propriétés
Le composant Interrupteur dispose de deux propriétés qui peuvent être paramétrées:
Nombre de Interrupteurs
Utiliser la liste déroulante pour spécifier un nombre d’Interrupteurs compris entre 1 et 8 représentant le
nombre d’Interrupteurs dans la rangée.
Type d’Interrupteur
Utiliser la liste déroulante pour spécifier si l’Interrupteur est de type poussoir ou bascule.
[Link] 19
Classes de première SI
[Link] 20
Classes de première SI
Vitesse d’horloge en Hz
Choisir la vitesse d’horloge depuis le menu Exécuter pour changer la vitesse de la simulation. La vitesse de
simulation peut varier de 0.25 Hz (soit une simulation toutes les 4 secondes) à 10Hz (soit une simulation
toutes les 0.1 secondes).
Vitesse de Simulation
Vous pouvez demander à Flowcode de simuler le diagramme aussi vite que possible. Dans ce mode,
Flowcode ne rafraîchit plus les fenêtres des variables, de la pile d’appel et les vues du microcontrôleur.
Suspendre et arrêter une simulation
La simulation peut être suspendue ou arrêtée en sélectionnant les options Suspendre ou Arrêter du menu
Exécuter.
Si l'organigramme est simulé à la vitesse la plus rapide, alors Flowcode met à jour les variables, la pile des
appels et les vues du microcontrôleur lorsque la simulation est suspendue. Un rectangle rouge encadrera la
prochaine icône à exécuter lors de la reprise de la simulation.
[Link] 21