Upload Série Pic-5 PDF
Upload Série Pic-5 PDF
Upload Série Pic-5 PDF
X3
..
..
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 5 /14
Prof : Borchani hichem et Hammami mourad
3) complter le programme relatif au grafcet prcdent
program exercice4;
Var X0 , : byte ; // Dclaration des variables
BEGIN
................. ; // Configuration du registre TRISA en Hexadcimal
....................... ; // Configuration du registre TRISB en Hexadcimal
.. .. ; // Initialisation du portA
X0:=1 ; X1:=0 ; ; // Initialisation des variables
........................................ // boucle infinie
BEGIN
IF (() AND ()) THEN // Condition dactivation de ltape1
BEGIN
........................................... ;
END ;
IF (() AND (..)) THEN // Condition dactivation de ltape2
BEGIN
X1 :=0 ; X2 :=1 ;
END ;
. // Condition dacti vation de ltape3
BEGIN
...................................
END ;
............ ............................................................................................ // Condition dactivation de ltape0
..........................................
............................
IF (X1=1) THEN porta.0:=1 ELSE // Programmation de la sortie KM1
....................................................................................................// Programmation de la sortie KM2
....................................................................................................// Programmation de la sortie KM3
.................................................................................................... //Programmation de la sortie KM4
..;
END.
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 6 /14
Prof : Borchani hichem et Hammami mourad
MT
Pice
Longue
Pice
Courte
S1
S2 S3
Solnode
djection
Zonededtection
Picelongue
Picecourte
Zone
djectio
Convoyeur
bande
Bacdvacuation
despicescourtes
ExerciceN5
Systme : chane fonctionnelle :
On peut assimiler la chane fonctionnelle un systme de tri de pices.
Les pices longues et les pices courtes arrivent sur le mme convoyeur :
Si la pice est longue, elle doit passer jusqu la fin du tapis pour tre vacuer.
Si la pice est courte, elle doit tre jecte dans un bac.
On veut commander la chane fonctionnelle par un microcontrleur PIC 16F84A.
En se rfrant au grafcet P.O et du tableau daffectation des entres et sorties
1) Complter le GRAFCET cod microcontrleur
Affectation des entres Affectation des sorties
Entres systme Entres PIC Sorties systme Sorties PIC
dcy RA0 MT RB0
S
1
RA1 S
e
RB1
S
2
RA2
S
3
RA3
GRAFCET dun point de vue P.O
GRAFCET cod PIC
2) Complter les affectations des deux registres TRISA et TRISB.
TRISA
RA4
RA3
RA2
RA1
RA0
TRISB
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
5
0
2
MT
MT
3
MT
Se
1
dcy
S
1
. S
2
MT
4
MT
6
Se
T1
T2
MT
S
1
. S
2
S
3
S
3
t
1
/4/5s
S
3
t
2
/6/6s
X0
X2
X5
X3
X1
X4
X6
T1
T2
t
1
/X4/5s t
2
/X6/6s
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 7 /14
Prof : Borchani hichem et Hammami mourad
3)Complter le programme en langage pascal relatif la commande du systme :
program chaine fonctionnelle;
var X0, X1, X2, X3, X4,X5,X6,dcy, S1, S2, S3, t1, t2: byte;
begin
trisa :=$.........; trisb :=$......; portB :=.;
X0 :=1; X1 ..;X2 ;X3 .. 0; X4 ..;X5 .;X6 ..;
while .............. do
begin
dcy :=porta.0; S1 :=............;
S2 :=..........; S3:=porta.3;
if ((X0=1) and (dcy=1)) then
begin
X0 :=0; X1 :=1;
end;
if ((X1=1) and ( .............) and( S1 =0)) then
begin
X1 :=0; X2 :=1;
end;
if.................................................................
begin
X2 :=0; X3 :=1;
end;
if ((X3=1) and ( S3 =0)) then
begin
..............................................................
end;
if ((X1=1) and (........) and( ..........)) then
begin
X1 :=0; X5 :=1;
end;
if ............................................... then
begin
X5 :=0; X6 :=1;
end;
if (X6=1) .......................
begin
X6 :=0; X5:=0;X0 :=1;
end;
// programmation des sorties
Ifthen portb.0 :=1 else portb.0:=0;
if ((X3=1) or (X4=1))
// programmation des temporisations
if (X4=0) then t1 :=0 else
begin
delay_ms(5000); t1 :=1;
end;
if (X6=0) then t2 :=0 else
begin
..
end;
end;
end.
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 8 /14
Prof : Borchani hichem et Hammami mourad
S1
Dcy
Chargement
Dchargement
S2 S3
Exercice N6
Systme : dplacement dun chariot:
Le chariot tant en position initiale (S1 est actionn) un ordre de dpart cycle dcy provoque :
- Le dplacement du chariot jusqu S2
- Le chargement du chariot avec un produit et une temporisation de 10s.
- Le dchargement en S3
- Retour du chariot en S2 pour le charger et le dcharger de nouveau en S3. Enfin, il revient en
S1 .
Un compteur est incrment la fin de chargement, sa sortie n=1 si le chariot est charg 2 fois.
On veut commander le systme par un microcontrleur PIC 16F84A.
En se rfrant au grafcet P.C et au tableau daffectation des entres et sorties
1) Complter le GRAFCET cod PIC
GRAFCET cod PIC
Affectation des entres Affectation des sorties
Entres systme Entres PIC Sorties systme Sorties PIC
Dcy RB0 KM1 RA0
S1 RB1 KM2 RA1
S2 RB2 14M1 RA2
S3 RB3 KA RA3
l
11
RB5
n RB6
GRAFCET P.C
1
2
3
S2
4
KA
5
1 4M1
S3
6
7
Dcy.S1
KM1
t
/ 3
/
10s
KM1
T
KM 2
S2
. n
l 1 1
S2
. n
K M 2
S1
X1
X2
t / X3 /10 s
T
X3
X4
X5
X6
X7
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 9 /14
Prof : Borchani hichem et Hammami mourad
2) Complter les affectations des deux registres TRISA et TRISB.
3) complter le programme en langage pascal relatif la commande du systme :
program chariot;
var X1, X2, X3, X4,X5,X6,X7,Dcy, S1, S2, S3,l
11
,n,
t : byte;
begin
trisA :=$.........; trisB :=$......; portA :=.;
X1 :=1; X2 ..;X3 ;X4 .. 0; X5 ..;X6 .;X7 ..;
while .............. do
begin
Dcy :=portb.0; S1 :=............ ; S2 :=.......... ;S3:=portb.3;
l
11
:=............ ; n:=............;
if ((X1=1) and (Dcy=1) and( S1 =1)) then
begin
X1 :=0; X2 :=1;
end;
if ((X2=1) and ( .............) or (X6=1) and (..........) and(..........)) then
begin
X2 :=0; X6 :=0; X3 :=1;
end;
if (............................and (t=1)) .......
begin
X3 :=0; X4 :=1;
end;
if ((X4=1) and ( S3 =1)) then
begin
..............................................................
end;
if ((X5=1) and (................)) then
begin
........................................
end;
if ((X6=1) and ( ....... .) and( .......... )) then
begin
X6 :=0; X7 :=1;
end;
...............................................
begin
X7 :=0; X1 :=1;
end;
// programmation des sorties
if(X1=1) then porta :=0 ;
if (X2=1) then ;
if (X3=1) then porta :=8;
if(X4=1)
then ;
if(X5=1)
then ;
if(X6=1)
then ..;
if(X7=1)
then ..;
// programmation du temporisation
if (X3=0) then t :=0 else
begin
delay_ms(.); t :=;
end;
;
end.
TRISA
RA4
RA3
RA2
RA1
RA0
TRISB
RB7
RB6
RB5
RB4
RB3
RB2
RB1
RB0
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 10 /14
Prof : Borchani hichem et Hammami mourad
ExerciceN7
Soit le montage suivant permettant de commander 8 diodes LED :
Fonctionnement :
Si RA0 =1 les 8 LED clignotent pendant 2 secondes.
Si RA0 =0 on obtient le cycle rptitif suivant :
Complter le programme en miKropascal ci-contre
permettant de commander les diodes LED.
Diodes LED allums dure
D1D2 1S
D3D4 1S
D5D6 1S
D7D8 1S
Aucune diode 1S
OSC1/CLKIN
16
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
RA0
17
RA1
18
RA2
1
RA3
2
RA4/T0CKI
3
OSC2/CLKOUT
15
MCLR
4
U1
PIC16F84A
+5V
X1
CRYSTAL
FREQ=4MHz
C1
15pF
C2
15pF
R2
10k
220
R10
10k
D1
D2
D3
D4
D5
D6
D7
D8
program LED8;
begin
trisA:=$FF;trisB:=$.... ;portb:=$00;
While (1 =1) do begin
if porta.0 =.. then
begin
PORTB:=3;
delay_ms(.);
PORTB:=
..
..
.
..
delay_ms(..);
delay_ms();
end;
if . then
begin
PORTB:=255;
delay_ms(1000);
delay_ms(1000);
end.
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 11 /14
Prof : Borchani hichem et Hammami mourad
OSC1/CLKIN
16
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
RA0
17
RA1
18
RA2
1
RA3
2
RA4/T0CKI
3
OSC2/CLKOUT
15
MCLR
4
U1
PIC16F84A
+5V
RAZ
X1
CRYSTAL
FREQ=4MHz
C1
15pF
C2
15pF
R2
10k
N/J
R1
10k
+5V
ExerciceN8 :
Feux tricolores de carrefour
Tableau de fonctionnement jour :( RA0=1)
Fonctionnement nuit :(RA0=0) : Le feu orang clignote pendant une seconde.
Complter lalgorithme et le programme donn permettant de grer le fonctionnement du feux tricolore dun
carrefour en se rfrant au tableau de fonctionnement (jour et nuit) et au schma du montage fourni.
Dure en secondes 60 05 55
Rouge (portb .0) 1 0 0
Orang (portb.1) 0 1 0
Vert (portb.2) 0 0 1
Algorithme Programme
Algorithme : feu_tri
Dbut
TrisA .. TrisB PortB
Tant que (1=1) Faire
Dbut
SI porta.0=1 alors
Dbut
Portb ..
Attente ( )
.
portb: ..
Attente (55s)
Finsi
SI non
Dbut
portb: .
Attente (0,5s)
portb:
Attente (0,5s)
Fin SI
Fin Faire
Fin
program feu_tri;
begin
trisA:=$..;trisb:=$...;portb:=$00;
while true do
begin
...........................
begin
.........................
Vdelay_ms(60000);
.............
.....................
portb:=4;
Vdelay_ms(55000)
end
............
begin
portb:=2;
delay_ms(500);
portb:=0;
...........................;
end;
end;
end.
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 12 /14
Prof : Borchani hichem et Hammami mourad
Exercice N9
Compteur modulo 10
1) Complter lalgorithme dun compteur modulo 10.
2) Complter le programme pascal correspondant.
Algorithme Programme
Algorithme : compteur m10
Program compteur m10 ;
Variable i :entier Var i:integer; // declaration dune variable de type entier
Dbut Begin
TrisA % ..... PortA % ..... TrisA :=%...................... ; Port . :=%. ;
Tant que vrai faire while ......... do // boucle infinie
dbut begin
Pour i variant de ... jusqu .. faire For i:=.. to .. do // boucle rptitive
dbut begin
PORTA . PortA := ........ ;
Attente (0,5s) delay_ms( );
Fin faire end;
Fin faire end;
Fin End.
OSC1/CLKIN
16
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
RA0
17
RA1
18
RA2
1
RA3
2
RA4/T0CKI
3
OSC2/CLKOUT
15
MCLR
4
U1
PIC16F84A
A
7
QA
13
B
1
QB
12
C
2
QC
11
D
6
QD
10
BI/RBO
4
QE
9
RBI
5
QF
15
LT
3
QG
14
U2
7448
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 13 /14
Prof : Borchani hichem et Hammami mourad
OSC1/CLKIN
16
RB0/INT
6
RB1
7
RB2
8
RB3
9
RB4
10
RB5
11
RB6
12
RB7
13
RA0
17
RA1
18
RA2
1
RA3
2
RA4/T0CKI
3
OSC2/CLKOUT
15
MCLR
4
U1
PIC16F84A
Exercice N10
compteur modulo 60
1) Complter lalgorithme dun compteur modulo 60
2) Complter le programme pascal correspondant.
Algorithme Programme
Algorithme compteur mod 60
variable i,j:entier
dbut
trisa . trisb .. porta . portb ..
Tant que (.) faire
dbut
pour i variant de 0 jusqu 5 faire
dbut
dbut
porta portb
Attente (1s)
finfaire
fin faire
finfaire
fin
program compteur60;
VAR i,j:integer;
begin
trisa:=.....;trisb:=........;porta:=....; portb:=.... ;
................
begin
.......................
begin
for j:=0 to 9 do
begin
.................................................
delay_ms(1000)
. ..............
end;
end;
end.
Laboratoire gnie lectrique 4Stech Srie dexercices N5 PIC Page 14 /14
Prof : Borchani hichem et Hammami mourad
Exercice N11:
Raliser un compteur et dcompteur modulo12
Compteur incrment par le bouton RA2 .
Dcompteur dcrment par le bouton RA1.
Utilisation de la fonction Button (port,bit,temps dappui en ms ,tat logique actif)
Exemple :
if Button (portA,3,50,1) then action1
On teste lappui sur un bouton poussoir reli la broche RA3 pendant 50ms pour faire laction 1
Programme
program Compt et DECOMP;
var x:byte;
begin
trisa:=$...;trisb:=.;portb:=.;x:=..;
while true do
begin
if button(porta,2,100,1) then
if x=12
if button(porta,1,100,1) then .
if x=255 ..
portb:=;
end;
end.