flowcode mode d emploi

Upload: anacer55

Post on 09-Oct-2015

207 views

Category:

Documents


3 download

DESCRIPTION

FLOWCODE Mode d Emploi

TRANSCRIPT

  • - 1 -

    Flowcode - Mode d'emploi Sommaire I) Introduction

    Introduction 4 Nouveauts de la version 2 5 Les microcontrleurs PIC 5 Support technique 7

    II) Pour commencer

    Concevoir un algorigramme pour un composant PIC 8 Outils et vues Flowcode 8 Agrandir les vues 10

    III) Travailler avec les algorigrammes

    Lancer Flowcode 11 Crer un nouvel algorigramme 11 Ouvrir un algorigramme existant 11 Sauvegarder un algorigramme 10 Imprimer les algorigrammes 10 Fermer Flowcode 12

    IV) Crer et diter des algorigrammes

    Ajouter une icne un algorigramme 13 Slectionner les icnes 14 Dplacer, supprimer, copier et coller les icnes 14 Editer les proprits d'une icne 15 Utiliser les masques 15 Proprits de l'icne Entre (input) 17 Proprits de l'icne Sortie (output) 18 Proprits de l'icne Point de jonction (connection point) 19 Proprits de l'icne Pause (delay) 20 Proprits de l'icne Dcision (decision) 21 Proprits de l'icne Boucle (loop) 23 Proprits de l'icne Macro (macro) 24 Proprits de l'icne Calculs (calculation) 25 Proprits de l'icne Interruption (interrupt) 27 Proprits de l'icne Code (code) 28 Proprits de l'icne Commentaire (comment) 30

    V) Ajouter et diter des composants

    Ajouter des composants 31 Editer les connexions d'un composant 32 Fichier d'aide des composants 33 Composants standards

    Thermomtre analogique 34 Afficheur LCD 35 LEDs 37 Quadruple afficheur 7 segments 38

  • - 2 -

    Mono afficheur 7 segments 40 Interrupteurs 41 Buggy 43 IrDA 45 EEPROM 47 Alarm 49 Add Defines 51 KeyPad 53 SPI 53 RS232 56

    VI) Spcifier le PICmicro cible programmer

    Spcifier le PICmicro cible 58 VII) Travailler avec des macros et des variables

    Crer des variables 58 Crer une nouvelle macro 59 Editer et supprimer les macros 59 Exporter une macro 59 Importer une macro 59

    VIII) Simuler un algorigramme

    Dmarrer la simulation de l'algorigramme 61 Icnes de simulation pas pas 61 Modifier la vitesse de simulation 62 Suspendre et arrter la simulation 62 Ajouter et utiliser des points d'arrts 62 Editer les raccourcis clavier 63

    IX) Compiler un algorigramme vers une cible PICmicro

    Configurer le PICmicro 65 Compiler un algorigramme vers un PICmicro 66 Spcifier les options de compilation 67

  • - 3 -

  • - 4 -

    I) Introduction I-1) Introduction Bienvenue dans Flowcode. Flowcode est un logiciel qui vous permet de crer des programmes relativement complexes pour les microcontrleurs de la famille des PICmicro dArizona Microchip. Ce fichier daide contient les informations dont vous aurez besoin pour utiliser Flowcode afin de programmer des composants PICmicro. Si vous sentez que des choses vous chappent ou si vous avez des questions techniques, merci de contacter [email protected]. Comment utiliser ce fichier d'aide Ce fichier daide devra tre utilis en conjonction avec la vingtaine de tutoriaux que nous avons crits pour faciliter lapprentissage de Flowcode. Ces tutoriaux sont livrs avec Flowcode et doivent se trouver dans le sous-rpertoire TUTORIALS li au dossier d'installation. Nous vous suggrons de parcourir ces tutoriaux. Travailler successivement chaque tutorial et rfrez-vous au fichier daide pour plus dinformations sur les actions rencontres dans chacun d'eux. Si vous ne comprenez pas tout immdiatement, pas de panique ! Continuez votre progression et revenez ce tutorial plus tard. Aide contextuelle Dans chaque fentre de Flowcode, vous remarquerez de petits boutons reprables par un '?'. Ils vous apporteront une aide contextuelle sur les fonctions concernes. Vous pouvez aussi nimporte quel moment presser la touche de fonction F1. Laide contextuelle correspondant llment actuellement slectionn sera affiche. Connaissances pralables Flowcode est destin aux utilisateurs qui possdent les bases suivantes : Les principes de base de la logique numrique - Quest-ce quun PICmicro ? - A quoi sert un PICmicro et que peut-on faire avec ? - Un PICmicro a besoin dune horloge en entre. - Un PICmicro possde une circuiterie interne tels que des timers, qui peut tre utilise dans des programmes. - Les algorigrammes et leur fonctionnement - Les principes lmentaires de Windows comme copier, coller etc. - Les circuits lectroniques simples comme les LEDs, les Interrupteurs, les transistors, etc. Si vous avez quelques lacunes, pas de panique ! Gardez seulement lesprit que peut-tre vous ne comprendrez pas tout du premier coup. PICmicro, PIC, MPLAB, et MPASM sont des marques dposes d'Arizona Microchip Inc. www.microchip.com

  • - 5 -

    I-2) Nouveauts de la version 2 Nous listons ici les principales volutions de la version 2. Nouveaux menus et barres d'icnes pour faciliter la compilation et la configuration. Nouveaux PICmicros la liste des PICmicros cibles a t toffe. Prise en compte de PPPv3 qui supporte nos nouvelles cartes de dveloppement

    PICmicros sur bus USB. Support des tableaux. Mise jour de l'afficheur LCD qui peut prsent afficher des chanes de caractres et

    des nombres ainsi que des digits. Import des macros amlior afin de permettre l'utilisateur de mieux rsoudre les

    conflits de variables. I-3) Les microcontrleurs PIC PIC est la contraction de Programmable Integrated Circuit. Plus gnralement, un PICmicro est un composant simple contenant un microprocesseur, de la mmoire RAM (Random Access Memory), de la mmoire ROM (Read Only Memory) et des circuits dentres/sorties. Ces composants ncessitent dtre programms en code hexadcimal (HEX). Flowcode produit le code hexadcimal ncessaire au PICmicro grce un traitement appel 'Compilation'. Pour compiler et produire le code hexa, Flowcode fait appel un certain nombre de programmes un compilateur C et un assembleur. Tout dabord Flowcode traduit votre algorigramme en langage C, puis en assembleur et ensuite en hexadcimal. Ne vous inquitez pas si vous navez jamais utilis des langages de programmation comme le C ou lassembleur la spcificit de Flowcode, cest que vous navez pas connatre lun ou lautre de ces langages ! Avant de commencer avec Flowcode, vous devez savoir un peu ce quest un PICmicro et ce quil est capable de faire. Il existe des centaines de types de PICmicro allant du PICmicro trs simple 8 pattes jusqu des PICmicros trs complexes de 40 pattes. En abordant en premier la section des timers, nous aimons faire rfrence au PIC16F84. Cest un PICmicro assez simple de 18 pattes comportant 13 pattes dentres/sorties qui peuvent tre configures chacune soit comme une entre, soit comme une sortie. Voyez le schma ci-dessous :

    Les pattes (pins) RB0 RB7 sont collectivement nommes 'Port B'. Chaque patte peut tre configure en entre ou en sortie. Quand vous choisissez un PICmicro dans Flowcode, chaque patte sera dclare soit en entre soit en sortie pour vous. Le Port B dispose de 8 pattes quon peut imaginer comme la reprsentation dun octet. Le Port B est en fait contrl par un octet dans la mmoire RAM du PICmicro. Pour chaque patte du port, on parle aussi souvent de

  • - 6 -

    bit de port, puisque cest ce moyen qui est utilis pour la contrler dans un programme. Par exemple, le bit 4 du port B fait rfrence la patte RB3. Grce Flowcode, vous pouvez modifier ltat de nimporte quel bit un moment donn. Vous pouvez tout aussi bien modifier ltat de toutes les pattes du Port B en une seule opration en envoyant un nombre compris entre 0 et 255 au Port B ( ce qui revient accder aux 8 bits de Port B). Pour crire dans tous les bits du Port B de faon simultane, vous devez comprendre le mcanisme des nombres binaires. Dans le systme binaire, le nombre 0 se reprsente par le bit le moins significatif dun octet (ou byte en anglais), le nombre 2 est reprsent par le bit 1, le nombre 4 correspond au bit 2 etc. Par exemple, envoyer le nombre 4 au Port B revient mettre le bit 2 1 ; envoyer le nombre 8 revient mettre le bit 3 1 ; envoyer la valeur 6 revient mettre les bits 1 et 2 1. Les pattes RA0 RA4 sont collectivement nommes 'Port A'. Le Port A est trait de la mme faon que le Port B et les oprations que nous venons de voir sur les bits sappliquent tout aussi bien au port A. Cependant, le Port A ne dispose que de 5 pattes bits 0 4. Le nombre est limit par le nombre de pattes de ce composant 18 pattes. Pattes VSS et VDD : il sagit des pattes dalimentation : le positif de la tension dalimentation (normalement 5V) est appliqu la patte VDD du botier et la masse la patte VSS. MCLR est la patte de reset. Mettre cette patte 0V pour reseter le composant ou pour redmarrer votre programme. OSC1 et OSC2 sont deux pattes dhorloge. Tous les microcontrleurs PIC ncessitent une circuiterie de gnration dhorloge pour faire tourner leur programme. Il existe plusieurs types dhorloge. Si vous avez besoin dune solution peu onreuse, le mieux est dutiliser un couple rsistance - capacit comme montr ci-dessous :

    La vitesse dhorloge sera fonction de R, C et de la tension dalimentation. OSC2 est la patte de sortie dhorloge. Si vous avez besoin dune horloge plus prcise et tournant plus vite, utilisez une horloge quartz. Dans ce cas, votre circuiterie ressemblera ceci :

  • - 7 -

    Dans les deux cas, vous avez besoin de spcifier la frquence dhorloge et le type dhorloge la fois dans Flowcode et dans votre programmateur de PIC : la circuiterie interne de chaque systme est diffrente et doit tre configure lors de la programmation du composant. Le PIC16F84 dispose dune architecture interne relativement simple. Dautres composants intgrent des ressources internes permettant de concevoir des applications beaucoup plus complexes. Il sagit par exemples des ressources suivantes : Convertisseur analogique/digital (A/D) : ce convertisseur analogique/digital 8, 10 ou 12 bits permet dutiliser des dtecteurs externes comme des capteurs de lumire ou de temprature, qui dlivrent en sortie un signal analogique reprsentant la quantit mesure. Interface de communication srie plus communment appele USART (Universal Synchronous/Asynchronous Receiver/Transmitters) cest dire un metteur/rcepteur universel de donnes synchrones ou asynchrones. Cette interface est utilise pour permettre la connexion de lapplication avec la majorit des quipements informatiques classiques. Reportez-vous la note technique du PIC16F84 pour plus de dtails. Vous pouvez vous procurer les notes techniques ladresse www.microchip.com. I-4) Support technique Le support technique concernant Flowcode peut tre obtenu par courrier lectronique : [email protected]. Problmes rpertoris Compiler avec des droits utilisateur restreints Si vous utilisez Flowcode avec des droits utilisateur limits ou restreints vous devrez contacter votre administrateur systme pour obtenir des privilges d'accs en lecture/criture la cl de registre HKEY_LOCAL_MACHINE\Software\Licenses. Ce problme concerne les utilisateurs de Windows 2000 et Windows XP. Il arrive que la liste des derniers fichiers utiliss ne fonctionne pas. Lorsque vous choisissez un fichier depuis la liste de lancement de Flowcode ou la liste place en bas du menu 'Fichier' , il se peut que la compilation ne fonctionne pas correctement. Dans ce cas, ouvrez le fichier partir de la commande 'Ouvrir' du menu 'Fichier'. Ce problme semble li aux droits d'accs de l'utilisateur.

  • - 8 -

    II) Pour commencer II-1) Concevoir un algorigramme pour un composant PIC Flowcode vous permet de crer des applications pour des microcontrleurs en slectionnant et plaant des icnes pour crer des programmes simples. Ces programmes peuvent contrler des priphriques externes connects au microcontrleur comme des LEDs, un afficheur LCD etc. Une fois que lalgorigramme est termin, Flowcode vous permet de simuler son comportement avant de le compiler, de lassembler et de le transfrer dans un microcontrleur PICmicro . Pour atteindre cet objectif avec Flowcode, il suffit de raliser les tapes suivantes :

    1. Crer un nouvel algorigramme, spcifier le microcontrleur cible que vous utiliserez.

    2. Slectionner et faire glisser les icnes de la barre doutils vers l'algorigramme

    reprsentatif de votre application. 3. Ajouter les priphriques externes ncessaires en cliquant sur les boutons

    correspondants dans la barre doutils des composants, diter leurs proprits, spcifier comment ils sont connects au microcontrleur et appeler les macros des priphriques.

    4. Lancer la simulation pour vous assurer que lapplication fonctionne correctement. 5. Transfrer lapplication dans le microcontrleur cible par compilation de

    l'algorigramme, assemblage puis gnration du fichier code objet. II-2) Outils et vues Flowcode Lenvironnement de Flowcode consiste en une aire de travail principale dans laquelle saffiche lalgorigramme, plusieurs barres doutils qui vous permettent dajouter des icnes et des composants votre application, trois fentres spcifiques pour montrer ltat du microcontrleur ainsi que les composants attachs et enfin deux fentres qui montrent les variables et les appels de macros lorsque vous simulez votre application.

  • - 9 -

    Barre d'outils d'icnes Glissez et dposez une icne de la barre doutils sur la page de lalgorigramme pour crer votre application. Barre d'outils composants Cette barre doutils propose les composants externes pouvant tre connects au microcontrleur. Cliquez sur un composant et il sera associ au microcontrleur dans la vue qui lui est destine. Les pattes de connexion et les proprits du composant peuvent tre dites. Vue du microcontrleur Le microcontrleur actif est montr dans cette fentre ainsi que tous les composants externes qui lui sont attachs. Lors de la simulation de lapplication, ltat des ports dentres/sorties est indiqu laide de couleurs : le niveau haut des sorties est montr en rouge, le niveau bas est affich en bleu. Fentre Algorigramme Les icnes qui constituent lalgorigramme sont affiches dans cette fentre. Par contre, les icnes qui constituent une macro sont montres dans une fentre spcifique. La fentre principale correspondant lalgorigramme est toujours visible alors que les fentres spcifiques correspondant aux macros peuvent tre montres selon le besoin. Fentre Composant attachs Ltat dun des composants attachs au microcontrleur est affich dans cette vue. Le composant devient 'actif' lors de la simulation de lalgorigramme. Cette vue vous permet aussi dagir avec des composants externes, par exemple en ouvrant et fermant des interrupteurs.

  • - 10 -

    Fentre Variables Lorsque vous simulez un algorigramme, la valeur de nimporte quelle variable utilise dans votre application peut tre examine dans cette vue. La valeur des variables est mise jour lors de toutes les actions, mais cette vue nest pas rafrachie lorsque la simulation est faite la vitesse maximale. Fentre de la pile dappel Cette vue affiche le nom de la macro en cours de simulation. Cette vue est trs pratique lorsquune macro en appelle une autre. Barre doutils Utilisez cette commande pour afficher ou masquer la barre doutils. La barre doutils propose des boutons pour quelques-unes des commandes de Flowcode les plus couramment utilises comme Fichier -> Ouvrir. Vous trouverez aussi sur cette barre doutils des boutons pour dmarrer, arrter et suspendre la simulation. Une coche apparat en face de la ligne Barre doutils dans le menu Affichage pour signaler que la barre doutils est affiche.

    Barre dtat Utilisez cette commande pour afficher ou masquer la barre dtat tout fait en bas de la page. Cette barre fournit des explications supplmentaires comme : quelle est laction excute par llment de menu point, quoi correspond une icne, etc. Une coche apparat en face de la ligne Barre dtat dans le menu Affichage pour signaler que la barre dtat est affiche. II-3) Agrandir les vues Il est possible deffectuer un agrandissement de 25 % de la taille normale de la fentre de lalgorigramme pour voir une plus grande portion du schma. Les fonctions zoom sont aussi accessibles par des touches fonctions. Vous pouvez voir ci-aprs le facteur dchelle disponible ainsi que la touche fonction utiliser pour lobtenir:

    25% F2 50% F3 100% F4

  • - 11 -

    III) Travailler avec des organigrammes III-1) Lancer Flowcode Lors du dmarrage de lapplication Flowcode, vous avez la possibilit soit de charger un fichier Flowcode existant, soit de crer un nouvel algorigramme. Flowcode conserve la liste des quatre fichiers les plus rcemment utiliss, et ceux-ci peuvent tre slectionns par un double-clic. Cliquer sur "Autres fichiers" si le fichier que vous voulez ouvrir ne figure pas dans la liste des fichiers rcents. Problmes rpertoris : Il arrive que la liste des derniers fichiers utiliss ne fonctionne pas. Lorsque vous choisissez un fichier depuis la liste de lancement de Flowcode ou la liste place en bas du menu 'Fichier' , il se peut que la compilation ne fonctionne pas correctement. Dans ce cas, ouvrez le fichier partir de la commande 'Ouvrir' du menu 'Fichier'. Ce problme semble li aux droits d'accs de l'utilisateur. III-2) Crer un nouvel organigramme La commande 'Nouveau' du menu 'Fichier' permet de crer un nouvel algorigramme. Slectionner le microcontrleur cible de votre application. Flowcode affichera alors le schma du microcontrleur dans la vue du microcontrleur et crera un algorigramme vide ne comportant que les icnes Dbut et Fin. Vous pouvez alors commencer y ajouter vos icnes. III-3) Ouvrir un algorigramme existant Il existe plusieurs faons pour ouvrir un algorigramme Flowcode existant.

    1. Slectionner la commande 'Ouvrir' du menu 'Fichier'. Ceci vous permet de rechercher le fichier qui vous intresse.

    2. Slectionner le fichier depuis la liste des fichiers rcemment utiliss accessibles depuis le menu 'Fichier'.

    3. Effectuer un double-clic sur un fichier algorigramme depuis lexplorateur de Windows pour dmarrer Flowcode et ouvrir ce fichier.

    III-4) Sauvegarder un algorigramme Pour sauvegarder un algorigramme, slectionner la commande 'Enregistrer' ou 'Enregistrer sous' du menu 'Fichier'. Les algorigrammes doivent tre sauvegards avant d'tre compils ou transfrs dans le microcontrleur cible. III-5) Imprimer les algorigrammes Utiliser la commande 'Aperu avant impression' du menu 'Fichier' pour afficher lalgorigramme tel quil sera imprim. Quand vous excutez cette commande, la fentre principale est remplace par la fentre de prvisualisation dans laquelle une ou deux pages seront affiches telles quelles seront imprimes. La barre doutils disponible dans lcran de prvisualisation vous propose des options pour visualiser une ou deux pages la fois, vous dplacer en arrire ou en avant dans le document; zoomer en avant ou en arrire sur la page et dmarrer le travail dimpression.

  • - 12 -

    Limpression peut aussi tre obtenue sans passer par la prvisualisation, en slectionnant directement la commande 'Imprimer' du menu 'Fichier'. III-6) Fermer Flowcode Pour fermer un algorigramme Flowcode, slectionner la commande 'Fermer' du menu 'Fichier'. Pour fermer compltement Flowcode, slectionner la commande 'Quitter' du menu 'Fichier'. Dans les deux cas, Flowcode vous demandera si vous souhaitez sauvegarder les modifications apportes votre algorigramme.

  • - 13 -

    IV) Crer et diter des algorigrammes IV-1) Ajouter une icne un algorigramme

    Barre d'icnes Pour ajouter une icne sur l'algorigramme, cliquez gauche sur celle qui vous intresse et maintenez le clic. Le curseur prend la forme dune petite image de licne slectionne. Faites glisser licne dans la fentre active de votre algorigramme et relchez la souris l o vous voulez insrer cette icne. Quand vous dplacez la souris sur l'algorigramme, une petite flche apparat pour montrer o sera insre licne quand le bouton de la souris sera relch. Ce point est identifi comme le point dinsertion. Ds que vous relchez le bouton de la souris, licne sinscrit dans l'algorigramme et le nom et les caractristiques de licne apparaissent sa droite.

  • - 14 -

    IV-2) Slectionner les icnes Avant d'diter ou de dplacer une icne, il est ncessaire de la slectionner. Les icnes slectionnes apparaissent en vido inverse sur un fond noir. Il existe deux faons pour slectionner une ou plusieurs icnes:

    1. Cliquer sur une icne pour la slectionner. Pour l'ajouter ou la soustraire de la slection il faut maintenir la touche Ctrl du clavier enfonce pendant le clic.

    2. Cliquer et tirer un rectangle autour du ou des icnes slectionner.

    IV-3) Dplacer, supprimer, copier et coller les icnes Les icnes peuvent tre dplaces, supprimes, copies dans le presse-papiers, puis colles depuis le presse-papiers. Pour dplacer une ou plusieurs icnes dune position vers une autre lintrieur du mme algorigramme: Slectionner les icnes et ensuite cliquer et faire glisser les icnes slectionnes vers le nouveau point dinsertion. Lorsque vous faites glisser les icnes, le marqueur de point de dinsertion vous indiquera ou les icnes seront insres lorsque vous relcherez la souris. Notez quil est impossible dinsrer des icnes un point situ lintrieur des icnes slectionnes. Pour supprimer des icnes dun algorigramme: Slectionner les icnes supprimer, puis choisir soit 'Supprimer' soit 'Couper' dans le menu 'Edition'. Si vous utilisez Couper, les icnes seront places dans le presse-papiers et par consquent pourront alors tre colles dans un autre algorigramme. Pour copier des icnes depuis un algorigramme: Slectionner les icnes puis cliquer sur 'Copier' du menu 'Edition' pour placer une copie des icnes dans le presse-papiers. Ces icnes pourront alors ventuellement tre colles dans un autre algorigramme.

  • - 15 -

    Pour coller des icnes depuis le presse-papiers sur un algorigramme: Choisir le point dinsertion des icnes en cliquant lendroit qui convient dans lalgorigramme. Slectionner ensuite 'Coller' du menu 'Edition'. Les actions Supprimer, Couper, Copier et Coller sont aussi disponibles dans le menu contextuel qui apparat lorsque vous cliquez droit sur une icne. IV-4) Editer les proprits d'une icnes Les proprits dune icne dfinissent son comportement lorsque Flowcode la compile/assemble et la simule. Comme chacune a des proprits diffrentes ditables par lutilisateur, reportez-vous licne qui vous intresse en particulier. Pour diter les proprits dune icne, slectionnez dabord licne sur votre algorigramme puis la commande 'Proprits' du menu 'Edition'. Vous pouvez plus simplement effectuer un double-clic sur licne dans votre algorigramme. Les proprits dune icne peuvent aussi tre affiches en cliquant droit sur licne. Un menu contextuel saffiche. Vous pouvez alors slectionner loption Proprits de ce menu. IV-5) Utiliser les masques Avant daborder lutilisation des icnes, vous devez savoir comment sont utiliss les 'masques' dans Flowcode. Vous souhaiterez peut tre revenir cette page une fois que vous aurez tudi le fonctionnement des icnes Entre (input) et Sortie (output). Les "masques" peuvent tre slectionns pour travailler avec un nombre donn de bits lire ou crire sur un port. Les masques peuvent tre utiliss avec les icnes Entre et Sortie. Les masques sont particulirement utiles quand un mme port dispose la fois de pattes dclares en entres et dautres en sortie dans la mesure o ils simplifient le contrle/lecture de un ou plusieurs bits en une seule fois. Utilisation de masques en relation avec l'icne Entre (Input) Les bits slectionns dans un masque font que la valeur correspondante est transmise la variable. Les bits non slectionns retournent zro.

  • - 16 -

    Exemples: Imaginons que les 5 Interrupteurs relis au Port A soient enfoncs. Avec le masque ci-dessus seules les valeurs de A1 et A2 seront passes la variable SWITCHES donnant la valeur 6, au lieu de 31 correspondant la somme des 5 bits (1 + 2 + 4 + 8 + 16). Si l'interrupteur A3 est enfonc, alors la valeur 0 sera passe la variable SWITCHES car A3 n'est pas slectionn. Utilisation de masques en relation avec l'icne Sortie (Output) Les bits slectionns dans le masque reoivent la valeur du bit correspondant du nombre ou de la variable envoye. Les bits non slectionns ne sont pas affects et conservent leur valeur prcdente.

    Exemples: Si SWITCHES vaut 255, et que le masque ci-dessus est appliqu sur cette variable, alors les bits B0 et B2 seront affects. Les autres bits B3-B7 ne seront pas modifis et conserveront leur valeur prcdente. Les bits B0 - B2 seront mis 1 puisque les bits correspondants dans la variable SWITCHES le sont aussi. Si SWITCHES vaut 32 alors les bits B0 B2 seront mis zro puisque les bits correspondant sont 0. Le bit B5, qui correspond la valeur 32, ne sera pas modifi puisquil nest pas slectionn dans le masque.

  • - 17 -

    IV-6) Proprits de l'icne Entre (input)

    Licne Entre lit le port spcifi (ou certains bits seulement du port) et place le rsultat dans la variable fournie. Nom afficher Le nom de licne qui apparatra sur lorganigramme. 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 vous 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. Bit unique Utilisez cette option pour lire ltat dun seul bit du port. Port complet Utilisez cette option pour lire ltat du port en entier et ranger la valeur lue dans la variable choisie.

  • - 18 -

    Masque Grce au masquage, il est possible de lire seulement certains bits dans une variable. Ceci est bien pratique quand certains bits du port sont utiliss en sortie. Quand un masque est utilis, seules les valeurs correspondant aux bits slectionns sont lues. Reportez-vous la page Utiliser les masques pour plus d'informations. IV-7) Proprits de l'icne Sortie (output)

    Licne Sortie permet denvoyer la valeur ou le contenu dune variable au port et/ou aux bits spcifis. La sortie est reue par le port en format binaire. Nom afficher Le nom de licne qui apparatra sur lorganigramme. Variable ou valeur Slectionner le nom de la variable ou une valeur numrique que vous souhaitez crire dans ce port. Bouton Variables Ce bouton ouvre la boite de dialogue Variables vous permettant de slectionner une variable existante ou den crer une nouvelle. Port Le slectionner depuis la liste des ports disponibles sur le PICmicro programmer.

  • - 19 -

    Bit unique Utiliser cette option pour crire dans un seul bit du port. Si une valeur vraie (diffrente de zro) 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, grce au masquage, de ncrire que dans certains bits du port. Ceci est bien pratique quand certains bits du port sont configurs en entre et que vous souhaitez laisser ces bits inchangs. Avec le masquage, seuls les bits slectionns recevront une valeur. Les autres ne seront pas affects par cette opration. Reportez-vous la page Utiliser les masques pour plus d'informations. IV-8) Proprits de l'icne Point de jonction (connection point) Les icnes point de jonction sont utilises pour aller dun endroit de lorganigramme un autre. Quand lorganigramme atteint le point de jonction, il saute 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 jonction, le point dans lorganigramme indiquant quel endroit se rendre dans lorganigramme. Le deuxime est le point de saut le point dans lorganigramme partir duquel il faut effectuer le saut. Les deux points partagent une lettre de jonction dans ce cas, la lettre 'A'. Plusieurs points de saut peuvent faire rfrence un mme point de jonction. Etape UN: le point de jonction

  • - 20 -

    Etape DEUX: le point de saut

    Nom afficher Le nom de licne afficher sur lorganigramme. 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. IV-9) Proprits de l'icne Pause (delay)

    Les icnes Pause permettent dajuster le timing de votre programme et den ralentir lexcution. Elles sont particulirement utiles pour baisser la vitesse dexcution du programme afin de permettre linteraction humaine. Nom afficher Le nom de licne qui apparatra sur lorganigramme. Valeur ou variable Pause Ceci correspond la longueur de la pause que vous voulez crer.

  • - 21 -

    Bouton Variables Ce bouton ouvre la boite de dialogue Variables vous permettant de slectionner une variable existante ou den crer une nouvelle. Options Millisecondes/Secondes Les pauses ou temporisations peuvent tre exprimes en millisecondes ou en 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 lorganigramme sans avoir attendre que le temps soit compltement coul. Pour permettre une programmation de pause correcte de votre PICmicro, vous devez choisir la vitesse d'horloge adquate. Pour ce faire utilisez la commande 'Vitesse d'horloge' du menu 'PIC' IV-10) Proprits de l'icne Dcision (decision)

    Les icnes de dcision vous permettent de tester une condition et deffectuer certains traitements en fonction du rsultat du test. Des icnes peuvent tre places dans lune ou lautre branche de sortie de licne dcision. Nom afficher Le nom de licne qui apparatra sur lorganigramme. Condition Le losange Dcision teste la condition afin de dterminer dans quelle branche se passera la suite du traitement. Si la condition vaut 0 ou FAUX, cest la branche 'Non' qui sera droule.

  • - 22 -

    Si la condition vaut un nombre diffrent de 0 ou VRAI alors cest la branche du OUI qui sera excute. Les conditions peuvent contenir des nombres, des variables et des oprateurs comme : (, ) - Parenthses. =, - Egal , Non gal . +, -, *, /, MOD - Addition, Soustraction, Multiplication, Division & Modulo. = - Plus petit que, Plus petit ou gal , Plus grand que, Plus grand

    ou gal . >>, > 2 & MASK AETB = PORT_A AND PORT_B Bouton Variables Ce bouton ouvre la boite de dialogue Variables vous 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 lorganigramme. Cocher cette option pour inverser les deux branches. Valeurs logiques Flowcode considre zro comme FAUX et toute autre valeur diffrente de zro comme VRAI. Ceci permet dutiliser des variables dans un contexte VRAI ou FAUX. Par exemple, 'If TEMPO_FINI' prendra le chemin 'VRAI si TEMPO_FINI est diffrent de zro.

  • - 23 -

    IV-11) Proprits de l'icne Boucle (loop)

    Les icnes Boucle sont utilises pour rpter une tche tant que la condition spcifie est remplie. Notez que vous devrez ajouter une icne Calcul qui modifie la variable spcifie dans la condition pour que cette condition ait une chance dtre satisfaite. Nom afficher Le nom qui apparatra sur lorganigramme. Boucle Tant que (while) Entrer la condition qui dtermine la fin de la boucle. Dfinir un test conditionnel toujours Vrai fera que la boucle sera rpte indfiniment. While 1 en est un exemple. 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. Boucle infinie Il arrive quune tche soit rpte indfiniment. Une faon pratique dobtenir ce fonctionnement est dutiliser une boucle infinie.

  • - 24 -

    Tester une condition toujours Vrai fera que la boucle sera rpte indfiniment. While 1 en est un exemple. IV-12) Proprits de l'icne Macro (macro)

    Les Macros sont des portions de code, qui peuvent tre utilises et rutilises dans diffrents projets. Les macros font que des tches complexes peuvent tre gres par du code pr-crit. Les macros peuvent tre importes et exportes. Dans Flowcode, trois types de macros sont dfinis :

    Macros interne Flowcode par exemple pour les interruptions du PICmicro Macros constitus dorganigrammes en fait un sous-programme dans votre

    programme Macros dE/S sous-programmes cachs qui excutent des fonctions

    spcifiques pour certains priphriques Nom afficher Le nom de licne qui apparatra sur lorganigramme. Appelle une macro existante Slectionner cette option pour intgrer une macro de votre cr dans votre organigramme ou pour choisir macro active suite une interruption. Toutes les macros existantes figurent dans la liste en dessous de cette option.

  • - 25 -

    Appelle une macro spcifique dE/S Slectionner cette option pour appeler une macro pour un composant externe attach au microcontrleur. Slectionner le priphrique dans la premire liste et ensuite slectionner le nom de la macro que vous voulez appeler dans la seconde liste. Paramtres Si la macro exige des paramtres, alors ces paramtres doivent tre entrs dans ce champ. Il peut sagir de valeurs numriques ou de variables existantes. Chaque variable ou valeur doit tre spare par une virgule dans la liste. Bouton Variables Ce bouton ouvre la boite de dialogue Variables vous permettant de choisir une variable existante ou den crer une nouvelle. Valeur de Retour Si la macro de votre priphrique retourne une valeur, alors vous pouvez affecter cette valeur une variable existante pour lutiliser aprs dans votre organigramme. Si la fonction retourne une valeur que vous ne voulez pas sauvegarder alors laissez ce champ vide. Bouton Crer une nouvelle macro Cliquez sur ce bouton pour crer une nouvelle macro dans votre organigramme. Bouton OK & Editer macro Aprs avoir choisi le nom dune macro existante (non pas une macro pour un priphrique externe), vous pourrez voir et diter la macro slectionne en cliquant sur ce bouton. IV-13) Proprits de l'icne Calculs (calculation)

  • - 26 -

    Licne de Calcul permet la modification des variables. Elle peut tre utilise pour vrifier des entres ou crer des sorties. Nom afficher Il sagit du nom de licne qui apparatra sur lorganigramme. Calculs Une ou plusieurs lignes de calculs peuvent tre entres dans cette boite de dialogue. Tous les calculs doivent comprendre le nom dune variable existante, le signe gal suivi dune expression faite de nombres, de variables et des oprateurs suivants : ( ) - Parenthses. = - Egal , Non gal . + - * / MOD - Addition, Soustraction, Multiplication,

    Division & Modulo. < >= - Plus petit que, plus petit ou gal , Plus grand que,

    Plus grand ou gal . >> > 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 den crer une nouvelle. IV-14) Proprits de l'icne Interruption (interrupt) Il est souvent pratique de disposer dune mthode pour interrompre le microcontrleur dans sa tche en cours pour lui faire faire quelque chose de plus important par exemple rpondre au signal dalarme transmis par le capteur de dbordement dun rservoir ou lorsquun certain temps sest coul lorsquil sagit de systme fonctionnant sur le temps. Les microcontrleurs PICmicro disposent de plusieurs mthodes standards pour provoquer une interruption : Linterruption d au dbordement du TIMER0 (TMRO overflow), linterruption dclenche par le changement dtat dune des lignes 4, 5, 6 et 7 du port B (RB port change), et un signal reu (interruption externe) sur la patte B0 du port B (RB0/INT). Vous pouvez diter la macro Interruption en slectionnant la commande 'Edition/Supprimer' du menu 'Macro'. Flowcode affiche alors une liste des macros, incluant celles qui concernent les interruptions. Choisissez le nom de la macro depuis cette liste puis cliquez sur les boutons

  • - 27 -

    Editer ou Supprimer. Si vous choisissez dditer la macro, Flowcode ouvrira la fentre contenant la macro pour vous permettre de la modifier. AVERTISSEMENT Lutilisation de linterruption externe ou des interruptions dues au changement dtat dune des pattes RB4 RB7 du port B implique une certaine connaissance du PICmicro utilis, puisquil y aura des rglages internes assez spcifiques faire. Reportez vous aux notes techniques de votre PICmicro pour plus de dtails.

    Nom afficher Le nom de licne qui apparatra sur lorganigramme. Interruption autorise/Interruption inhibe Cocher une des ces options pour autoriser ou inhiber les interruptions. Source Utiliser cette liste droulante pour spcifier la source dinterruption que vous souhaitez autoriser ou inhiber. Dbordement TMR0 appele chaque fois quun dbordement du Timer 0 survient RB0/INT appele lorsquun signal survient sur la patte 0 du port B (interruption externe) Modification Port RB appele chaque fois que survient une modification dune des lignes 4, 5, 6 ou 7 du port B

  • - 28 -

    Macro appele Le nom de la macro qui sera appele lorsque linterruption surviendra est affich ici. Le nom de ces macros est nest pas modifiable. Les macros elles-mmes ne peuvent tre supprimes de lorganigramme bien que vous puissiez placer toute icne de votre choix lintrieur de ces macros. Paramtres de linterruption Timer : Si linterruption suite au dbordement du TMR0 est slectionne, alors le rglage des paramtres suivants devient possible. Vitesse dhorloge Lorsque linterruption suite au dbordement du TMR0 est slectionne, la frquence des interruptions est fonction de la vitesse dhorloge du microcontrleur et de la valeur du pr-diviseur. La vitesse dhorloge affiche est celle slectionne par la commande 'Vitesse dhorloge' du menu 'Excuter'. Valeur du pr-diviseur Rgler cette valeur pour dterminer combien de cycles horloges sont ncessaires avant dincrmenter le compteur du timer0. Utiliser une valeur de pr-diviseur importante pour abaisser la frquence des interruptions du timer0. Frquence dInterruption La frquence des interruptions gnres par les dbordements du TMR0 est calcule et affiche ici. La frquence des interruptions sera fonction de la Vitesse dhorloge et de la valeur choisie du pr-diviseur. Cette valeur est exprime en Hz. IV-15) Proprits de l'icne Code (code)

  • - 29 -

    Flowcode est conu pour permettre ceux qui dbutent dans la programmation des microcontrleurs PIC de concevoir un projet avec une connaissance limite des langages de haut niveau. Cependant, il est possible dinclure du code crit dans dautres langages dans des programmes Flowcode. Des programmes crits en C et en Assembleur peuvent tre inclus avec Flowcode grce licne Code. Ceci signifie quil est possible de prendre des programmes complexes (vous en trouverez beaucoup sur Internet) crits en C ou en assembleur et les inclure dans vos projets. Remarque : Ce code ne pourra pas tre simul par Flowcode, mais sera transmis au microcontrleur durant la compilation. Nom afficher Le nom de licne qui apparatra sur lorganigramme Code C Entrer le code C que vous souhaitez inclure votre organigramme. Le code C n'est pas contrl par Flowcode mais est transmis directement au compilateur C lorsque l'organigramme 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 organigramme. Pour accder aux variables Flowcode, aux macros et aux points de jonction, il est ncessaire de caractriser llment 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 lappeler FCM_TEST();. Notez que tous les noms de macros Flowcode doivent scrire 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 lorganigramme 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 dentrer des instructions assembleur dans la fentre de Proprits du code C. Pour une ligne dassembleur, utiliser loprateur asm devant linstruction, par exemple : asm movlw 5 Vous pouvez aussi spcifier plusieurs lignes dassembleur. Procdez de la faon suivante pour encadrer plusieurs instructions lintrieur dun bloc asm :

  • - 30 -

    asm { ; Entrer votre code ici } Pour accder aux variables Flowcode ainsi quaux macros et aux points de jonction, il est ncessaire de caractriser llment utilis par un prfixe prcd du caractre _ (soulign), savoir _FCV_, _FCM_ and _FCC_NomMacro_ respectivement. Les exemples prcdents deviennent alors _FCV_TEMPO, _FCM_TEST() et _FCC_TEST_A. IV-16) Proprits de l'icne Commentaire (comment)

    Vous pouvez ajouter des commentaires dans votre code grce l'icne Commentaire. Glissez l'icne l'endroit o vous souhaitez ajouter les commentaires, puis ajouter vos commentaires dans la fentre de proprits. Notez qu'un commentaire est plac sur le ct de l'algorigramme car il ne fait pas partie du flot d'information simuler.

  • - 31 -

    V) Ajouter et diter des composants V-1) Ajouter des composants

    Pour ajouter un composant externe sur lalgorigramme, cliquez tout simplement sur le bouton appropri depuis la barre doutils Composants. Flowcode ajoutera un exemplaire de ce composant dans la fentre principale.

    Pour supprimer le composant externe ou diter ses connexions ou proprits cliquer sur le petit bouton ' > ' pour afficher le menu.

    Supprimer Supprime le composant. Attention : Flowcode ne vous permettra pas de supprimer un composant rfrenc dans une des macros de votre algorigramme. Supprimer les macros avant de supprimer ce composant. Connexions... En slectionnant cette option, vous pouvez configurer les connexions du composant. Reportez-vous Editer les connexions du composant pour plus d'informations. Proprits... Certains composants peuvent tre configurs laide des proprits complmentaires quils possdent. Pour diter les proprits dun composant, cliquer sur Proprits aprs avoir cliqu sur le bouton ' > ' du composant. Une boite de dialogue Proprits du composant saffiche lcran. Si le composant ne dispose pas de Proprits supplmentaires, alors une page vierge de Proprits apparatra. Reportez-vous laide spcifique chaque composant pour de plus amples dtails sur chacune de ses Proprits.

  • - 32 -

    Notez que si vous tudiez un de nos tutoriaux, il se peut que des composants attachs ne soient pas montrs. Slectionnez alors la commande 'Composants Attachs' du menu 'Affichage'. Une liste des composants attachs est montre. Cliquez sur le ou les composants que vous voulez faire apparatre dans la fentre active. V-2) Editer les connexions d'un composant Pour spcifier comment connecter le composant externe au microcontrleur, afficher dabord le composant dans la vue du microcontrleur et cliquez ensuite sur le bouton ' > ' pour faire apparatre un menu contextuel. Cliquez ensuite sur Connexions. La boite de dialogue pour la connexion des pattes du Composant souvre en montrant ltat actuel des connexions et autorise leurs modifications.

    Nom des pattes Le nom des pattes du composant externe est montr dans une colonne. Chacune tant prcde dune image indiquant ltat de la connexion. Une coche verte signale que la connexion est OK. Une croix rouge indique que la patte nest pas connecte au microcontrleur mais doit ltre pour que le composant fonctionne correctement. Un point dinterrogation jaune indique que la patte nest pas connecte mais que ce nest pas essentiel pour un fonctionnement correct du composant. Port La patte du port du microcontrleur sur laquelle est connecte une patte externe est affiche dans cette colonne. Bit Le bit du port du microcontrleur auquel est connecte une patte externe est affich dans cette colonne.

  • - 33 -

    Etat Les informations dtat dune patte sont affiches ici. Vous pourrez y voir ventuellement des dtails sur des conflits possibles pour des composants utilisant les mmes pattes du microcontrleur. De plus, certains composants ncessitent de connecter certaines pattes sur le mme port avec dautres pattes du composant externe. Dans ce cas, la ligne dtat indiquera cette information et lutilisateur ne pourra apporter aucune modification dans la zone Connecter. Connecter Utiliser cette rubrique pour dterminer la patte du microcontrleur utiliser. Si cette rubrique est indisponible, cest que la connexion de la patte est dtermine par celle dune autre patte. Un message apparatra dans la ligne dtat juste en dessous si cest le cas. Pour modifier la connexion, cliquer dabord sur la patte modifier depuis la liste affiche dans la colonne Nom des pattes. V-3) Fichier d'aide des composants Des fichiers daide spcifique chaque composant peuvent tre consults via lcran Proprits. Le bouton daide ' ? ' figurant dans cette boite de dialogue vous permet daccder directement laide de ce composant en particulier plutt quau fichier daide principal de Flowcode.

    Ceci permet lajout de composants complmentaires - une date ultrieure ou provenant de tiers - ayant un fichier daide accessible depuis Flowcode. Le fichier daide dcrit en dtails les connexions et le mode de fonctionnement du composant. Des fichiers daide pour les composants standards ont aussi t incorpors ce fichier daide principal pour guider lutilisateur.

  • - 34 -

    V-4) Composants standards

    Thermomtre analogique

    Le thermomtre est un composant analogique et ncessite un microcontrleur disposant de un ou plusieurs convertisseurs dentre analogique - numrique. Ce composant enregistre les variations de tension par rapport une tension de rfrence. La tension rsultante est enregistre en mmoire. Les PICmicros sauvegardent la valeur soit sur 8 bits dans un registre, soit sur 10 bits dans deux registres. Dans ce cas, le registre haut contient les 8 bits les plus forts, et le registre bas contient les 2 bits faibles. Les choix entre 8 et 10 bits dpend du composant utilis. Les macros utilises pour enregistrer les valeurs sur 8 bits ou 10 bits sont les mmes; mais dans le cas de 8 bits, la macro ReadLowBits retourne toujours 0. Macros Le composant thermomtre dispose des macros suivantes: SampleADC Le PICmicro chantillonne lentre analogique et envoie une valeur numrique sur 10 bits aux registres ReadLowBits Lit les 2 bits faibles de la valeur sur 10 bits. ReadHighBits Lit les 8 bits forts de la valeur sur 10 bits.

  • - 35 -

    Quand vous travaillez avec des entres analogiques, vous devez faire attention. Les valeurs sont ranges dans deux emplacements mmoire et chaque macro ReadLowBits et ReadHighBits ne retourne qu'une partie de la donne stocke.

    Afficheur LCD

    Le composant Afficheur LCD de Flowcode fournit un ensemble de macros simples pour permettre laffichage de 2 lignes de 16 caractres sur un cran LCD. Ces macros masquent une grande partie de la complexit de programmation dun afficheur LCD. Lafficheur LCD est un afficheur intelligent de 2 lignes de 16 caractres alphanumriques. Il sagit dun composant assez standard, mais il se peut que le jeu de caractre diffre lgrement dun afficheur lautre. Flowcode prsume que vous utilisez un afficheur bas sur le contrleur Hitachi HD44780 (qui est un standard courant dans lindustrie) et vous ne devriez pas rencontrer trop de problmes lincorporer dans vos diffrents projets. Macros Le composant LCD dispose des macros suivantes: Start() La macro init doit tre appele pour initialiser lafficheur LCD avant dutiliser toute autre macro se rapportant cet afficheur. Clear() Cette macro efface lafficheur. Cursor(x, y) Cette macro positionne le curseur la position spcifie par les coordonnes x et y. Les macros PrintASCII et PrintNumber utilisent la position courante du curseur pour crire. PrintNumber(Nombre) Affiche le nombre fournit. Transmettre le nombre 34 affichera "34" sur le LCD. Lorsque le caractre a t affich, la position courante du curseur est actualise automatiquement. Le nombre doit tre compris entre 0 et 255. PrintASCII(caractres) Affiche les caractres ASCII partir de la position courante. Lorsque les caractres ont t affichs, la position courante du curseur est actualise automatiquement

  • - 36 -

    Les caractres peuvent tre soit un code caractre ASCII, une chane de un ou plusieurs caractres entours de guillemets telle que "Bonjour", ou un caractre ASCII entour d'apostrophes tel que 'A'. NOTE : Seuls les caractres majuscules sont reconnus lors de l'utilisation de caractres entours par des apostrophes, tel que 'B'. Lafficheur LCD utilise les caractres ASCII lors de la simulation. Cependant, dans la ralit, les caractres affichs seront fonction du jeu de caractre spcifique lafficheur utilis. Vous trouverez une liste des caractres ASCII affichable avec la carte de dveloppement de Matrix Multimedia la fin de ce paragraphe. Exemples PrintASCII( "Hello" ) affiche les lettres Hello PrintASCII("H") affiche la lettre H PrintASCII( 'H' ) affiche la lettre H PrintASCII( '=' ) affiche le caractre = PrintASCII( 72 ) affiche la lettre H car 72 (44 en hexadcimal) est le code caractre

    ASCII de H Schma du circuit

    Lafficheur LCD doit tre connect au microcontrleur comme montr sur le diagramme. Typiquement ce priphrique doit tre connect au microcontrleur via les ports suivants. Data1: B0 Data2: B1 Data3: B2 Data4: B3 RS: B4 Enable: B5

  • - 37 -

    Table de caractres ASCII de l'afficheur de la carte de dveloppement V2 Matrix Multimedia

    LEDs

    Le modle LED de Flowcode permet de crer une range de 1 8 LEDs colores. Des macros sont disponibles pour allumer ou teindre les LEDs individuellement. Proprits Le composant LED dispose de deux proprits qui peuvent tre ajustes. Nombre de LEDs Utiliser la liste droulante pour slectionner un nombre compris entre 1 et 8 correspondant au nombre de LEDs de la range. Couleur des LEDS Utiliser la liste droulante pour slectionner la couleur de toutes les LEDs de la range. Les couleurs disponibles sont rouge, vert, jaune et bleu.

  • - 38 -

    Macros Le composant LED dispose de deux macros: LEDOn (num_LED) Cette macro allume la LED spcifie par le paramtre num_LED. LEDOff (num_LED) Cette macro teint la LED spcifie par le paramtre num_LED. Schma du circuit

    Circuit combinant LED et interrupteur Ce circuit principal combinant la fois des LEDs et des interrupteurs vous permet dutiliser soit un interrupteur, soit une LED sur une patte dE/S du micro PIC. Dans ce composant, les LEDs sont cbles de la faon suivante : la cathode est connecte la masse et lanode est connecte au port qui convient via une rsistance de 560 ohms. Une rsistance de 4k7 est utilise pour ramener au niveau logique 0V la patte quand elle est utilise comme entre. La rsistance de 390 ohms est utilise pour limiter lintensit du courant quand l'interrupteur est ferm.

    Quadruple afficheur 7 segments Lafficheur 7 segments est disponible soit sous la forme d'afficheurs 7 segments individuels, soit sous la forme d'un quadruple afficheur 7 segments.

  • - 39 -

    Le composant afficheur LED 7 segments dispose d'une seule macro pour contrler l'affichage. Afin de rduire le nombre de connexions avec le microcontrleur, l'afficheur doit tre multiplex. Dans ce cas chaque afficheur doit tre montr successivement afin de donner l'illusion que les 4 digits sont affichs en mme temps. Macros Le composant quadruple afficheur 7 segments dispose de la macro suivante: ShowDigit(Digit, Valeur, Point dcimal) Affiche un nombre sur un l'afficheur spcifi dans le paramtre Digit. Cette valeur doit tre comprise entre 1 et 4. Le dernier chiffre du nombre contenu dans le paramtre Valeur est affich. Par exemple, si Valeur contient 48 alors cest le chiffre 8 qui sera affich. Si le paramtre Point dcimal contient autre chose que zro, alors un point dcimal sera affich la droite du chiffre. Schma du circuit

  • - 40 -

    Le quadruple afficheur 7 segments doit tre connect au microcontrleur comme montr dans le diagramme ci-dessus. Typiquement ce priphrique doit tre connect au microcontrleur via les ports suivants : Anode1: A3 Anode2: A2 Anode3: A1 Anode4: A0 SegmentA: B0 SegmentB: B1 SegmentC: B2 SegmentD: B3 SegmentE: B4 SegmentF: B5 SegmentG: B6 SegmentDP: B7

    Mono afficheur 7 segments Lafficheur 7 segments est disponible soit sous la forme d'afficheurs 7 segments individuels, soit sous la forme d'un quadruple afficheur 7 segments.

    Macros Le composant afficheur 7 segments dispose de la macro suivante: ShowDigit(Valeur, Point dcimal) Affiche un nombre sur lafficheur. Le dernier chiffre du nombre contenu dans le paramtre Valeur est affich. Par exemple, si Valeur contient 48 alors cest le chiffre 8 qui sera affich. Si le paramtre Point dcimal contient autre chose que zro, alors un point dcimal sera affich la droite du chiffre. Schma du circuit Lafficheur 7 segments doit tre connect au microcontrleur comme montr dans le diagramme ci-dessous. Typiquement ce priphrique doit tre connect au microcontrleur via les ports suivants : Anode: A3 SegmentA: B0 SegmentB: B1

  • - 41 -

    SegmentC: B2 SegmentD: B3 SegmentE: B4 SegmentF: B5 SegmentG: B6 SegmentDP: B7

    Interrupteurs

    Le composant Interrupteurs de Flowcode permet de connecter une range de 1 8 interrupteurs au microcontrleur. Il existe une macro pour lire ltat de chaque interrupteur individuel.

  • - 42 -

    Il est possible de dassocier chaque interrupteur une des touches 0 9 du clavier numrique pour lactiver lors de la simulation du pav numrique. Proprits Le composant Interrupteur dispose de deux proprits qui peuvent tre ajustes. Nombre d'interrupteurs Utiliser la liste droulante pour spcifier un nombre dinterrupteurs compris entre 1 et 8 reprsentant le nombre dinterrupteurs dans la range Type d'interrupteur Utiliser le menu droulante pour positionner les switches en position ouverte ou ferme. Macros Le composant interrupteur dispose dune seule macro: ReadState (num_inter) Cette macro lit ltat de l'interrupteur spcifi par le paramtre num_inter. Elle retourne 0 si linterrupteur est ouvert et 1 sil est ferm Schma du circuit

    Circuit combinant LED et interrupteur Ce circuit principal combinant la fois des LEDs et des interrupteurs vous permet dutiliser soit un interrupteur, soit une LED sur une patte dE/S du micro PIC. Dans ce composant, les LEDs sont cbles de la faon suivante : la cathode est connecte la masse et lanode est connecte au port qui convient via une rsistance de 560 ohms. Une rsistance de 4k7 est utilise pour ramener au niveau logique 0V la patte quand elle est utilise comme entre. La rsistance de 390 ohms est utilise pour limiter lintensit du courant quand l'interrupteur est ferm.

  • - 43 -

    Buggy

    The aim is to develop routines for steering the buggy with the ultimate goal of getting through the maze to the chequered flag finishing point. However the maze can be taken off to give a nice open area for driving manoeuvres. At the bottom left of the buggy screen is a help button which will open this help file. The buggy can be steered left and right, and driven forwards or in reverse. There are front and rear bumper sensors. Connections The three control outputs are on Port A. The three sensors are on Port B Pin Name PIC Port and Pin Description Left wheel A0 Steers to the left Right wheel A1 Steers to the left Both wheels A0 and A1 Drives forwards Reverse A2 Reverses the buggy Front Bumper sensor B0 Obstacle ahead - prevents forwards movement Rear Bumper sensor B1 Obstacle behind the buggy - prevents reversing Objective reached B2 The chequered objective has been reached.

  • - 44 -

    Note: To move forwards you need to engage both the left and the right wheel. If a bumper is activated then the buggy will not be able to move in that direction. Properties

    The properties page has the following options: Show the obstacles Turns the obstacle maze on or off Reset the Buggy position upon completion

    Returns the buggy to the centre start box upon completion, and resets to the original heading. Circuit diagram

    The diagram below gives details of the Input/Output connections for the buggy type envisioned in the component. The exact method of connection for the inputs will be determined by the buggy used (cable, radio etc.). If the buggy varies from the component you will need to adapt the circuit, and maybe even the code as appropriate. Please note as well that the buggy envisioned in the component has a reverse, and cut offs to prevent movement when a bumper sensor is activated. The buggy that you use may not have these features.

  • - 45 -

    The objective. The buggy component sends a signal when the objective is reached. To implement this you will need to devise a switch of some sort that can register when the buggy has reached it and send a signal. Examples are: breaking a light beam, or hitting a bumper switch

    IrDA

    The IrDA component is a communications device used to communicate between the PICmicro and another IrDA equipped device. This could be another PICmicro with an IrDA connection, a Palm, or any other device that can communicate via IrDA. Note that IrDA hardware needs to be connected to the PICmicro development board for the IrDA code to function when downloaded to the PICmicro. This component was designed to function in conjunction with the Matrix IrDA E-block EB-012. For more information on setting up and using the IrDA E-block please refer to the documentation that accompanied the IrDA E-block. Or visit the Matrix Multimedia website at www.matrixmultimedia.com for the latest documentation and updates. Macros The Add Defines component has the following macros: SendIrDAByte(byte) Sends the byte value via the IrDA connection char ReceiveIrDAByte(timeout) Receives the next byte of data from the IrDA connection. Timeout specifies how long to wait for a byte of data. The macro returns the data value or 255 if there was no data received.

  • - 46 -

    Simulating the IrDA component The IrDA component simulates IrDA communications as follows: The component displays any text sent from your program in the "Bytes received" box. The component sends bytes from the text that is in the "Bytes in queue" box to your program or 255 if no data is present. Bytes sent are also put into the "Bytes sent" box. this allows you to see what has been sent, as well as what is ready to send.

    Enter the text into the box and press OK to add the text to the queue. Properties

    The IrDA component has the following properties: Baud rate Sets the communications rate for the IrDA component. Note: for accurate communications both the sending and receiving units should be operating at the same baud rate. MCP2120/MCP2150 chip select Selects which IrDA chip to use with the program. Note that the hardware flow control options are only available with the MCP2150 chip.

  • - 47 -

    Hardware flow control Enabled Hardware flow control. For information on flow control settings please consult the documentation on the relevant PICmicro device. CTS and RTS settings Allows users to set with Port and which Pin to use for CTS and RTS connections. Note the CTS and RTS settings are disabled and are not shown on the component when Hardware control is not selected. For information on the CTS and RTS settings please consult the documentation on the relevant PICmicro device. Echo mode Enables ECHO mode.

    EEPROM

    The EEPROM component allows users to write to and read from the EEPROM memory. The paired cells show the EEPROM memory location, and the data stored within. You can scroll up or down to reach particular locations using the scroll bar. The information text at the bottom contains the target device and the amount of EEPROM memory on that device. Manually changing memory values EEPROM data values can be altered manually by double-clicking the data cell and entering the new value. Important: this is intended for simulation testing only, the EEPROM values are not sent to the PICmicro with the program. Note: for simulating EEPROM the cells are initialised with random numbers. This helps reflect that fact that the EEPROM can contain stored values from previous use.

  • - 48 -

    Note: not all PICmicro's have EEPROM memory, and those that have can have various amounts of EEPROM memory onboard. The component will configure itself accordingly if it detects how much EEPROM the target device has, or if it detects a device without EEPROM. However, this auto-configuration is limited to those devices supported when the component was created. You can also manually set how much EEPROM a device has. This allows the EEPROM component to be used with other newer PICmicro's. Macros The Add Defines component has the following macros: ReadEEPROM(addr) Reads the data value from the specified address location (addr). EEPROMWrite(addr, data) Writes the data value (data) to the specified address location (addr). Important: The EEPROM component does not recognize the target PIC straight away. Once you have added the EEPROM component please simulate the program briefly as this refreshes the target PIC setting for the component. Properties

    The Add Defines has the following properties: View Hexadecimal The addresses and data are displayed in Hexadecimal format (00 - FF). Manually select EEPROM settings Allows the user to set the EEPROM size manually.

  • - 49 -

    EEPROM size Allows the user to set the EEPROM size. Note: These last two properties are intended for use with newer devices that are not on the list of devices supported, but which have EEPROM. You will need to check that the Device has EEPROM, and how much EEPROM is has. List of supported devices The following is a list of PICmicro's with EEPROM that the component can auto-configure itself for: 12ce673, 12ce674, 12f629, 12f675, 12f635, 12f683, 16ce623, 16ce624, 16ce625, 16cr83, 16cr84, 16f627, 16f627a, 16f628, 16f628a, 16f648a, 16f630, 16f676, 16f636, 16f639, 16f684, 16f688, 16f83, 16f84, 16f84a, 16f87, 16f88, 16f818, 16f819, 16f870, 16f871, 16f872, 16f873, 16f873a, 16f874, 16f874a, 16f876, 16f876a, 16f877, 16f877a

    Alarm

    The component simulates a burglar alarm system fitted to the ground floor of a house.

    The component consists of a keypad and LED display to allow input and output, and a Virtual House in which you can open and close windows and doors to simulate the actions of an intruder.

  • - 50 -

    Inputs and outputs There are 5 sensors marked S0 to S4. S0 to S3 : Each of these is simply a microswitch on a door or window: when the door or window is closed then the switch is closed. When a door is opened then the switch is also opened. When a door is closed then the LED is turned on this means that the LED's on the panel can be used to see which sensor has been triggered. The sensor switches can be simulated by opening/Closing the corresponding door or window in the Virtual House. S4 : S4 represents a passive infrared detector. For the sake of convenience we shall assume that the detector gives out a logic high (+5V) under normal operation (no burglar) and a logic low (0V) when movement is detected. This means that for the whole alarm when a LED goes off it indicates which sensor her been triggered. In the Virtual House the IR sensor will respond to any movement in the front room, including opening the stairs and kitchen doors. Key pad Keys 0 5 and SET / CLEAR are connected to Port B inputs RB0 to RB6 in a standard configuration. This simple keypad gives 99999 different combination codes which should be enough for our purposes. The 100k resistors pull each input pin down to 0V and each push-to-make switch puts 5V on the appropriate line. Alarm RB 6 is used as the alarm output to simply light an LED. We have used a back lit ALARM panel on the component, but you could use an LED. SpareLED RB7 is a spare indicator which can be used for a function of your choice. On the component the SpareLED is the green LED next to the ALARM light. How to use the burglar alarm. The application provides you with a basic alarm circuit. There is no 'correct' way to program this circuit you can chose any algorithm you like. However we suggest you implement some or all of the following features:

    Hold SET / CLEAR down for more than 10 seconds and then allow the user to enter a sequence of 5 numbers representing the alarm key code.

    Activate the alarm by putting in a sequence of 5 numbers followed by SET / CLEAR.

    Deactivate the alarm, once triggered, by putting in a sequence of 5 numbers followed by SET / CLEAR

    Build a 24 hour clock and automatically activate and deactivate the clock at certain times of day.

    Flash the output at RB7 when the alarm is active. Build in a hidden key code that, when entered, tells your program to ignore one

    sensor. Build in a code that sets the alarm for only one rooms (an alarm zone) Build in a 30 second period during which the alarm is arming, allowing you to

    leave the building.

  • - 51 -

    How to use the burglar alarm.

    The circuit assumes a PIC16F84 chip is being used, adjust accordingly if another PICmicro microcontroller is being used.

    Add Defines

    The Add Defines component enables users to add defines, global variables and other such items into the program. These can then be accessed within 'C' code' icons throughout the user's program. The component shows the code that will be added to the program. To edit the code select the '>' button and then "properties' from the menu.

  • - 52 -

    Macros The Add Defines component has the following macros: AddDefines() Adds the defines code to the program. Important: This macro needs to be called within your Flowcode program, otherwise the defines code will not be added to the program. It does not matter where this function is called. The macro does not take any parameters, and returns no values. Note: Neither this macro, nor the component can be simulated. Properties

    The Add Defines has the following properties: Add Defines text The code to be added to the program. Important: The code is not validated or checked in any way by the component. The user is responsible for entering correct code. If you receive compile errors, or your program behaves erratically you may need to check the code that you have entered. Note: To go to the next line whilst editing the code press Ctrl + Enter. Enter alone will move the focus out of the text box rather than creating a new line.

  • - 53 -

    Keypad

    The Keypad is a 3 line 4 button matrix. To determine if a specific key has been pressed you can output a signal onto either the row that the key icon and check if there is a signal on the corresponding column. If there is then the button has been pressed making the connection. Macros The Keypad Component provides the following macros: GetKeypadNumber() : Retrieves the number of the key that has been pressed. The number is 0-9 for the digits, 10 for * and 11 for # GetKeypadAscii() : Retrieves the ascii value for the character of the key pressed

    SPI

  • - 54 -

    The SPI component allows the use of the SPI communications protocol in their programs.

    The SPI component was designed to complement the Matrix E-blocks SPI board EB-013.

    For more information on setting up and using the SPI E-block please refer to the documentation that accompanied the SPI E-block.

    Or visit the Matrix Multimedia website at www.matrixmultimedia.com for the latest documentation and updates.

    To help with using the E-blocks SPI board extra macros have been added to facilitate use of the NVM (Non-Volatile Memory, often called FRAM) and DAC (Digital to Analogue Conversion) features of the SPI board. Note: Not all PICmicro devices have SPI capabilities. Please see the datasheet of the device in question to see if it has SPI capabilities. Macros The Add Defines component has the following macros: SPI_Init() : Initialises the SPI component. SPI_Uninit() : Uninitialises the SPI component. SPI_TxByte(byte) : Transmits the SPI data (byte). char SPI_RxByte() Reads the data sent and places the value into the specified return variable. DAC_TxByte(byte) Sends the data value (byte) to the DAC output. NVM_TxByte(hi_addr, lo_addr, data) Sends the value (data) to the NVM memory location specified by the high address byte (hi_addr) and the low address byte (lo_addr) char NVM_RxByte(hi_addr, lo_addr) Receives the data from the NVM memory location specified by the high address byte (hi_addr) and the low address byte (lo_addr). The data byte is placed in the return value specified. Simulating the SPI component The SPI component simulates SPI communications as follows: The component displays any text sent from your program in the "Bytes received" box. The component sends bytes from the text that is in the "Bytes in queue" box to your program or 255 if no data is present. Bytes sent are also put into the "Bytes sent" box. this allows you to see what has been sent, as well as what is ready to send.

  • - 55 -

    Enter the text into the box and press OK to add the text to the queue. Properties

    The Add Defines has the following properties: SPI_clock, SPI_clock_polarity, SPI_clock_edge and SPI_sample_bit These properties are intended for advanced users, and are best left as is unless you are familiar with SPI communications. Further information on SPI Please refer to the device datasheets, the SPI board datasheet and Microchips tutorials on SPI.

  • - 56 -

    RS232

    The RS232 component is a communications device used to communicate between the

    PICmicro and another RS232 equipped device. This could be another PICmicro with an RS232 connection, a PC, or any other device

    that can communicate via RS232. Note that RS232 hardware needs to be connected to the PICmicro development board

    for the RS232 code to function when downloaded to the PICmicro. This component was designed to function in conjunction with the Matrix RS232 E-

    block EB-015. For more information on setting up and using the RS232 E-block please refer to the

    documentation that accompanied the RS232 E-block or visit the Matrix Multimedia website at www.matrixmultimedia.com for the latest documentation and updates.

    Macros The RS232 Component provides the following macros: SendRS232Byte(byte) : Sends the byte value via the RS232 connection char ReceiveRS232Byte(timeout) Receives the next byte of data from the RS232 connection. Timeout specifies how long to wait for a byte of data. The macro returns the data value or 255 if there was no data received. Simulating the RS232 component The RS232 component simulates RS232 communications as follows: The component displays any text sent from your program in the "Bytes received" box. The component sends bytes from the text that is in the "Bytes in queue" box to your program or 255 if no data is present.

  • - 57 -

    Bytes sent are also put into the "Bytes sent" box. this allows you to see what has been sent, as well as what is ready to send.

    Enter the text into the box and press OK to add the text to the queue. Properties

    The RS232 component has the following properties: Baud rate : Sets the communications rate for the RS232 component. Note: for accurate communications both the sending and receiving units should be operating at the same baud rate. Hardware flow control : Enabled Hardware flow control. For information on flow control settings please consult the documentation on the relevant PICmicro device. CTS and RTS settings Allows users to set with Port and which Pin to use for CTS and RTS connections. Note the CTS and RTS settings are disabled and are not shown on the component when Hardware control is not selected. For information on the CTS and RTS settings please consult the documentation on the relevant PICmicro device. Echo mode : Enables ECHO mode.

  • - 58 -

    VI) Spcifier le PICmicro cible programmer VI-1) Spcifier le PICmicro cible Utiliser cette option pour spcifier quel microcontrleur sera programm par cet organigramme. Si vous changez de microcontrleur en cours de route, Flowcode vrifie que toutes les actions de votre organigramme sont supportes par le nouveau microcontrleur. Flowcode vous avertira sil dtecte un problme potentiel. Dune faon similaire, Flowcode vrifiera que tous les composants externes connects au microcontrleur initial pourront tre connects aux mme pattes du nouveau microcontrleur choisi. Si certaines pattes ne peuvent tre connectes, Flowcode vous conseillera de modifier la connexion avant de changer de microcontrleur. VII) Travailler avec des macros et des variables VII-1) Crer des variables

    Slectionner la commande 'Variables' du menu 'Edition' pour faire apparatre la liste des variables dj dfinies dans votre organigramme. De nouvelles variables peuvent tre dfinies en utilisant le bouton Ajouter une Nouvelle Variable. Le nom des variables peut comporter 32 caractres alphanumriques au maximum. Le nom peut contenir le caractre soulign ( _ ) mais aucun espace. Il doit aussi comporter au moins une lettre pour pouvoir le distinguer dun nombre. Les variables peuvent tre supprimes partir du moment o elles ne sont plus utilises dans aucune icne de lorganigramme. Flowcode vous dlivrera un message davertissement si vous essayez de supprimer une variable utilise dans lorganigramme.

  • - 59 -

    Tableaux Les tableaux peuvent tre crs en ajoutant la taille du tableau entre crochets aprs le nom de la variable, par exemple MON_TAB[10] cre un tableau de nom MON_TAB compos de 10 lments. Vous pouvez manipuler chaque membre du tableau dans l'icne de Calculs en utilisant le nom du tableau suivit du numro de l'lment entre crochets, par exemple MON_TAB[3] = 32 Notez que les tableaux commencent 0, c'est--dire que tableau de 10 lments utilisera les nombres 0 9 pour numroter les lments. Vous pouvez modifier la taille du tableau en cliquant d'abord sur la variable en question, puis sur le bouton ''Taille tableau''. Dans cette situation, vous pouvez uniquement modifier la taille et pas renommer la variable. VII-2) Crer une nouvelle macro Choisir la commande 'Nouvelle' du menu 'Macro' ou appuyer sur Ctrl+M pour crer une nouvelle macro. Flowcode vous demandera un nom pour cette nouvelle macro, puis ouvrira une nouvelle fentre pour vous permettre dajouter des icnes cette macro. Si vous entrez un nom qui existe dj pour cette nouvelle macro, Flowcode vous demandera dentrer un nom diffrent. VII-3) Editer et supprimer les macros Editez ou supprimez des macros existantes en choisissant la commande 'Editer/Supprimer' du menu 'Macro'. Flowcode affichera la liste des macros. Slectionner le nom dune macro dans la liste puis cliquer sur le bouton Editer ou le bouton Supprimer. Lorsque vous ditez une macro, Flowcode affichera la macro dans une nouvelle fentre pour vous permettre de la modifier. Si vous cliquez sur le bouton Supprimer, Flowcode vrifiera que la macro nest appele dans aucune autre icne de votre organigramme et dlivrera un message derreur si cest le cas. VII-4) Exporter une macro Vos macros (celles que vous avez cres) peuvent tre exportes dans un fichier pour un usage ultrieur. Slectionner la commande 'Exporter' du menu 'Macro'. Flowcode vous demandera dabord de slectionner la macro que vous voulez exporter et vous demandera ensuite un nom de fichier. Les macros Flowcode sont exportes dans des fichiers portant lextension .FCM VII-5) Importer une macro Pour importer dans Flowcode une macro prcdemment exporte, slectionner la commande 'Importer' du menu 'Macro'. Flowcode vous demandera de choisir le nom du fichier de la macro existante. Flowcode importera alors la macro et lui attribuera le mme nom que la macro exporte. Si le nom de la macro existe dj, alors Flowcode vous demandera de spcifier un nouveau nom.

  • - 60 -

    Toutes les variables utilises dans la macro seront ajoutes au programme principal, ce qui vous permettra de les utiliser dans le reste du programme. Si le nom d'une variable existe dj, dans ce cas un message d'avertissement apparatra et il vous sera demand de confirmer l'import. Si vous confirmez l'import, il vous sera demand si vous souhaitez renommer ces variables.

    Renommer le nom d'une variable de macro change le nom en celui contenu dans le champ texte. Utiliser les variables existantes considre que les variables importes depuis la macro rfrencent les variables existantes de mme nom.

  • - 61 -

    VIII) Simuler un algorigramme VIII-1) Dmarrer la simulation de l'algorigramme

    Pour simuler un algorigramme, slectionnez la commande 'Excuter/Continuer' du menu 'Excuter' ou appuyer sur F5. Flowcode passe en mode simulation et l'excution des icnes de lalgorigramme. Un rectangle rouge encadre licne en cours dexcution. Les fentres des variables, de la pile des appels et du PICmicro sont mises jour chaque tape de la simulation. De plus, si des composants externes sont connects au microcontrleur alors leur tat est montr dans la fentre des composants externes. Si vous avez demand Flowcode de simuler votre application aussi vite que possible alors les fentres des variables, de la pile des appels et les vues du microcontrleur ne sont pas rafrachies moins que vous ne suspendiez le droulement de la simulation. Par ailleurs, si vous souhaitez simuler votre algorigramme pas pas depuis le dbut, alors utilisez la commande 'Pas pas dtaill' du menu 'Excuter' ou appuyez sur F8. Voir Changer la vitesse de simulation pour modifier la vitesse de simulation. VIII-2) Icnes de simulation pas pas

    Pas Pas dtaill Pour simuler lapplication de faon dtaille, icne par icne, slectionnez la commande 'Pas Pas dtaill' du menu 'Excuter' ou appuyer sur la touche F8. Un rectangle rouge signale licne qui va s'excuter. Les variables, la pile dappel et les fentres PIC sont mises jour chaque pas. De plus, si des composants externes sont connects au microcontrleur, alors leur tat sera montr dans la fentre des composants externes. Pas Pas principal Pour excuter une macro dans sa totalit, utiliser la commande 'Pas Pas principal' du menu 'Excuter' ou appuyer sur les touches Maj + F8. Loption Pas Pas principal fonctionne un peu comme 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. Pas Pas Principal est pratique pour viter davoir faire un Pas Pas dtaill dans une macro trs longue et permet lutilisateur de se concentrer sur d'autres parties de lalgorigramme qui demandent plus dattention.

  • - 62 -

    VIII-3) Modifier la vitesse de simulation

    Vitesse dhorloge en Hz Choisir la vitesse dhorloge depuis le menu PIC 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 De plus, vous pouvez demander Flowcode de simuler votre diagramme aussi vite que possible. Dans ce mode, Flowcode ne rafrachit plus les fentres des variables, de la pile dappel et les vues du microcontrleur. Information de Configuration Cliquer sur le bouton Configurer dans la boite de dialogue Vitesse dhorloge pour accder lcran de configuration du programme de tlchargement du PICmicro. Un certain nombre doptions sont disponibles pour vous permettre de modifier les paramtres de tlchargement. Pour plus de dtails sur ces options, reportez-vous la section Configurer le PICmicro. VIII-4) Suspendre et arrter la simulation

    Les simulations peuvent tre suspendues ou arrtes grce aux commandes correspondantes du menu 'Excuter'. Dans le cas o l'algorigramme est simul 'aussi vite que possible', Flowcode mettra jour les variables, la pile des appels et les vues du microcontrleur lorsque la simulation est suspendue. Un rectangle rouge apparatra autour de la prochaine icne excuter. VIII-5) Ajouter et utiliser des points d'arrts Ajouter et supprimer des points d'arrts (breakpoints) Les points darrts peuvent tre placs ou ts 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.

  • - 63 -

    Pour effacer tous les points darrt, slectionner la commande 'Effacer tous les points darrts' du menu 'Edition'. Utiliser les points d'arrts (breakpoints) Lorsque quun algorigramme est simul, la simulation sarrte sur le premier point darrt rencontr. Appuyer sur Excuter/continuer du menu Excuter pour poursuivre le droulement de la simulation jusqu rencontrer le prochain point darrt sil existe, ou jusqu la fin dans le cas contraire. Lorsque la simulation rencontre un point darrt, lutilisateur peut examiner la valeur des variables ou des entres/sorties, etc. Les points darrts sont bien pratiques pour arrter le programme au dbut dun morceau de code qui pose problme. Lutilisateur peut alors prendre la main pour avancer pas pas et mettre au point son code VIII-6) Editer les raccourcis clavier

    La commande 'Touche 0 9' du menu 'Edition' vous permet dutiliser les touches numriques de 0 9 pour piloter des composants attachs au microcontrleur. Par exemple, si vous disposez dune range de 8 boutons poussoirs connects au microcontrleur, vous pouvez choisir dutiliser les touches 1 8 pour simuler lenfoncement puis le relchement de ces Interrupteurs lorsque lalgorigramme est simul. Pour dfinir ou modifier ces raccourcis clavier, slectionner la commande 'Touches 0 9' du menu 'Edition'. Pour chaque touche numrique, vous pouvez slectionner un composant et

  • - 64 -

    pour chaque composant vous pouvez slectionner llment que vous souhaitez contrler par cette touche. Par exemple, si vous voulez utiliser la touche 0 pour contrler le cinquime Interrupteur du composant nomm 'Interrupteurs1' alors choisissez 'Interrupteurs1' dans la liste des composants pour la touche 0 et ensuite slectionner le cinquime lment ! Touche La touche du clavier que vous souhaitez dfinir. Composant Le composant attach pour lequel vous voulez dfinir une touche clavier. Elment Llment lui-mme (Interrupteurs etc.) auquel vous voulez faire correspondre une touche numrique. Les lments sont numrots squentiellement dans le mme ordre que sur le composant. Les composants munis de barre de progression (comme le thermomtre) utilisent les lments 1 et 2 pour augmenter/diminuer la progression Utiliser une touche clavier avec un composant comme les interrupteurs bascule permet de passer ltat de On Off. Utiliser une touche clavier avec un composant comme les interrupteurs poussoirs mettra llment au niveau haut tant que la touche la touch sera appuye. En la relchant la touche, le niveau redeviendra bas donc dans un tat inactif.

  • - 65 -

    IX) Compiler un algorigramme vers une cible PICmicro IX-1) Configurer le PICmicro Le PICmicro peut tre configur via la commande 'Configurer' du menu 'PIC'; Veiller toujours vrifier la configuration dun PIC avant dy tlcharger un programme. Vrifier toujours que le type de PICmicro ainsi que le type doscillateur (oscillator type) conviennent votre programme puisque souvent cest la principale source des soucis rencontrs par les utilisateurs. Configurer le PICmicro avec le programme PPP de tlchargement par dfaut La commande 'Configurer' du menu 'PIC' affiche la page de configuration.

    Cette page permet de:

    Spcifier le composant PIC utiliser Dfinir le type d'oscillateur Valider/Invalider les timers Dfinir la version de la carte de dveloppement utilise (boutons options en bas) Si vous utilisez Flowcode pour la premire fois, ou avez chang de carte de dveloppement, vous devriez contrler les options relatives la carte utilise.

  • - 66 -

    D'autre options sont galement disponibles (voir le fichier d'aide pour plus de dtails). Vous trouverez des informations supplmentaires dans le fichier daide de PPP. Vous y avez accs en cliquant sur le bouton daide '?' dans le coin en bas et gauche de la page de configuration. Configurer le PICmicro avec dautres programmes de tlchargement Si vous nutilisez pas le programme de configuration PPP alors lcran suivant saffiche.

    Vous pouvez spcifier les informations de configuration dans la boite de dialogue fournie. Vous devrez consulter la documentation de votre programme de tlchargement pour plus de dtails sur les options et les commandes utiliser. IX-2) Compiler un algorigramme vers un PICmicro Rubrique vide, contacter le revendeur pour la mise jour du fichier d'aide.

  • - 67 -

    IX-3) Spcifier les options de compilation Si vous utilisez la carte de dveloppement Matrix, vous naurez pas besoin dutiliser cet cran puisque tous les rglages sont faits au moment de linstallation. Si vous utilisez dautres systmes de dveloppement alors vous pouvez paramtrer Flowcode pour crer un lien direct vers le logiciel appropri. Les informations suivantes vous seront alors bien utiles : Compilateur C Spcifie lemplacement de votre compilateur C. Cette dfinition est normalement faite de faon automatique lors de linstallation de Flowcode. Vous ne devriez pas avoir le modifier. Fichiers dInclude Spcifie lemplacement des fichiers dinclude dont le compilateur C a besoin. Ce paramtre est normalement dfini de faon automatique lors de linstallation de Flowcode. Vous ne devriez pas avoir le modifier. Assembleur Spcifie lemplacement du programme dassemblage MPASM. Ce paramtre est normalement dfini de faon automatique lors de linstallation. Le suffixe permet de transmettre des informations MPASM donnant des dtails sur les options de programmation et le type de composant cible. Programmateur Spcifie lemplacement du programme permettant de tlcharger le code hexadcimal de votre programme dans le PICmicro cible. Si vous utilisez MPLAB avec PICSTART alors dans la ligne concernant lassembleur vous devrez entrer lemplacement du programme excutable MPLAB. Le rpertoire par dfaut est : C:\Program Files\MPLAB IDE\MCHIP_Tools\MPLAB.EXE Ceci fait que si vous slectionnez la commande 'Compiler vers PIC' du menu 'Excuter', le fichier ASM sera trait dans lenvironnement MPLAB. A partir de l, vous devrez assembler votre programme (en utilisant MPASM) et le tlcharger dans le PICmicro avec PICSTART. Par contre, si vous spcifiez comme emplacement: C:\Program Files\MPLAB IDE\MCHIP_Tools\MPASMWIN.EXE alors votre fichier .ASM sera automatiquement assembl. Les options de compilation par dfaut sont listes ci-dessous et peuvent tre rintroduites dans Flowcode tout moment en cliquant sur le bouton Restaurer dfauts . Compilateur:

    C:\Program Files\Matrix\Flowcode\c2c\c2c.exe -PPIC%p -IP%p.inc -ndi Include:

    C:\Program Files\MPLAB IDE\MCHIP_Tools\P%p.inc Assembleur:

    C:\Program Files\MPLAB IDE\MCHIP_Tools\Mpasmwin.exe /aINHX8M /p%p /rHEX /w2 /q

  • - 68 -

    Programmateur: C:\Program Files\Matrix\PPPv3\pppv3.exe -cs 2

    Les suffixes prsents dans ces lignes de commandes permettent de rendre le processus de compilation et de tlchargement des programmes vers les PICmicro aussi transparents que possibles pour les utilisateurs de la carte de dveloppement de Matrix Multimedia. Problme rpertori : Compiler avec des droits utilisateur restreints Si vous utilisez Flowcode avec des droits utilisateur limits ou restreints vous devrez contacter votr