Sie sind auf Seite 1von 10

Introduction la programmation

INTRODUCTION A LA PROGRAMMATION PAR ORGANIGRAMME SUPPORT: FEUX DE CARREFOUR : Analyse fonctionnelle de lobjet technique : Fonction dusage Fournir des informations lumineuses aux usagers de la route, selon des cycles prtablis, afin dassurer lcoulement optimum de la circulation au niveau dune intersection. Schma fonctionnel

TRAITEMENT DE SIGNAUX ELECTRIQUES

PRODUCTION DE SIGNAUX LUMINEUX

PREPARATION : a) Complter lanalyse ci-dessus avec les termes suivants : Rglage des temps ; Slection du mode de fonctionnement ; Informations lumineuses ; PIC ; LEDs Faire les conversions suivantes : ( voir page10/10) De base 10 base 2 : 15 = 20 = 3= 8=

Et placer les rsultats dans le registre ci-dessous : Poids : port B valeur B=15 25 B5 24 B4 23 B3 22 B2 21 B1 20 B0

continuer le tableau

De base 2 base 10 : Port B Valeur B= Valeur B= Valeur B= B5 1 0 1 B4 0 1 1 B3 1 1 1 B2 0 0 1 B1 1 1 1 B0 1 0 1

Quelle est la valeur maximale que peut prendre B en dcimal ? : Bmax =

Page 1 sur 10

Introduction la programmation

Le but de cette sance de TP est de prendre en main le logiciel de programmation FLOWCODE. Ce logiciel de programmation permet de raliser des programmes en assembleur pour les microprocesseurs PIC. A lissue de cette dernire, llve doit tre capable de mettre en uvre un programme au niveau algorithmique et de raliser la programmation physique d'un PIC 16F877. Ce support de TP sera par ailleurs l'occasion de raliser une premire approche des conversions binaire dcimal et dcimal binaire. Aidez vous du document utilisation du logiciel FLOWCODE

Approche Pratique 1 Utilisation simplifie du logiciel Flowcode


Etape 1 : Ouverture de Flowcode et choix du processeur Lancer le logiciel Flowcode. Le menu suivant doit apparatre. Il faut choisir, de Crer un nouvel organigramme Flowcode puis Valider.

L'cran suivant permet alors de choisir le microprocesseur cible. Notre choix s'est port sur le PIC 16F84.

Page 2 sur 10

Introduction la programmation

Etape 2 : Description des symboles proposs La ralisation d'un organigramme sur Flowcode repose sur la connaissance minimale de quelques symboles simples. Ces derniers sont reprsents ci dessous :

Symbole de dbut et de fin d'organigramme

Symbole d'entre de donne ou de sortie de donne

Symbole de pause

Symbole de dcision

Symboles de point de jonction (Saut inconditionnel)

N.B important : Sur Flowcode, d'autres symboles sont disponibles. Cependant, ces derniers sont plus complexes apprhender et certains seront vus lors d'autres phases de programmation.

Page 3 sur 10

Introduction la programmation

Etape 3 : Utilisation de Flowcode en simulation : Sous Flowcode, crire l'organigramme complet et lancer la simulation l'aide de l'icne reprsentant une flche. Pour les associations des sorties du PIC 16F84 avec les LEDS, il est possible soit de faire une recherche en autonomie, soit d'appeler le professeur pour une aide ponctuelle.

Leds rouges

Leds jaunes

Nota :Les bits RA0 et RA1 sont directement connects via des rsistances de limitation aux leds rouges. Les bits RA2 et RA3 sont directement connects via des rsistances de limitation aux leds oranges.

Ce programme peut-il s'arrter ? En utilisant le cours sur la numration, que reprsente les valeurs 15 et 3 qui sont places sur les sorties du port A ? 15 : Remplir le tableau du registre ci-dessous : Bit du port A
Led commande pour 15 Led commande pour 3

3:

A5

A4

