Вы находитесь на странице: 1из 27

FLOWCODE V4.

2 Notice d'utilisation

Prambule :
Flowcode est un logiciel de programmation graphique permettant, partir de la saisie d'algorigrammes, de crer des programmes pour les microcontrleurs de la famille des PICmicro de Microchip. Une fois lalgorigramme labor, Flowcode permet de simuler et visualiser le comportement du programme en dcoulant, avant de le traduire en langage C, de le compiler en hexadcimal et de le transfrer dans le microcontrleur cible.

Sommaire :
Prsentation du logiciel Cration d'un programme Les icnes de COMMANDE Ajouter une ICNE Proprits de licne ENTRE Proprits de licne SORTIE Proprits de licne PAUSE Proprits de licne DCISION (alternative) Proprits de licne POINT DE JONCTION Proprits de licne BOUCLE (itration) Proprits de licne MACRO Proprits de licne CALCUL Proprits de licne MANIPULATION DE CARACTRES Proprits de licne INTERRUPTION Proprits de licne CODE C Proprits de licne COMMENTAIRE Les icnes de COMPOSANTS et le PANNEAU de simulation Proprits des composants SWITCH et SWITCHbank (commutateur(s)) Proprits des composants LED et LEDarray (LED simple ou en matrice) Proprits des composants led7seg et led7seg4 (afficheur(s) 7 segments) Proprits du composant LCDDisplay (afficheur LCD) Proprits du composant ADC (convertisseur analogique/numrique) Proprits du composant PWM (modulateur de largeur d'impulsion) La SIMULATION La COMPILATION et le TRANSFERT d'un programme vers un PICmicro Page 2 Page 3 Page 4 Page 4 Page 5 Page 6 Page 7 Page 8 Page 9 Page 10 Page 11 Page 12 Pages 13, 14 Pages 15, 16 Page 17 Page 17 Page 18 Page 19 Page 20 Page 21 Page 22 Page 23 Page 24 Page 25 Page 26

1/27

FLOWCODE V4.2 Notice d'utilisation Prsentation du logiciel


Lenvironnement Flowcode consiste en une aire de travail essentiellement graphique, dans laquelle saffichent : trois barres doutils : la barre d'outils de menus (1), les barres d'icnes de commandes (2) et des composants (3), lalgorigramme ou ordinogramme (4), qui se dcompose en plusieurs fentres s'il comporte des sous-programmes (5), des fentres spcifiques pour montrer ltat du microcontrleur (6), les composants attachs (regroups dans un panneau de simulation) (7) et leurs proprits (8), l'tat des variables en mode simulation

Nota : Les symboles d'algorigrammes utiliss par Flowcode sont conformes la norme internationale ISO 5807 (*), trs proche de la norme franaise NF Z 61-100. La diffrence principale se situe au niveau des itrations (boucles rptitives) pour lesquelles la norme ISO utilise un symbole spcifique alors que la norme NF utilise le symbole de dcision (alternative). Flowcode effectue une 1re compilation de l'algorigramme en langage C, puis en assembleur, puis en langage machine. Ce passage par le langage C tranparat dans la mise en uvre de certaines fonctionnalits du logiciel.

ISO : international standardization organisation 2/27

FLOWCODE V4.2 Notice d'utilisation Cration d'un programme


Pour crer un programme avec Flowcode il suffit de raliser les tapes suivantes : 1. Lancer la cration d'un nouvel algorigramme en spcifiant le microcontrleur cible.

2. Prciser la vitesse dhorloge (frquence) du microcontrleur dans la boite de dialogue "Options Projet" du menu "Edition" afin que les rglages de temporisations ou d'interruption par timer soient prcis. Spcifier galement la vitesse de simulation (1000 prfrentiellement). Note : Si le circuit cible est un ECIO la frquence d'horloge est verrouille sur 48MHz.

3. tablir la liste des variables qui seront utilises dans l'algorigramme : menu Edition Variables Flowcode V4 permet 5 types de variables : Octet (nombre non sign 8 bits) Entier (nombre sign 16 bits) virgule flottante (nombre sign 32 bits soit 3.4 x 10^-38 3.4 x 10^+38) Tableau d'octets ou d'entiers une dimension (nombre de cellules entre crochets) Chane de caractres (nombre de caractres entre crochets, 20 par dfaut) 4. Slectionner et faire glisser les icnes de la barre doutils "Commandes" sur la fentre de saisie pour raliser l'algorigramme : la 1re fentre s'appelle "principal" (main), chaque macro (sousprogramme) comporte une fentre de saisie. Note : pour optimiser l'espace, il est prfrable de rendre flottante la fentre du panneau de simulation "Panel" (clic droit sur Panel, slection de "Floating") puis d'ajuster sa taille. 5. Ajouter les priphriques externes ncessaires sur le panneau de simulation "Panel" en cliquant sur les boutons correspondants dans la barre doutils "Composants", diter leurs proprits, spcifier leurs connexions au microcontrleur et appeler/paramtrer les routines correspondant aux priphriques utiliss. 6. Faire excuter la Simulation pour s'assurer que lapplication se comporte conformment au cahier des charges. 7. Transfrer lapplication dans le microcontrleur cible en compilant le programme en C, puis en lassemblant et finalement en produisant et en transfrant le code objet (Flowcode assure automatiquement ces oprations).

3/27

FLOWCODE V4.2 Notice d'utilisation La barre dICNES DE COMMANDE


Proprits de l'icne Entre Proprits de l'icne Sortie Proprits de l'icne Pause Proprits de l'icne Dcision (alternative simple ou complte) Proprits de l'icne Multi-dcision (alternative gnralise) Proprits de l'icne Point de jonction Proprits de l'icne Boucle (itration) Proprits de l'icne Macro (sous-programme) Proprits de l'icne Routine composant Proprits de l'icne Calcul Proprits de l'icne Manipulation de caractres Proprits de l'icne Interruption Proprits de l'icne Code C Proprits de l'icne Commentaire Pour diter les Proprits dune icne, effectuer un double-clic sur licne dans l'algorigramme ou un clic droit sur licne : dans ce cas un menu contextuel saffiche, slectionner loption Proprits prsente dans ce menu.

Ajouter une ICNE


Pour ajouter une icne sur lalgorigramme : Clic gauche maintenu sur l'icne insrer. Le curseur prend la forme dune petite image de licne slectionne. Faire glisser licne dans la fentre active de l'algorigramme et relcher la souris l o l'icne doit tre insre. Nota : Quand vous dplacez la souris sur lalgorigramme, une petite flche apparat pour montrer o sera insre licne quand le bouton de la souris est relch. Ce point est identifi comme le point dinsertion. Ds que vous relchez le bouton de la souris, licne sinscrit dans lalgorigramme. Les fonctions classiques de Windows sont supportes : copier, couper, coller, dplacer Exemple : insertion d'une temporisation (pause)

Curseur reprsentant l'icne insrer Icne insre

Point d'insertion

4/27

FLOWCODE V4.2 Notice d'utilisation


