Exercice N 1. On donne le tableau d affectation des entrées et de sorties :



Documents pareils
République Tunisienne Ministère de l'education. Sciences Techniques. Manuel d activités. Les auteurs. Ali ZITOUNI Inspecteur des lycées et collèges

La programmation des PIC en C. Les fonctions, les interruptions.

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

AMICUS 18 (2ème partie) 4) Présentation du logiciel Amicus IDE

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

Manipulations du laboratoire

Corrigé des TD 1 à 5

Examen Médian - 1 heure 30

PARTIE OPERATIVE PARTIE COMMANDE 1. LA PARTIE OPERATIVE ET LA PARTIE COMMANDE : 2. LEURS INTER-RELATIONS :

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Représentation d un entier en base b

RENOVER LES FEUX TRICOLORES

Notice d installation de la Centrale VIGIK DGM1

PIC EVAL Dev Board PIC18F97J60

Propagation sur réseau statique et dynamique

Flowcode - Mode d'emploi

Algorithmique & programmation

Recherche dans un tableau

Cours d algorithmique pour la classe de 2nde

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Réalisation d un réseau de capteurs de température sans fil basé sur le protocole ZigBee

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

MICROCONTROLEURS PIC PROGRAMMATION EN C. V. Chollet - cours-pic-13b - 09/12/2012 Page 1 sur 44

Cours Informatique Master STEP

KL5121. Pour activer des sorties en fonction de la position d'un codeur

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi module

FORD C-MAX + FORD GRAND C-MAX CMAX_Main_Cover_2013_V3.indd /08/ :12

Algorithmes et programmation en Pascal. Cours

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Licence Sciences et Technologies Examen janvier 2010

Organigramme / Algorigramme Dossier élève 1 SI

QUESTION 1 {2 points}

PIC : COURS ASSEMBLEUR

CAA/SE N O T I C E D E M O N T A G E E T D U T I L I S A T I O N KIT DE MONTAGE. Clavier lumineux codes DIGICODE

Algorithme. Table des matières

Electronique Automatisme Informatique Electricité

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

TRIGONOMETRIE Algorithme : mesure principale

COMMANDER A DISTANCE LE ROBOT-PONG ETUDE DE LA TELECOMMANDE (2 nde PARTIE)

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE UNIVERSITE M HAMED BOGARA DE BOUMERDES

VIII- Circuits séquentiels. Mémoires

Projet # 3 Serrure à deux clés

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Programmer en JAVA. par Tama

Algorithmique et Programmation, IMA

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Compilation (INF 564)

CONTRÔLE DE BALISES TYPE TB-3 MANUEL D'INSTRUCTIONS. ( Cod ) (M H) ( M / 99G ) (c) CIRCUTOR S.A.

CONFIGURATION DE L AUTOMATE SIEMENS

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

PROGRAMMATION D'UN MICROCONTRÔLEUR

Module EC2b Programmation et Automatisation Bâtiment

Programmation C++ (débutant)/instructions for, while et do...while

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Objets et Programmation. origine des langages orientés-objet

PROMI 500 Badges - Codes

L ALGORITHMIQUE. Algorithme

STAGE IREM 0- Premiers pas en Python

Plan du cours. Historique du langage Nouveautés de Java 7

Probabilités Loi binomiale Exercices corrigés

Conception de circuits numériques et architecture des ordinateurs

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1 Définition et premières propriétés des congruences

PROGRAMMATION EVENEMENTIELLE sur EXCEL

PIC 16F84. Philippe Hoppenot

SUR MODULE CAMÉRA C38A (OV7620)

Programmation en Java IUT GEII (MC-II1) 1

Architecture : Circuits numériques et éléments d architecture

Chapitre N 8. Copyright LGM DEPANNAGE ELECTRIQUE : 1- Procéder avec méthode pour tester un circuit : 2: Contrôle de la continuité:

LA MESURE INDUSTRIELLE

Baccalauréat ES Amérique du Nord 4 juin 2008