A3

A2

A1

A0

Les points de jonctions peuvent tre remplacs par une boucle ; Remplacer ceux-ci et tester le programme Page 4 sur 10

Introduction la programmation

Etape 4: Introduction aux organigrammes Dessiner l'organigramme simplifi du fonctionnement du cahier des charges ci-dessous:

Les deux LEDS rouges reprsentent la signalisation du fonctionnement et doivent tre allumes en permanence. Les deux LEDS jaunes reprsentent les feux oranges et doivent clignoter en mode nocturne avec un rapport cyclique 2/3 (Allumes pendant 0.66 seconde et teintes pendant 0,33 secondes).

Organigramme de fonctionnement : Complter l'organigramme de fonctionnement :

Dbut de l'organigramme.

Point de jonction pour le retour du programme.

Allumage des quatre LEDS.

Attente 0,66 seconde.

Fin de l'organigramme (fin du programme).

Page 5 sur 10

Introduction la programmation

Etape 5 : Pour aller plus loin avec Flowcode Utilisation d'une structure dcisionnelle Tracer l'organigramme ci-dessous qui permet de mettre en place une structure dcisionnelle dans Flowcode.

Nota : Pour actionner le bouton A4, il faut arrter la simulation, puis lactionner aprs.

Expliquer le fonctionnement de cet organigramme.

Quelle est la fonction du bouton A4 ?

Etape 6 : Implmentation du code sur la carte A l'aide du professeur, implmenter le code sur la carte Matrix Multimedia. Vrifier le fonctionnement souhait. Attention le PIC utilis est un PIC 16F877 Pour changer de PIC dans FLOWCODE : Faire Fichier puis PIC programmer

Page 6 sur 10

Introduction la programmation

Approche Pratique 2 Gestion des feux d'un carrefour


Etape 1 : Cahier des charges On souhaite valider le fonctionnement d'une gestion de feux de carrefour par programme. Le cahier des charges est le suivant : Au croisement de 2 axes routiers, on dsire placer des feux tricolores afin de grer le passage des vhicules.

Vo ie 2
R2 O2 V2 V1 O1 R1

Vo ie 1
R 1 O 1 V1 V2 O2 R2

NB 1 : La voie 1 sera considre comme l'axe principal et la voie 2 comme l'axe secondaire. Sec 1 et Sec 2 reprsentent les temps de scurit (recouvrement des rouges) Pour des contraintes de scurit, le passage de rouge au vert doit imposer un temps o les deux feux sont au rouge. On choisit le fonctionnement suivant : ? ? ? ? ? ? Dure de R1 (le feu rouge de la voie 1) = 7s. Dure de O1 (le feu orange de la voie 1) = 1s. Dure de V1 (le feu vert de la voie 1) = 8s. Dure de R2 (le feu rouge de la voie 2) = 11s. Dure de O2 (le feu orange de la voie 2) = 1s. Dure de V2 (le feu vert de la voie 2) = 4s.

Le chronogramme de fonctionnement donn page suivante :

Page 7 sur 10

Introduction la programmation

Exemple pour V1
R1 1 0 O1 1 0

0 0

V1 1 0 R2 1 0 O2 1 0 V2 1 0 ETAT

1
t

1
t

0
t

0
t Sec V1 V1 V1 V1 V1 V1 V1 V1 O1 Se c V2 V2 V2 V2 O2 1 2 3 45 5 6 7 8 9 10 2 CYCLE

Sec1 : Scurit 1 V1 : Vert sur la voie 1 O1 : Orange sur la voie 1 Etape 2 : Fonctionnement l'aide d'un PIC 16F84 Rpondre aux questions suivantes : De combien de leds aura-t-on besoin pendant la simulation ? Justifier votre rponse. Nous utiliserons un PIC 16F84 Peut-on choisir le Port A ? Peut-on choisir le Port B ? On choisira donc le port .