Pour diter les Proprits dune icne, effectuer un double-clic sur licne dans l'algorigramme ou un clic droit sur licne : dans ce cas un menu contextuel saffiche, slectionner loption Proprits prsente dans ce menu.

Proprits de licne ENTRE


Licne Entre lit le port spcifi (ou certains bits seulement du port) et place le rsultat dans la variable spcifie. Nom afficher Le texte qui apparatra en haut et droite de l'icne sur lalgorigramme. Variable Slectionner le nom dune variable dans laquelle vous souhaitez placer le rsultat de la lecture des bits du port. Bouton Variables Ce bouton ouvre une boite de dialogue permettant de choisir une variable existante ou den crer une nouvelle. Port

Choisir le Port concern parmi la liste des ports disponibles du microcontrleur programmer.
Entre depuis Bit unique Utiliser cette option pour lire ltat dun seul bit du port. Dans l'exemple ci-contre l'tat du bit 2 du PORT A (porta.2) est transfr dans la variable de type octet BP2. Cet octet n'a donc que 2 valeurs possibles 0 ou 1. Entre depuis Port complet Dcocher Masque. Utiliser cette option pour lire ltat du port en entier et ranger la valeur lue dans la variable choisie. Masque Grce au masquage, il est possible de transfrer seulement certains bits dans une variable. Quand un masque est utilis, seules les valeurs correspondant aux bits du port slectionns sont lues. Dans l'exemple ci-contre la variable de type octet BoutonsPoussoirs ne prend en compte que les bits 0, 1 et 2 du PORT A.

5/27

FLOWCODE V4.2 Notice d'utilisation


Proprits de licne SORTIE
Licne Sortie permet denvoyer la valeur ou le contenu dune variable au port ou aux bits spcifis du port. La sortie est reue par le port en format binaire. Nom afficher Le texte qui apparatra en haut et droite de l'icne sur lalgorigramme. Variable ou valeur Slectionner la variable ou la valeur numrique au format dcimal (type par dfaut), hexadcimal (prcde par 0x) ou binaire (prcd par 0b) que vous souhaitez crire dans ce port. Bouton Variables

Ce bouton ouvre la boite de dialogue Variables permettant de slectionner une variable existante ou den crer une nouvelle.
Port Le slectionner depuis la liste des ports disponibles sur le PICmicro programmer Sortie vers Bit unique Utiliser cette option pour crire dans un seul bit du port.

Si une valeur diffrente de zro est crite dans ce bit alors le bit est mis 1, sinon le bit est mis 0.
Sortie vers Port complet Dcocher masque. Utiliser cette option pour crire la valeur ou la variable dans le port entier. Masque Grce au masquage, il est possible d'crire seulement certains bits d'une variable dans un port. Quand un masque est utilis, seules les bits slectionns sont affects par l'opration d'criture. Dans l'exemple ci-contre, seuls les bits 0 4 du PORT B sont mis 1 lors de l'criture de la valeur FF dans le port puisque les bits 5 7 sont masqus.

6/27

FLOWCODE V4.2 Notice d'utilisation


Proprits de licne PAUSE

L'icne Pause permet d'insrer des temporisations dans votre programme et den ralentir lexcution. Attention : pendant l'excution de ces pauses le processeur est entirement occup et il ne peut donc effectuer d'autres oprations en mode normal, seul le mode "Interruption" peut lui faire excuter des oprations. Nom afficher Le texte qui apparatra en haut et droite de l'icne sur lalgorigramme. Valeur ou variable Pause Ceci correspond la longueur de la pause que vous voulez crer sous en donnant directement la valeur soit en liant la valeur une variable ( temporisation paramtrique) Bouton Variables Ce bouton ouvre la boite de dialogue Variables permettant de slectionner une variable existante ou den crer une nouvelle. Options Microsecondes/Millisecondes/Secondes Les pauses (ou temporisations) peuvent tre exprimes en microsecondes, millisecondes ou secondes. Lorsque la simulation rencontre une pause exprime en secondes, une boite de dialogue apparat montrant le dcompte du temps. Le bouton Annuler de cette fentre de progression permet de poursuivre lexcution de lalgorigramme sans avoir attendre que le temps soit compltement coul. Pour que Flowcode puisse correctement programmer votre PICmicro avec des rglages de temporisations prcis, vous devez prciser la vitesse dhorloge (frquence) de votre PICmicro (boite de dialogue "Options Projet" du menu "Edition").

7/27

FLOWCODE V4.2 Notice d'utilisation


Proprits de licne DCISION (alternative)
L'icne de Dcision, appele aussi Alternative, permet de tester une condition et deffectuer certains traitements en fonction du rsultat du test. Alternative simple Alternative complte (double)

Nota : si le test porte sur un bit, comme dans l'exemple, on peut crire Si BP0 pour tester si BP0 actionn ou Si !BP0 pour tester si BP0 relch

Nom afficher : Texte afficher sur lalgorigramme en haut et droite de licne. Si Le losange Dcision teste la condition afin de dterminer dans quelle branche se passera la suite du traitement. Si le rsultat du test vaut 0 ou FAUX, cest la branche 'Non' qui sera droule. Si le rsultat du test vaut un nombre diffrent de 0 ou VRAI alors cest la branche du "Oui" qui sera excute. Les tests peuvent contenir des nombres, des variables et des oprateurs comme : (, ) - Parenthses. =, <> - Egal , Non gal . +, -, *, /, MOD - Addition, Soustraction, Multiplication, Division, Modulo (reste de la division entire). <, <=, >, >= - Plus petit que, Plus petit ou gal , Plus grand que, Plus grand ou gal . >>, << - Dcalage droite, dcalage gauche. NOT (~), AND (&), OR (|), XOR (^) - NON, ET, OU, OU Exclusif (opration bit bit) ! && || - NON, ET, OU (oprations sur octet(s), le rsultat vaut 0 ou 1) Les valeurs numriques peuvent tre crites au format dcimal (type par dfaut), hexadcimal (prcde par 0x) ou binaire (prcd par 0b). Exemples : 255 ou 0xFF ou 0b01010101.

Bouton Variables : Ce bouton ouvre la boite de dialogue Variables permettant de slectionner une variable existante ou den crer une nouvelle.
Inverser Oui et Non Normalement la branche correspondant "Oui" part sur la droite de licne de Dcision et la branche correspondant au 'Non' continue tout droit dans lalgorigramme. Cocher cette option pour inverser les deux branches. Valeurs logiques : Flowcode considre zro comme FAUX et toute autre valeur diffrente de zro comme VRAI.

Proprits de licne MULTI-DCISION (alternative gnralise)


Dans l'exemple ci-dessous : si CPT=10 le traitement Trait2 s'effectue, si CPT=12 le traitement Trait3 s'effectue, si CPT=18 le traitement Trait4 s'effectue et dans tous les autres cas le traitement par dfaut cad Trait1 s'effectue. Nota : les valeurs peuvent crites au format dcimal, hexadcimal ou binaire.

8/27

FLOWCODE V4.2 Notice d'utilisation


