C : traitement programmé de l'information : structures algorithmiques de base (linéaire, alternative, itérative) ; élément de programmation
On utilise le logiciel « Flowcode V3 » en mode simulation. Plus tard, il sera possible de transférer le programme dans un microcontrôleur PIC de chez Microchip. Le TP va vous permettre de mettre en œuvre les différentes structures algorithmiques vues en cours puis de comprendre la notion de masquage. 1. Lancement du logiciel FLOWCODE V3 L'outil de développement utilisé est le logiciel FLOWCODE de chez MULTIPOWER. Il permet de programmer directement en algorigramme.
Pour lancer le logiciel, double-cliquez sur l'icône Flowcode V3
.
La fenêtre principale s'ouvre :
Choisir " Crée un nouvel algorigramme FlowCode " puis cliquez sur Ok. Vous devez maintenant choisir le microcontrôleur que vous allez programmer à partir de Flowcode.
Choisir le microcontrôleur " 16F84 ". Ce microcontrôleur est un circuit intégré de 18 broches. Il intègre principalement un microprocesseur, de la mémoire RAM, de la mémoire EEPROM, et des ports d'entrées / sorties : – le port A de 5 bits : RA0 à RA4 – le port B de 8 bits : RB0 à RB7 Durant le TP, vous allez connecter des leds et des interrupteurs sur ces ports, programmer le microcontrôleur et tester vos programmes à l'aide du simulateur de Flowcode. Une aide sur flowcode est fournie par un guide : guide_flowcode.pdf. Vous trouverez ce fichier sur le site STI2 – partie logiciels.
ALGORITHMIQUE ET LANGAGES
{\TP\flowcode\tp_flowcode.odt} - page 2/11
2. Exemple : allumer une led - fichier led.fcf L'objectif est d'allumer la première led. L'algorithme est le suivant : début Écrire la valeur 1 sur le PORT B fin On donne l’algorigramme suivant :
double-cliquez pour définir les propriétés
Vous connecterez les leds entier.
sur le port B du PIC. Cliquer sur la flèche ↓ puis Connexions et choisir le PORT B
2.1 Quelle est la structure algorithmique employée dans cet exemple ? ………………………………………………..........…………………………...................………………………
2.2 Saisir l'algorigramme et lancer la simulation en cliquant sur l'icône
ou en appuyant sur la touche F5.
Faire valider par le professeur. 2.3 Modifier le programme afin d'allumer uniquement la led 4. Faire valider par le professeur. 2.4 Modifier le programme afin d'allumer les leds 3 et 7. Faire valider par le professeur.
ALGORITHMIQUE ET LANGAGES
{\TP\flowcode\tp_flowcode.odt} - page 3/11
3. Les interrupteurs version 1 – inter1.fcf L'objectif est de recopier l'état de 5 interrupteurs sur les leds. Un interrupteur en position ON allume la led correspondante. Le programme doit s'exécuter à l'infini. Vous connecterez 5 switches de type "bascule" au PORT A ( ↓ puis Propriétés ), les leds étant connectées sur le PORT B comme dans l’exercice précédent. Vous utiliserez une variable pour passer de la lecture des interrupteurs vers l’écriture sur les leds. Remarque : répéter à l'infini est une « Boucle » tant que, sans condition de sortie ou avec une condition de sortie qui ne sera jamais satisfaite (1=1). 3.1 Écrire l'algorithme. ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… 3.2 Écrire le programme inter1.fcf sous Flowcode. Tester et faire vérifier par le professeur. 3.3 Modifier le programme afin d'allumer la led si l'interrupteur est en position OFF. Pour cela vous utiliserez un bloc CALCUL
où vous complémenterez la variable utilisée avec l'instruction NOT.
Ex : TOTO = NOT (TOTO) Tester et faire valider par le professeur.
ALGORITHMIQUE ET LANGAGES
{\TP\flowcode\tp_flowcode.odt} - page 4/11
4. Les interrupteurs version 2 - inter2.fcf L'interrupteur 0 commande toutes les leds. Lorsqu'il est en position ON, elles s'allument ; elles s'éteignent lorsqu'il repasse en position OFF. Ceci peut importe la position des autres interrupteurs. Le programme s'exécute à l'infini. Il vous faut utiliser le principe du masquage : sur 8 bits en entrée, on ne veut tester que le bit 0.
Mot à tester
27
26
25
24
23
22
21
20
X
X
X
X
X
X
X
Bit 0
ET logique Masque
0
0
0
0
0
0
0
1
Résultat
0
0
0
0
0
0
0
Bit 0
En faisant un ET logique, c'est-à-dire bit à bit, entre le mot de 8 bits à tester et le masque (ici 00000001), le résultat sera nul si le bit0 est 0 et sera non nul si le bit 0 est 1. Ainsi on fait le test du bit 0 sans s'occuper de l'état des autres bits. Flowcode intègre la notion de masquage dans sa fonction « Entrée ». Il suffit de cocher l’option masquage ainsi que les bits non masqués. Exemple : dans la fenêtre ci-contre la variable INTER prendra la valeur du bit RA0, peu importe les états des bits RA1 à RA4 puisqu'ils sont masqués (décochés).
L'algorithme du programme inter2 est le suivant : début répéter valeur = état de l’inter0 si valeur = 0 alors écrire 0 sur les leds sinon écrire 255 sur les leds fin Si jusqu'à l'infini fin 4.1 Quel(s) type(s) de structure algorithmique reconnaissez-vous dans l'algorithme ? ………………………………………………..........…………………………...................……………………… ………………………………………………..........…………………………...................……………………… 4.2 Écrire inter2.fcf. Faire vérifier par le professeur et tester. 4.3 Modifier le programme afin que les leds s'allument si les interrupteurs 0 ou 4 sont en position ON. Tester et faire valider par le professeur. 4.4 Réaliser un programme qui lit en permanence l'état du bit 4 du port A (indépendamment des autres) et recopie son état sur le bit 0 du port B. Tester et faire valider par le professeur.
ALGORITHMIQUE ET LANGAGES
{\TP\flowcode\tp_flowcode.odt} - page 5/11
5. Le chenillard version 1 - fichier chenil1.fcf L'objectif est de faire défiler sans interruption les leds 0 à 7. L'interrupteur 0 sert à arrêter le défilement. Algorithme : début répéter Allumer la led 0 Attendre 0,5s Allumer la led 1 Attendre 0,5s
tant que interrupteur 0 en position OFF fin
5.1 A quel type de structure algorithmique correspond le Répéter …. Tant que ? ………………………………………………..........…………………………...................……………………… 5.2 Compléter l'algorithme. 5.3 Écrire chenil1.fcf. Compléter le programme. Faire vérifier par le professeur et tester.
ALGORITHMIQUE ET LANGAGES
{\TP\flowcode\tp_flowcode.odt} - page 6/11
6. Le chenillard version 2 - chenil2.fcf L'objectif est de réécrire le même programme que dans le 5. en utilisant les opérateurs de décalage. La fonction décalage permet de décaler vers la gauche ou la droite le contenu d'un octet. > décalage à droite exemple :
Thank you for interesting in our services. We are a non-profit group that run this website to share documents. We need your help to maintenance this website.