Vous êtes sur la page 1sur 15

Flowcode Page 1 sur 15

TP
Programmation d'un PIC avec Flowcode

Mise en situation et objectifs du TP

Ce TP a pour but de découvrir la programmation des microcontrôleurs PIC avec le logiciel Flowcode.

Matériel disponible avant de commencer le TP :

 la carte électronique PICmicro DEVELOPMENT pour programmer les microcontrôleur PIC


 son bloc alimentation 12V
 son câble USB

Sortez votre fiche mémo de Flowcode dans le but de la compléter tout au long de ce TP.

Introduction : qu'est-ce qu'un microcontrôleur ?

Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur : processeur, mémoires
(mémoire morte pour le programme, mémoire vive pour les données), unités périphériques et interfaces d'entrées-
sorties. Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible consommation
électrique (quelques milliwatts en fonctionnement, quelques nanowatts en veille), une vitesse de fonctionnement plus
faible (quelques mégahertz) et un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs
personnels.

Par rapport à des systèmes électroniques à base de microprocesseurs et autres composants séparés (comme par
exemple les ordinateurs ou les automates par exemple), les microcontrôleurs permettent de diminuer la taille, la
consommation électrique et le coût des produits. Ils ont ainsi permis de démocratiser l'utilisation de l'informatique dans
un grand nombre de produits et de procédés.

Les microcontrôleurs sont fréquemment utilisés dans les systèmes embarqués, comme les contrôleurs des moteurs
automobiles, les télécommandes, les appareils de bureau, l'électroménager, les jouets, la téléphonie mobile, etc.

Les microcontrôleurs PIC

Un microcontrôleur est un composant électronique d'usage général. Les microcontrôleurs sont devenus des composants
incontournables dans l'électroménager, le contrôle de processus industriel, les télécommunications, ou la robotique. Ce
module vise à la compréhension de l'architecture et à la mise en oeuvre de ces composants tant sur le plan matériel que
logiciel. Il s'agit aussi de savoir utiliser les outils de développement associés à ces microcontrôleurs. Cet enseignement
concerne les étudiants intéressés par la conception matérielle et logicielle de systèmes modernes intégrant de
"l'informatique enfouie".

Un microcontrôleur intègre sur une seule puce un microprocesseur programmable, de la mémoire, et les principaux
contrôleurs de périphériques.