Proprits de licne POINT DE JONCTION (saut inconditionnel)
Les icnes de jonction sont utilises pour "sauter" dun point de lalgorigramme un autre. Quand lalgorigramme atteint le point de jonction, il saute directement au point de jonction correspondant et continue ensuite lexcution partir de ce point. Les icnes de jonction sont utilises par paires : le premier est le point de saut cad le point dans lalgorigramme partir duquel il faut effectuer le saut.

Nom afficher Texte afficher sur lalgorigramme en haut et droite de licne. Aller au point de jonction Slectionner le point de jonction auquel vous voulez aller. Cette option nest pas disponible si licne correspond la dfinition dun point de jonction plutt qu un point de saut.

le second est le point de jonction cad le point dans lalgorigramme indiquant quel endroit se rendre. Le point de saut et le point de jonction partagent une lettre de jonction (label) dans ce cas, la lettre 'A'.

Nota :
Plusieurs points de saut peuvent faire rfrence un mme point de jonction.

Important : Le saut inconditionnel "dstructure" l'algorigramme et peut provoquer des dysfonctionnements du systme, il ne faut donc l'employer qu'aprs avoir constat l'impossibilit d'utiliser une autre solution.

9/27

FLOWCODE V4.2 Notice d'utilisation


Proprits de licne BOUCLE (itration)

Les icnes Boucle sont utilises pour mettre en uvre des structures itratives (rptitives). Cinq types d'itrations sont ralisables : La boucle "Tant que Faire" (test de la boucle au dbut) (1) La boucle "Faire Tant que " (test de la boucle la fin) (2) La boucle "Rpter Jusqu' " (test de la boucle au dbut) (3) La boucle "Jusqu' Rpter " (test de la boucle la fin) (4) La rptition de boucle un nombre de fois spcifi (de 1 255) (5) Nom afficher Texte afficher sur lalgorigramme en haut et droite de licne. Tant que, Jusqu', Compteur de boucle Slectionner le type de structure itrative. Entrer la condition qui permet de rester dans la boucle (boucle "Tant que") ou de sortir de la boucle (boucle "Rpter") Bouton Variables Ce bouton ouvre la boite de dialogue des variables vous permettant de slectionner une variable existante ou den crer une nouvelle. Tester la boucle : Cette option permet de spcifier si la boucle doit tre teste au dbut ou la fin de la boucle. Cas particulier : Boucle infinie Il arrive quune tche soit rpte linfini (par ex scrutation). Une faon pratique dobtenir ce fonctionnement est dutiliser une boucle infinie. Tester une condition "Toujours Vrai" cad "1" fera que la boucle sera rpte indfiniment (6).

10/27

FLOWCODE V4.2 Notice d'utilisation


Les macros sont des portions de code rutilisables dans un projet. Les macros permettent de diviser les tches complexes en blocs de code lmentaires que l'on peut importer et exporter. Les macros dans Flowcode sont scindes en deux catgories : les macros (de logiciel) et les routines composant (de matriel).

Proprits de licne ROUTINE COMPOSANT


Les routines composant sont des macros prdfinies qui accompagnent les composants fournis par Flowcode. Par exemple, les macros LCD permettent d'afficher des caractres alphanumriques sur l'cran LCD. Une routine Composant fonctionne uniquement avec un composant dtermin. L'icne de la routine Composant se reconnat aux bandes hachures sur le bord extrieur. Certaines routines composant sont dcrites plus loin.

Proprits de licne MACRO


L'utilisateur peut concevoir et crire ses propres macros de la faon dcrite ici. L'utilisateur peut exporter et importer les macros pour les regrouper en bibliothques de tches courantes. La bordure extrieure de l'icne des macros logicielles est claire et sans hachures. Un double clic sur l'icne ouvre le menu de Proprits des macros (1) et permet l'utilisateur de slectionner ou d'ajouter des macros. Pour rutiliser une macro existante, slectionnez dans la liste la macro utiliser. Sinon cliquez sur Nouvelle Macro pour dmarrer l'criture d'une nouvelle macro ajouter la liste. Saisissez alors tous les paramtres requis et slectionnez une valeur de retour si ncessaire (2). Pour confirmer l'ajout et ouvrir la fentre d'dition de l'algorigramme de la nouvelle macro, cliquez sur OK & diter Macro. Paramtres (3) Si la macro a besoin de paramtres, ils doivent tre introduits dans ce champ. Il peut s'agir de valeurs numriques ou de variables existantes. Chaque variable ou valeur doit tre spare par une virgule dans la liste. Le dtail des paramtres affichera le type de chaque paramtre. Pour tre accepts, les paramtres doivent tre du type dclar. Notez qu'un jeu complet de paramtres doit tre fourni. Le type de variable pour la valeur de retour sera affich. En effet, il faut utiliser une variable du type adquat pour accueillir la valeur de retour.

11/27

FLOWCODE V4.2 Notice d'utilisation


Proprits de licne CALCUL
L'icne de Calcul permet la modification des variables. Elle peut tre utilise pour vrifier des entres ou crer des sorties.

Nom afficher Texte afficher sur lalgorigramme en haut et droite de licne. Calculs Une ou plusieurs lignes de calculs peuvent tre entres 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 oprateurs suivants : ( ) - Parenthses. = <> - Egal , Non gal . + * / MOD - Addition, Soustraction, Multiplication, Division, Modulo (reste de la division entire). < <= > >= - Plus petit que, plus petit ou gal , Plus grand que, Plus grand ou gal . >> << - Dcalage droite, dcalage gauche. NOT AND (&) OR (|) XOR (^) - NON(inversion), ET, OU, OU Exclusif (oprations bit bit)

&&

||

- NON, ET, OU (oprations sur octet(s), le rsultat vaut 0 ou 1)

Les valeurs numriques peuvent tre crites au format dcimal (type par dfaut), hexadcimal (prcde par 0x) ou binaire (prcd par 0b). Exemples : 255 ou 0xFF ou 0b01010101. A partir du moment o les variables ont t pralablement dfinies, toutes les lignes suivantes sont des lignes de calculs parfaitement valides : TEMPO = TEMPO + 1 TEMPO = (MA_VARIABLE + 3) * 3 BITSUIVANT = DERNIERBIT >> 2 AND MASK AETB = PORT_A AND PORT_B Bouton Variables Ce bouton ouvre la boite de dialogue des variables afin de choisir une variable existante ou d'en crer une nouvelle. Fonctions spcifiques (Flowcode PIC seulement) Flowcode inclut un certain nombre de fonctions mathmatiques : float = fadd(float, float) float = fsub(float, float) float = fmul(float, float) float = fdiv(float, float) float = fmod(float, float) byte = isinf(float) byte = isnan(float) byte = float_eq(float, float) byte = float_ge(float, float) byte = float_gt(float, float) byte = float_le(float, float) byte = float_lt(float, float) int = random() - Additionne deux variables de type "virgule flottante" (format sign 32 bits) - Soustrait deux variables de type "virgule flottante" - Multiplie deux variables de type "virgule flottante" - Divise deux variables de type "virgule flottante" - Donne le modulo de deux variables de type "virgule flottante" - Teste si la variables de type "virgule flottante" est infinie - Teste si la variables de type "virgule flottante" n'est pas un nombre - Teste l'galit de deux variables de type "virgule flottante" - Teste si les deux variables de type "virgule flottante" sont suprieures ou gales - Teste si les deux variables de type "virgule flottante" sont strictement suprieures - Teste si les deux variables de type "virgule flottante" sont infrieures ou gales - Teste si les deux variables de type "virgule flottante" sont strictement infrieures - Gnre un nombre alatoire compris entre -32768 et 32767