1. Structure d'un programme FORTRAN 95

Algorithmique et programmation : les bases (VBA) Corrigé

Introduction au langage C

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Alarme intrusion filaire AEI HA zones

! analyse du fonctionnement

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

as Architecture des Systèmes d Information

Tableaux d alarme incendie de type 4-230V~ - 1 boucle / 2 boucles /62

= constante et cette constante est a.

Cours d Informatique

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores


Séquence 3. Expressions algébriques Équations et inéquations. Sommaire

Notions fondamentales du langage C# Version 1.0

UGVL : HOMOLOGATION PS ZAC du bois Chaland 6 rue des Pyrénées LISES EVRY Cedex FRANCE Tel Fax

Rappels sur les suites - Algorithme

MANUEL D INSTALLATION ET MANUEL D UTILISATION. Avantages

Transcription:

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page /4 Exercice N On désire programmer les équations suivantes par un PIC 6F84A A B C D S S2 S3 S4 S5 On donne le tableau d affectation des entrées et de sorties : Affectation des entrées Affectation des sorties Entrées Entrées PIC Sorties Sorties PIC A RA0 S RB0 B RA S2 RB C S3 RB2 D S4 RB3 S5 RB4 Opérateurs logiques réalisés par le pic Opérateur Opération NOT NON OR OU AND ET XOR OU exclusif ) compléter le tableau suivant par : Entrée «E», sortie «S», Non connecté «NC» : PORT A RA0 RA RA4 RB0 RB RB2 RB3 RB4 RB5 RB6 RB7 PORT B

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 2 /4 2 ) Trouver les valeurs qu on devra placer dans les registres TRISA et TRISB du PIC6F84A : TRIS A TRIS B = (... )Hex = (... )Hex 3 ) Etablir les équations des sorties : S = S3 = S2 = S4 = S5 = 4 ) Compléter le programme en MikroPascal correspondant aux équations précédentes : Program equations ; Begin Trisa:=$ ; Trisb:=$ ; Portb :=.. ; // initialisation While true do // boucle infinie Begin // equation de S If((PortA.0=0) and (...)...(...)...(... )) then portb.0:= else portb.0:=0; // equation de S2 If... // equation de S3... // equation de S4..... // equation de S5... END. Exercice 2: Soit le schéma à contact suivant : RA0 RA RB0 ) Déduire l équation logique de RB0 RB0=..

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 3 /4 2 ) Traduire cette équation par un programme Mikropascal Program equation2 ; Begin Trisa:=$ ; Trisb:=$ ; Portb :=.. ; // initialisation While true do Begin If(( ) and (...)) then... ; Exercice 3: Soit les schémas à contacts suivants : S3 S S2 KM S4 KM2 KM2 KM Affectation des entrées Affectation des sorties Entrées Entrées PIC Sorties Sorties PIC On attribue à KM une variable X et à KM2 une variable Y ) Donner l équation de X X=.. 2 ) Donner l équation de Y Y=.. 3 ) Traduire ces deux équations par un programme Mikropascal Program equation3 ; var X,Y:byte; Begin X:=0;Y:=0; Trisa:=$ ; Trisb:=$ ; S RA0 KM RB0 S2 RA KM2 RB S3 S4 Portb :=.. ; // initialisation

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 4 /4 while true do Begin if ((porta.0=0) and ((porta.=..)... (X= ))) then X:= else X:=.; if..; if X=0 then portb.0:=0 else portb.0:= ; if Y=0 then.; end. Exercice 4: Le fonctionnement d un système est décrit par le GRAFCET suivant: 0 m KM S 2 KM2 S2 3 KM3 S3.S4 KM4 Le circuit de commande du système est le suivant :? KM KA C 33p C2 33p X CRYSTAL 6 5 4 U OSC/CLKIN RA0 OSC2/CLKOUT RA MCLR RA4/T0CKI RB0/INT RB RB2 RB3 RB4 RB5 RB6 RB7 PIC6F84A 7 8 2 3 6 7 8 9 0 2 3?? 0 0 0 0 0 KM2 KA2 KA3 KM3 KM4? KA4 m S S2 S3 S4 ) compléter le GRAFCET codé microcontrôleur 2 ) Compléter les affectations des deux registres TRIS A et TRIS B. X0 X X2 X3........ TRIS A RA4 RA RA0 RB7 RB6 RB5 RB4 RB3 RB2 RB RB0 TRIS B

...... Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 5 /4 3 ) compléter le programme relatif au grafcet précédent program exercice4; Var X0, : byte ; // Déclaration des variables BEGIN... ;.... ;.... ; // Configuration du registre TRISA en Hexadécimal // Configuration du registre TRISB en Hexadécimal // Initialisation du porta X0:= ; X:=0 ; ; // Initialisation des variables BEGIN... // boucle infinie IF (( ) AND ( )) THEN // Condition d activation de l étape BEGIN END ;... ; IF (( ) AND (..)) THEN // Condition d activation de l étape2 BEGIN X := 0 ; X2 := ; END ;. // Condition d activation de l étape3 BEGIN... END ; // Condition d activation de l étape0...... IF (X=) THEN porta.0:= ELSE // Programmation de la sortie KM...// Programmation de la sortie KM2...// Programmation de la sortie KM3... //Programmation de la sortie KM4..; END.

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 6 /4 ExerciceN 5 Système : chaîne fonctionnelle : On peut assimiler la chaîne fonctionnelle à un système de tri de pièces. Les pièces longues et les pièces courtes arrivent sur le même convoyeur : Si la pièce est longue, elle doit passer jusqu à la fin du tapis pour être évacuer. Si la pièce est courte, elle doit être éjectée dans un bac. MT Pièce Longue Pièce Courte Zone de détection Pièce longue Pièce courte S S2 S3 Solénoïde d éjection Convoyeur à bande Bac d évacuation des pièces courtes Zone d éjectio On veut commander la chaîne fonctionnelle par un microcontrôleur PIC 6F84A. En se référant au grafcet P.O et du tableau d affectation des entrées et sorties ) Compléter le GRAFCET codé microcontrôleur GRAFCET d un point de vue P.O GRAFCET codé PIC 0 X0 dcy MT X S. S 2 S. S 2 2 MT 5 MT X2 X5 S 3 3 MT Se S 3 X3 S 3 4 MT Se T 6 MT T2 t /4/5s t 2 /6/6s X4 T X6 t /X4/5s t 2 /X6/6s T2 Affectation des entrées Affectation des sorties Entrées système Entrées PIC Sorties système Sorties PIC dcy RA0 MT RB0 S RA S e RB S 2 S 3 2 ) Compléter les affectations des deux registres TRISA et TRISB. TRISA RA4 RA RA0 TRISB RB7 RB6 RB5 RB4 RB3 RB2 RB RB0

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 7 /4 3 )Compléter le programme en langage pascal relatif à la commande du système : program chaine fonctionnelle; var X0, X, X2, X3, X4,X5,X6,dcy, S, S2, S3, t, t2: byte; trisa := $...; trisb := $...; portb :=.; X0 :=; X..;X2 ;X3.. 0; X4..;X5.;X6..; // programmation des temporisations while... do if (X4=0) then t := 0 else dcy := porta.0; S :=...; S2 :=...; S3:= porta.3; delay_ms(5000); t := ; if ((X0=) and (dcy=)) then X0 := 0; X := ; if (X6=0) then t2 := 0 else if ((X=) and (...) and( S =0)) then.. X := 0; X2 :=; if... X2 := 0; X3 :=; end. if ((X3=) and ( S3 =0)) then... if ((X=) and (...) and(...)) then X := 0; X5 :=; if... then X5 := 0; X6 :=; if (X6=)... X6 := 0; X5:=0;X0 :=; // programmation des sorties If then portb.0 := else portb.0:=0; if ((X3=) or (X4=))

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 8 /4 Exercice N 6 Système : déplacement d un chariot: Le chariot étant en position initiale (S est actionné) un ordre de départ cycle «dcy» provoque : - Le déplacement du chariot jusqu à «S2» - Le chargement du chariot avec un produit et une temporisation de 0s. - Le déchargement en «S3» - Retour du chariot en «S2» pour le charger et le décharger de nouveau en «S3». Enfin, il revient en «S». Un compteur est incrémenté à la fin de chargement, sa sortie n= si le chariot est chargé 2 fois. Chargement Dcy Déchargement S S2 S3 On veut commander le système par un microcontrôleur PIC 6F84A. En se référant au grafcet P.C et au tableau d affectation des entrées et sorties ) Compléter le GRAFCET codé PIC GRAFCET codé PIC GRAFCET P.C X 2 Dcy.S KM X2 S2 3 KA t / 3 / 0s 4 KM T X3 X4 t / X3 /0 s T S2. n S3 5 4M X5 6 l KM 2 X6 S2. n 7 K M 2 X7 S Affectation des entrées Affectation des sorties Entrées système Entrées PIC Sorties système Sorties PIC Dcy RB0 KM RA0 S RB KM2 RA S2 RB2 4M S3 RB3 KA RB5 l n RB6

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 9 /4 2 ) Compléter les affectations des deux registres TRISA et TRISB. TRISA RA4 RA RA0 TRISB RB7 RB6 RB5 RB4 RB3 RB2 RB RB0 3 ) compléter le programme en langage pascal relatif à la commande du système : program chariot; var X, X2, X3, X4,X5,X6,X7,Dcy, S, S2, S3,l,n, t : byte; trisa := $...; trisb := $...; porta :=.; X :=; X2..;X3 ;X4.. 0; X5..;X6.;X7..; while... do Dcy := portb.0; S :=... ; S2 :=... ;S3:= portb.3; l :=... ; n:=...; if ((X=) and (Dcy=) and( S =)) then X := 0; X2 := ; if ((X2=) and (...) or (X6=) and (...) and(...)) then X2 := 0; X6 := 0; X3 :=; if (...and (t=))... X3 := 0; X4 :=; if ((X4=) and ( S3 =)) then... if ((X5=) and (...)) then... if ((X6=) and (....) and(... )) then X6 := 0; X7 :=;... X7 := 0; X :=; // programmation des sorties if(x=) then porta :=0 ; if (X2=) then ; if (X3=) then porta :=8; if(x4=) then ; if(x5=) then ; if(x6=) then..; if(x7=) then..; // programmation du temporisation if (X3=0) then t := 0 else delay_ms(.); t := ; ; end.

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 0 /4 ExerciceN 7 Soit le montage suivant permettant de commander 8 diodes LED : X +5V R2 0k CRYSTAL FREQ=4MHz C 5pF C2 5pF 6 5 4 U OSC/CLKIN RA0 OSC2/CLKOUT RA MCLR RA4/T0CKI RB0/INT RB RB2 RB3 RB4 RB5 RB6 RB7 7 8 2 3 6 7 8 9 0 2 3 R0 0k 220 D D2 D3 D4 D5 D6 D7 PIC6F84A D8 Fonctionnement : Si RA0 = les 8 LED clignotent pendant 2 secondes. Si RA0 = 0 on obtient le cycle répétitif suivant : Diodes LED allumés DD2 D3D4 D5D6 D7D8 Aucune diode durée S S S S S Compléter le programme en mikropascal ci-contre permettant de commander les diodes LED. program LED8; trisa:=$ff;trisb:=$... ;portb:=$00; While ( =) do if porta.0 =.. then PORTB:=3; delay_ms(.); PORTB:=....... delay_ms(..); delay_ms( ); if. then PORTB:=255; delay_ms(000); delay_ms(000); end.

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page /4 X ExerciceN 8 : Feux tricolores de carrefour Tableau de fonctionnement jour :( RA0=) Durée en secondes 60 05 55 Rouge (portb.0) 0 0 Orangé (portb.) 0 0 Vert (portb.2) 0 0 +5V R2 0k RAZ CRYSTAL FREQ=4MHz C 5pF C2 5pF 6 5 4 U OSC/CLKIN RA0 OSC2/CLKOUT RA MCLR RA4/T0CKI RB0/INT RB RB2 RB3 RB4 RB5 RB6 RB7 PIC6F84A 7 8 2 3 6 7 8 9 0 2 3 R 0k N/J +5V Fonctionnement nuit :(RA0=0) : Le feu orangé clignote pendant une seconde. Compléter l algorithme et le programme donné permettant de gérer le fonctionnement du feux tricolore d un carrefour en se référant au tableau de fonctionnement (jour et nuit) et au schéma du montage fourni. Algorithme Algorithme : feu_tri Début TrisA.. TrisB PortB Tant que (=) Faire Début SI porta.0= alors Début Portb.. Attente ( ). portb:.. Attente (55s) Finsi SI non Début portb:. Attente (0,5s) portb: Attente (0,5s) Fin SI Fin Faire Fin Programme program feu_tri; trisa:=$..;trisb:=$...;portb:=$00; while true do...... Vdelay_ms(60000);...... portb:=4; Vdelay_ms(55000) end... portb:=2; delay_ms(500); portb:=0;...; end.

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 2 /4 Exercice N 9 Compteur modulo 0 ) Compléter l algorithme d un compteur modulo 0. 2 ) Compléter le programme pascal correspondant. 6 5 4 U OSC/CLKIN RA0 OSC2/CLKOUT RA MCLR RA4/T0CKI RB0/INT RB RB2 RB3 RB4 RB5 RB6 RB7 7 8 2 3 6 7 8 9 0 2 3 U2 7 A B 2 C 6 D 4 BI/RBO 5 RBI 3 LT 7448 QA QB QC QD QE QF QG 3 2 0 9 5 4 PIC6F84A Algorithme Algorithme : compteur m0 Program compteur m0 ; Programme Variable i :entier Var i:integer; // declaration d une variable de type entier Début Begin TrisA %... PortA %... TrisA := %... ; Port. := %. ; Tant que vrai faire while... do // boucle infinie début Pour i variant de... jusqu à.. faire For i:=.. to.. do // boucle répétitive début PORTA. PortA :=... ; Attente (0,5s) delay_ms( ); Fin faire Fin faire Fin End.

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 3 /4 Exercice N 0 compteur modulo 60 ) Compléter l algorithme d un compteur modulo 60 2 ) Compléter le programme pascal correspondant. Algorithme Algorithme compteur mod 60 variable i,j:entier début trisa. trisb.. porta. portb.. Tant que (.) faire début pour i variant de 0 jusqu à 5 faire début début porta portb Attente (s) finfaire fin faire finfaire fin Programme program compteur60; VAR i,j:integer; trisa:=...;trisb:=...;porta:=...; portb:=... ;...... for j:=0 to 9 do... delay_ms(000).... end. 6 5 4 U OSC/CLKIN RA0 OSC2/CLKOUT RA MCLR RA4/T0CKI RB0/INT RB RB2 RB3 RB4 RB5 RB6 RB7 PIC6F84A 7 8 2 3 6 7 8 9 0 2 3

Laboratoire génie électrique 4Stech Série d exercices N 5 PIC Page 4 /4 Exercice N : Réaliser un compteur et décompteur modulo2 Compteur incrémenté par le bouton. Décompteur décrémenté par le bouton RA. Utilisation de la fonction Button (port,bit,temps d appui en ms,état logique actif) Exemple : if Button (porta,3,50,) then «action» On teste l appui sur un bouton poussoir relié à la broche pendant 50ms pour faire l action Programme program Compt et DECOMP; var x:byte; trisa:=$...;trisb:=.;portb:=.;x:=..; while true do if button(porta,2,00,) then if x=2 if button(porta,,00,) then. if x=255.. portb:= ; end.