Les microcontrôleurs PIC sont des microcontroleurs crées par la société Microchip. Ces microcontroleurs n'appartiennent
pas à la famille des 8051, ils intégrent des processeurs RISC et sont pourvus de nombreux périphériques. Ils n'intègrent
que 35 instructions assembleur, et sont donc assez facile à programmer. Les programmes sont pour la plupart
compatible entre PICs (à part s'il utilisent des registres périphériques spécifiques).

Mais que veut dire "PIC" ? Le nom PIC n'est pas officiellement un acronyme, bien que la
traduction en « Programmable Integrated Circuit » (circuit intégré programmable) soit généralement
admise.

Intérêt des PIC

Un microcontrôleur est une unité de traitement de l'information de type microprocesseur à laquelle on a ajouté des
périphériques internes permettant de réaliser des montages sans nécessiter l’ajout de composants d'annexes. Un
microcontrôleur peut donc fonctionner de façon autonome après programmation. En ce sens, les PIC sont
particulièrement bien dotés, car ils intègrent mémoire de programme, mémoire de données, ports d'entrée-sortie, et
même horloge ou convertisseur analogique-numérique (C.A.N.).

De plus des PIC sont disponibles gratuitement en sample (échantillon) chez Microchip à l'adresse
http://sample.microchip.com, adresse bien connues des électroniciens amateurs.

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 2 sur 15

Programmation des PIC

Les PICs sont programmables avec différents languages (assembleur, basic, langage C), et notamment en langage
purement graphique utilisant un algorigramme avec le logiciel Flowcode. L'algorigramme permet de programmer un
PIC dans Flowcode sans avoir besoin d'apprendre le moindre langage de programmation.

A retenir : un algorigramme permet de programmer rapidement et facilement un PIC sous forme


graphique. La création ou la lecture d'un algorigramme ne necessite aucun apprentissage pour un
scientifique, contrairement à un langage de programmation comme le langage C.

Les différentes familles de PIC ?

Il existe plusieurs familles de PIC : les PIC12, les PIC14, les PIC16F8x, les PIC16Fxxx, les PIC18,etc. La carte de
développement que vous utilisez dans ce TP utilise un PIC de la famille des PIC 16F8x.

Les PIC16FXX sont le bas de gamme de Microchip. Le plus connus d'entre eux est certainement le PIC16F84. Ce dernier
a certainement contribué au succès de Microchip dans le secteur de la robotique. Cependant ce dernier commence à être
dépassé et est remplacé par des composants comme le 16F88, qui intègre beaucoup plus de périphériques (dont un
oscillateur intégré). De plus les PIC16FXX peuvent être programmé en C (même s'ils ne sont pas étudiés pour celà) avec
des compilateurs comme CC5X.

4 microcontrôleurs PIC de familles différentes

Ce TP est structuré en 2 parties :

 PARTIE 1 : DECOUVERTE DE LA CARTE DE DEVELOPPEMENT


 PARTIE 2 : APPLICATION

Travail demandé

PARTIE 1 : DECOUVERTE DE LA CARTE DE DEVELOPPEMENT

Activité 1-1 : préparation de la carte

Reliez la carte au port USB du PC puis alimentez-la en utilisant son propre bloc d'alimenttion (réglé sur 12V).

Lancez le logiciel Flowcode sur le poste connecté à la carte. Pour cela, utilisez l'icône présente sur le bureau de Windows
ou bien allez dans le menu Démarrer + Programmes + Matrix Multimedia + Flowcode V3 + icône Flowcode V3,
puis choisissez comme cible la référence du microcontrôleur PIC présent sur la carte.

Configurer ensuite Flowcode comme suit (à vérifier systèmatiquement pour chaque nouveau fichier créé dans

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 3 sur 15

Flowcode) :

1 - Dans le menu Puce + Cible, vérifier si la cible est correcte (16f88)

2 - Dans le menu Puce + Vitesse d'horloge, régler la vitesse de l'horloge de la carte sur 19660800 Hz
et la vitesse de simulation sur Aussi vite que possible

3 - Dans le menu Puce + Configurer réglez l'oscillateur sur XTAL et le Watchdog timer sur off

Configuration indispensable pour que Flowcode puisse dialoguer avec la carte

Vérifiez sur la carte que les deux interrrupteurs LCD et 7-SEG (placés sous l'afficheur LCD) sont sur off, que
l'interrupteur XTAL/RC est sur XTAL, et que l'interrupteur FAST/SLOW est sur FAST.

Remarque : toute cette procédure préparatoire de Flowcode et de la carte est indiquée sur la page 4
de la fiche mémo et ne vous sera plus rappelée dans les futurs TP : consultez de vous même la fiche
mémo pour la retrouver.

Pour afficher le brochage du PIC dans Flowcode vous pouvez cliquer sur "Puce" dans le menu Affichage. Vous
constatez que le PIC 16F88 est un circuit intégré de 18 pattes (vous pouvez aussi le vérifier sur la carte).

Activité 1-2 : création d'un premier programme de test

Afin de tester le bon fonctionnement de la carte et de sa connexion avec Flowcode vous allez créer un premier
programme qui va faire clignoter la LED A0 de la carte avec une fréquence de 1 Hz. Pour celà :

ETAPE 1 : Ajoutez une barre de LED dans votre projet, et connectez-la au port A :

Remarque : pour obtenir les propriétés d'un composant, cliquez sur le petit bouton situé dans la barre de titre du
composant :

ETAPE 2 : Créez dans votre projet l'algorigramme suivant :

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 4 sur 15

Algorigramme qui fait clignoter la LED A0

Remarque : comme le port A constitue un octet (mot binaire de 8 bits) et que chaque LED est connecté à un bit du port
A, chaque LED a pour numéro une puissance de 2 . Et en application du principe du binaire naturel il suffit d'additionner
plusieurs puissances de 2 pour allumer plusieurs LED.

Par exemple pour allumer la LED A5 il faut mettre 32 dans le port A (32 = 2 puissance 5)

Et pour allumer les LED A4 et A1 en même temps il faut mettre 18 dans le port A (18 = 16 + 2), etc.

Poid de chaque LED en fonction de son rang sur le port A

Les blocs Boucle, Sortie et Pause constituant cet algorigramme sont disponibles en cliquant sur les icônes ci-dessous.
Pour connaître le nom des autres blocs, placez le curseur de la souris sur un symbole sans cliquer et consultez les info-
bulles :

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 5 sur 15

Rappel : pour atteindre les propriétés d'un bloc (par exemple pour régler la durée d'une
temporisation) il suffit de double cliquer sur le bloc dans l'algorigramme.

ETAPE 3 : Lancez la simulation en cliquant sur le bouton Exécuter (ou en appuyant sur F5) et vérifier si la LED A0
clignote bien avec une fréquence de 1 Hz à l'écran. Arrêter la simulation du programme en cliquant sur le bouton
Arrêter.

Important : pour utiliser les LED en sortie sur la carte de développement il faut mettre les 2
interrupteurs LCD et 7-SEG sur off

ETAPE 4 : vous allez maintenant transférer votre programme sur la carte PICmicro DEVELOPMENT afin de faire
clignoter la LED A0 réelles présente sur la carte. Pour cela, commencez par enregistrer votre projet sur le disque dur
dans le répertoire "Mes Documents" en créant un sous-répertoire 1S1 s'il n'existe pas encore. Cliquez ensuite sur
Compiler vers puce dans le menu Puce (ou utilisez le bouton raccourcis correspondant). Observez sur la carte
PICmicro le comportement de la LED A0.

Remarque : une fois que votre programme est transféré sur la carte, il tourne dans le PIC 16f88
présent sur la carte et le logiciel Flowcode n'a plus aucun lien sur ce programme. Il est notamment
impossible d'arrêter le programme à partir de Flowcode.

Pour arrêter le programme tournant dans le PIC 16f88 sur la carte, créez un algorigramme "qui ne fait rien", puis
transférez-le sur la carte après l'avoir enregistré :

Algorigramme vide permettant d'arrêter le programme sur la carte

Très important : comme beaucoup de logiciels, Flowcode n'accepte ni les accents, ni les espaces, ni
les caractères spéciaux dans les noms des fichiers. Pour vous en convaincre essayez par exemple de
transférer vers la carte un algorigramme simple (l'algorigramme vide par exemple) après l'avoir
enregistrer sous le nom modèle.

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 6 sur 15

Remarque à ajouter sur la page 3 de la fiche mémo de Flowcode et à appliquer dans les futurs TP :

Message d'erreur brut : Flowcode a été incapable de traduire l'algorigramme en code C ...

Traduction : Flowcode ne peut pas transférer votre programme, mais l'erreur ne vient pas
forcément d'une erreur dans l'algorigramme ...

Solution : vérifiez que votre algorigramme est enregistré dans un nom de fichier SIMPLE, en
minuscule, sans espaces, sans accents, et sans caractères spéciaux

Activité 1-3 : utilisation des interrupteurs

Fermez tous les fichiers ouverts dans Flowcode (menu Fichier + Fermer). Créez un nouveau fichier (menu Fichier +
Nouveau) dans Flowcode (toujours basé sur le microcontrôleur 16F88). Ajoutez-y une barre de LED connectée au port
A et des boutons poussoirs connectés au port B. Créez l'algorigramme suivant dans lequel n est une variable de type
octet à créer, dans laquelle on va sauvegarder l'état des interrupteurs afin de donner au port A la même valeur que le
port B :

QUESTION : comment créer une nouvelle variable ?

La réponse se trouve sur la page 2 de la fiche mémo : à consulter

Transférez votre programme sur la carte, appuyez sur les boutons B0, B1, B2 et B3 en observant les LED A0, A1, A2 et
A3. Retenez le fonctionnement de cet algorigramme.

Modifiez maintenant votre algorigramme comme suit. A première vue ce nouvel algorigramme fait la même chose que le
précédent : il donne au port A la valeur du port B :

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 7 sur 15

Transférez votre programme sur la carte, appuyez sur les boutons B0, B1, B2 et B3 en observant les LED A0, A1, A2 et
A3. Comparez le fonctionnement de cet algorigramme par rapport au programme précédent puis retenez la différence de
fonctionnement de ces deux algorigrammes.

Conclusion de la partie 1

Vous avez appri dans cette première partie comment configurer Flowcode, comment créer un algorigramme utilisant des
LED et des interrupteurs et comment le transférer sur la carte. Vous pouvez maintenant passer à la partie 2 Application
dans laquelle on vous demande de solutionner un certain nombre de problématiques.

PARTIE 2 : APPLICATION

Application 2-1 : création d'un compteur

Fermez tous les fichiers ouverts dans Flowcode (menu Fichier + Fermer). Créez un nouveau fichier (menu Fichier +
Nouveau) dans Flowcode (basé sur le microcontrôleur 16F88). Ajoutez-y une barre de LED connectée au port B puis
créez l'algorigramme suivant dans lequel n est une variable de type octet à créer :

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 8 sur 15

Algorigramme 1

Transférez le programme sur la carte. Quelle est la fréquence de chacune des LED du port B ? Retenez le principe et le
fonctionnement de cet algorigramme, et la manière d'incrémenter une variable (n=n+1 dans un bloc calcul).

Application 2-2 : commande des LED par les interrupteurs

Fermez tous les fichiers ouverts dans Flowcode (menu Fichier + Fermer). Créez un nouveau fichier (menu Fichier +
Nouveau) dans Flowcode (basé sur le microcontrôleur 16F88). Ajoutez-y une barre de LED connectée au port A et une
barre d'interrupteur connectée au port B, puis créez l'algorigramme suivant dans lequel n est une variable de type octet
à créer :

Algorigramme 2

Rappel : pour utiliser les LED en sortie sur la carte de développement il faut mettre les 2
interrupteurs LCD et 7-SEG sur off

Transférez le programme sur la carte. Que se passe-t-il si on appuie sur le bouton B0 ou sur le bouton B1 ? Quelle(s)

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 9 sur 15

LED reste(nt) allumée(s) lorsque tous les boutons sont relâchés ?

Modifiez l'algorigramme ci-dessus afin que toutes les LED soient éteintes lorsque les boutons sont relâchés. Les
équations des LED A2 et A3 en fonction des boutons B0 et B1 doivent donc être :

A2 = B0

A3 = B1

Modifiez à nouveau votre algorigramme afin que les équations des LED A2 et A3 en fonction des boutons B0 et B1 soient
les suivantes :

A2 = /B0

A3 = /B1

Application 2-3 : commande des afficheurs 7 segments avec les interrupteurs

Fermez tous les fichiers ouverts dans Flowcode. Créez un nouveau fichier dans Flowcode (basé sur le microcontrôleur
16F88). Ajoutez-y un quadruple afficheur 7 segments (composant LED7Seg4).

QUESTION : comment afficher un chiffre sur l'afficheur 7 segment ?

La réponse se trouve sur la page 1 de la fiche mémo : à consulter

La syntaxe de la macro MontreChiffre associée à l'afficheur 7 segments LED7Seg4 est la suivante : chiffre,valeur,
point décimal

 chiffre : il vaut 0, 1, 2 ou 3 selon que l'on veut allumer le chiffre de poids faible, le chiffre de rang 2, de rang 3, ou
le chiffre de poids fort.
 valeur : il s'agit de la valeur à afficher (de 0 à 9)
 point décimal : il vaut 0 ou 1 et permet d'afficher ou non la "virgule" à droite du chiffre sélectionné sur l'afficheur.

RAPPEL : les macros propres à un composant (comme la macro


MontreChiffre de l'afficheur 7 segment) sont accessibles à partir
d'un bloc Routine Composant dans l'algorigramme (et non un bloc
Macro)

Illustrations :

Utilisation d'un bloc Routine Composant dans un algorigramme

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 10 sur 15

Configuration de la macro MontreChiffre de l'afficheur 7 segments

Exemples de configuration de la macro MontreChiffre :

Pour afficher le chiffre 4 sur le poids faible (chiffre de droite sur l'afficheur) sans point décimal on entrera 0,4,0 dans la
macro MontreChiffre

Pour afficher le chiffre 6 sur le poids fort (chiffre de gauche sur l'afficheur) avec un point décimal on entrera 3,6,1 dans
la macro MontreChiffre

Important : pour utiliser l'afficheur 7 segments en sortie sur la carte il faut mettre l'interrupteur 7-
SEG sur on et l'interrupteur LCD sur off.

Proposez un nouvel algorigramme répondant au cahier des charges suivant dans lequel chaque étape dure 1
seconde :

Etape 1 - afficher le chiffre 1 sur l'afficheur de gauche

Etape 2 - afficher le chiffre 2 sur le second afficheur

Etape 3 - afficher le chiffre 3 sur le troisième afficheur

Etape 4 - afficher le chiffre 4 sur l'afficheur de droite

Etape 5 - afficher aucun chiffre (éteindre les 4 afficheurs)

Etape 6 - Retour à l'étape 1

Remarque : comme les Anodes des LED des afficheurs sont reliées au port A du PIC, il suffit de mettre le part A à 0

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 11 sur 15

pour éteindre les 4 afficheurs à la fois.

Vérifiez sur la carte que l'interrrupteur LCD (placé sous l'afficheur LCD) est sur off et que l'interrupteur 7-SEG sont sur
on.

Transférez votre programme sur la carte puis testez-le. En cas de disfonctionnement corrigez votre algorigramme puis
transférez-le à nouveau sur la carte jusqu'à obtenir la programmation demandée. Une fois parfaitement fonctionnel,
appeller le professeur pour faire valider votre programme.

Etat de l'afficheur 7 segments durant l'étape 1

Etat de l'afficheur 7 segments durant l'étape 2

Etat de l'afficheur 7 segments durant l'étape 3

Etat de l'afficheur 7 segments durant l'étape 4

Etat de l'afficheur 7 segments durant l'étape 5 (0 --> Port A)

Remarque à ajouter sur la page 4 de la fiche mémo de Flowcode et à appliquer dans les futurs TP :

QUESTION : comment utiliser l'afficheur 7-SEG sur la carte ?

REPONSE : placer l'interrupteur 7-SEG sur on et l'interrupteur LCD sur off

Remarque à ajouter sur la page 4 de la fiche mémo de Flowcode et à appliquer dans les futurs TP :

QUESTION : comment éteindre entièrement l'afficheur 7-SEG dans un programme ?

REPONSE : il faut mettre 0 dans le port A (car il est relié aux anodes de l'afficheur)

Application 2-4 : réalisation d'un compteur sur l'afficheur 7 segments

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 12 sur 15

Fermez tous les fichiers ouverts dans Flowcode. Créez un nouveau fichier dans Flowcode (basé sur le microcontrôleur
16F88). Ajoutez-y un quadruple afficheur 7 segments (composant LED7Seg4).

En utilisant la macro MontreChiffre de l'afficheur 7 segments, réalisez un algorigramme réalisant l'algorithme suivant.
Testez-le sur la carte et modifiez-le jusqu'à obtenir le fonctionnement demandé :

REPETER

L'afficheur compte de 0 à 23 avec une temporisation de 500 ms puis recommence

TOUJOURS

Problème : la macro MontreChiffre ne peut afficher qu'un seul chiffre à la fois sur l'afficheur. Comment afficher un
nombre (composé de plusieurs chiffres) dans ces conditions ? Par exemple comment afficher le nombre 435 composé de
trois chiffres ?

Solution : la solution consiste à afficher "très vite" chacun des chiffres pour donner l'illusion que tous les chiffres sont
affichés en même temps. Cette technique s'appelle le multiplexage.

Exemple : l'algorigramme suivant affiche un nombre sur 2 chiffres par multiplexage. Dans cet algorigramme :

 du point de vue du compteur les unités sont parfaitement distinctes des dizaines
 la variable u représente les unités
 la variable d représente les dizaines
 le premier bloc Routine de composant affiche les unités sur le chiffre de rang 0 de l'afficheur
 le second bloc Routine de composant affiche les dizaines sur le chiffre de rang 1 de l'afficheur
 il n'y a aucune temporisation dans cet algorigramme : seule la Boucle 30 fois permet de ralentir le compteur
 la Boucle 30 fois actualise en permanence l'afficheur pour donner l'illusion qu'il reste fixe, et ce que les variables u
et d aient changé de valeur ou pas

Affichage multiplexé

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 13 sur 15

Application 2-5 : inversion du sens de comptage du compteur

Fermez tous les fichiers ouverts dans Flowcode. Créez un nouveau fichier dans Flowcode (basé sur le microcontrôleur
16F88). Ajoutez-y un afficheur 7 segments (composant LED7Seg1) et des boutons poussoirs connectés au port A.

En utilisant les macros de l'afficheur 7 segments validez un algorigramme réalisant l'algorithme suivant. Testez-le en le
trasférant sur la carte et modifiez-le jusqu'à obtenir le fonctionnement demandé :

REPETER
SI bouton A7 appuyé ALORS
L'afficheur compte de 0 à 9 avec une temporisation de 500 ms
SINON
L'afficheur décompte de 9 à 0 avec une temporisation de 500 ms
FIN-SI
TOUJOURS

Application 2-6 : affichage d'un message défilant sur l'afficheur LCD

Dans cette activité vous allez découvrir l'utilisation des afficheurs et des macros dans Flowcode. Les macros sont des
sous-programmes permettant de réaliser des actions complexes comme par exemple l'affichage d'une chaîne de
caractère sur l'afficheur LCD.

Fermez tous les fichiers ouverts dans Flowcode. Créez un nouveau fichier dans Flowcode (basé sur le microcontrôleur
16F88). Ajoutez-y un afficheur LCD puis réaliser l'algorigramme suivant utilisant seulement 2 bloc "Routine de
composant" :

 Le premier bloc appelle la macro Init liée à l'afficheur LCD


 Le second bloc appelle la macro Ecrit Chaîne liée à l'afficheur LCD

Voici le rôle des principale macros permettant d'utiliser l'afficheur LCD :

Nom de la
macro Rôle de la macro
dans Flowcode
Init initialise l'afficheur LCD avant de l'utiliser
Efface Efface l'afficheur LCD
Positionne le curseur sur une case précise (ligne et colonne) avant l'affichage du
Curseur
message
Ecrit_Chaîne Affiche une chaîne de caractère sur l'afficheiur LCD
Ecrit_Num Affiche la valeur numérique d'une variable sur l'afficheur LCD

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 14 sur 15

Rappel : comme indiqué sur la page 2 de la fiche mémo, dans Flowcode les chaînes de caractères sont délimitée entre
deux caractères double quote.

exemple : "Ceci est une chaîne de caractères"

Important : pour utiliser l'afficheur LCD en sortie sur la carte il faut mettre l'interrupteur LCD sur on
et l'interrupteur 7-SEG sur off.

Validez une solution pour la problématique suivante en utilisant un afficheur LCD et ses différentes macros et en
trasférant votre programme sur la carte de développement pour le tester :

Proposez une solution permettant de faire défiler le message "Vive le Génie Electrique !" de gauche à
droite sur la première ligne de l'afficheur LCD, en utilisant la macro Curseur pour positionner le
curseur au bon emplacement avant d'écrire un message.

Une fois fonctionnel, complétez votre algorigramme afin d'afficher (en plus du message défilant qui
reste toujours sur la première ligne) votre nom en fixe sur la seconde ligne de l'afficheur.

Remarque à ajouter sur la page 4 de la fiche mémo de Flowcode et à appliquer dans les futurs TP :

QUESTION : comment utiliser l'afficheur LCD sur la carte ?

REPONSE : placer l'interrupteur LCD sur on et l'interrupteur 7-SEG sur off

Application 2-7 : conditions logiques dans un algorigramme

Fermez tous les fichiers ouverts dans Flowcode. Créez un nouveau fichier dans Flowcode (basé sur le microcontrôleur
16F88). Ajoutez-y une barre de LED connectée au port A et une barre d'interrupteur connectée au port B, puis créez
l'algorigramme suivant :

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010


Flowcode Page 15 sur 15

Algorigramme 3

Transférez le programme sur la carte puis appuyez sur les boutons B0 et/ou B1. Quelle est l'équation logique de la LED
A2 en fonction des boutons B0 et B1 ? Quelle est l'équation de A3 en fonction de B0 et B1 ?

Modifiez votre algorigramme afin que les équations des LED soient les suivantes :

A0 = B0+B1+B2

A1 = B0.B1.B2

A2 = B0 B1

A3 = B0 B1 B2

Transférez le programme sur la carte puis testez-le. En cas de disfonctionnement corrigez votre algorigramme puis
transférez-le à nouveau sur la carte jusqu'à obtenir la programmation demandée.

Retour à la page d'accueil du serveur NESSI

Serveur NESSI
Lycée Joliot Curie
Dammarie-lès-Lys
Académie de Créteil

mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... 01/12/2010