12/27

FLOWCODE V4.2 Notice d'utilisation


Proprits de licne MANIPULATION DE CARACTRES
La fonction de manipulation de chane de caractres permet l'utilisateur d'agir sur des chanes de la mme manire que la fonction de calcul permet d'agir sur des variables numriques.

On introduit les oprations effectuer sur les chanes de caractres dans la zone de saisie "Fonctions de chane". Les boutons "Variables" et "Fonctions" permettent l'utilisateur d'ajouter des lments dans la zone de saisie. Chanes Les chanes sont des ranges d'octets qui reprsentent des caractres ASCII. Une chane est dfinie par son nom de chane accol son nombre de caractres entre crochets. MyString[24] par exemple est une chane appele MyString et dont la longueur est de 24 caractres. Crer une chane On cre les chanes dans l'cran de Variables au milieu des autres variables. Pour crer une chane, on saisit le nom de la chane et l'on pointe l'option retenue. Pour fixer la longueur de la range, on l'introduit entre crochets. dfaut de spcification, la longueur de la chane sera de 20 caractres.

Changer la longueur de la chane demande d'ouvrir la fentre des variables, de slectionner la chane mettre dimension et de slectionner Renommer la variable. Il n'y a plus qu' introduire la nouvelle longueur. Remarquez qu'il faut modifier le code de votre programme pour qu'il prenne en compte la nouvelle longueur. Fonctions de manipulation de chane de caractres Les fonctions de manipulation de chane permettent d'diter, modifier et examiner les chanes. Cliquer sur une fonction ajoute le code de base dans la fentre de la bote d'dition o l'on pourra l'diter avec les variables ncessaires. Exemples de chanes pour illustrer les fonctions : Str1[20] = "Hello " Str2[10] = "World" TestStr[20]

Remplace le contenu de la chane. Si la nouvelle chane est plus longue, les caractres en trop seront perdus. TestStr est devenu World .

TestStr = Str2

13/27

FLOWCODE V4.2 Notice d'utilisation +


TestStr = Str1 + Str2 Opre la concatnation (association) de deux chanes dans l'ordre indiqu. Si la chane rsultante est plus longue que celle qui reoit la concatnation, les caractres en trop seront perdus. TestStr est devenu Hello World . Change la valeur numrique d'une chane. TestStr est devenu 1234 . Transforme toutes les lettres en capitales. TestStr est devenu HELLO . Transforme toutes les lettres en minuscules. TestStr est devenu hello . Retrouve la longueur de la chane. Ce n'est pas la dimension de la range, mais le nombre de caractres avant de rencontrer un blanc. RetVal vaut 6.

ToString$(valeur)
TestStr = ToString$(1234)

ToUpper$(chane)
TestStr = ToUpper$(Str1)

ToLower$(chane)
TestStr = ToLower$(Str1)

Length$(chane)
RetVal = Length$(Str1)

Note : la dimension de Str1 est de 20, mais la chane ne compte actuellement que 6 caractres, donc la rponse est 6.

Left$(chane, longueur)
TestStr = Left$(Str1, 3)

Constitue, partir de la chane dsigne, un morceau de chane de la longueur spcifie en commenant par la gauche. Si la longueur du morceau de chane est plus grande que celle de la variable de destination, les caractres en trop seront perdus. TestStr devient ainsi Hel . Constitue, partir de la chane dsigne, un morceau de chane de la longueur spcifie en commenant par la droite. Si la longueur du morceau de chane est plus grande que celle de la variable de destination, les caractres en trop seront perdus. TestStr est prsent lo . Constitue, partir de la chane dsigne et en commenant dbut , un morceau de chane de la longueur spcifie. Si la longueur du morceau de chane est plus grande que celle de la variable de destination, les caractres en trop seront perdus. TestStr contient alors llo . est dtermine par les rgles suivantes : 0 si les chanes sont identiques 1 si chane1 > chane2 255 si chane2 > chane1 Le troisime paramtre, compare_type, dtermine si la comparaison doit tenir compte de la casse ou non. Ce paramtre peut prendre deux valeurs : 0 = sensible la casse 1 = indiffrent la casse.

Right$(chane, longueur)
TestStr = Right$(Str1, 3)

Mid$(chane, dbut, longueur)

TestStr = Mid$(Str1, 2, 3)

Compare$(chane1, chane2, compare_type) Compare la chane1 la chane2 et renvoie un octet dont la valeur

Exemples Str1 = "ABC" Str2 = "abc" RetVal = Compare$(Str1, Str2, 0) RetVal vaut 255 du fait que Str2 apparat plus loin dans la squence des codes ASCII. RetVal = Compare$(Str1, Str2, 1) RetVal vaut alors 0 parce que, abstraction faite de la casse, les deux chanes sont identiques. Str2 = Str1 RetVal = Compare$(Str1, Str2, 0) RetVal vaut encore 0, puisque maintenant les deux chanes sont identiques.

14/27

FLOWCODE V4.2 Notice d'utilisation


FloatToString$( float ) Convertit un nombre en virgule flottante en une chane.

float = Nombre en virgule flottante convertir. string = Variable chane devant contenir les donnes de la conversion. string = FloatToString( float ) NumberToHex$( number ) Convertit un nombre en une chane hexadcimale.

number = octet ou nombre entier convertir. string = Variable chane devant contenir les donnes de la conversion. string = NumberToHex$( number )

StringToInt$(string) entire.

Convertit une chane de donnes ASCII numriques en une valeur de donne numrique

string = Variable chane contenant les donnes ASCII numriques. Retourne les donnes numriques de la chane au format dcimal. number = StringToInt$( string ) StringToFloat$( string ) Convertitune chane de donnes ASCII numriques en une variable en virgule flottante.

string = Variable chane contenant les donnes ASCII numriques. Retourne les donnes numriques de la chane au format de virgule flottante. float = StringToFloat$( string )

15/27

FLOWCODE V4.2 Notice d'utilisation


Proprits de licne INTERRUPTION
Les interruptions servent ragir des vnements tels qu'un stimulus externe ou l'intervention d'une horloge interne. Quand une interruption survient, le processeur quitte le programme en cours d'excution et excute la macro associe l'interruption puis il reprend le programme normal l o il l'avait quitt. La macro d'interruption doit tre cre par le concepteur qui a implant cette interruption. Le nombre et le type d'interruptions disponibles dpendent du microcontrleur utilis. Certains processeurs disposent de nombreuses interruptions, d'autres n'en ont que peu. Les caractristiques et le mode opratoire varient d'une interruption l'autre. L'utilisateur devra se rfrer aux boites de dialogue pour obtenir les prcisions. Cependant Flowcode se sert de quatre type principaux : TMR<X> - overflow : ragit une fin de temporisation lie un "timer" interne du processeur. INT : ragit un changement d'tat logique sur une broche du processeur configure en interruption externe. Port change : ragit un changement d'tat logique sur un ensemble de broches du processeur. Dfini par le client : c'est le concepteur qui dtermine la procdure d'interruption Vous trouverez ci-aprs des prcisions sur les diffrentes interruptions, accompagnes d'exemples. Crer une interruption