Sec2 : Scurit 2 V2 : Vert sur la voie 2 O2 : Orange sur la voie 2

Dans quelle configuration doit-on placer le port ? (Entre ou Sortie) Justifier votre rponse.

Le cahier des charges impose les liaisons suivantes : Bit du port Led commande Exemple pour V1 B5 V2 0 B4 O2 0 B3 R2 1 B2 V1 1 B1 O1 0 B0 R1 0

= 12 en base 10

Page 8 sur 10

Introduction la programmation

Remplir le tableau ci-dessous : en vous aidant de lexemple de V1 et du chronogramme page 8 Dtermination du nombre (binaire et dcimal) envoyer vers le port B: Sec1 Nombre en binaire Nombre en dcimal Dures V1
001100 12
8s

O1

Sec2

V2

O2

Etape 3 : Saisie sous FlowCode Proposer et saisir lorganigramme. Etape 4 : Simulation sous FlowCode On souhaite que les LEDS soient disposes de la mme manire que celles prsentes dans le cahier des charges. Tester le en prsence du professeur. N.B : FlowCode ne disposant pas de LEDS oranges, ces dernires seront remplaces par des LEDS jaunes. Etape 5 : Etude dun fonctionnement Jour/nuit : On souhaite que la nuit les feux oranges clignotent (prendre 0,5s et 0,5s) ; le fonctionnement de jour tant identique au prcdent. Complter votre programme et tester le en prsence du professeur. Nota : Pour actionner le bouton SWITCH, il faut suspendre la simulation, puis lactionner aprs. Une patte dun PORT peut tre configure en entre ou en sortie Etape 6 : Etude dun fonctionnement de pointe jour : Afin de grer une sortie dusine frquente uniquement pendant les heures dentres et de sortie dusine (mode pointe jour) ; nous avons install un capteur (Bouton Poussoir) sur la voie menant lusine ainsi quun Bouton poussoir appel pitons : Si aucun vhicule nest prsent en entre sortie dusine, la voie de lusine est au Rouge et donc lautre voie est au Vert. Si un vhicule arrive sur le capteur ou si il y a un appel pitons , il y aura une attente de 30 secondes, puis les feux de la voie principale basculeront lorange pendant 3 secondes, puis au rouge pendant 3 seconde s, puis il y aura un temps de 3 secondes ou les deux voies seront au rouge, alors la voie de lusine passera au vert pendant 30 secondes. Etape 7 : Etude des feux pitons: Ajouter votre programme les feux pitons (vert si les voitures sont au rouge et rouge si les voitures sont lorange ou au vert) ceci pour les deux voies (1 et 2) Etape 8 : Implmentation du code sur la carte : A l'aide du professeur, implmenter le code sur la carte Matrix Multimedia. Vrifier le fonctionnement souhait. Attention le PIC utilis est un PIC 16F877 Pour changer de PIC dans FLOWCODE : Faire Fichier puis PIC programmer Page 9 sur 10

RESSOURCE CHANGEMENT DE BASE: Conversion d'un nombre dcimal en une autre base :

Par une succession de divisions entires. Diviser le nombre dcimal par la base, en conservant le reste. Le quotient obtenu est son tour divis par la base en conservant le reste. Ainsi de suite jusqu' obtention d'un quotient nul. Les restes successifs composent le nombre dans la nouvelle base. Le premier reste est le chiffre de poids le plus faible et le dernier reste est le chiffre de poids le plus fort. exemple : 428d transcrire en base 2 et 16 428d = 1 1010 1100b
428 0 2 214 0 2 107 1 2 53 1

2 26 0

2 13 1

2 6 0

428 12 C

16 26 10 A

2 3 1

16 1 1

2 1 1

2 0

16 0

428d = 1AC h
1.7.4 ) Tableau de correspondance entre les bases :

16 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 12 ...

10 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 ...

2 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 1 0000 1 0001 1 0010 ...

Page 10 sur 10