On insre la fonction dans l'algorigramme. Ensuite, on valide ou non l'interruption pour l'utiliser ou la masquer. Slectionnez la source d'interruption dsire dans le menu droulant "Interruption active" parmi celles disponibles sur le processeur utilis. Spcifiez les proprits pour cet vnement. Choisissez la macro appeler ou crez-en une nouvelle. Proprits des interruptions : TMR<X> Interruption par dpassement de capacit d'un temporisateur (par ex. TMR0 overflow) Arrte l'excution du programme normal et excute la macro d'interruption chaque fois que le temporisateur spcifi arrive bout de course. La temporisation s'effectue par comptage des impulsions de l'horloge avec application d'un facteur de division (une explication suit). Quand le compteur atteint le maximum, il retombe zro en provoquant un dpassement de capacit (overflow) qui lance la procdure d'interruption. Les interruptions par dbordement de temporisateur se rptent priodiquement, ce qui se rvle trs pratique pour dclencher une procdure intervalle fixe ou pour des actions rptitives frquentes, comme la mise jour d'un afficheur. Nota : Vrifiez que la vitesse d'horloge est correcte (boite de dialogue "Project Options" du menu "Edition") parce qu'elle affecte le rglage de la frquence d'interruption du temporisateur. Ce sont le processeur et son temporisateur qui dterminent les proprits exactes disponibles. Aussi les rglages sur le dpassement du temporisateur peuvent-ils varier d'un processeur l'autre et mme d'un temporisateur l'autre. L'exemple ci-dessous donnera une ide des caractristiques que l'on peut rencontrer avec une interruption par dbordement. Des informations complmentaires sont donnes dans les botes de dialogue d'interruption, mais aussi dans les notes techniques des processeurs. Par exemple TMR1 sur le 16F877A a moins d'options de pr-diviseur que l'interruption TMR0, il ne permet pas non plus le choix du flanc de dclenchement comme sur TMR0.

16/27

FLOWCODE V4.2 Notice d'utilisation


Exemple de proprits de TMR0 (Timer0) : Slection de l'horloge de rfrence Dans la slection de la rfrence temporelle prise en considration pour la temporisation, les options dpendent du processeur utilis. Exemples : Horloge interne (CLK0) Transition sur T0CKI (broche "RA4" pour ECIO)

Slection du flanc de transition sur T0CKI pris en compte


Flanc montant (low-to-high transition) Flanc descendant (high-to-low transition)

Rapport du pr-diviseur : Slection d'un rapport de division du signal d'horloge. Le pr-diviseur rduit la frquence de l'horloge utilise pour le dclenchement du temporisateur, ce qui diminue la rcurrence de l'excution de la procdure d'interruption. Ce rapport peut prendre un certain nombre de valeurs diffrentes, selon le processeur choisi.
Par exemple : pour le Timer0 du PIC18F4455 utilis dans le circuit ECIO40, le rapport de prdivision est compris entre 1/1 et 1/256 et Flowcode utilise ce timer en 8 bits. Formule : frquence d'interruption = (Fhorloge/4)*Rapport du prdiviseur/2 d'instruction interne). Frquence d'horloge : 48 000 000Hz (48MHz) Rapport du pr-diviseur : 1 / 256 Frquence d'interruption : 183,105Hz
nbre bits timer

(Fhorloge/4 = frquence

Frquence d'horloge : 48 000 000Hz (48MHz) Rapport du pr-diviseur : 1 / 64 Frquence d'interruption : 732,422Hz

Nota : avec les ECIO, Flowcode V4.2 permet les interruptions par le Timer0 (mode 8 bits), le Timer1 (mode 16 bits) et le Timer2 (mode 8 bits), toutes les possibilits ne sont donc pas offertes.

INT
Procdure d'interruption dclenche par le changement d'tat logique sur une broche d'entre du processeur configure en "Interruption externe". On peut choisir de dclencher l'interruption sur : le flanc descendant de INT le flanc montant de INT Les interruptions INT sont utiles dans le cas o l'on souhaite que l'interruption s'excute quand un vnement externe particulier se produit, comme une commande d'arrt d'urgence par exemple. Nota : sur le PIC18F4455 (ECIO40) les broches RB0, RB1, RB2 permettent l'interruption INT (INT0, INT1, INT2)

Changement sur le Port


La procdure d'interruption s'excute lors d'un changement d'tat logique sur un port prcis du microcontrleur. Nota : sur le PIC18F4455 (ECIO40) cette option s'applique au port B.

Client
L'option Client permet la cration d'une procdure d'interruption entirement dfinie par le concepteur. Cette option est utile pour exploiter des sources d'interruption prsentes sur certains microcontrleurs et non implmentes directement par Flowcode (USART, comparateur analogique)

17/27

FLOWCODE V4.2 Notice d'utilisation


Proprits de licne CODE C
Des programmes crits en C (ou/et en Assembleur) peuvent tre "enfouis" dans une application Flowcode grce l'icne Code C. Remarque : Ce code ne pourra pas tre simul par Flowcode, mais sera transmis au microcontrleur durant la compilation. Nom afficher Le texte qui apparatra en haut et droite de l'icne sur lalgorigramme Code C Entrer le code C que vous souhaitez inclure votre algorigramme. Le code C n'est pas contrl par Flowcode mais est transmis directement au compilateur C lorsque l'algorigramme est compil. Il est important de vrifier que le code C entr est correct, puisque les erreurs ventuelles de syntaxes feront chouer la compilation de tout votre algorigramme. Pour accder aux variables Flowcode, aux macros et aux points de jonction, il est ncessaire de caractriser l'lment dans votre code C par les prfixes respectifs FCV_, FCM_ et FCC_NomMacro_. Par exemple, pour utiliser la variable Flowcode appele TEMPO dans votre code C, vous devrez y faire rfrence en utilisant FCV_TEMPO. Notez que toutes les variables dfinies avec Flowcode sont crites en majuscules. Pour utiliser la macro Flowcode appele TEST dans votre programme en C, vous devrez l'appeler FCM_TEST(). Notez que tous les noms de macros Flowcode doivent s'crire en majuscules. Pour aller un point de jonction nomm A, dfini dans une macro Flowcode nomme TEST, votre code C doit y faire rfrence par FCC_TEST_A.. Les points de jonction dfinis dans l'algorigramme principal de Flowcode doivent contenir le prfixe FCC_Main_. Pour entrer un caractre Tab dans la fentre du Code C, utiliser Ctrl+Tab. Code assembleur Il est possible d'entrer des instructions assembleur dans la fentre de Proprits du code C. Pour une ligne d'assembleur, utiliser l'oprateur asm devant l'instruction, par exemple : asm movlw 5 Vous pouvez aussi spcifier plusieurs lignes d'assembleur. Procdez de la faon suivante pour encadrer plusieurs instructions l'intrieur d'un bloc asm : asm { ; Entrer votre code ici } Pour accder aux variables Flowcode ainsi qu'aux macros et aux points de jonction, il est ncessaire de caractriser l'lment utilis par un prfixe prcd du caractre _ (soulign), savoir _FCV_, _FCM_ et _FCC_NomMacro_ respectivement. Les exemples prcdents deviennent alors _FCV_TEMPO, _FCM_TEST() et _FCC_TEST_A.

Proprits de licne COMMENTAIRE


L'icne Commentaires vous permet de placer des commentaires sur votre algorigramme. Tirez l'icne et dposez-la l'endroit du code o vous voulez introduire un commentaire puis servez-vous de la fentre des proprits des icnes. Remarquez que le commentaire rside sur le ct de l'algorigramme. En effet, il ne doit pas tre excut et ne fait donc pas partie du programme en tant que tel. Les commentaires vous permettent d'annoter votre code pour en expliquer les fonctions, vous souvenir de l'utilit d'une variable, de certains paramtres etc Lorsqu'on travaille en quipe, un code bien document permet de mieux le comprendre et d'acclrer son dveloppement.

18/27

FLOWCODE V4.2 Notice d'utilisation La barre dICNES DE COMPOSANTS

Flowcode dispose de nombreux "composants" que l'on peut placer sur le panneau de simulation (panel). Ils correspondent soit des composants physiques externes utiles pour la simulation, tels que des boutons poussoirs ou commutateurs, des afficheurs divers (LEDs, 7 segments, LCD), soit des fonctionnalits internes particulires du microcontrleur en liaison avec des circuits externes (convertisseur(s) A/N, commande(s) PWM, bus CAN, IC, USB). Ces composants sont configurables par bote de dialogue et peuvent ncessiter une ou plusieurs routines (sousprogrammes) pour fonctionner. Toutes les routines sont fournies et ne demandent qu'un paramtrage limit. Pour certains composants simples, tels que LED ou commutateur, dans un souci de formation l'utilisation des routines fournies ne s'impose pas, il est donc prfrable de grer directement ces composants. Cette notice se limite dcrire la mise en uvre de quelques composants classiques. Proprits du composant SWITCH (interrupteur) ou SWITCHbank (range d'interrupteurs) Proprits du composant LED (LED seule) ou LEDarray (matrice de LEDs) Proprits du composant led7seg (simple afficheur 7 segments) Proprits du composant led7seg4 (quadruple afficheur 7 segments) Proprits du composant LCDDisplay (afficheur LCD) Proprits du composant ADC (convertisseur Analogique/Numrique) Proprits du composant PWM (modulateur MLI)

Le PANNEAU de simulation
Lors d'un clic sur l'icne du composant dans la barre d'outil, celui-ci est pos sur le panneau de simulation (panel). Nota : Si ce panneau n'est pas visible, ouvrir Affichage dans la barre de menu et cocher "Panel". Par commodit il est prfrable de rendre ce panneau flottant (fentre Panel, clic droit sur Panel, slection de "Floating") puis d'ajuster sa taille. Dans la fentre de Proprits lie au panneau on peut paramtrer chaque composant, en particulier : ses proprits physiques (type, couleur, taille) en cliquant doite de Propits tendues, ses connections au microcontrleur en cliquant doite de Connexions.

19/27

FLOWCODE V4.2 Notice d'utilisation


Proprits du composant SWITCH (interrupteurs) Proprits tendues
Taille : Permet d'ajuster la taille du pictogramme affich sur le panneau de simulation. Type de commutateur : Utiliser la liste droulante pour slectionner le type de commutateur . Types disponibles : levier (basculer) Bouton-poussoir glissire (inverseur) bascule (rocker) Rotatif Fonctionnement : Configure si le contact a un fonctionnement bistable ("verrouillage") ou monostable ("momentan") Type de contact : Polarit Configure si le commutateur produit un 1 logique (Actif Haut) ou un 0 logique (Actif Bas) lorsqu'il est actionn. Anti-Rebond : Temps de rebond du contact en ms. Le temps de rebond est utilis en relation avec les routines Dlai_de_Monte et Dlai_de_Descente pour s'assurer que les rebonds sont termins et que l'tat stable du contact est obtenu.

Connexions
Prciser la ligne de port laquelle est reli le commutateur. La ligne Etat prcise si la connexion est valide ou non.

Proprits du composant SWITCHbank (range d'interrupteurs) Proprits tendues Nombre de commutateurs :


Donner une valeur entre 1 et 8 Type de commutateur : Deux types possibles : levier ou poussoir (contact fermeture) Direction : Orientation : Disposition de la range (Horizontale ou verticale) Taille et rebond : voir SWITCH ci-dessus Cocher Labels et/ou Conections pour afficher les tiquettes et/ou les lignes de port sur le panneau.

Connexions
Voir SWITCH ci-dessus

Remarque : il est gnralement plus judicieux d'utiliser la range d'interrupteurs, mme pour un seul, car ce composant permet de voir quelles broches ils sont raccords et de leur affecter des tiquettes. 20/27

FLOWCODE V4.2 Notice d'utilisation


Proprits du composant LED Proprits tendues
Le composant LED prsente les proprits rglables suivantes : Taille : Permet d'ajuster la taille du pictogramme affich sur le panneau de simulation. Forme : Permet de dfinir la forme du pictogramme affich sur le panneau de simulation. Couleur : Permet de dfinir la couleur du pictogramme affich sur le panneau de simulation. Polarit : Permet de dfinir le niveau logique qui provoque l'allumage de la LED

Actif Haut : la LED s'allume avec un niveau logique 1 Actif Bas : la LED s'allume avec un niveau logique 0 Connexions
Prciser la ligne de port du microcontrleur laquelle est reli la LED. La ligne Etat prcise si la connexion est valide.

Proprits du composant LEDarray (matrice de LEDs) Proprits tendues


Les proprits du composant LEDarray sont identiques celles du composant LED (voir ci-dessus). On peut rgler en plus le nombre de LED, l'orientation du groupement. Cocher Labels et/ou Conections pour afficher les tiquettes et/ou les lignes de port sur le panneau.

Connexions
Prciser le port du microcontrleur auquel sont relies les LEDs (toutes les LEDs du groupement doivent tre connectes au mme port). La ligne Etat prcise si la connexion est valide.

Remarque : il est gnralement plus judicieux d'utiliser la matrice de LEDs, mme pour une seule, car ce composant permet d'afficher quelles broches elles sont raccordes et de leur affecter des tiquettes. 21/27

FLOWCODE V4.2 Notice d'utilisation


Proprits du composant led7seg (simple afficheur 7 segments) Proprits tendues
Le composant LED prsente les proprits rglables suivantes : Commun : Li au type d'afficheur utilis : cathode commune ou anode commune. Couleur : Permet de dfinir la couleur du pictogramme affich sur le panneau de simulation. Taille : Permet d'ajuster la taille du pictogramme affich sur le panneau de simulation.

Connexions
Prciser le port du microcontrleur auquel est reli l'afficheur Note : Tous les segments doivent tre connectes au mme port dans le cas o le point digital est utilis, il faut relier le point commun des segments une ligne d'un autre port. La ligne Etat prcise si la connexion est valide.

Routines composant
Deux routines composant sont prcrites et permettent donc d'utiliser trs facilement ce composant : Afficher_chiffre : allume les segments en fonction de la valeur du paramtre Valeur 1 et le point dcimal en fonction de la valeur Point_ Dcimal. Dans l'exemple ci-contre on affecte la valeur 4 la 2 variable Val (1) que l'on fait afficher ensuite (2). Le point dcimal est teint. Cleardigit : teint l'afficheur.

Proprits du composant led7seg4 (quadruple afficheur 7 segments)


La mise en uvre de ce composant est sensiblement identique celle du simple afficheur 7 segments ci-dessus. Les diffrences se situent au niveau : Des connexions : il y a 4 broches communes au lieu d'une seule. L'affichage tant multiplex les segments sont en parallle. Suivant l'utilisation ou non des points dcimaux cet afficheur ncessite donc entre 11 et 15 lignes de port. Des routines composant : il n'existe que la routine Afficher_chiffre qui comporte 3 paramtres : o Chiffre : spcifie l'afficheur allumer (les afficheurs sont numrots de 0 3 en partant de la gauche, une valeur de digit suprieure 3 teint les afficheurs) o Valeur : correspond la valeur afficher sur l'afficheur slectionn. o Point_ Dcimal : spcifie si le point dcimal de l'afficheur slectionn doit s'allumer ou non

22/27

FLOWCODE V4.2 Notice d'utilisation


Proprits du composant LCDDisplay (afficheur LCD)
Nota : L'afficheur fourni en Eblocks (EB005) comporte 2 lignes de 16 caractres

Proprits tendues
Format LCD : Dfinit le nombre de cractres par ligne x le nombre de lignes. Taille Texte : Permet de dfinir la hauteur des caractres (en pixels) du pictogramme affich sur le panneau de simulation. Couleur Texte: Permet de dfinir la couleur des caractres sur le pictogramme affich sur le panneau de simulation. Couleur Arrire-plan: Permet de dfinir la couleur de l'arrire-plandes caractres sur le pictogramme affich sur le panneau de simulation.

Connexions
Prciser le port du microcontrleur auquel est reli l'afficheur Nota : Les connexions indiques par dfaut correspondent celles de l'Eblock EB005. Dans le cas de l'utilisation de ce circuit seule la lettre de port peut donc tre change. La ligne Etat prcise si la connexion est valide.

Routines composant
Dix routines composant sont prcrites et permettent donc d'utiliser trs facilement ce composant : Init : Cette routine doit tre appele une fois pour initialiser l'afficheur LCD avant toute autre routine le concernant. Effacer : Efface l'afficheur Effacer_Ligne (Ligne (OCTET)) : Efface la ligne dont le numro correspond la valeur de Ligne crit_Caractre (Caractre (OCTET)) : crit le caractre correspondant au code ASCII de la valeur caractre. crit_Nombre (Nombre (ENTIER)) : crit le nombre. crit_Chane (Chaine Caractres (CHAINE)) : crit la chane de caractres. Commande (in (OCTET)) : Envoie un octet de commande l'afficheur (consulter la fiche dtaille de l'afficheur) Curseur(x(OCTET), y(OCTET)) : Positionne le curseur dans une position donne en x et en y Drouler_Affichage(Direction (OCTET), Nombre_Positions (OCTET)) : fait dfiler l'affichage vers la gauche ou la droite en fonction du nombre de positions correspondant la variable Nombre_Positions. Si l'octet Direction vaut 0 l'affichage dfile vers la gauche Si l'octet Direction vaut 0 l'affichage dfile vers la gauche criture_en_RAM (nldx(OCTET), d0(OCTET) d7(OCTET)) : modifie la mmoire interne de l'afficheur afin d'y intgrer jusqu' 8 caractres personnaliss. Les caractres sont numrots de 0 7 grce la valeur de nldx. Les octets d0 d7 correspondent aux valeurs des donnes en colonne du caractre personnalis. Pour afficher un de ces caractres il faut utiliser la routine crit_Caractre Nota : cette routine n'est pas simulable.

23/27

FLOWCODE V4.2 Notice d'utilisation


Proprits du "composant" ADC (convertisseur Analogique/Numrique)
Nota : il ne s'agit pas exactement d'un composant mais d'une fonction interne particulire des microcontrleurs. Sa mise en uvre en simulation est assure par un potentiomtre externe, animable la main, qui apparat sur le panneau de simulation.

Proprits tendues
Temps Acquisition : Dfinit la dure de charge du condensateur de l'chantillonneur/bloqueur avant de lancer la conversion. Si un seul canal de conversion Analogique/Numrique est utilis le rglage peut tre 0 ou 1 pour maximiser la vitesse de conversion, sinon la valeur par dfaut de 40 est recommande. Vitesse Conversion : Dfinit la dure de conversion TA/D. Si choix FRC => TA/D = 1s Sinon formule : TA/D = 1/VitesseConversion Ex : VitesseConversion = FOSC/16 Si FOSC = 48MHz (ECIO40) => TA/D = (16/48)*106 = 0,33s Nota : sachant que TA/D mini = 0,8ms, si FOSC = 48MHz seules les vitesses de conversion FRC et FOSC/64 conviennent. Option_Vref : Dfinit la source pour la tension de rfrence du convertisseur. VDD : la rfrence est fournie par le +5V du microcontrleur. VREF+ : la rfrence est fournie par une source annexe (conversion plus prcise qu'avec VDD) Tension_Vref : Dfinit la valeur de la tension de rfrence du convertisseur. Type : Le convertisseur ADC est matrialis sur le panneau de simulation par le pictogramme d'un potentiomtre animable manuellement : soit potentiomtre tournant (bouton), soit potentiomtre rectiligne (curseur).

Connexions
Prciser la ligne de port du microcontrleur utlise en entre ADC (li au microcontrleur utilis). La ligne Etat prcise si la connexion est valide.

Routines composant
Quatre routines composant sont prcrites et permettent donc d'utiliser trs facilement ce composant : Lire_comme_Octet : Renvoie les 8 bits de poids fort de la valeur analogique convertie. Exemple : avec un convertisseur de rsolution >=8 bits, la valeur renvoye est comprise entre 0 et 255 par incrment de 1 Lire_comme_Entier : Renvoie la valeur analogique convertie sous forme d'Entier (nombre 16 bits) Nota : tous les bits ne sont pas significatifs. Il faut se rfrer la documentation du microcontrleur pour connatre la rsolution du (des) convertisseur(s) ADC. Par exemple, sur le PIC 18F4455 utilis dans l'ECIO40, la rsolution est de 10 bits. La valeur renvoye est donc comprise entre 0 et 1023 par incrment de 1. Lire_comme_Tension : Renvoie la valeur analogique de la tension convertie sous forme de nombre virgule flottante (nombre 32 bits) Exemple : avec VDD = 5V et un convertisseur 10 bits la valeur renvoye est comprise entre 0.00 et 5.00 par incrment de 0.05 Lire_comme_Chane : Renvoie la valeur analogique de la tension, convertie en nombre virgule flottante, sous forme de chane de caractres (intressant en association avec un afficheur LCD).

24/27

FLOWCODE V4.2 Notice d'utilisation


Proprits du "composant" PWM (Pulse Width Modulation = MLI modulateur de largeur d'impulsion)
Nota : il ne s'agit pas exactement d'un composant mais d'une fonction particulire de certains microcontrleurs. Sa mise en uvre en simulation est assure par l'affichage des graphes des signaux MLI sur le panneau de simulation.

Proprits tendues
Les copies d'cran ci-dessous correspondent un microcontrleur PIC 18F4455 possdant deux canaux PWM, CCP1 et CCP2, correspondant respectivement aux broches 17 et 16 (ou 36 si on utilise la broche alternative (alternative pin)). Period register : Nombre de valeurs possibles du rapport cyclique = Period register +1. Clock source : Valeur du prdiviseur de la frquence d'horloge du microcontrleur. En pratique il faut combiner les 2 rglages pour obtenir la frquence de modulation (Frequency) souhaite en fonction de la frquence d'horloge du microcontrleur (Clock speed).

Connexions
Pas de connexions spcifier pour ce composant.

Routines composant
Cinq routines composant sont prcrites et permettent donc d'utiliser trs facilement ce composant : Enable (nldx(OCTET)) : Valide le canal PWM spcifi et lance son fonctionnement Dans l'exemple ci-dessus la routine est appele 2 fois : une 1re fois avec nldx = 1 pour activer CCP1 et une 2me fois avec nldx = 2 pour activer CCP2. Disable (nldx(OCTET)) : Dsactive le canal PWM spcifi. SetDutyCycle (nldx(OCTET), nDuty(OCTET)) : Fixe la valeur du rapport cyclique (nDuty) du canal PWM spcifi (nldx). Dans l'exemple ci-dessus la routine est appele 2 fois : une 1re fois pour CCP1 (nldx = 1) avec nDuty = 200 => le rapport cyclique = 200/250 = 80% une 2me fois pour CCP2 (nldx = 2) avec nDuty = 100 => le rapport cyclique = 100/250 = 40% SetDutyCycle10bit (nldx(OCTET), nDuty(ENTIER)) : Fixe la valeur sur 10 bits du rapport cyclique (nDuty) du canal PWM spcifi (nldx). Le rapport cyclique varie de 0% (nDuty = 0) 100% (nDuty = 1000) ChangePeriod (nPeriodVal(OCTET), nPrescalerVal(ENTIER)) : Permet de modifier en cours d'excution les valeurs de Period register et de Clock source ( utiliser avec prcaution).

25/27

FLOWCODE V4.2 Notice d'utilisation La simulation


Flowcode dispose de 3 modes de simulation : La simulation en continu : correspond sensiblement au fonctionnement attendu du microcontrleur in-situ.

Le pas--pas dtaill : l'algorigramme est excut Simulation continue Suspendre icne par icne chaque clic de souris sur le Arrter bouton. Pas--pas dtaill Un rectangle rouge signale licne en Pas--pas principal cours dexcution. Toutes les macros traites en algorigrammes sont simules. Les fentres des variables, de la pile des appels de macros et du PICmicro sont mises jour chaque tape de la simulation. Le pas--pas principal : fonctionne comme le Pas Pas dtaill, la diffrence suivante : quand le mode Pas Pas principal rencontre une macro contenant un algorigramme spar, Pas Pas principal traite la macro en entier au lieu de louvrir et de lexcuter pas pas comme le ferait Pas Pas dtaill. Vitesse de simulation : En mode "simulation en continu" la vitesse de simulation est rglable dans la boite de dialogue "Options Projet" du menu "Edition" afin d'observer le droulement du programme. Nota : Si le rglage "Aussi vite que possible" est slectionn alors les fentres des variables, de la pile des appels de macros et les vues du microcontrleur ne sont pas rafrachies moins de suspendre le droulement de la simulation.

Excuter

Les points d'arrt : Ajouter et enlever des points darrts Les points darrts peuvent tre mis ou enlevs en slectionnant licne sur laquelle vous voulez vous arrter, puis en choisissant loption Mettre/enlever un point darrt du menu Edition. Une autre faon de faire est dutiliser la touche fonction F9. Pour effacer tous les points darrt, slectionner Effacer tous les points darrt depuis le menu Edition. Les points d'arrt sont matrialiss par un point rouge en haut et gauche de l'icne slectionne. Utilisation de points darrts Lorsque quun algorigramme est simul en continu, la simulation sarrte la rencontre le premier point darrt. Appuyer sur la touche Excuter pour relancer le droulement de la simulation jusqu la rencontre du prochain point darrt sil y en a ou jusqu la fin sil ny en a plus dautres. Lorsque la simulation rencontre un point darrt, lutilisateur peut examiner la valeur des variables, les entres/sorties, les composants du panneau de simulation... Les points darrts sont bien pratiques pour arrter le programme au dbut dun morceau de code particulirement complexe. Lutilisateur peut alors prendre la main pour avancer pas pas et mettre au point son programme.

26/27

FLOWCODE V4.2 Notice d'utilisation La compilation et le transfert d'un programme vers un PICmicro
Si on utilise les cartes de dveloppement ECIO28 ou ECIO40 de Matrix Multimedia, toutes les options de compilation sont pr-renseignes, le mode opratoire est donc des plus simples. Introduction Les microcontrleurs PICmicro peuvent seulement excuter du code hexadcimal (format ;hex). Flowcode doit donc traduire les algorigrammes (format .fcf) en un format comprhensible par un composant PICmicro. Flowcode procde de la faon suivante : 1 Traduit lalgorigramme en code C (format .c) 2 Compile le code C en Assembleur (format .asm) 3 Assemble le programme assembleur en code Hexa (format .hex) 4 Envoie le code Hexa au composant PICmicro Bien que ceci puisse paratre un peu lourd, cette faon de faire procure lavantage de permettre denfouir dans le programme du code C ou de lassembleur provenant de tiers. Cela permet galement au programmeur confirm d'observer le code C ou le code assembleur gnrs pour cerner certains dysfonctionnements. Nota : Avant de compiler l'algorigramme en un programme qui sera envoy au microcontrleur PICmicro, il faut vrifier que le choix de PICmicro cible est correct (boite de dialogue "Options Projet" du menu "Edition") Compiler un programme vers une carte de dveloppement ECIO28 ou ECIO40 : Vrifier le choix de la cible Raccorder la carte ECIO un port USB du PC Lancer la compilation/transfert du programme vers le microcontrleur (menu Puce Compiler -> Puce) En fin de processus, une fentre avec le message "Please connect the ECIO" s'affiche, il faut alors actionner le bouton Reset de la carte ECIO et le programme est transfr en mmoire du PICmicro.

27/27

Вам также может понравиться